กลับไปหน้าบทความ

อ่าน 4 นาที

ARINC 653

มาตรฐาน ARINC/การบำรุงรักษา CS1: สถานะ url

ARINC 653 (Avionics Application Software Standard Interface) เป็นข้อกำหนดซอฟต์แวร์สำหรับการแบ่ง พื้นที่และเวลา ในระบบปฏิบัติการแบบเรียล ไทม์ (RTOS) ของระบบ...

ARINC 653

ARINC 653 (Avionics Application Software Standard Interface) เป็นข้อกำหนดซอฟต์แวร์สำหรับการแบ่ง พื้นที่และเวลา ในระบบปฏิบัติการแบบเรียล ไทม์ (RTOS) ของระบบ การบินที่สำคัญต่อความปลอดภัย ช่วยให้สามารถโฮสต์แอปพลิเคชันหลายตัวที่มีระดับซอฟต์แวร์ ต่างกัน บนฮาร์ดแวร์เดียวกันในบริบทของสถาปัตยกรรมระบบการบินแบบโมดูลาร์แบบบูรณาการ[ 1 ]

เป็นส่วนหนึ่งของ มาตรฐาน ARINC 600-Seriesสำหรับเครื่องบินดิจิทัลและเครื่องจำลองการบิน

ภาพรวม

เพื่อแยกแพลตฟอร์ม ระบบปฏิบัติการแบบเรียลไทม์ ออกจากซอฟต์แวร์แอปพลิเคชัน มาตรฐาน ARINC 653 จึงกำหนดAPIที่เรียกว่า Application Executive (APEX)

ซอฟต์แวร์แอปพลิเคชันแต่ละตัวเรียกว่าพาร์ติชันและมีพื้นที่หน่วยความจำของตัวเอง นอกจากนี้ยังมีช่องเวลาเฉพาะที่จัดสรรโดย APEX API ภายในแต่ละพาร์ติชันอนุญาต ให้มีการทำงาน แบบมัลติทาสก์ได้ APEX API ให้บริการเพื่อจัดการพาร์ติชัน กระบวนการ และการกำหนดเวลา รวมถึงการสื่อสารระหว่างพาร์ติชัน/กระบวนการและการจัดการข้อผิดพลาด สภาพแวดล้อมการแบ่งพาร์ติชันสามารถนำไปใช้ได้โดยใช้ไฮเปอร์ไวเซอร์[ 2 ]เพื่อแมปพาร์ติชันไปยังเครื่องเสมือน แต่ไม่จำเป็นต้องทำเช่นนั้น

มาตรฐานนี้อยู่ภายใต้การกำกับดูแลของ คณะอนุกรรมการ AEEC APEXซึ่งมีตัวแทนจาก แอร์บัสและโบอิ้งเป็นประธานร่วมกอร์ดอน พุตเช่ ดำรงตำแหน่งประธานจากโบอิ้งตั้งแต่ปี 2002 จนถึงปี 2023 สตีเวน เอช. แวนเดอร์ลีสต์ เป็นประธานจากโบอิ้งคนปัจจุบัน และปิแอร์ กาบริโลต์ เป็นประธานจากแอร์บัสคนปัจจุบัน

ประวัติศาสตร์

เวอร์ชันเริ่มต้น

มาตรฐาน ARINC 653 ฉบับแรกได้รับการเผยแพร่เมื่อวันที่ 10 ตุลาคม พ.ศ. 2539

ARINC 653-1

เอกสารเสริมฉบับที่ 1 ได้รับการตีพิมพ์ในเดือนมกราคม พ.ศ. 2540 และได้แนะนำแนวคิดของ APEX และการแบ่งพาร์ติชันตามเวลาและพื้นที่

ARINC 653-2

ภาคผนวก 2 ได้รับการตีพิมพ์เป็น 3 ส่วน ระหว่างเดือนมีนาคม พ.ศ. 2549 ถึงมกราคม พ.ศ. 2550: [ 3 ]

  • ส่วนที่ 1 (บริการที่จำเป็น): การจัดการพาร์ติชัน ARINC 653, การกำหนดค่าการเริ่มต้นแบบเย็นและการเริ่มต้นแบบอุ่น, การจัดการข้อผิดพลาดของซอฟต์แวร์แอปพลิเคชัน, การปฏิบัติตามมาตรฐาน ARINC 653, การเชื่อมโยงภาษา AdaและC ;
  • ส่วนที่ 2 (บริการเสริม): การเข้าถึง ระบบไฟล์ , การบันทึกข้อมูล , จุดเชื่อมต่อบริการ, ...
  • ส่วนที่ 3 (ข้อกำหนดการทดสอบความสอดคล้อง)

