Real-Time Operating System (RTOS) คืออะไรและทำงานอย่างไร?

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





เมื่อเราได้ยินคำว่าระบบปฏิบัติการสิ่งแรกที่ต้องนึกถึงคือระบบปฏิบัติการที่ใช้ในแล็ปท็อปและคอมพิวเตอร์ โดยทั่วไปเราใช้ระบบปฏิบัติการประเภทต่างๆเช่น windows XP, Linux, Ubuntu, Windows 7,8.8.1 และ 10 ในสมาร์ทโฟนระบบปฏิบัติการจะเหมือนกับ KitKat, Jellybean, marshmallow และ Nougat ในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัลมีระบบปฏิบัติการบางประเภทที่พัฒนาโดย โปรแกรมไมโครคอนโทรลเลอร์ . มี ระบบปฏิบัติการประเภทต่างๆ เพื่อพัฒนาไมโครคอนโทรลเลอร์ แต่ในที่นี้เราได้กล่าวถึงระบบปฏิบัติการแบบเรียลไทม์

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

RTOS เป็นระบบปฏิบัติการเป็นสมองของระบบเรียลไทม์และตอบสนองต่ออินพุตทันที ใน RTOS งานจะเสร็จสิ้นตามเวลาที่กำหนดและการตอบสนองด้วยวิธีที่คาดเดาได้สำหรับเหตุการณ์ที่คาดเดาไม่ได้ โครงสร้างของ 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?