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

อ่าน 8 นาที

เธรดเอ็กซ์

ThreadX เป็น ระบบปฏิบัติการแบบเรียลไทม์ ฝังตัว (RTOS) ที่เขียนโปรแกรมส่วนใหญ่ด้วย ภาษา C เดิมทีเปิดตัวในปี 1997 ในชื่อ ThreadX เมื่อ Express Logic พัฒนาขึ้นเป็นครั้งแรก...

เธรดเอ็กซ์

อีคลิปส์ เธรดเอ็กซ์
นักพัฒนาExpress Logic (รุ่นดั้งเดิม) Microsoft (รุ่นก่อนหน้า) Eclipse (รุ่นปัจจุบัน)
เขียนเป็นซี
สถานะการทำงานปัจจุบัน
แบบจำลองแหล่งที่มาโอเพนซอร์ส
การเผยแพร่ครั้งแรกพ.ศ. 2540 ( 1997 )
รุ่นล่าสุด6.4.1 [ 1 ] / 28 กุมภาพันธ์ 2024 ( 28 กุมภาพันธ์ 2024 )
ที่เก็บข้อมูล
  • github.com/eclipse-threadx
กลุ่มเป้าหมายทางการตลาดระบบฝังตัว , อินเทอร์เน็ตของสรรพสิ่ง
วิธีการอัปเดตติดตั้งใหม่
ตัวจัดการแพ็กเกจไม่มี
แพลตฟอร์มที่รองรับARC , ARM , Blackfin, CEVA, C6x, MIPS , NXP , PIC , PowerPC , RISC-V , RX, SH, SHARC , TI , V850, Xtensa, x86 , Coldfireและอื่นๆ
ประเภทเคอร์เนลไมโครเคอร์เนลแบบฝังตัว , แบบกำหนดค่าได้ , แบบเรียลไทม์ , พิโคเคอร์เนล
ส่วนติดต่อผู้ใช้เริ่มต้นการรองรับ UI แบบฝังตัว (GUIX)
ใบอนุญาตลิขสิทธิ์ MIT (ณ ปี 2023)
เว็บไซต์อย่างเป็นทางการthreadx .io

ThreadXเป็นระบบปฏิบัติการแบบเรียลไทม์ ฝังตัว (RTOS) ที่เขียนโปรแกรมส่วนใหญ่ด้วยภาษา Cเดิมทีเปิดตัวในปี 1997 ในชื่อThreadXเมื่อ Express Logic พัฒนาขึ้นเป็นครั้งแรก ต่อมาได้เปลี่ยนชื่อเป็นAzure RTOS (2019) หลังจาก ที่Microsoftซื้อ Express Logic [ 2 ]และล่าสุดได้เปลี่ยนชื่ออีกครั้งเป็นEclipse ThreadX (2023) หรือ "ThreadX" ในรูปแบบย่อ หลังจากเปลี่ยนมาใช้โมเดลโอเพนซอร์สฟรีภายใต้การดูแลของมูลนิธิ Eclipse [ 3 ]

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

ในปี พ.ศ. 2540 ThreadXได้รับการเผยแพร่และวางจำหน่ายครั้งแรกโดย Express Logic แห่งเมืองซานดิเอโก รัฐแคลิฟอร์เนียสหรัฐอเมริกา พัฒนาโดยWilliam Lamie [ 4 ] ซึ่งเป็นผู้เขียนดั้งเดิมของNucleusและPX5 RTOS และเป็นประธานและซีอีโอของ Express Logic ThreadX เวอร์ชัน 4 เปิดตัวในปี พ.ศ. 2544 เวอร์ชัน 5 เปิดตัวในปี พ.ศ. 2548 และเวอร์ชัน 6 เปิดตัวในปี พ.ศ. 2563 (เวอร์ชันหลักล่าสุด) FileX – ระบบไฟล์แบบฝังตัวสำหรับ ThreadX เปิดตัวในปี 1999 NetX – สแต็กเครือข่าย TCP/IP แบบฝังตัวสำหรับ ThreadX เปิดตัวในปี 2002 USBX – การสนับสนุน USB แบบฝังตัวสำหรับ ThreadX เปิดตัวในปี 2004 ThreadX SMP สำหรับสภาพแวดล้อมมัลติคอร์ SMP เปิดตัวในปี 2009 ThreadX Modules เปิดตัวในปี 2011 ThreadX ได้รับการรับรองความปลอดภัยจาก: TÜV IEC 61508ในปี 2013 และUL 60730ในปี 2014 GUIX – ส่วนต่อประสานผู้ใช้แบบฝังตัวสำหรับ ThreadX เปิดตัวในปี 2014