องค์กรมาตรฐานปัจจุบัน

  • ส่วนที่ 0 - บทนำสู่ ARINC 653 (ปัจจุบันอยู่ที่การแก้ไขครั้งที่ 3 เผยแพร่เมื่อเดือนพฤศจิกายน 2021) [ 4 ]
  • ส่วนที่ 1 - บริการที่จำเป็น (ปัจจุบันอยู่ในภาคผนวก 6 ซึ่งเผยแพร่ในเดือนธันวาคม 2024) [ 5 ]
  • ส่วนที่ 2 - บริการเพิ่มเติม (ปัจจุบันอยู่ที่ภาคผนวก 5 ซึ่งเผยแพร่ในเดือนธันวาคม 2024) [ 6 ]
  • ส่วนที่ 3A - ข้อกำหนดการทดสอบความสอดคล้องสำหรับบริการที่จำเป็น (ปัจจุบันอยู่ที่การแก้ไขครั้งที่ 2 เผยแพร่เมื่อเดือนพฤศจิกายน 2021) [ 7 ]
  • ส่วนที่ 3B - ข้อกำหนดการทดสอบความสอดคล้องสำหรับบริการขยาย (ปัจจุบันอยู่ที่การแก้ไข c1 เผยแพร่เมื่อกรกฎาคม 2562) [ 8 ]
  • ส่วนที่ 4 - บริการชุดย่อย (ปัจจุบันอยู่ที่เวอร์ชัน 0 เผยแพร่เมื่อเดือนมิถุนายน 2555) [ 9 ]
  • ส่วนที่ 5 - ความสามารถที่แนะนำของซอฟต์แวร์หลัก (ปัจจุบันอยู่ที่การแก้ไขครั้งที่ 1 เผยแพร่เมื่อเดือนสิงหาคม 2562) [ 10 ]

หลักการพื้นฐานของการแบ่งส่วน

แพลตฟอร์ม ARINC 653

แพลตฟอร์ม ARINC 653 ประกอบด้วย:

  • แพลตฟอร์มฮาร์ดแวร์ที่ช่วยให้สามารถประมวลผลแบบเรียลไทม์และบริการที่กำหนดได้อย่างแม่นยำ
  • ชั้นนามธรรมที่จัดการตัวจับเวลาและข้อจำกัดในการแบ่งพื้นที่ของแพลตฟอร์ม ( หน่วยความจำ , CPU , อินพุต/เอาต์พุต )
  • การใช้งานสำหรับบริการ ARINC 653 (APEX API)
  • ส่วนติดต่อผู้ใช้เพื่อให้สามารถกำหนดค่าแพลตฟอร์มและขอบเขตการใช้งานได้
  • เครื่องมือวัดต่างๆ

การเริ่มต้น

การเริ่มต้นพาร์ติชัน ARINC 653 จะสร้างทรัพยากรที่พาร์ติชันนั้นใช้ การสร้างทรัพยากร (PROCESS, EVENT, SEMAPHORE...) ทำได้โดยการเรียกใช้บริการ API ที่ชื่อCREATE_xxxx

การจัดการข้อผิดพลาด

ตัวจัดการข้อผิดพลาดของกระบวนการเป็นกระบวนการแทรกแซงที่ มีลำดับความสำคัญสูงสุด ซึ่งมีหน้าที่จัดการข้อยกเว้นของพาร์ติชันโดยเฉพาะ กระบวนการนี้ถูกสร้างขึ้นโดยบริการCREATE_ERROR_HANDLERในระหว่างการเริ่มต้นพาร์ติชัน

API อนุญาตให้ตัวจัดการข้อผิดพลาดหยุดกระบวนการที่ทำงานผิดพลาด ( STOP_SELF ) ในกรณีนั้นตัวจัดตารางเวลา ของ RTOS จะดึงกระบวนการถัดไปที่มีลำดับความสำคัญสูงสุดขึ้นมา

มาตรฐาน ARINC 653 ไม่ได้ระบุว่าตัวจัดตารางเวลาควรทำงานอย่างไรหากตัวจัดการข้อผิดพลาดไม่หยุดกระบวนการที่ผิดพลาด ในบางกรณี (ตามทฤษฎี) อาจนำไปสู่การวนลูปไม่สิ้นสุดระหว่างกระบวนการที่ผิดพลาดและตัวจัดการข้อผิดพลาด

