เมื่อเราได้ยินคำว่าระบบปฏิบัติการสิ่งแรกที่ต้องนึกถึงคือระบบปฏิบัติการที่ใช้ในแล็ปท็อปและคอมพิวเตอร์ โดยทั่วไปเราใช้ระบบปฏิบัติการประเภทต่างๆเช่น windows XP, Linux, Ubuntu, Windows 7,8.8.1 และ 10 ในสมาร์ทโฟนระบบปฏิบัติการจะเหมือนกับ KitKat, Jellybean, marshmallow และ Nougat ในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัลมีระบบปฏิบัติการบางประเภทที่พัฒนาโดย โปรแกรมไมโครคอนโทรลเลอร์ . มี ระบบปฏิบัติการประเภทต่างๆ เพื่อพัฒนาไมโครคอนโทรลเลอร์ แต่ในที่นี้เราได้กล่าวถึงระบบปฏิบัติการแบบเรียลไทม์
ระบบปฏิบัติการแบบเรียลไทม์คืออะไร?
RTOS เป็นระบบปฏิบัติการเป็นสมองของระบบเรียลไทม์และตอบสนองต่ออินพุตทันที ใน RTOS งานจะเสร็จสิ้นตามเวลาที่กำหนดและการตอบสนองด้วยวิธีที่คาดเดาได้สำหรับเหตุการณ์ที่คาดเดาไม่ได้ โครงสร้างของ RTOS แสดงอยู่ด้านล่าง
โครงสร้างของ RTOS
ประเภทของ RTOS
RTOS มีสามประเภทที่แตกต่างกันดังต่อไปนี้
- ระบบปฏิบัติการแบบเรียลไทม์ที่นุ่มนวล
- ระบบปฏิบัติการฮาร์ดเรียลไทม์
- ระบบปฏิบัติการแบบเรียลไทม์ของ บริษัท
ประเภทของ RTOS
ระบบปฏิบัติการซอฟต์เรียลไทม์
ระบบปฏิบัติการซอฟต์เรียลไทม์มีกำหนดเวลาที่แน่นอนอาจจะพลาดและพวกเขาจะดำเนินการในแต่ละครั้ง t = 0 + ระบบปฏิบัติการซอฟต์เรียลไทม์เป็นระบบปฏิบัติการประเภทหนึ่งและไม่มีกฎเกณฑ์ที่เข้มงวดมาก เวลาวิกฤตของระบบปฏิบัติการนี้ล่าช้าไปบ้าง ตัวอย่างของระบบปฏิบัติการนี้ ได้แก่ กล้องดิจิทัลโทรศัพท์มือถือและข้อมูลออนไลน์เป็นต้น
ระบบปฏิบัติการซอฟต์เรียลไทม์
ระบบปฏิบัติการฮาร์ดเรียลไทม์
นี่เป็นระบบปฏิบัติการประเภทหนึ่งและคาดการณ์ไว้ตามกำหนดเวลา กำหนดเวลาที่คาดการณ์ไว้จะตอบสนองในเวลา t = 0 ตัวอย่างบางส่วนของระบบปฏิบัติการนี้ ได้แก่ การควบคุมถุงลมนิรภัยในรถยนต์เบรกป้องกันล้อล็อกและระบบควบคุมเครื่องยนต์เป็นต้น
ระบบปฏิบัติการแบบเรียลไทม์ของ บริษัท
ในแบบเรียลไทม์ของ บริษัท ระบบปฏิบัติการมีข้อ จำกัด ด้านเวลาบางอย่างไม่เข้มงวดและอาจก่อให้เกิดผลกระทบที่ไม่ต้องการได้ตัวอย่างของระบบปฏิบัติการนี้คือการตรวจสอบด้วยภาพในระบบอัตโนมัติทางอุตสาหกรรม
การทำงานกับระบบปฏิบัติการแบบเรียลไทม์
ฟังก์ชันพื้นฐานของ RTOS มีหลายประเภทดังต่อไปนี้
- ตัวกำหนดตารางเวลาตามลำดับความสำคัญ
- นาฬิการะบบขัดจังหวะกิจวัตรประจำวัน
- พฤติกรรมที่กำหนด
- การซิงโครไนซ์และการส่งข้อความ
- บริการ RTOS
ตัวจัดกำหนดการตามลำดับความสำคัญ
ในตัวกำหนดตารางเวลาตามลำดับความสำคัญ RTOS ส่วนใหญ่อยู่ระหว่าง 32 ถึง 256 ลำดับความสำคัญที่เป็นไปได้สำหรับแต่ละงานหรือกระบวนการ ตัวกำหนดตารางเวลานี้จะรันกระบวนการที่มีลำดับความสำคัญสูงสุด หากงานกำลังรันบน CPU งานที่มีลำดับความสำคัญสูงสุดถัดไปจะรันและดำเนินการตามกระบวนการต่อไป
ในระบบกระบวนการที่มีลำดับความสำคัญสูงสุดจะมี CPU
- มันวิ่งไปปิด
- หากงานเดิมถูกล้างไว้ล่วงหน้าโดยงานใหม่กระบวนการที่มีลำดับความสำคัญสูงก็จะพร้อม
มีสามสถานะของงานหรือกระบวนการที่เหมือนพร้อมที่จะทำงานและอีกสถานะหนึ่งถูกปิดกั้นและคำอธิบายของแต่ละสถานะจะได้รับด้านล่าง
พร้อมที่จะเรียกใช้
การพร้อมรันกล่าวคือเมื่อกระบวนการมีทรัพยากรทั้งหมดที่จะรัน แต่ไม่ควรอยู่ในสถานะกำลังทำงาน แล้วเรียกว่าพร้อมวิ่ง
วิ่ง
หากงานกำลังดำเนินการแสดงว่ามีสถานะกำลังทำงานอยู่
ถูกบล็อก
ในสถานะนี้หากไม่มีทรัพยากรเพียงพอที่จะเรียกใช้ระบบจะส่งไปยังสถานะที่ถูกบล็อก
มีการปรับเปลี่ยนเทคนิคสามประการเพื่อจัดกำหนดการงานโดยมีคำอธิบายดังต่อไปนี้
การจัดตารางเวลาให้ความร่วมมือ
ในการตั้งเวลาประเภทนี้งานจะทำงานจนกว่าการดำเนินการจะเสร็จสิ้น
การตั้งเวลา Round Robin
ในการจัดกำหนดการนี้แต่ละกระบวนการจะถูกกำหนดช่วงเวลาที่แน่นอนและกระบวนการจะต้องดำเนินการให้เสร็จสมบูรณ์มิฉะนั้นงานจะสูญเสียโฟลว์และการสร้างข้อมูล
การตั้งเวลาล่วงหน้า
การจัดกำหนดการล่วงหน้าเกี่ยวข้องกับการจัดสรรเวลาขึ้นอยู่กับเวลาลำดับความสำคัญ โดยทั่วไปจะใช้ลำดับความสำคัญ 256 ระดับและแต่ละงานมีระดับความสำคัญที่ไม่ซ้ำกัน มีบางระบบที่รองรับระดับความสำคัญมากกว่าและงานหลายอย่างมีลำดับความสำคัญบางอย่าง
นาฬิการะบบขัดจังหวะกิจวัตร
ในการดำเนินการที่คำนึงถึงเวลา RTOS จะจัดหานาฬิการะบบบางประเภทให้ หากมีนาฬิการะบบ 1ms คุณต้องทำงานให้เสร็จใน 50ms โดยปกติจะมี API ที่ตามหลังคุณเพื่อพูดว่า“ อีก 50 มิลลิวินาทีปลุกฉัน” ดังนั้นงานจะอยู่ในตำแหน่งสลีปจนกว่า RTOS จะตื่นขึ้น เรามีการแจ้งเตือนสองครั้งว่าการตื่นขึ้นมาจะไม่มั่นใจว่าจะทำงานได้อย่างแน่นอนในเวลานั้นขึ้นอยู่กับลำดับความสำคัญและหากลำดับความสำคัญสูงกว่ากำลังทำงานอยู่ในขณะนี้ก็จะล่าช้า
พฤติกรรมที่กำหนด
RTOS ย้ายไปที่ความยาวมากเพื่อป้องกันไม่ว่าคุณจะทำ 100 งานหรือ 10 งานก็ไม่ได้สร้างความแตกต่างใด ๆ ในระยะทางในการสลับบริบทและจะกำหนดงานที่มีลำดับความสำคัญสูงสุดถัดไป ในพื้นที่เฉพาะที่กำหนด RTOS คือการจัดการการขัดจังหวะเมื่อเส้นขัดจังหวะถูกส่งสัญญาณ RTOS จะดำเนินการตามรูทีนบริการขัดจังหวะที่ถูกต้องทันทีและการขัดจังหวะจะได้รับการจัดการโดยไม่ชักช้า
เราต้องรบกวนว่านักพัฒนาของโครงการจะเขียน ISR ของฮาร์ดแวร์โดยเฉพาะ ก่อนหน้านี้ RTOS จะให้ ISR สำหรับพอร์ตอนุกรมนาฬิการะบบและอาจเป็นฮาร์ดแวร์เครือข่าย แต่ถ้ามีอะไรพิเศษเช่นสัญญาณเครื่องกระตุ้นหัวใจแอคชูเอเตอร์ ฯลฯ จะไม่เป็นส่วนหนึ่งของ RTOS
ทั้งหมดนี้เป็นข้อมูลเกี่ยวกับการสรุปทั่วไปและมีการใช้งานที่หลากหลายใน RTOS RTOS บางตัวมีการทำงานที่แตกต่างกันและคำอธิบายข้างต้นสามารถใช้กับ RTOS ที่มีอยู่เป็นส่วนใหญ่ได้
การซิงโครไนซ์และการส่งข้อความ
การซิงโครไนซ์และการส่งข้อความจัดเตรียมการสื่อสารระหว่างงานของระบบหนึ่งไปยังอีกระบบหนึ่งและบริการส่งข้อความกำลังตามมา ในการซิงโครไนซ์กิจกรรมภายในจะใช้แฟล็กเหตุการณ์และส่งข้อความที่เราสามารถใช้ในเมลบ็อกซ์ไปป์และคิวข้อความ ในพื้นที่ข้อมูลทั่วไปจะใช้ semaphores
- Semaphores
- แฟล็กเหตุการณ์
- กล่องจดหมาย
- ท่อ
- คิวข้อความ
บริการ RTOS
ส่วนที่สำคัญที่สุดของระบบปฏิบัติการคือเคอร์เนล ในการตรวจสอบฮาร์ดแวร์ควรผ่อนปรนงานและเคอร์เนลความรับผิดชอบจัดการและจัดสรรทรัพยากร หากงานไม่สามารถรับความสนใจจาก CPU ได้ทุกครั้งแสดงว่าเคอร์เนลมีบริการอื่น ๆ ดังต่อไปนี้คือ
- บริการเวลา
- ขัดจังหวะบริการจัดการ
- บริการจัดการอุปกรณ์
- บริการจัดการหน่วยความจำ
- บริการอินพุตเอาต์พุต
ข้อดีของ RTOS
- เมื่อทรัพยากรและอุปกรณ์ทั้งหมดไม่ได้ใช้งาน RTOS จะให้ปริมาณการใช้ระบบสูงสุดและเอาต์พุตมากขึ้น
- เมื่องานกำลังดำเนินการไม่มีโอกาสได้รับข้อผิดพลาดเนื่องจาก RTOS ไม่มีข้อผิดพลาด
- การจัดสรรหน่วยความจำเป็นประเภทที่ดีที่สุดในการจัดการในระบบประเภทนี้
- ในระบบประเภทนี้เวลาในการเปลี่ยนเกียร์จะน้อยลงมาก
- เนื่องจากโปรแกรมมีขนาดเล็กจึงใช้ RTOS ในไฟล์ ระบบฝังตัว เช่นการขนส่งและอื่น ๆ
ในบทความนี้เราได้กล่าวถึงระบบปฏิบัติการแบบเรียลไทม์ว่าจะทำงานอย่างไร ฉันหวังว่าเมื่ออ่านสิ่งนี้คุณจะได้รับข้อมูลพื้นฐานบางอย่าง หากคุณมีข้อสงสัยเกี่ยวกับบทความนี้หรือ เพื่อดำเนินโครงการไฟฟ้า โปรดอย่าลังเลที่จะแสดงความคิดเห็นในส่วนด้านล่าง นี่คือคำถามสำหรับคุณอะไรคือหน้าที่ของ RTOS?