操作系統(tǒng)原理總結(jié)

  • 操作系統(tǒng)是管理計(jì)算機(jī)硬件與軟件資源的計(jì)算機(jī)程序,為用戶提供接口拥诡,幫助用戶使用計(jì)算機(jī)資源触趴,常見(jiàn)的操作系統(tǒng)有Windows、Linux渴肉、Mac冗懦、Unix等。

  • 操作系統(tǒng)和普通程序的區(qū)別在于仇祭,操作系統(tǒng)具有進(jìn)程管理和內(nèi)存管理披蕉。此外,操作系統(tǒng)常常還具有設(shè)備管理乌奇、文件管理没讲、網(wǎng)絡(luò)管理、分布式管理等功能礁苗。操作系統(tǒng)原理的課程也按此進(jìn)行編排食零。

  • 操作系統(tǒng)的發(fā)展經(jīng)歷了手工操作,單道批處理寂屏,多道批處理和分時(shí)系統(tǒng)贰谣,其硬件基礎(chǔ)經(jīng)歷了電子管,晶體管迁霎,集成電路和大規(guī)模集成電路的革新吱抚。在發(fā)展過(guò)程中,操作系統(tǒng)的速度考廉、容量秘豹、穩(wěn)定性和可靠性等得到逐步提升。

  • 現(xiàn)代操作系統(tǒng)多為分時(shí)系統(tǒng)昌粤,其本質(zhì)是主機(jī)以一個(gè)很短的“時(shí)間片”為單位把CPU輪流分配給每個(gè)終端使用既绕。由于時(shí)間片很短,看起來(lái)就像每個(gè)終端都實(shí)時(shí)的運(yùn)行一般涮坐。

  • 部分程序的運(yùn)行可以不需要操作系統(tǒng)凄贩,如開(kāi)機(jī)時(shí)可通過(guò)BIOS引導(dǎo)程序?qū)MOS參數(shù)進(jìn)行設(shè)置。

  • 操作系統(tǒng)的邏輯結(jié)構(gòu)是指操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)思路袱讹,包括整體式結(jié)構(gòu)疲扎、層次式結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)。

  • CPU的工作狀態(tài)包括用戶態(tài)、核態(tài)和管態(tài)椒丧,其資源和指令使用權(quán)限的不同壹甥。用戶程序運(yùn)行在用戶態(tài),操作系統(tǒng)運(yùn)行在核態(tài)壶熏。正是因?yàn)闄?quán)限不同句柠,用戶程序必須借助操作系統(tǒng)提供的API 函數(shù)完成內(nèi)核相關(guān)操作。

  • 硬件按“態(tài)”來(lái)區(qū)分CPU的狀態(tài)棒假,操作系統(tǒng)按“進(jìn)程”來(lái)區(qū)分CPU的狀態(tài)俄占。Intel CPU有4態(tài),包括Ring 0~Ring 3淆衷,其中Ring 0最核心。

  • 操作系統(tǒng)的存儲(chǔ)器包括寄存器渤弛、高速緩存(CACHE)祝拯、主存(內(nèi)存)、輔存(硬盤(pán))她肯,其速度逐漸下降佳头,容量逐漸提升,價(jià)格也越發(fā)便宜晴氨。當(dāng)需要訪問(wèn)某個(gè)數(shù)據(jù)或代碼段時(shí)康嘉,CPU按順序分布訪問(wèn)緩存,內(nèi)存和輔存籽前。

  • 不同于循環(huán)掃描亭珍,CPU可以通過(guò)中斷機(jī)制處理突發(fā)的事件。當(dāng)中斷發(fā)生時(shí)候枝哄,CPU停止當(dāng)前工作肄梨,轉(zhuǎn)去處理該外部事件,處理完畢回到原來(lái)的工作中斷處(斷點(diǎn))繼續(xù)原來(lái)的工作挠锥。為了能夠順利返回原來(lái)的工作众羡,操作系統(tǒng)需要記錄當(dāng)前程序指針位置,并將工作變量和寄存器等信息壓入棧中蓖租,當(dāng)中斷處理完畢后粱侣,將這些信息從棧中讀取處理,繼續(xù)執(zhí)行蓖宦。

  • 剛開(kāi)機(jī)時(shí)齐婴,CPU運(yùn)行在實(shí)地址模式下,程序按照20位物理地址的尋址方式訪問(wèn)0h-FFFFFh的1M內(nèi)存稠茂。在實(shí)模式存取的1M空間的尾部64K空間內(nèi)存放系統(tǒng)BIOS文件尔店,用于系統(tǒng)的啟動(dòng)配置。此模式下,CPU只能單任務(wù)運(yùn)行嚣州。

  • 在操作系統(tǒng)接管計(jì)算機(jī)時(shí)鲫售,系統(tǒng)可進(jìn)入保護(hù)模式,此時(shí)程序以32位虛擬地址尋址方式訪問(wèn)4GB虛擬內(nèi)存空間该肴,應(yīng)用程序和操作系統(tǒng)的運(yùn)行環(huán)境被保護(hù)起來(lái)情竹。同時(shí),CPU支持多任務(wù)工作匀哄。

  • 從按下電源鍵開(kāi)始秦效,電腦進(jìn)行加電自檢,BIOS中的啟動(dòng)程序加載MBR中的引導(dǎo)程序涎嚼,裝入內(nèi)存特定位置阱州,引導(dǎo)程序啟動(dòng)DOS7.0,調(diào)入操作系統(tǒng)核心法梯,windows開(kāi)始接管系統(tǒng)苔货。電腦繼續(xù)尋找顯卡等相關(guān)設(shè)備BIOS,顯示啟動(dòng)畫(huà)面立哑、BIOS夜惭、芯片組型號(hào)和主板等信息,并從硬盤(pán)/軟盤(pán)/光盤(pán)/U盤(pán)讀入操作系統(tǒng)铛绰。操作系統(tǒng)啟動(dòng)后诈茧,由操作系統(tǒng)接管計(jì)算機(jī)。

  • 操作系統(tǒng)提供的用戶接口包括操作界面和系統(tǒng)調(diào)用捂掰,包括GUI和鍵盤(pán)命令敢会。而鍵盤(pán)命令又包括DOS,批處理这嚣,Shell等走触。系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核為應(yīng)用程序提供的服務(wù)和函數(shù)。程序調(diào)用系統(tǒng)內(nèi)核命令會(huì)產(chǎn)生相應(yīng)中斷疤苹,系統(tǒng)進(jìn)行現(xiàn)場(chǎng)保護(hù)互广,查找相關(guān)命令入口地址,由用戶態(tài)陷入內(nèi)核態(tài)執(zhí)行相應(yīng)的系統(tǒng)調(diào)用卧土。在執(zhí)行結(jié)束后惫皱,恢復(fù)現(xiàn)場(chǎng),回到用戶態(tài)尤莺,繼續(xù)運(yùn)行程序旅敷。

  • 進(jìn)程是程序在某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),其數(shù)據(jù)集合指軟/硬件環(huán)境颤霎。進(jìn)程與程序的區(qū)別是不同的媳谁。進(jìn)程是動(dòng)態(tài)的涂滴,是程序一次執(zhí)行過(guò)程,在內(nèi)存中暫存晴音,而程序是靜態(tài)的柔纵,是一組指令的有序集合,在介質(zhì)中長(zhǎng)存锤躁。此外搁料,一個(gè)程序可以擁有多個(gè)進(jìn)程。

  • 操作系統(tǒng)允許多個(gè)進(jìn)程共存系羞,每個(gè)進(jìn)程按各自速度向前推進(jìn)郭计。為了讓進(jìn)程有序的運(yùn)行避免阻塞和相關(guān)干擾,需要對(duì)進(jìn)行進(jìn)程管理椒振。進(jìn)程的狀態(tài)包括昭伸,運(yùn)行態(tài),就緒態(tài)和阻塞態(tài)等澎迎,其狀態(tài)可根據(jù)一定條件進(jìn)行相互轉(zhuǎn)化庐杨。

  • 子進(jìn)程是父進(jìn)程的復(fù)制,具有相同的代碼嗡善,相同的數(shù)據(jù),相同的堆棧学歧,子進(jìn)程與父進(jìn)程具有相同行為罩引,差別在于進(jìn)程標(biāo)識(shí)不同,與時(shí)間相關(guān)的信息不同枝笨。父子進(jìn)程可以并發(fā)運(yùn)行袁铐,并發(fā)運(yùn)行從創(chuàng)建進(jìn)程后的位置開(kāi)始執(zhí)行,避免重復(fù)創(chuàng)建新進(jìn)程横浑。

  • 當(dāng)操作系統(tǒng)支持線程時(shí)剔桨,線程代替進(jìn)程成為CPU的調(diào)度單位。線程是可由CPU直接運(yùn)行的實(shí)體徙融,一個(gè)進(jìn)程可以創(chuàng)建多個(gè)線程洒缀,多個(gè)線程共享CPU可以實(shí)現(xiàn)并發(fā)運(yùn)行,具有比進(jìn)程更高的并發(fā)力度欺冀。

  • 線程技術(shù)解決程序多個(gè)功能需要并發(fā)運(yùn)行的問(wèn)題树绩,如一手畫(huà)圓一手畫(huà)方,看視頻可以聽(tīng)到聲音同時(shí)看到字幕隐轩。線程技術(shù)可以提高窗口程序的交互性饺饭,一般將前臺(tái)交互作為主線程,而后臺(tái)計(jì)算作為子線程职车。

  • 進(jìn)程的關(guān)系包括同步瘫俊,互斥鹊杖,常見(jiàn)的進(jìn)程管理機(jī)制包括鎖機(jī)制,信號(hào)燈機(jī)制和PV操作扛芽。

  • 臨界資源是指一次只允許一個(gè)進(jìn)程獨(dú)占訪問(wèn)(使用)的資源骂蓖,臨界區(qū)則是進(jìn)程中訪問(wèn)臨界資源的程序段。因此訪問(wèn)臨界資源應(yīng)該遵循胸哥,忙則等待涯竟,空閑讓進(jìn),有限等待和讓權(quán)等待等原則空厌。

  • 在兩個(gè)或多個(gè)進(jìn)程中庐船,每個(gè)進(jìn)程都持有某種資源,但又僅需申請(qǐng)其他進(jìn)程已持有的某種資源嘲更。此時(shí)每個(gè)進(jìn)程都擁有其運(yùn)行時(shí)所需的一部分資源筐钟,但又都不夠,從而每個(gè)進(jìn)程都不能向前推進(jìn)陷于阻塞狀態(tài)赋朦,稱為死鎖篓冲。穿匡威才能買(mǎi)匡威,在先前沒(méi)有匡威的人和匡威售賣店間的買(mǎi)賣形成死鎖宠哄。

  • 由于死鎖解決算法復(fù)雜壹将,取得的效益差,現(xiàn)有的操作系統(tǒng)不采取任何死鎖處理方案毛嫉,而將難題移交給用戶诽俯。

  • 進(jìn)程調(diào)度指在合適的時(shí)候以一定策略選擇一個(gè)就緒進(jìn)程的運(yùn)行,其目的是讓每個(gè)進(jìn)程都能快速響應(yīng)承粤,盡可能避免饑餓和死鎖暴区。常見(jiàn)的調(diào)度算法如,先來(lái)先服務(wù)調(diào)度辛臊,短作業(yè)優(yōu)先調(diào)度仙粱,響應(yīng)比高者優(yōu)先調(diào)度,優(yōu)先數(shù)調(diào)度彻舰,循環(huán)輪轉(zhuǎn)調(diào)度等伐割。進(jìn)程調(diào)度需要進(jìn)行現(xiàn)場(chǎng)保護(hù),其過(guò)程類似中斷處理刃唤。

  • 除CPU和內(nèi)存外的設(shè)備都可以稱為外設(shè)口猜,操作系統(tǒng)一般以文件的形式管理設(shè)備,包括設(shè)備的打開(kāi)透揣,讀寫(xiě)济炎,控制和關(guān)閉。所謂設(shè)備驅(qū)動(dòng)辐真,可認(rèn)為是實(shí)際物理設(shè)備封裝成系統(tǒng)可調(diào)用的API函數(shù)须尚,操作系統(tǒng)通過(guò)這些函數(shù)可簡(jiǎn)單的操控實(shí)際物理設(shè)備崖堤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市耐床,隨后出現(xiàn)的幾起案子密幔,更是在濱河造成了極大的恐慌,老刑警劉巖撩轰,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胯甩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡堪嫂,警方通過(guò)查閱死者的電腦和手機(jī)偎箫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)皆串,“玉大人淹办,你說(shuō)我怎么就攤上這事《窀矗” “怎么了怜森?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谤牡。 經(jīng)常有香客問(wèn)我副硅,道長(zhǎng),這世上最難降的妖魔是什么翅萤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任恐疲,我火速辦了婚禮,結(jié)果婚禮上断序,老公的妹妹穿的比我還像新娘流纹。我一直安慰自己糜烹,他們只是感情好违诗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著疮蹦,像睡著了一般诸迟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愕乎,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天阵苇,我揣著相機(jī)與錄音,去河邊找鬼感论。 笑死绅项,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的比肄。 我是一名探鬼主播快耿,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼囊陡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掀亥?” 一聲冷哼從身側(cè)響起撞反,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搪花,沒(méi)想到半個(gè)月后遏片,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撮竿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年吮便,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倚聚。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡线衫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惑折,到底是詐尸還是另有隱情授账,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布惨驶,位于F島的核電站白热,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粗卜。R本人自食惡果不足惜屋确,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望续扔。 院中可真熱鬧攻臀,春花似錦、人聲如沸纱昧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)羽圃。三九已至,卻和暖如春褥影,著一層夾襖步出監(jiān)牢的瞬間灼捂,已是汗流浹背离例。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悉稠,地道東北人宫蛆。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像的猛,于是被迫代替她去往敵國(guó)和親耀盗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辑甜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354