เมื่อวันที่ 18 เมษายน 2562 ไมโครซอฟต์ได้ซื้อ Express Logic ในราคาที่ไม่เปิดเผย และเปลี่ยนชื่อเป็นAzure RTOS [ 2 ]

เมื่อวันที่ 21 พฤศจิกายน 2023 ไมโครซอฟต์ประกาศว่า Azure RTOS จะเปลี่ยนไปใช้ โมเดล โอเพนซอร์สภายใต้การดูแลของมูลนิธิ Eclipseและทำให้โครงการนี้พร้อมใช้งานภายใต้ใบอนุญาต MITที่ อนุญาต [ 3 ] ด้วยมูลนิธิ Eclipse เป็นบ้านใหม่ Azure RTOS จึงเปลี่ยนชื่อเป็นEclipse ThreadXหรือ "ThreadX" ในรูปแบบย่อ

ภาพรวม

ชื่อ ThreadX หมายถึงเธรดที่ใช้เป็นองค์ประกอบที่สามารถเรียกใช้งานได้ โดยXแทนการ สลับบริบท

ThreadX มีคุณสมบัติเด่นหลายประการ ได้แก่ การจัดตารางเวลาแบบลำดับความสำคัญและการแทรกแซงก่อนเวลาการตอบสนองต่อการขัดจังหวะ ที่รวดเร็ว การจัดการหน่วยความจำการสื่อสารระหว่างเธรด การกีดกันซึ่งกันและกันการแจ้งเตือนเหตุการณ์ และการซิงโครไนซ์เธรดคุณลักษณะทางเทคโนโลยีที่สำคัญของ ThreadX ได้แก่ เกณฑ์การแทรกแซงก่อนเวลาการสืบทอดลำดับความสำคัญการจัดการตัวจับเวลาที่มีประสิทธิภาพ ตัวจับเวลาซอฟต์แวร์ที่รวดเร็ว การออกแบบ picokernelการเชื่อมโยงเหตุการณ์ และขนาดที่เล็ก (ขนาดเล็กที่สุดบน โปรเซสเซอร์ สถาปัตยกรรม ARMประมาณ 2 KB)

ThreadX รองรับ สภาพแวดล้อม โปรเซสเซอร์แบบมัลติคอร์ผ่านทางการประมวลผลแบบมัลติโปรเซสซิ่งแบบไม่สมมาตร (AMP) หรือแบบสมมาตร (SMP) การแยกเธรดแอปพลิเคชันด้วยหน่วยจัดการหน่วยความจำ (MMU) หรือหน่วยป้องกันหน่วยความจำ (MPU) นั้นมีให้ใช้งานในโมดูล ThreadX

ThreadX ได้รับการรับรองความปลอดภัยจากTÜVและULและเป็นไปตามมาตรฐาน Motor Industry Software Reliability AssociationและMISRA C

ThreadX เป็นรากฐานของ แพลตฟอร์ม อินเทอร์เน็ตของสิ่งต่างๆ (IoT) X-Ware ของ Express Logic ซึ่งรวมถึงการสนับสนุนระบบไฟล์แบบ ฝังตัว (FileX) การสนับสนุน UI แบบฝังตัว (GUIX) ชุดโปรโตคอลอินเทอร์เน็ต แบบฝังตัว (TCP/IP) การเชื่อมต่อคลาวด์ (NetX/NetX Duo) และการสนับสนุน Universal Serial Bus ( USB ) (USBX) ThreadX เป็นที่ชื่นชอบของนักพัฒนาและเป็น RTOS ที่ได้รับความนิยม[ 5 ]

ณ ปี 2017 ThreadX RTOS ได้กลายเป็นหนึ่งใน RTOS ที่ได้รับความนิยมมากที่สุดในโลก โดยมีการใช้งานในอุปกรณ์มากกว่า 6.2 พันล้านเครื่อง ซึ่งรวมถึงอุปกรณ์อิเล็กทรอนิกส์สำหรับผู้บริโภค อุปกรณ์ทางการแพทย์ แอปพลิเคชันเครือข่ายข้อมูล และ SoC [ 6 ]

เทคโนโลยี

ThreadX ใช้ขั้นตอนวิธีจัดกำหนดการแบบลำดับความสำคัญและแบบแทรกแซงล่วงหน้าด้วยคุณสมบัติเฉพาะที่เรียกว่าเกณฑ์การแทรกแซง เกณฑ์นี้ให้ความละเอียดมากขึ้นภายในส่วนวิกฤต ลดการสลับบริบท และเป็นหัวข้อของการวิจัยทางวิชาการเกี่ยวกับการรับประกันการจัดกำหนดการ[ 7 ]

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

