嵌入式Linux(9)——linux操作系統(tǒng)的組成部分

姓名:謝恩龍? ? ? ?學號:19020100029? ?學院:電子工程學院

轉自:https://blog.csdn.net/xiong_yao/article/details/8268141

【嵌牛導讀】linux操作系統(tǒng)的組成部分

【嵌牛鼻子】嵌入式Linux?

【嵌牛提問】linux操作系統(tǒng)的組成有哪幾部分只厘?

【嵌牛正文】

??一種說法:

一般系統(tǒng)的組成由:核心水由,shell(命令解釋器),應用程序


linux也一樣骡湖,linux的核心(2.6.9.18)雇初,shell(/bin/bash),應用程序(Xwindow)等

或是:

Linux內核主要由五個子系統(tǒng)組成:進程調度,內存管理帘腹,虛擬文件系統(tǒng)嚎研,網絡接口蝌蹂,進程間通信噩斟。


1.進程調度(SCHED):控制進程對CPU的訪問。當需要選擇下一個進程運行時孤个,由調度程序選擇最值得運行的進程剃允。可運行進程實際上是僅等待CPU資源的進程,如果某個進程在等待其它資源斥废,則該進程是不可運行進程椒楣。Linux使用了比較簡單的基于優(yōu)先級的進程調度算法選擇新的進程。


2.內存管理(MM)允許多個進程安全的共享主內存區(qū)域营袜。Linux 的內存管理支持虛擬內存撒顿,即在計算機中運行的程序,其代碼荚板,數(shù)據凤壁,堆棧的總量可以超過實際內存的大小,操作系統(tǒng)只是把當前使用的程序塊保留在內存中跪另,其余的程序塊則保留在磁盤中拧抖。必要時,操作系統(tǒng)負責在磁盤和內存間交換程序塊免绿。內存管理從邏輯上分為硬件無關部分和硬件有關部分唧席。硬件無關部分提供了進程的映射和邏輯內存的對換;硬件相關的部分為內存管理硬件提供了虛擬接口嘲驾。


3.虛擬文件系統(tǒng)(Virtual File System,VFS)隱藏了各種硬件的具體細節(jié)淌哟,為所有的設備提供了統(tǒng)一的接口,VFS提供了多達數(shù)十種不同的文件系統(tǒng)辽故。虛擬文件系統(tǒng)可以分為邏輯文件系統(tǒng)和設備驅動程序徒仓。邏輯文件系統(tǒng)指Linux所支持的文件系統(tǒng),如ext2,fat等誊垢,設備驅動程序指為每一種硬件控制器所編寫的設備驅動程序模塊掉弛。


4.網絡接口(NET)提供了對各種網絡標準的存取和各種網絡硬件的支持。網絡接口可分為網絡協(xié)議和網絡驅動程序喂走。網絡協(xié)議部分負責實現(xiàn)每一種可能的網絡傳輸協(xié)議殃饿。網絡設備驅動程序負責與硬件設備通訊,每一種可能的硬件設備都有相應的設備驅動程序芋肠。


5.進程間通訊(IPC) 支持進程間各種通信機制乎芳。


不識廬山真面目――操作系統(tǒng)的組成

操作系統(tǒng)概念對新手來說就很容易混淆。拜現(xiàn)代的許多商業(yè)操作系統(tǒng)所賜业栅,很少有用戶能不費力氣地明白說出什么是操作系統(tǒng)秒咐。很多人認為操作系統(tǒng)就是Windows,操作系統(tǒng)當然要包含字處理軟件碘裕,操作系統(tǒng)怎么可以不處理圖形? 說實話攒钳,正是由于這些廣泛存在的誤解帮孔,原本操作系統(tǒng)的定義的內涵已經越來越偏離大眾的理解了――不識廬山真面目,只緣身在此山中。所以文兢,我們在這里有必要對這個概念進行一番界定晤斩,才能展開我們自己的討論――勿于浮沙建高塔。

如果您已經比較熟悉這些情況和淵源了姆坚,可以跳過這部分澳泵,選擇其它您感興趣的文章。

