RTOS基本原理概述

    嵌入式實時操作系統英文爲EmbedReal Time OperatingSystem,簡稱RTOS。與PC機上的通用的操作系統Windows或是Linux相比,RTOS精簡,實時性強。不同的RTOS根據性能特點適應於航天航空、生物醫學、工業控制、消費電子等行業。

    RTOS是一種架構。歷史以來,任何一個階段都有一定的軟件架構在主宰軟件行業。最開始的架構是前後臺的超循環模式。While(1)大循環是後臺,中斷異步處理是前臺。這種結構直至現在也很多公司使用,適合簡單的、資源不多的單片機做一些簡單的控制處理。但是如果需要處理多個的任務,這種超循環模式將變得難以控制,而且實時性也變的十分差,一個任務卡住了,下個任務執行時間難以預測,任何優秀的產品都是離不開現實需求,於是RTOS孕育而生。

    RTOS以多任務,實時性強,提供多種服務爲軟件工程師解決了超循環問題。對於RTOS,一個任務的卡死,並不影響另一個任務的運行。RTOS每個任務都有機會佔有cpu全部的資源(單核情況),使用RTOS的用戶只需要關心怎樣去規劃任務,包括任務的優先級、時間片,以及任務之間的同步、通訊就可以。

概念解析:

1. 任務、進程、線程

Linux中內核層的進程等於線程,用戶層的進程是由線程組成的,同一進程的各個線程可以使用該進程的全部資源(比如消息隊列、信號量等)。

2. 軟實時和硬實時

軟實時:儘可能快地完成操作。

硬實時:能夠在指定的期限完成實時任務(即便在最壞的處理負載下也能如此)的操作系統,超過截止期限後將造成災難性後果。

軟實時對於任務的平均響應時間要低於某個值(Deadline),而硬實時是在最壞的情況下對於任務的響應時間要低於某個值。


RTOS中進程等於線程等於任務,一般RTOS是沒有分層的(後面會提到爲什麼會這樣),一般稱作任務。

操作系統在作者看來就是爲用戶做好一些服務,比如提供任務切換、信號量、消息隊列、互斥鎖等服務;在用戶看來就是管理軟硬件,寫好任務,使用操作系統提供的API,讓操作系統去調度任務。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章