นอกจากนี้ ThreadX ยังมีเซมาฟอร์นับจำนวนมิวเท็กซ์ที่มีการสืบทอดลำดับความสำคัญได้ (ไม่บังคับ) แฟล็กเหตุการณ์คิวข้อความตัวจับเวลาซอฟต์แวร์ หน่วยความจำบล็อกขนาดคงที่ และหน่วยความจำบล็อกขนาดแปรผัน API ทั้งหมดใน ThreadX ที่บล็อกการทำงานบนทรัพยากรยังมีตัวเลือกการหมดเวลา (timeout) ด้วย

ThreadX รองรับโปรเซสเซอร์แบบมัลติคอร์ผ่านทาง AMP หรือ SMP นอกจากนี้ยังสามารถแยกโค้ดแอปพลิเคชันได้ผ่านส่วนประกอบ ThreadX Modules

ใบรับรองความปลอดภัย

ThreadX (รวมถึง FileX และ NetX Duo) ได้รับการรับรองล่วงหน้าจาก SGS-TÜV Saar ตามมาตรฐานความปลอดภัยดังต่อไปนี้: IEC 61508 SIL 4, IEC 62304 Class C, ISO 26262 ASIL DและEN 50128 SW-SIL 4

ThreadX (รวมถึง FileX และ NetX Duo) ได้รับการรับรองล่วงหน้าจาก UL ตามมาตรฐานความปลอดภัยต่อไปนี้: UL/ IEC 60730 , UL/ IEC 60335 , UL 1998

ThreadX ยังได้รับการรับรองตาม มาตรฐาน DO-178จากบริษัททางทหารและอวกาศต่างๆ อีกด้วย โดยได้รับการสนับสนุนจากไลบรารี Transport Layer Security (SSL/TLS) ยอดนิยม เช่นwolfSSL [ 9 ]

บรรจุภัณฑ์

ณ ปี 2017 ThreadX ได้ถูกบรรจุเป็นส่วนหนึ่งของ X-Ware IoT Platform ในรูปแบบซอร์สโค้ดเต็มรูป แบบ และไม่มีการจ่ายค่าลิขสิทธิ์ สำหรับการใช้ งาน

ส่วนประกอบหลัก

ส่วนประกอบหลักของ ThreadX ได้แก่:

เธรดเอ็กซ์

ThreadX คือระบบปฏิบัติการแบบเรียลไทม์ (RTOS)

ไฟล์เอ็กซ์และเลเวลเอ็กซ์

FileX เป็นระบบไฟล์ เสริม สำหรับ ThreadX รองรับ ระบบไฟล์ FAT12 , FAT16 , FAT32และexFATซึ่งระบบไฟล์ exFAT นั้นช่วยขยายขนาดไฟล์ FAT ให้เกิน 4 GBซึ่งมีประโยชน์สำหรับไฟล์วิดีโอขนาดใหญ่

นอกจากนี้ยังมีคุณสมบัติทนต่อความผิดพลาดและรองรับ สื่อหน่วย ความจำแฟลช NOR และ NAND โดยตรง ผ่านผลิตภัณฑ์ปรับระดับการสึกหรอของแฟลชเสริมที่เรียกว่า LevelX

กุยซ์

GUIX เป็นส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) ที่เป็นตัวเลือกสำหรับ ThreadX มันเป็น ระบบ กราฟิกคอมพิวเตอร์ 2 มิติที่รองรับอุปกรณ์แสดงผล หลายตัว ที่มีความละเอียดหน้าจอและความลึกของสีที่หลากหลาย มี วิดเจ็ตกราฟิก ที่กำหนดไว้ล่วงหน้ามากมายให้เลือกใช้ เครื่องมือโฮสต์ WYSIWYGสำหรับ Windows ที่ชื่อว่า GUIX Studio จะสร้างโค้ด C สำหรับ GUIX ให้ทำงานโดยอัตโนมัติในระหว่างการรันไทม์

เน็ตเอ็กซ์ดูโอ

NetX Duo เป็น ระบบเครือข่าย TCP/IP เสริม สำหรับ ThreadX รองรับทั้ง เครือข่าย IPv4และIPv6พร้อม ระบบรักษาความปลอดภัยเครือข่าย IPsecเลเยอร์ซ็อกเก็ต TCP และ UDP ให้บริการโดยTLS / DTLSโปรโตคอลเสริม ได้แก่ ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP และTelnetการสนับสนุนโปรโตคอล IoT Cloud ได้แก่ CoAP, MQTT และ LWM2M NetX Duo ยังรองรับThreadและ 6LoWPAN ด้วย ในปี 2017 ThreadX และ NetX Duo ได้รับการรับรองเป็นผลิตภัณฑ์ Thread [ 10 ]