操作系統(tǒng)功能變得愈來愈強大兼呵,但結構也越來越復雜兔辅。在以方便用戶 (包括開發(fā)人員和終端用戶)為宗旨的思想下,操作系統(tǒng)不斷加入新功能击喂,新服務维苔。回憶從前大家使用的DOS系統(tǒng)僅僅只需要一張軟盤(拿DOS舉例是因為比較切合國內用戶的實際情況懂昂,其實Unix是比DOS年代久遠的介时,但大家以前很少使用,大部分人都是從DOS開始計算機之旅的凌彬。當然Unix的最初版本也用不了幾張軟盤)沸柔,而如今的windows系統(tǒng)或Linux系統(tǒng)動輒就需要數(shù)張光盤,麻雀已經變成了恐龍――雖然它們都有五臟六腑铲敛。

詞匯辨析:操作系統(tǒng)

???操作系統(tǒng)一詞現(xiàn)在已經有了很多不同的內涵褐澎。操作系統(tǒng)通常被認為是整個系統(tǒng)中負責完成最基本功能和系統(tǒng)管理的部分。這些部分應該包括內核原探、設備驅動程序乱凿、啟動引導程序、命令行shell或者其他種類的用戶界面咽弦、基本的文件管理工具和系統(tǒng)工具徒蟆。這些都是必不可少的東西。

????可是型型,由于大多數(shù)最終用戶是通過商業(yè)途徑得到操作系統(tǒng)段审,他們很少會僅僅購買一個只包含以上功能的軟件包。一般的闹蒜,他們在得到操作系統(tǒng)的同時寺枉,更需要的是構架于其上的應用軟件,來完成所需的實際功能绷落。為了滿足這種需求姥闪,操作系統(tǒng)一般要和應用軟件綁定發(fā)行和出售。這樣的軟件包在Linux領域被稱作發(fā)行包砌烁,如RedHat8.0或 紅旗Linux4.0等筐喳。

????由此就引起了一些誤解催式,許多用戶理所當然地認為發(fā)行包就是操作系統(tǒng)。但是避归,從邏輯結構劃分荣月,應用軟件不應該屬于操作系統(tǒng)。

????為了符合大多數(shù)人的習慣梳毙,在本雜志范圍內哺窄,我們一般用操作系統(tǒng)這個詞指代發(fā)行包,而用內核表示操作系統(tǒng)本來的邏輯概念账锹。在不引起混淆的情況下萌业,有時也會用操作系統(tǒng)表示內核缺谴。


雖然變成了恐龍梭灿,但筋骨脈絡還是清楚的,現(xiàn)代操作系統(tǒng)的結構相對是穩(wěn)定篓足、清晰的鸟缕。操作系統(tǒng)本質上也是大型軟件包(從開發(fā)者的角度看)晶框,因此結構組織也不會與其它大型軟件迥然而異:采取了分層結構,越向上層抽象程度越高懂从,越接近用戶授段;相反越向下層,越靠近硬件番甩,抽象也相對接近硬件侵贵。而且上層軟件依靠下層軟件提供的服務,再加上本身提供附加服務為更高層服務缘薛∏嫌總體呈現(xiàn)倒金子塔形。

下面我們就簡要分析一下操作系統(tǒng)的體系結構宴胧。

增繁就簡――操作系統(tǒng)組成

形形色色的操作系統(tǒng)組成結構都不盡相同漱抓。雖然大多是為同樣的目的,但由于實現(xiàn)方法可以自由選擇恕齐,所以各個操作系統(tǒng)理所當然的存在差異乞娄,有些系統(tǒng)之間差異還相當大。

我們選取最常見的操作系統(tǒng)(UNIX)組成結構显歧,向大家展示操作系統(tǒng)的體系結構的大致框架仪或。對于各種操作系統(tǒng)之間的具體差異,大家可以跟下面講述的結構進行對比認識士骤。???

在這里范删,我們自己用一組簡單的公式來描述操作系統(tǒng)的組成要素:

操作系統(tǒng)?=?內核?+?系統(tǒng)程序

系統(tǒng)程序?=?編譯環(huán)境?+?API

編譯環(huán)境?=?編譯程序?+?連接程序?+?裝載程序

API??=?系統(tǒng)調用?+?語言庫函數(shù)(C、C++拷肌、Java等等)

