เฮ้ยินดีต้อนรับกลับสู่หลักสูตร
ดังนั้นเรามาเริ่มหัวข้อ RTOS Introduction กันดีกว่า
ส่วนนี้ประกอบด้วยการบรรยายหกครั้ง
ตกลง
คีย์นำส่วนนี้ไปใช้ดังนั้นคุณจะได้รู้ว่าแอปพลิเคชันแบบเรียลไทม์คืออะไร
คุณจะได้รู้เกี่ยวกับระบบปฏิบัติการแบบเรียลไทม์
จากนั้นเราจะพูดถึงความแตกต่างที่สำคัญระหว่าง RTOS และ GPOS ในแง่ของการจัดตารางงาน
ความหน่วงแฝง, ลำดับความสำคัญผกผัน ฯลฯ จากนั้นเราจะครอบคลุมสิ่งที่เป็นมัลติทาสกิ้งซึ่งเป็นสิ่งจำเป็นในโดเมน
ของระบบปฏิบัติการเรียลไทม์
เอาล่ะ ดังนั้นตอนนี้เรามาเริ่มด้วยการบรรยายครั้งแรกของเรา
ดังนั้นนั่นคือการทำความเข้าใจว่าการใช้งานแบบเรียลไทม์คืออะไร เป็นครั้งแรก
มาดูกันว่าอะไรคือความจริงและตำนานที่เกี่ยวข้องกับคำว่าการคำนวณแบบเรียลไทม์
ตำนานคือการคำนวณแบบเรียลไทม์เทียบเท่ากับการคำนวณที่รวดเร็ว
แต่ความจริงก็คือการคำนวณแบบเรียลไทม์เทียบเท่ากับการคำนวณแบบคาดการณ์ได้
ตำนานเกี่ยวกับการคำนวณแบบเรียลไทม์คือการคำนวณแบบเรียลไทม์หมายถึงประสิทธิภาพที่สูงขึ้น
ความจริงคือเวลาที่ใช้ในการคำนวณแบบเรียลไทม์นั้นสำคัญกว่าประสิทธิภาพ
ดังนั้นสิ่งที่หมายถึงคำว่าเวลาจริงซึ่งมักจะใช้ในบริบทของการประยุกต์ใช้เวลาจริง
หรือระบบปฏิบัติการเรียลไทม์
ดังนั้นคำเรียลไทม์หมายถึงว่าแอปพลิเคชันหรือระบบปฏิบัติการเกี่ยวข้องกับการรับประกันไม่ใช่กับการใช้งานดิบ
ความเร็ว.
ดังนั้นเมื่อใดก็ตามที่เราพูดว่าบางสิ่งเป็นเรียลไทม์ดังนั้นความตรงเวลาจึงสำคัญกว่า
นั่นคือมันสัญญาว่าจะทำตามกำหนดเวลาของเส้นเวลาที่กำหนดแทนที่จะพูดถึงความเร็วที่แท้จริง
ผู้พัฒนาแอปพลิเคชันที่คิดว่าพวกเขาต้องการระบบ Real time เพื่อประสิทธิภาพที่ดีขึ้นของแอพพลิเคชั่นของพวกเขา
สามารถรับประสิทธิภาพที่ต้องการโดยเพียงแค่อัพเกรดฮาร์ดแวร์ด้วยโปรเซสเซอร์ที่เร็วขึ้น
RAM รถบัสความเร็วสูงเป็นต้น
ไม่ได้ทำให้ระบบเป็นแบบเรียลไทม์ ระบบเรียลไทม์จัดการกับการรับประกัน
ไม่ได้อยู่กับสัญญา
ดังนั้นหากแอปพลิเคชั่นที่มีฮาร์ดแวร์ จำกัด หากสามารถใช้งานได้ทันเวลา จากนั้นระบบนั้นหรือ
แอปพลิเคชันสามารถเรียกได้ว่าเป็นเรียลไทม์ ดังนั้นระบบเรียลไทม์จึงเป็นระบบที่ถูกต้อง
การคำนวณไม่เพียง แต่ขึ้นอยู่กับความถูกต้องเชิงตรรกะของการคำนวณ แต่ยังขึ้นอยู่กับเวลาด้วย
ที่ผลิตผล
หากข้อ จำกัด เกี่ยวกับเวลาไม่เป็นไปตามที่กล่าวมาจะเกิดความล้มเหลวของระบบ
ตัวอย่างเช่นลองดูกราฟนี้ ที่นี่
บรรทัดนี้ระบุว่าเป็นแอปพลิเคชั่นที่ไม่ใช่เรียลไทม์และบรรทัดนี้ระบุว่าเป็นแอปพลิเคชันตามเวลาจริง
ดังนั้นฉันเพิ่งพล็อตกราฟของการดำเนินการซ้ำกับเวลาตอบสนอง
ที่นี่เราสามารถเห็นได้ในระหว่างการทำซ้ำหลาย ๆ
เวลาดำเนินการหรือเวลาตอบสนองของแอปพลิเคชันแบบเรียลไทม์เกือบจะคงที่
ดังนั้นจะใช้เวลาประมาณ 2.5 วินาทีในทุกช่วงเวลา
ดังนั้นเวลาตอบสนองค่อนข้างคงที่ระหว่างการทำซ้ำหลาย ๆ ครั้ง
แต่ลองดูแอปพลิเคชั่นที่ไม่ใช่เวลาจริง
ดังนั้นเวลาตอบสนองจึงเปลี่ยนแปลงไป สำหรับการทำซ้ำครั้งแรกจะใช้เวลาประมาณ 4 วินาทีจากนั้นสำหรับการต่อไป
การย้ำ
มันเป็นเวลาตอบสนองประมาณ 1.5 วินาทีและสำหรับการทำซ้ำครั้งถัดไป
2.5
ดังนั้นแอปพลิเคชันที่ไม่ใช่เรียลไทม์ a จึงไม่เป็นไปตามพฤติกรรมที่ตรงเวลา ดังนั้นคุณไม่สามารถเชื่อถือแอปพลิเคชันนี้ได้
ไม่ใช่เหรอ
เพราะเวลาตอบสนองของมันก็ยังคงแปรเปลี่ยนไปตามการวนซ้ำหลายครั้ง
ดังนั้นแอปพลิเคชันที่ไม่ใช่เวลาจริงจะแสดงพฤติกรรมดังกล่าว เวลาตอบสนองของมันจะเปลี่ยนแปลงไปเสมอ
เมื่อเวลาผ่านไป. ดังนั้น แต่แอปพลิเคชั่นที่ไม่ใช่เรียลไทม์จะให้เวลาตอบกลับที่ค่อนข้างคงที่
ไม่ว่าคุณจะรันแอปพลิเคชั่นนั้นก็ตาม
ตัวอย่างเช่นวิธีหนึ่งในการดูที่นี่คือแอปพลิเคชันที่ไม่ใช่แบบเรียลไทม์ที่นี่
คุณสามารถคาดเดาได้ว่าโหลดระบบสูง ดังนั้นมันใช้เวลามากกว่านี้
ที่นี่เราสามารถคาดการณ์ว่าการโหลดระบบ
อาจจะน้อยกว่า ด้วยเหตุนี้แอปพลิเคชันที่ไม่ใช่เวลาจริงจึงถูกเรียกใช้งานในเวลาอันสั้น
และที่นี่คุณสามารถทำนายได้ว่าโหลดของระบบสูงอีกครั้ง นั่นเป็นเหตุผลว่าทำไมแอปพลิเคชันนี้จึงใช้เวลามากกว่านี้
เวลา.
แต่แอปพลิเคชั่นตามเวลาจริงไม่ว่าระบบจะโหลดอะไร ดังนั้นมันจะตอบสนองเหมือนเดิมเสมอ
เวลาระหว่างการประมวลผลซ้ำหลายครั้ง
นั่นคือความหมายของเรียลไทม์ซึ่งใช้ในบริบทของแอปพลิเคชันตามเวลาจริงหรือของจริง
ระบบปฏิบัติการเวลา
ดังนั้นแอปพลิเคชั่นตามเวลาจริงคืออะไร?
ในระยะสั้นพวกเขาจะเรียกว่า RTA ดังนั้นแอปพลิเคชันแบบเรียลไทม์จึงไม่ใช่แอปพลิเคชันที่ทำงานเร็ว
พวกเขาไม่จำเป็นต้องเร็ว
ตกลง? แต่พวกเขาต้องทำตามกำหนดเวลาตอบรับที่เข้มงวด
RTAs เป็นแอปพลิเคชั่นกำหนดเวลาซึ่งหมายความว่าเวลาตอบสนองต่อเหตุการณ์นั้นเกือบจะคงที่
นั่นอาจเป็นความเบี่ยงเบนเล็กน้อยในเวลาตอบสนองการใช้งานจริง
ในรูปของมิลลิวินาทีหรือวินาทีซึ่งจะจัดอยู่ในหมวดหมู่ของแอปพลิเคชันแบบเรียลไทม์
ฟังก์ชั่นเรียลไทม์ยากต้องเสร็จสิ้นภายในเวลาที่กำหนด
การไม่ทำเช่นนั้นจะทำให้ระบบทั้งหมดล้มเหลวโดยสิ้นเชิง
ตัวอย่างเช่นถุงลมนิรภัยที่กระตุ้นกลไกในรถยนต์เป็นตัวอย่างของฟังก์ชั่นเรียลไทม์ของฮาร์ด
ต้องปรับใช้ถุงลมนิรภัยภายในระยะเวลาที่กำหนดจากผลกระทบ คำตอบตกอยู่ข้างนอกนี้
การ จำกัด เวลาอาจส่งผลให้ผู้ขับขี่บาดเจ็บอย่างหลีกเลี่ยงไม่ได้
ข้อกำหนดแบบเรียลไทม์แบบซอฟต์คือสิ่งที่กำหนดเวลาสิ้นสุด แต่การละเมิดกำหนดเวลาจะไม่ทำให้เกิดขึ้น
ระบบไร้ประโยชน์
ดังนั้นอาจมีการเบี่ยงเบนเล็กน้อยในรูปของมิลลิวินาทีหรือวินาที
ในแง่ของเวลาตอบสนองของ Soft Real time ตามข้อกำหนด ดังนั้นพวกเขาจึงไม่เข้มงวดเท่ากับฮาร์ดเรียลไทม์
ระบบ
ตัวอย่างเพิ่มเติมของแอปพลิเคชั่นตามเวลาจริงคือแนวทางและระบบควบคุมขีปนาวุธ
นี่เป็นระบบเวลาจริงของ Hard เพราะเวลาและการตอบสนองนั้นเข้มงวดเสมอ
และความเบี่ยงเบนในเวลาตอบสนองอาจทำให้เกิดความสับสนวุ่นวาย ดังนั้นทุกความต้องการของระบบควบคุม
มักจะเป็นระบบเวลาจริงยาก และระบบ Anti Lock Breaking ในรถยนต์ที่เป็น Hard แท้ๆอย่างแท้จริง
สถานการณ์เวลาและการปรับใช้ Airbag ในรถโฟร์วีลนั้นถือได้ว่าเป็นแอปพลิเคชันแบบเรียลไทม์ของฮาร์ด
เนื่องจากความตรงเวลาเวลาตอบสนองจากการตรวจจับความผิดพลาดในการปรับใช้ถุงลมนิรภัยเป็นอย่างมาก
สำคัญมาก.
ดังนั้นการปรับใช้ถุงลมนิรภัยถือได้ว่าเป็นแอปพลิเคชันที่ทำงานยากตามเวลาจริง
ในขณะที่ VOIP นั่นคือ Voice Over Internet ถือเป็น Soft แบบเรียลไทม์ เพราะในระหว่าง
การสื่อสารแม้จะมีความล่าช้าเสมอในขณะที่ส่งแพ็กเก็ตเนื่องจากมีสถานการณ์แบบเรียลไทม์ฮาร์ด
ไม่สามารถดูแลได้
และอาจมีแพ็กเก็ตหล่นสองสามอัน
ดังนั้นผู้ใช้จะไม่สามารถรับรู้กำหนดเวลาและการวางแพ็กเก็ตที่หายไปเหล่านี้ได้
บางครั้งผู้ใช้จะไม่สามารถสังเกตเห็นได้
ดังนั้น VOIP ถือได้ว่าเป็นระบบเรียลไทม์ Soft นอกเหนือจากการควบคุมเครื่องบินตู้เอทีเอ็มหุ่นยนต์ MRI
และมีแอปพลิเคชั่นอื่น ๆ นับแสนที่แอปพลิเคชันแบบเรียลไทม์เล่น
บทบาทสำคัญ.
เอาล่ะ
หวังว่าคุณจะได้รับคำแนะนำที่ดีในการทำความเข้าใจว่าแอปพลิเคชันแบบเรียลไทม์คืออะไร ในการบรรยายครั้งต่อไปเรามา
เข้าใจระบบปฏิบัติการแบบเรียลไทม์คืออะไร
พบกันในการบรรยายครั้งต่อไป