ยูเอสบีเอ็กซ์

USBX เป็นระบบ Universal Serial Bus ( USB ) เสริมสำหรับ ThreadX รองรับทั้งโหมดโฮสต์/ดีไวซ์/ออนเดอะโก (OTG) การรองรับคอนโทรลเลอร์โฮสต์ประกอบด้วย EHCI, OHCI และคอนโทรลเลอร์โฮสต์ USB เฉพาะของแต่ละผู้ผลิต

อุปกรณ์นี้รองรับคลาสอุปกรณ์ USB ต่อไปนี้ : เสียง, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, เครื่องพิมพ์, Prolific, RNDIS และอุปกรณ์จัดเก็บข้อมูล

เทรซเอ็กซ์

TraceX เป็นซอฟต์แวร์เสริมสำหรับติดตั้งบนเครื่องโฮสต์ ซึ่งแสดงภาพกราฟิกของเหตุการณ์ต่างๆ ในระบบปฏิบัติการ ThreadX RTOS ต้องใช้ระบบปฏิบัติการWindows XPหรือเวอร์ชันที่ใหม่กว่า

พอร์ตที่รองรับ

ผลิตภัณฑ์ที่ใช้ ThreadX

ตัวอย่างผลิตภัณฑ์ที่ใช้ ThreadX:

ดูเพิ่มเติม

อ่านเพิ่มเติม

เอกสารประกอบการใช้งาน ThreadX
  • คู่มือผู้ใช้ ThreadX (2020) - ไมโครซอฟต์
  • คู่มือผู้ใช้ FileX (2020) - ไมโครซอฟต์
  • คู่มือผู้ใช้ GUIX (2020) - Microsoft
  • คู่มือผู้ใช้ NetX (2020) - ไมโครซอฟต์
  • คู่มือการใช้งานอุปกรณ์ USBX (2020) - ไมโครซอฟต์
  • คู่มือผู้ใช้ USBX Host (2020) - Microsoft
  • คู่มือผู้ใช้เพิ่มเติมสำหรับ USBX Host (2020) - Microsoft
การเปรียบเทียบระบบปฏิบัติการแบบเรียลไทม์ (RTOS)
  • รายงานประสิทธิภาพระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ปี 2024 (FreeRTOS / ThreadX / PX5 / Zephyr) - Beningo Embedded Group
  • การเปรียบเทียบระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ปี 2013 (Nucleus / ThreadX / ucOS / Unison) - Embedded Magazine
เอสทีเอ็ม32
  • บทนำเกี่ยวกับ ThreadX บน STM32 - ST
  • สร้างเธรดสำหรับ STM32CubeIDE - ST
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=ThreadX&oldid=1356064301 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ เธรดเอ็กซ์

ThreadX เป็น ระบบปฏิบัติการแบบเรียลไทม์ ฝังตัว (RTOS) ที่เขียนโปรแกรมส่วนใหญ่ด้วย ภาษา C เดิมทีเปิดตัวในปี 1997 ในชื่อ ThreadX เมื่อ Express Logic พัฒนาขึ้นเป็นครั้งแรก...

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

ในปี พ.ศ. 2540 ThreadX ได้รับการเผยแพร่และวางจำหน่ายครั้งแรกโดย Express Logic แห่งเมือง ซานดิเอโก รัฐแคลิฟอร์เนีย สหรัฐอเมริกา พัฒนาโดย William Lamie [ 4 ] ซึ่ง เป็นผู้เขียนดั้งเดิมของ Nucleus และ PX5 RTOS และเป็นประธานและซีอีโอของ Express Logic ThreadX...

ภาพรวม

ชื่อ ThreadX หมายถึง เธรด ที่ใช้เป็นองค์ประกอบที่สามารถเรียกใช้งานได้ โดย X แทนการ สลับบริบท

เทคโนโลยี

ThreadX ใช้ขั้นตอนวิธีจัดกำหนดการแบบลำดับความสำคัญและแบบแทรกแซงล่วงหน้าด้วยคุณสมบัติเฉพาะที่เรียกว่าเกณฑ์การแทรกแซง เกณฑ์นี้ให้ความละเอียดมากขึ้นภายในส่วนวิกฤต ลดการสลับบริบท และเป็นหัวข้อของการวิจัยทางวิชาการเกี่ยวกับการรับประกันการจัดกำหนดการ [ 7 ]