AUI??=??shell +?系統(tǒng)服務例程(如x服務器等)+?應用程序(瀏覽器瓶逃,字處理束铭,編輯器等)

而整個軟件系統(tǒng)是:

軟件系統(tǒng)?=?操作系統(tǒng)?+ AUI

操作系統(tǒng)最底層的組件是內核廓块,其上層搭建了許多系統(tǒng)軟件厢绝。

系統(tǒng)程序包括三個部分,分別是:編譯環(huán)境带猴、應用程序接口和用戶接口昔汉。

編譯環(huán)境包含匯編、C?等低高級語言編譯程序拴清,連接程序和裝載程序靶病,這些程序負責將文本格式的程序語言轉變?yōu)闄C器能識別和裝載的機器代碼。

應用程序接口(API)包含內核提供的系統(tǒng)調用接口和語言庫口予,系統(tǒng)調用是為了能讓應用程序使用內核服務娄周,語言庫函數(shù)則是為了方便應用程序開發(fā),所以將一些常用的基礎功能預先編譯以供使用沪停,比如對C語言來說常用的C庫等煤辨;

用戶接口(AUI)包括我們熟悉的shell、系統(tǒng)服務程序和常用的應用程序木张。

這是一個典型的結構众辨,但不是一成不變。許多操作系統(tǒng)的發(fā)行中會有所刪減舷礼,比如應用于嵌入式設備的系統(tǒng)鹃彻,對X服務器就可能不做要求。但是像內核妻献、系統(tǒng)調用等要素是必不可少的蛛株。

下圖顯示了操作系統(tǒng)的概念結構。

系統(tǒng)軟件:系統(tǒng)軟件是相對應用軟件而言的育拨,應用軟件針對最終用戶需求編寫谨履,完成實際功能,而系統(tǒng)軟件則是為了簡化應用程序的開發(fā)而存在的至朗,比如數(shù)據庫系統(tǒng)為應用軟件提供了有效的數(shù)據傳輸屉符、存儲服務;還有編程語言的執(zhí)行環(huán)境――它由C庫實現(xiàn)――也屬于一種系統(tǒng)程序锹引,它為應用程序開發(fā)提供了諸如I/O操作例程矗钟,圖形庫,計算庫等等基礎服務嫌变《滞В可見系統(tǒng)軟件范圍覆蓋很廣,只要面向的服務群體不是最終用戶的軟件都可以劃歸到系統(tǒng)軟件中來腾啥。

原文鏈接:https://blog.csdn.net/xiong_yao/article/details/8268141

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末东涡,一起剝皮案震驚了整個濱河市冯吓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疮跑,老刑警劉巖组贺,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異祖娘,居然都是意外死亡失尖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門渐苏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掀潮,“玉大人,你說我怎么就攤上這事琼富∫前桑” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵鞠眉,是天一觀的道長薯鼠。 經常有香客問我,道長凡蚜,這世上最難降的妖魔是什么人断? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮朝蜘,結果婚禮上恶迈,老公的妹妹穿的比我還像新娘。我一直安慰自己谱醇,他們只是感情好暇仲,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著副渴,像睡著了一般奈附。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上煮剧,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天斥滤,我揣著相機與錄音,去河邊找鬼勉盅。 笑死佑颇,一個胖子當著我的面吹牛,可吹牛的內容都是我干的草娜。 我是一名探鬼主播挑胸,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宰闰!你這毒婦竟也來了茬贵?” 一聲冷哼從身側響起簿透,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎解藻,沒想到半個月后老充,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡舆逃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年蚂维,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片路狮。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蔚约,靈堂內的尸體忽然破棺而出奄妨,到底是詐尸還是另有隱情,我是刑警寧澤苹祟,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布砸抛,位于F島的核電站,受9級特大地震影響树枫,放射性物質發(fā)生泄漏直焙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一砂轻、第九天 我趴在偏房一處隱蔽的房頂上張望奔誓。 院中可真熱鬧,春花似錦搔涝、人聲如沸厨喂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜕煌。三九已至,卻和暖如春诬留,著一層夾襖步出監(jiān)牢的瞬間斜纪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工文兑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盒刚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓彩届,卻偏偏與公主長得像伪冰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子樟蠕,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容