ตัวจัดการข้อผิดพลาดสามารถรับข้อมูลเกี่ยวกับแหล่งที่มาและบริบทของข้อยกเว้นได้

การจัดการโหมด

แต่ละพาร์ติชั่นสามารถอยู่ในโหมดการเปิดใช้งานได้หลายโหมด:

  • COLD_START และ WARM_START: จะดำเนินการเฉพาะกระบวนการเริ่มต้นเท่านั้น
  • ปกติ: กระบวนการเริ่มต้นจะหยุดลง และกระบวนการพาร์ติชันอื่นๆ จะถูกเรียกโดยตัวจัดตารางเวลาของระบบปฏิบัติการ แบบเรียลไทม์ (RTOS) โดยขึ้นอยู่กับลำดับความสำคัญของกระบวนการเหล่านั้น
  • สถานะว่าง: ไม่มีกระบวนการใดถูกเรียกใช้งาน อย่างไรก็ตาม ในทางทฤษฎีแล้ว การใช้งานอาจยังคงเรียกใช้กระบวนการที่ซ่อนไว้ซึ่งมีลำดับความสำคัญต่ำที่สุด เช่น เพื่อเริ่มต้นลูปที่ไม่สิ้นสุด

บริการSET_PARTITION_MODEช่วยให้สามารถจัดการสถานะเหล่านี้ได้ สามารถเรียกใช้ได้โดยกระบวนการใดๆ ในพาร์ติชัน การเข้าสู่สถานะ IDLE นั้นไม่สามารถย้อนกลับได้สำหรับพาร์ติชัน มีเพียงเหตุการณ์ภายนอก (เช่น การรีสตาร์ทแพลตฟอร์ม) เท่านั้นที่จะสามารถเปลี่ยนสถานะเป็นโหมดอื่นได้เมื่อพาร์ติชันอยู่ในสถานะนี้

การแบ่งพาร์ติชันและการจัดตารางเวลาการประมวลผล

มาตรฐานนี้กำหนดตารางการทำงานแบบลำดับชั้นสองระดับ ระดับแรกกำหนดตารางการทำงานของพาร์ติชัน โดยเป็นตารางแบบหมุนเวียนคงที่ซึ่งจะทำซ้ำกรอบเวลาหลัก กรอบเวลาหลักจะกำหนดตารางการทำงานของแต่ละพาร์ติชันในหน้าต่างเวลาพาร์ติชันที่มีระยะเวลาคงที่ (บางครั้งเรียกว่ากรอบเวลาย่อย) โดยมีค่าชดเชยหน้าต่างเวลาพาร์ติชันคงที่จากจุดเริ่มต้นของกรอบเวลาหลัก

ตารางแบ่งพาร์ติชัน ARINC 653

ในระหว่างช่วงเวลาแบ่งพาร์ติชัน (Partition Time Window) การจัดตารางเวลาในระดับที่สองจะใช้การจัดตารางเวลาของกระบวนการ แต่ละพาร์ติชันจะมีอย่างน้อยหนึ่งกระบวนการการจัดตารางเวลาของกระบวนการภายในพาร์ติชันในระหว่างช่วงเวลาแบ่งพาร์ติชันนั้นเป็นแบบแทรกแซงได้ (preemptive ) ตัวจัดตารางเวลาจะถูกเรียกใช้โดยตัวจับเวลาหรือบริการ API

มัลติคอร์

มาตรฐาน ARINC 653 P1-5 ได้รับการปรับปรุงเพื่อรองรับ สถาปัตยกรรมโปรเซสเซอร์ แบบมัลติคอร์ส่วนที่ 4.2.1 "การปฏิบัติตามข้อกำหนดการใช้งานมัลติคอร์ของระบบปฏิบัติการ" ระบุว่าระบบปฏิบัติการที่ออกแบบมาสำหรับการประมวลผลแบบมัลติคอร์ควรสนับสนุนสองกรณีดังนี้:

  • การใช้งานหลายคอร์โดยพาร์ติชันเดียว (ซึ่งกระบวนการต่างๆ ของพาร์ติชันนั้นใช้หลายคอร์)
  • การใช้งานหลายคอร์โดยหลายพาร์ติชัน

