在介紹操作系統(tǒng)之前,先說(shuō)明一下為什么需要操作系統(tǒng)。在進(jìn)行軟件編程時(shí)需要對(duì)硬件進(jìn)行控制,例如輸入設(shè)備、輸出設(shè)備及存儲(chǔ)設(shè)備。如果沒(méi)有操作系統(tǒng)程序員不僅需要編程的知識(shí)還要了解硬件,這么多的硬件會(huì)很耗費(fèi)時(shí)間和精力。操作系統(tǒng)提供了對(duì)各種硬件的抽象,使得程序員就像控制水管的“水龍頭”的開(kāi)關(guān)一樣,不必去關(guān)心到底水是怎么運(yùn)送過(guò)來(lái)的“管道”。這樣就可以極大的提高編程效率。
那么操作系統(tǒng)都有什么組成呢?主要有進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、輸入輸出設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)通信、安全管理及圖形界面。
進(jìn)程管理
進(jìn)程是操作系統(tǒng)處理各種活動(dòng),例如用戶應(yīng)用程序和系統(tǒng)應(yīng)用程序。進(jìn)程管理就是把所有的執(zhí)行內(nèi)容抽象為流程,建立任務(wù)列表,設(shè)置獨(dú)立的存儲(chǔ)空間,多進(jìn)程的并發(fā)處理等等。
內(nèi)存管理
程序和數(shù)據(jù)都存儲(chǔ)在內(nèi)存中內(nèi)存管理需要考慮如何組織進(jìn)程的內(nèi)存,也需要支持
在進(jìn)程之間共享數(shù)據(jù)。
文件系統(tǒng)
文件就是大量信息的抽象描述。文件系統(tǒng)包括輔助存儲(chǔ)器進(jìn)行創(chuàng)建、刪除、復(fù)制和粘貼等標(biāo)準(zhǔn)操作,也包括搜索、備份等高級(jí)操作。
輸入輸出
如前所述,對(duì)輸入輸出的操作需要了解特定設(shè)備相關(guān)知識(shí)及設(shè)備驅(qū)動(dòng)程序和標(biāo)準(zhǔn)接口。
不同的組件相互關(guān)聯(lián) ,如何組織所有組件就顯得沒(méi)有那么簡(jiǎn)單。另一個(gè)具有挑戰(zhàn)性的軟件工程問(wèn)題是可靠性、向后兼容性、可擴(kuò)展性、可移植性。
統(tǒng)一的操作系統(tǒng)中單個(gè)程序包含所有內(nèi)核代碼并提供所有操作系統(tǒng)服務(wù),這就使得便攜性較差且難以維護(hù),一個(gè)小的錯(cuò)誤會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰!例如Unix和Linux操作系統(tǒng)。
最小內(nèi)核系統(tǒng)簡(jiǎn)化了內(nèi)核設(shè)計(jì)(僅限特權(quán)模式)用戶空間(可能有特權(quán),但通常沒(méi)有特權(quán)),這使得快速開(kāi)發(fā)、單元測(cè)試、易于維護(hù)。存在的問(wèn)題是內(nèi)存占用多,頻繁的上下文切換和進(jìn)程間通信,不易實(shí)施。
總的來(lái)說(shuō)統(tǒng)一的操作系統(tǒng)具有更好的性能,微內(nèi)核操作系統(tǒng)具有更好的模塊性和可擴(kuò)展性但模式切換成本高?,F(xiàn)代(大多數(shù)商業(yè))操作系統(tǒng)采用混合方法,內(nèi)核盡可能小,但大多數(shù)服務(wù)器都在特權(quán)內(nèi)核空間中運(yùn)行。例如Windows NT,XNU(OS X)。
操作系統(tǒng)的種類
網(wǎng)絡(luò)操作系統(tǒng),用于計(jì)算機(jī)網(wǎng)絡(luò)的操作系統(tǒng),允許并方便文件共享和硬件訪問(wèn),在局域網(wǎng)(常見(jiàn)于企業(yè)環(huán)境)比單計(jì)算機(jī)操作系統(tǒng)更多的功能,如:更多的通信。典型的網(wǎng)絡(luò)操作系統(tǒng)有Routers OS (Cisco IOS)
分布式操作系統(tǒng),每個(gè)節(jié)點(diǎn)都有一個(gè)“核心”(微內(nèi)核加上與其他節(jié)點(diǎn)協(xié)調(diào)的服務(wù)組件),各個(gè)節(jié)點(diǎn)共同完成操作系統(tǒng)的所有功能,單個(gè)節(jié)點(diǎn)可以完全訪問(wèn)所有系統(tǒng)資源。存在復(fù)雜的調(diào)度和并行性,用戶不知道哪個(gè)節(jié)點(diǎn)正在執(zhí)行程序,也不知道文件的物理位置——所有這些都由操作系統(tǒng)自動(dòng)處理。
實(shí)時(shí)操作系統(tǒng),專用于滿足特定時(shí)間限制的實(shí)時(shí)操作系統(tǒng)。又分為硬實(shí)時(shí)(確保關(guān)鍵任務(wù)按時(shí)完成)和軟實(shí)時(shí)(超過(guò)最后時(shí)限仍然值得完成任務(wù)),需要高級(jí)調(diào)度和內(nèi)存分配。
可預(yù)測(cè)性和確定性,速度更重要,通常通過(guò)簡(jiǎn)化的操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn),有時(shí)以可預(yù)測(cè)性和確定性為代價(jià)。足夠快地做正確的事情,優(yōu)先級(jí)可以由用戶動(dòng)態(tài)調(diào)整。故障安全,并不是簡(jiǎn)單地關(guān)閉所有設(shè)備。主要應(yīng)用在機(jī)器人、飛機(jī)控制…
嵌入式操作系統(tǒng),與實(shí)時(shí)操作并不完全相同,但大多數(shù)嵌入式操作系統(tǒng)都是實(shí)時(shí)操作系統(tǒng),都需要滿足時(shí)間限制。在本文中暫不區(qū)分實(shí)時(shí)操作系統(tǒng)和嵌入式操作系統(tǒng),兩個(gè)概念可以互換使用。
嵌入式系統(tǒng)RTOS與大循環(huán)模式
大循環(huán)模式易于實(shí)現(xiàn),符和嵌入式的計(jì)算模型。依賴中斷服務(wù)程序(ISR),需要保持ISR之間的同步,可預(yù)測(cè)性差(嵌套ISR)和可擴(kuò)展性差,ISR或大循環(huán)的的改變會(huì)波及整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。
RTOS模式,將所有請(qǐng)求都封裝到任務(wù)中,并根據(jù)需求進(jìn)行調(diào)度,更好的程序流程和事件響應(yīng),多任務(wù)處理。相對(duì)簡(jiǎn)潔的中斷服務(wù)程序(ISR),因此具有確定性。更好的溝通,更好的資源管理。
Keil公司 RTX,支持ARM Cortex-M內(nèi)核的全面的RTOS,包含調(diào)度表/互斥量/事件/信號(hào)量/郵箱…
![](/Uploads/2022-12-06/638ea1e1f027f.png)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
關(guān)于億道電子
億道電子技術(shù)有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國(guó)內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國(guó)廣大的制造業(yè)客戶提供研發(fā)、設(shè)計(jì)、管理過(guò)程中使用的各種軟件開(kāi)發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設(shè)計(jì)周期,提升產(chǎn)品可靠性。
20 年來(lái),先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰(zhàn)略合作伙伴關(guān)系,并作為他們?cè)谥袊?guó)區(qū)的主要分銷合作伙伴服務(wù)了數(shù)千家中國(guó)本土客戶,為客戶提供從芯片級(jí)開(kāi)發(fā)工具、EDA 設(shè)計(jì)工具、軟件編譯以及測(cè)試工具、結(jié)構(gòu)設(shè)計(jì)工具、仿真工具、電氣設(shè)計(jì)工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗(yàn)積累,真正的幫助客戶實(shí)現(xiàn)了讓研發(fā)更簡(jiǎn)單、更可靠、更高效的目標(biāo)。
![](http://m.longcheng66.cn/Uploads/2022-09-06/6316bdfc195db.png)
歡迎關(guān)注“億道電子”公眾號(hào)
了解更多研發(fā)工具軟件知識(shí)