ระบบปฏิบัติการแบบเวลาจริง

จากวิกิพีเดีย สารานุกรมเสรี

(เปลี่ยนทางมาจาก ระบบปฏิบัติการแบบทันที)
ลิงก์ข้ามภาษาที่แทรกในบทความนี้ ผู้เขียนอาจใส่ไว้เพื่อความสะดวกสำหรับผู้อ่านและผู้ร่วมปรับปรุงแก้ไขบทความ ให้โยงไปถึงบทความที่เกี่ยวข้องในภาษาอื่นเพื่อการตรวจสอบหรืออ่านเพิ่มเติม เนื่องจากคำ หรือวลีนั้นๆ ยังไม่มีคำแปลหรือคำอธิบายที่เหมาะสมในภาษาไทย เมื่อหมดความจำเป็นแล้ว ลิงก์ข้ามภาษาจะถูกตัดออกหรือเปลี่ยนเป็นข้อความที่ไม่มีลิงก์แทน ทั้งนี้ เพื่อให้เป็นไปตามมาตรฐานวิกิพีเดียไทย

ระบบปฏิบัติการแบบเวลาจริง หรือ ระบบปฏิบัติการแบบทันที (Real-time operating system: RTOS) คือระบบปฏิบัติการ ที่มีเวลาเป็นปัจจัยสำคัญสำหรับประสิทธิภาพของระบบ นั่นคือมีชุดคำสั่ง หรือโปรเซส บางอย่าง ที่จำเป็นต้องทำงาน ณ เวลาที่กำหนด หรือทำให้เสร็จภายในเวลาที่กำหนด ถ้าทำไม่ได้อาจสร้างความเสียหายต่อระบบ หรือเกิดค่าความเสียหาย (cost) กับระบบ โดยทั่วไปสำหรับระบบปฏิบัติการแบบเวลาจริง การทำงานไม่ทันในเวลาที่กำหนด มีค่าเทียบเคียงได้กับ การไม่ทำงานนั้นเลย ส่วนมากระบบปฏิบัติการแบบเวลาจริง ถูกออกแบบมาเพื่อแอปพลิเคชันแบบฝังตัว หรือแอปพลิเคชันที่สร้าง และติดตั้งมากับระบบตั้งแต่แรก เพื่อทำงานเฉพาะด้าน ยกตัวอย่างเช่น ระบบปฏิบัติการของเครื่องเล่นแผ่นเพลงแบบคอมแพคดิสก์หรือซีดี (CDs) ทันทีที่ระบบปฏิบัติการอ่านข้อมูลจากแผ่นซีดีแล้ว จะต้องประมวลผลข้อมูล และส่งสัญญาณเสียง ออกไปให้ผู้ฟังทันที ถ้าระบบปฏิบัติการทำงานช้าก็จะทำให้เพลงฟังไม่รู้เรื่อง

ระบบปฏิบัติการบางตัวไม่ได้ถูกออกแบบมาตั้งแต่ต้นให้เป็นระบบปฏิบัติการแบบเวลาจริง แต่ก็สามารถถูกดัดแปลงให้เป็นได้ เช่นหลายบริษัทพัฒนาและขายลินุกซ์ที่ถูกดัดแปลงเพิ่มขีดความสามารถในการปฏิบัติการแบบเวลาจริง และเมื่อ 8 ตุลาคม พ.ศ. 2547 บริษัท มอนตาวิสตา (Montavista) ได้ส่งแพตช์ (patch) ไปยัง Linux kernel mailing list เพื่อทำให้ลินุกซ์เป็นระบบปฏิบัติการแบบเวลาจริง

เนื้อหา

[แก้] คุณลักษณะที่สำคัญของระบบปฏิบัติการแบบเวลาจริง

ระบบปฏิบัติการแบบเวลาจริงมีจุดที่ต้องระวังในการออกแบบเป็นพิเศษอยู่ 2 จุดก็คือ

[แก้] การจัดลำดับแบบทันที

โดยโปรแกรมจัดลำดับ (scheduler) จะต้องมีความสามารถในการจัดลำดับการทำงาน ให้ทุกโปรเซส สามารถทำงานได้ทันตามที่ต้องการ โดยในปี ค.ศ. 1973 2 นักวิจัยคือลิวและเลย์แลนด์ได้พิสูจน์ทฤษฎีบทบางอย่าง เกี่ยวกับการจัดเวลาว่า กลุ่มโปรเซสลักษณะแบบใด จะสามารถจัดเวลาได้ทัน หรือในกรณีที่ไม่สามารถจัดเวลาได้ทันสำหรับทุกโปรเซส ลิวและเลย์แลนด์ก็ยังได้เสนออัลกอริทึมการจัดลำดับ ที่จัดเวลาให้มีค่าความเสียหายน้อยที่สุด โดยปกติแล้วระบบปฏิบัติการที่ถูกออกแบบเพื่อใช้กับงานทั่วไป (general-purpose OS) ไม่เหมาะที่จะจัดลำดับโปรเซสแบบทันที เนื่องจากจะมี ค่าใช้จ่ายส่วนเกิน หรือ ค่าใช้จ่ายอื่น (overhead) ในการทำกระบวนการสับเปลี่ยนโปรเซส (context-switching) สูง

[แก้] การจัดสรรหน่วยความจำ

อีกปัญหาหนึ่งคือการจัดสรรหน่วยความจำ ซึ่งระบบปฏิบัติการ จำเป็นที่จะต้องจองหน่วยความจำ ขนาดที่โปรเซส หรือโปรแกรมต้องการ ให้ทันภายในช่วงเวลาสั้นๆ ที่โปรเซสทำงานอยู่ โดยอัลกอริทึมปกติ จะใช้ไล่หาตามรายการโยงของหน่วยความจำที่ว่าง ซึ่งอาจจะมีประสิทธิภาพในแง่เวลาต่ำ

นอกจากนั้น ยังมีปัญหาเรื่อง การแตกกระจายของหน่วยความจำ (memory fragmentation) เนื่องจากการจัดสรรเนื้อที่หน่วยความจำในทันทีเ ป็นเรื่องยากที่จะจัดสรรให้มีระเบียบ ปัญหานี้ไม่เป็นปัญหาใหญ่นัก สำหรับเครื่องคอมพิวเตอร์แบบตั้งโต๊ะทั่วไป เพราะว่ามีการเปิด-ปิดอยู่บ่อยครั้ง อย่างไรก็ตามสำหรับระบบฝังตัว ที่ทำงานอยู่ตลอดปี โดยไม่ได้เปิด-ปิดเลย ปัญหานี้ถือเป็นประเด็นสำคัญ

[แก้] ตัวอย่างของระบบปฏิบัติการแบบเวลาจริง

[แก้] ดูเพิ่ม

[แก้] อ้างอิง

  • A. Tanenbaum and A. Woodhull. Operating Systems: Design and Implementation. Prentice Hall, 1997.
เครื่องมือส่วนตัว