เอกสารแสดงจุดยืนCAST-32Aกำหนดชุดข้อกำหนดและแนวทางที่ควรปฏิบัติตามเพื่อรับรองและใช้งานโปรเซสเซอร์มัลติคอร์ในการบินพลเรือนโดย FAA และคาดว่าจะถูกแทนที่ด้วยหนังสือเวียนแนะนำ AC 20-193 หน่วยงานการบินของสหภาพยุโรป EASA ได้เผยแพร่ AMC 20-193 ในเดือนมกราคม 2022 [ 11 ]

บริการ API

บริการ APEX ตามมาตรฐาน ARINC 653 คือการเรียกใช้API ซึ่งแบ่งออกเป็นหกประเภท:

  • การจัดการพาร์ติชัน
  • การจัดการกระบวนการ
  • การบริหารเวลา
  • การสื่อสารระหว่างพาร์ทิชัน
  • การสื่อสารภายในพาร์ติชั่น
  • การจัดการข้อผิดพลาด

ไม่มีบริการ ARINC 653 ใด ๆ ที่รองรับการจัดการหน่วยความจำของพาร์ติชัน แต่ละพาร์ติชันต้องจัดการหน่วยความจำของตนเอง (โดยยังคงอยู่ภายใต้ข้อจำกัดของการแบ่งพาร์ติชันหน่วยความจำที่บังคับใช้โดย ARINC 653)

แต่ละบริการจะส่งค่า RETURN_CODE กลับมา ซึ่งบ่งชี้ว่าการเรียกใช้งานสำเร็จหรือไม่:

  • NO_ERROR: บริการดำเนินการตามปกติหลังจากได้รับคำขอที่ถูกต้อง
  • NO_ACTION: สถานะของระบบไม่เปลี่ยนแปลงหลังจากดำเนินการบริการเสร็จสิ้น
  • NOT_AVAILABLE: บริการไม่สามารถใช้งานได้ชั่วคราว
  • INVALID_PARAM: พารามิเตอร์อย่างน้อยหนึ่งรายการของบริการไม่ถูกต้อง
  • INVALID_CONFIG: พารามิเตอร์อย่างน้อยหนึ่งรายการของบริการไม่เข้ากันกับการกำหนดค่าปัจจุบันของระบบ
  • โหมดไม่ถูกต้อง: บริการนี้ไม่สามารถใช้งานร่วมกับโหมดปัจจุบันของระบบได้
  • หมดเวลา: ระยะเวลาหน่วงสำหรับการดำเนินการบริการหมดลงแล้ว

ขอบเขตที่ครอบคลุมโดย ARINC 653 คล้ายกับASAAC Def Stan 00-74อย่างไรก็ตาม มีความแตกต่างระหว่างมาตรฐานทั้งสอง[ 12 ]

การเรียก ARINC 653 (APEX) บางรายการมี การเทียบเท่ากับ POSIXแต่แตกต่างจากวิธีการที่กำหนดไว้ใน POSIX [ 12 ]

ตัวอย่างเช่น การเรียกใช้ฟังก์ชันต่อไปนี้ที่กำหนดไว้ใน ASAAC:

รับบัฟเฟอร์

จะถูกแปลเป็นมาตรฐาน ARINC 653 โดย:

รับบัฟเฟอร์()

และยังใช้มาตรฐาน POSIX ด้วย:

รับ()

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=ARINC_653&oldid=1325521098 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ARINC 653

ARINC 653 (Avionics Application Software Standard Interface) เป็นข้อกำหนดซอฟต์แวร์สำหรับการแบ่ง พื้นที่และเวลา ในระบบปฏิบัติการแบบเรียล ไทม์ (RTOS) ของระบบ...

ภาพรวม

เพื่อแยก แพลตฟอร์ม ระบบปฏิบัติการแบบเรียลไทม์ ออกจากซอฟต์แวร์แอปพลิเคชัน มาตรฐาน ARINC 653 จึงกำหนด API ที่เรียกว่า Application Executive (APEX)

เวอร์ชันเริ่มต้น

มาตรฐาน ARINC 653 ฉบับแรกได้รับการเผยแพร่เมื่อวันที่ 10 ตุลาคม พ.ศ. 2539

ARINC 653-1

เอกสารเสริมฉบับที่ 1 ได้รับการตีพิมพ์ในเดือนมกราคม พ.ศ. 2540 และได้แนะนำแนวคิดของ APEX และการแบ่งพาร์ติชันตามเวลาและพื้นที่