欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      操作系統(tǒng)教學(xué)總結(jié)

      時(shí)間:2019-05-12 02:00:26下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《操作系統(tǒng)教學(xué)總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《操作系統(tǒng)教學(xué)總結(jié)》。

      第一篇:操作系統(tǒng)教學(xué)總結(jié)

      操作系統(tǒng)教學(xué)總結(jié)

      教師:楊宇

      這學(xué)期我擔(dān)任了《操作系統(tǒng)》這門課程的教學(xué)工作,本教材內(nèi)容多,任務(wù)重,而且13級(jí)大部分學(xué)生對(duì)計(jì)算機(jī)方面的知識(shí)了解都非常匱乏,基礎(chǔ)非常薄弱,但是在各位老師的幫助和學(xué)校領(lǐng)導(dǎo)的指導(dǎo)下,我們非常圓滿的完成了本學(xué)期的教學(xué)任務(wù)。

      教這門課程首先要使學(xué)生知道操作系統(tǒng)課程的重要性,這門課程是中職生計(jì)算機(jī)專業(yè)學(xué)生的主干課程?,F(xiàn)在的計(jì)算機(jī)越來(lái)越普及,無(wú)論是從事軟件維護(hù)、操作系統(tǒng)維護(hù),還是網(wǎng)絡(luò)管理,就算是為了自己以后能夠買一臺(tái)電腦,選購(gòu)不會(huì)上當(dāng)受騙,自己能夠安裝和維護(hù),也要悉心學(xué)習(xí).二、操作系統(tǒng)是一門理論性、基礎(chǔ)性、應(yīng)用性很強(qiáng)的課程,要學(xué)好,首先就要教育學(xué)生要有學(xué)習(xí)的韌性,不怕吃苦不怕累,在學(xué)好理論的基礎(chǔ)上,把理論聯(lián)系到實(shí)踐,再把實(shí)踐運(yùn)用到實(shí)際。

      在教學(xué)上,身為教者,首先要發(fā)揮現(xiàn)代化的教學(xué)手段,增強(qiáng)教學(xué)的形象直觀性,提高學(xué)生的學(xué)習(xí)興趣。

      根據(jù)學(xué)生的實(shí)際情況,制作交互性強(qiáng)、操作性強(qiáng)、生動(dòng)活潑的多媒體課件,通過(guò)圖文并茂、視頻動(dòng)畫以直觀教學(xué),在網(wǎng)上下載最新硬件圖片以及購(gòu)買參數(shù)信息,豐富教學(xué)內(nèi)容,利用多媒體教室形象直觀的傳遞計(jì)算機(jī)硬件信息,細(xì)致的講解,一步一個(gè)腳印,融會(huì)貫通的講好每一個(gè)知識(shí)點(diǎn),用學(xué)生最常接觸的手機(jī)、MP3、MP4、DVD等常見(jiàn)設(shè)施為例子,講解存儲(chǔ)卡,講解光驅(qū),用電視顯像管成像原理講解顯示器等等,提高學(xué)生學(xué)習(xí)計(jì)算機(jī)硬件知識(shí)的興趣。

      其次,計(jì)算機(jī)的發(fā)展日新月異,而我們的教材相對(duì)比較滯后,因此身為教者我必須及時(shí)補(bǔ)充更新,來(lái)提高學(xué)生學(xué)習(xí)的興趣和積極性,培養(yǎng)適合現(xiàn)實(shí)需要的計(jì)算機(jī)發(fā)展人才。

      再者,操作系統(tǒng)課,最重要的就是實(shí)踐,增強(qiáng)學(xué)生解決實(shí)際問(wèn)題的動(dòng)手能力。在專門的計(jì)算機(jī)室里,兩節(jié)理論課兩節(jié)實(shí)踐,理論課上講的內(nèi)容要聯(lián)系到實(shí)踐,通過(guò)大量的實(shí)踐完成計(jì)算機(jī)硬件的組裝、軟件的安裝與維護(hù),培養(yǎng)和鍛煉學(xué)生要敢動(dòng)手、勤動(dòng)手,為最終具備專業(yè)的操作系統(tǒng)維護(hù)能力打下堅(jiān)實(shí)的基礎(chǔ)。

      最后,做好考核,增強(qiáng)教學(xué)目標(biāo)的實(shí)行。

      為了更好完成教學(xué),我專門制定了有利于學(xué)生提高適應(yīng)社會(huì)需求,提升自身素質(zhì)的考核方式。而我除了課堂提問(wèn)考核外,更加側(cè)重于教學(xué)實(shí)踐,每次學(xué)生動(dòng)手操作能力的提升,提升學(xué)生動(dòng)手操作的積極性和學(xué)習(xí)的興趣。

      2015年1月4日

      第二篇:操作系統(tǒng)總結(jié)

      什么是OS,OS有哪幾個(gè)特征?其最基本的特征是什么?

      答:操作系統(tǒng)是為了達(dá)到方便用戶和提高利用率的目的而設(shè)計(jì)的,控制和管理計(jì)算機(jī)硬件和軟件資源,合理的組織計(jì)算機(jī)工作流程的程序的集合它具有并發(fā),共享,虛擬,異步性四個(gè)基本特征。其中最基本的特征為并發(fā)性

      2什么是進(jìn)程及與程序的區(qū)別與聯(lián)系,為什么PCB是進(jìn)程存在的唯一標(biāo)志?

      進(jìn)程是程序的一次執(zhí)行過(guò)程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。

      區(qū)別:(1)進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的。(2)進(jìn)程具有并發(fā)性,而程序沒(méi)有(3)進(jìn)程是資源分配和處理機(jī)調(diào)度的獨(dú)立單位,其并發(fā)性受系統(tǒng)制約(4)一個(gè)程序多次執(zhí)行,對(duì)應(yīng)多個(gè)進(jìn)程,不同的進(jìn)程可以包含同一程序PCB:因?yàn)樵谶M(jìn)程的整個(gè)生命期中,系統(tǒng)總是通過(guò)PCB對(duì)進(jìn)程進(jìn)行控制的3處理機(jī)三級(jí)調(diào)度分別完成什么工作?

      (1)高級(jí)調(diào)度:就是作業(yè)調(diào)度,用于決定把外存上處于后備隊(duì)列中的哪些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程,分配必要的資源,然后,再將新創(chuàng)建的進(jìn)程排在就緒隊(duì)列上,準(zhǔn)備執(zhí)行

      (2)低級(jí)調(diào)度:就是進(jìn)程調(diào)度,它決定就緒隊(duì)列中的哪個(gè)進(jìn)程將獲得處理機(jī),然后由分派程序執(zhí)行把處理機(jī)分配給該進(jìn)程的操作

      (3)中級(jí)調(diào)度:實(shí)際上就是存儲(chǔ)器管理中的對(duì)換功能試說(shuō)明引起進(jìn)程調(diào)度的時(shí)機(jī)是什么?

      (1)進(jìn)程完畢(2)時(shí)間片用完(3)I/O請(qǐng)求發(fā)生某個(gè)事件(4)原語(yǔ):wait操作,阻塞(5)高優(yōu)先者進(jìn)入 5什么是臨界資源和臨界區(qū)?

      一次僅允許一個(gè)進(jìn)程訪問(wèn)的資源稱為臨界資源。訪問(wèn)臨界資源的代碼段稱為臨街區(qū)

      6試修改下面生產(chǎn)者---消費(fèi)問(wèn)題中,如果將兩個(gè)wait操作即wait(full)和wati(mutex)互換 位置,或者將signal(mutex)與signal(full)互換位置,結(jié)果會(huì)如何?

      (1)wait(full)和wait(mutex)互換位置后,因?yàn)閙utex在這兒是全局變量,執(zhí)行完wait(mutex),則mutex賦值為0,倘若full 也為0,則該生產(chǎn)者進(jìn)程就會(huì)轉(zhuǎn)入進(jìn)程鏈表進(jìn)行等待,而生產(chǎn)者進(jìn)程會(huì)因全局變量mutex為0 而進(jìn)行等待,使full 始終為0,這樣就形成了死鎖.(2)而signal(mutex)與signal(full)互換位置后,從邏輯上來(lái)說(shuō)應(yīng)該是一樣的.7什么是死鎖?死鎖產(chǎn)生的有哪些

      死鎖是因多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的一種僵局(1)互斥條件:一個(gè)資源每次只能被一個(gè)進(jìn)程使用。(2)請(qǐng)求與保持條件:一個(gè)進(jìn)程因請(qǐng)求資源而阻塞時(shí),對(duì)已獲得的資源保持不放。

      (3)不剝奪條件:進(jìn)程已獲得的資源,在末使用完之前,不能強(qiáng)行剝奪。(4)環(huán)路等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。同步機(jī)制應(yīng)遵循的基本準(zhǔn)則是什么?

      (1)空閑讓進(jìn)(2)忙則等待(3)有限等待(4)讓權(quán)等待.程序有幾種連接方式

      (1)靜態(tài)鏈接方式(2)裝入時(shí)動(dòng)態(tài)鏈接(3)運(yùn)行時(shí)動(dòng)態(tài)鏈接

      10什么是動(dòng)態(tài)重定位方式及為什么要引入動(dòng)態(tài)重定位方式及如何實(shí)現(xiàn)?

      程序和數(shù)據(jù)裝入內(nèi)存時(shí)需對(duì)目標(biāo)程序中的地址進(jìn)行修改。這種把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的物理地址的過(guò)程叫重定位

      11什么是分頁(yè),什么是分段,在存儲(chǔ)管理中兩者的區(qū)別

      (1)分頁(yè)是將一個(gè)進(jìn)程的邏輯地址空間分成若干大小相等的部分,每一部分稱作頁(yè)面,內(nèi)存劃分成與頁(yè)面大小相等的物理塊,進(jìn)程的任何一頁(yè)可放入內(nèi)存的任何一個(gè)物理塊中,段是信息的邏輯單位,含有一組意義相對(duì)完整的信息,更好的來(lái)滿足用戶的需要。

      (2)分段是一組邏輯信息的集合,即一個(gè)作業(yè)中相對(duì)獨(dú)立的部分。多個(gè)段在內(nèi)存中占有離

      散的內(nèi)存單元,對(duì)每個(gè)段,在內(nèi)存占有一連續(xù)的內(nèi)存空間,其內(nèi)存的分配與回收同可變分區(qū)的內(nèi)存分配與回收辦法

      分頁(yè)與分段的主要區(qū)別是?

      (1)頁(yè)是信息的物理單位,分頁(yè)是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率(2)頁(yè)的大小固定,并且有系統(tǒng)決定,而段的長(zhǎng)度不固定決定于用戶所編寫的程序(3)分頁(yè)作業(yè)的地址空間是一維的,段是二維的。

      12動(dòng)態(tài)分區(qū)存儲(chǔ)管理中內(nèi)存的回收方式

      13.什么是對(duì)換,對(duì)換的分類及主要用途在進(jìn)程換出時(shí)應(yīng)遵循什么原則

      對(duì)換是把內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程或者暫時(shí)不用的程序和數(shù)據(jù)調(diào)出到外存上,以便騰出足夠的內(nèi)存空間,再把因具備運(yùn)行條件的進(jìn)程或者進(jìn)程所需要的程序或數(shù)據(jù)調(diào)入內(nèi)存。

      分類:(1)整體對(duì)換(進(jìn)程對(duì)換):以整個(gè)進(jìn)程為單位(2)頁(yè)面對(duì)換(分段對(duì)換/部分對(duì)換):以頁(yè)和段為單位

      規(guī)則:內(nèi)存空間不夠用才換出。系統(tǒng)處于阻塞狀態(tài),且優(yōu)先級(jí)最低的進(jìn)程最先換出。若換入:系統(tǒng)處于就緒狀態(tài),且優(yōu)先級(jí)最高的進(jìn)程最先換入,直至無(wú)可換入的進(jìn)程為止。

      14.什么是虛擬存儲(chǔ)器虛擬存儲(chǔ)器具有哪些特性,最基本的特性是什么?虛擬存儲(chǔ)器的容量受哪兩方面的限制?

      虛擬存儲(chǔ)器:是指具有請(qǐng)求調(diào)入功能和置換功能,能從邏輯上對(duì)內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。

      特征:(1)離散性(最基本的特征)(2)多次性(3)對(duì)換性(4)虛擬性

      虛擬存儲(chǔ)器的容量主要受指令中表示地址的字長(zhǎng)和外存的容量的限制。

      15.在沒(méi)有快表的分頁(yè)存儲(chǔ)管理中取一條指令需訪問(wèn)幾次內(nèi)存及訪問(wèn)內(nèi)存的目的,及具有快表的分頁(yè)存儲(chǔ)管理系統(tǒng)的地址變換過(guò)程。

      兩次。第一次:訪問(wèn)內(nèi)存中的頁(yè)表,從中找到頁(yè)的物理塊號(hào),再將塊號(hào)與頁(yè)內(nèi)偏移量W拼接,形成物理地址。第二次:從第一次所得的物理地址中獲得所需數(shù)據(jù)

      地址變換過(guò)程:CPU給出有效地址后,地址變換機(jī)構(gòu)將頁(yè)號(hào)與快表中的所有頁(yè)號(hào)進(jìn)行比較,若有與此相匹配的頁(yè)號(hào),則表示所訪問(wèn)的頁(yè)在快表中,從中讀出物理塊號(hào)與頁(yè)內(nèi)地址相拼接,得到物理地址;若訪問(wèn)的頁(yè)不在快表中,則要訪問(wèn)在內(nèi)存中的頁(yè)表,從頁(yè)表中讀出物理塊號(hào)與頁(yè)內(nèi)地址相拼接,得到物理地址,同時(shí),還應(yīng)將此頁(yè)表項(xiàng)寫入快表中,若此時(shí)快表已滿,則OS必須找到一個(gè)老的并且被認(rèn)為不再需要的頁(yè)表項(xiàng)將它換出。

      16.什么是緊湊技術(shù)及為什么要引入

      緊湊:把原來(lái)多個(gè)分散的小分區(qū)拼接成一個(gè)大分區(qū)的方法

      引入:提高內(nèi)存的利用率,讓大容量的作業(yè)可以裝入并且減少零頭或碎片

      17程序的局部性原理是什么局限性的兩個(gè)主要表現(xiàn)方面

      局部性原理:(1)程序執(zhí)行時(shí),除少部分轉(zhuǎn)移和過(guò)程調(diào)用指令外,大多數(shù)條件下任是順序執(zhí)行的(2)過(guò)程調(diào)用將會(huì)使程序的執(zhí)行軌跡由一部分區(qū)域轉(zhuǎn)至另一部分區(qū)域,但經(jīng)驗(yàn)就看出過(guò)程調(diào)用的深度在大多數(shù)情況下不會(huì)超過(guò)5(3)程序中存在許多循環(huán)結(jié)構(gòu),這些雖然只能由少數(shù)指令構(gòu)成但它們將多次執(zhí)行(4)程序中還包括許多對(duì)數(shù)據(jù)結(jié)構(gòu)的處理

      主要表現(xiàn)在:(1)時(shí)間局限性(2)空間局限性

      18.什么是spooling技術(shù)spooling系統(tǒng)有哪些組成Spooling技術(shù)是對(duì)脫機(jī)輸入,輸出系統(tǒng)的模擬。

      組成:(1)輸入井和輸出井(2)輸出緩沖區(qū)和輸入緩沖區(qū)(3)輸入進(jìn)程SPi和輸出進(jìn)程SPo(4)請(qǐng)求打印隊(duì)列

      特點(diǎn):(1)提高了I/O的速度(2)將獨(dú)占設(shè)備改為共享設(shè)備(3)實(shí)現(xiàn)了虛擬設(shè)備功能

      第三篇:操作系統(tǒng)總結(jié)

      第一部分概述

      一、導(dǎo)論

      1.操作系統(tǒng)做什么

      ① 馮諾依曼體系結(jié)構(gòu)

      ② OS角色:對(duì)上:控制程序正確執(zhí)行,使用方便;對(duì)下:資源分配器

      ③ 核心功能:進(jìn)程管理,內(nèi)存管理,文件管理,輸入輸出,保護(hù)和安全

      2.計(jì)算機(jī)系統(tǒng)組織

      ① 中斷

      ② 存儲(chǔ)結(jié)構(gòu):寄存器→高速緩存→主存→電子磁盤→光盤→磁帶

      ③ I/O結(jié)構(gòu):I/O的同步、異步;慢速設(shè)備(中斷)快速設(shè)備(DMA)

      3.操作系統(tǒng)結(jié)構(gòu):多道(使CPU總有一個(gè)任務(wù)執(zhí)行)、分時(shí)(高頻率切換任務(wù))

      4.進(jìn)程管理

      ① 進(jìn)程有其生命周期,進(jìn)程是執(zhí)行中的程序

      ② 管理活動(dòng):創(chuàng)建或刪除用戶或系統(tǒng)進(jìn)程;掛起或重啟進(jìn)程;防死鎖;提供進(jìn)程

      同步、通信機(jī)制

      ③ 目的:使進(jìn)程可以運(yùn)行,相互協(xié)調(diào)不死鎖

      5.內(nèi)存管理

      ① 目標(biāo):內(nèi)核健壯

      ② 保護(hù)方法:獨(dú)立操作模式:用戶模式,內(nèi)核模式;計(jì)數(shù)器定時(shí)中斷防止死循環(huán)

      6.存儲(chǔ)管理

      ① 解決問(wèn)題:速度匹配→緩存(緩存的命中率)

      ② 等級(jí)問(wèn)題:一致性;多處理器下各緩存的一致性

      二、操作系統(tǒng)結(jié)構(gòu)

      1.操作系統(tǒng)服務(wù):用戶界面,程序執(zhí)行,I/O操作,文件系統(tǒng)操作,通信,錯(cuò)誤檢測(cè),資源分配,統(tǒng)計(jì),保護(hù)和安全。

      2.操作系統(tǒng)的用戶界面:命令解釋程序,圖形用戶界面

      3.系統(tǒng)調(diào)用類型:進(jìn)程控制,文件管理,設(shè)備管理,信息維護(hù),通信

      4.系統(tǒng)程序分類:文件管理,狀態(tài)信息,文件修改,程序設(shè)計(jì)語(yǔ)言支持,程序裝入和

      執(zhí)行,通信,系統(tǒng)工具,應(yīng)用程序。

      5.操作系統(tǒng)結(jié)構(gòu):

      ① 簡(jiǎn)單結(jié)構(gòu)(MS-DOS):小空間多功能,應(yīng)用程序直接操作硬件,不安全,無(wú)模塊,接口和功能層次沒(méi)有區(qū)分

      ② 分層法:難劃分,效率低,但是構(gòu)造和調(diào)試簡(jiǎn)單化

      ③ 微內(nèi)核:包括最小的進(jìn)程和內(nèi)存管理以及通信,便于擴(kuò)充操作系統(tǒng)。

      ④ 模塊化:動(dòng)態(tài)加載模塊,允許內(nèi)核提供核心服務(wù),也能動(dòng)態(tài)的實(shí)現(xiàn)特定的功能 ⑤ 組合結(jié)構(gòu)

      第二部分進(jìn)程管理

      一、進(jìn)程

      1.進(jìn)程的概念

      ① 進(jìn)程通常包括:程序計(jì)數(shù)器,棧,數(shù)據(jù)段

      ② 進(jìn)程狀態(tài):新建,運(yùn)行,等待,就緒,終止

      ③ 進(jìn)程控制塊PCB:進(jìn)程狀態(tài),程序計(jì)數(shù)器,CPU寄存器,CPU調(diào)度信息,內(nèi)存

      管理信息,記賬信息,I/O狀態(tài)信息

      2.進(jìn)程調(diào)度

      ① 調(diào)度隊(duì)列:作業(yè)隊(duì)列,就緒隊(duì)列,設(shè)備隊(duì)列P80

      ② 調(diào)度程序:長(zhǎng)期調(diào)度程序(作業(yè)調(diào)度程序):從作業(yè)池中選擇進(jìn)程,并裝入內(nèi)存

      準(zhǔn)備執(zhí)行。短期調(diào)度程序(CPU調(diào)度程序):從準(zhǔn)備執(zhí)行的進(jìn)程中選擇進(jìn)程,并為之分配CPU時(shí)間。中期調(diào)度程序:能將進(jìn)程從內(nèi)存中移出。

      長(zhǎng)短期的區(qū)別是執(zhí)行頻率;長(zhǎng)期調(diào)度控制多道程序設(shè)計(jì)的程度,中期調(diào)度可以降低多道。

      ③ I/O綁定進(jìn)程,CPU綁定進(jìn)程

      ④ 上下文切換:將CPU切換到另一個(gè)進(jìn)程需要保存當(dāng)前進(jìn)程的狀態(tài)和恢復(fù)另一進(jìn)

      程的狀態(tài)。

      3.進(jìn)程操作

      ① 進(jìn)程創(chuàng)程:創(chuàng)建新進(jìn)程的執(zhí)行方式(父子進(jìn)程并發(fā)執(zhí)行;父進(jìn)程等待直到某個(gè)

      或全部子進(jìn)程執(zhí)行完畢)

      新進(jìn)程地址空間(子進(jìn)程是父進(jìn)程的副本;子進(jìn)程裝入另一個(gè)新程序)

      資源共享(所有/子集/不共享)

      ② 進(jìn)程終止

      父進(jìn)程終止子進(jìn)程的原因(子進(jìn)程使用了超過(guò)它分配的資源;分配給子程序的任務(wù)不需要了;父進(jìn)程結(jié)束)

      4.進(jìn)程間通信

      ① 通信基本模型:共享內(nèi)存,消息傳遞

      ② 共享內(nèi)存:消費(fèi)者可能等待生產(chǎn)者;無(wú)限緩沖區(qū),有限緩沖區(qū)的區(qū)別

      ③ 消息傳遞:

      命名:直接通信(對(duì)稱尋址:接受者命名發(fā)送者;非對(duì)稱尋址:接受者不需要命名發(fā)送者)間接通信(郵箱、端口的參與)

      同步:阻塞與非阻塞(發(fā)送,接收),同步與異步

      緩沖:零容量(無(wú)緩沖);有限容量、無(wú)限容量(自動(dòng)緩沖)

      5.客戶機(jī)-服務(wù)器通信:套接字SOCKET,RPC遠(yuǎn)程調(diào)用,RMI遠(yuǎn)程方法調(diào)用

      二、線程

      1.概述:多線程優(yōu)點(diǎn):響應(yīng)度高,資源共享,經(jīng)濟(jì),多處理器體系結(jié)構(gòu)的利用

      2.多線程模型:用戶層的用戶線程或內(nèi)核層的內(nèi)核線程,用戶線程受內(nèi)核支持,而無(wú)

      需內(nèi)核管理,而內(nèi)核線程由操作系統(tǒng)直接支持和管理,這兩種方法支持多線程。① 多對(duì)一模型(效率比較高,阻塞系統(tǒng)調(diào)用的后果)

      ② 一對(duì)一模型(更好的并發(fā)功能,缺點(diǎn)是創(chuàng)建一個(gè)用戶線程就需要一個(gè)內(nèi)核進(jìn)程)③ 多對(duì)多模型(用戶可以創(chuàng)建任意多的線程;二級(jí)模型=多對(duì)多+一對(duì)一)

      3.多線程問(wèn)題

      ① 系統(tǒng)調(diào)用fork().exex()

      ② 線程取消異步取消(立即終止),延遲取消(檢查是否應(yīng)該終止)

      ③ 信號(hào)處理:信號(hào)必須有一個(gè)處理程序

      ④ 線程池:優(yōu)點(diǎn)(處理請(qǐng)求速度快,線程數(shù)量可控制)

      三、CPU調(diào)度

      1.基本概念

      ① CPU區(qū)間和I/O區(qū)間的概念

      ② 搶占與非搶占調(diào)度的概念(發(fā)生在:一個(gè)進(jìn)程從運(yùn)行切換到等待、運(yùn)行切換到

      就緒、等待切換到就緒、以及終止,1,4非搶占,2,3搶占)

      2.調(diào)度準(zhǔn)則:CPU利用率(使CPU盡量忙),吞吐量(測(cè)量工作的方法),周轉(zhuǎn)時(shí)間(從

      進(jìn)程提交到完成的時(shí)間),等待時(shí)間,響應(yīng)時(shí)間

      3.調(diào)度算法

      ① 先到先服務(wù)調(diào)度FCFS(非搶占的)

      ② 最短作業(yè)優(yōu)先調(diào)度SJF(搶占,最優(yōu)算法,難知道下一CPU區(qū)間長(zhǎng)度,用于長(zhǎng)

      期調(diào)度)

      ③ 最短剩余時(shí)間優(yōu)先調(diào)度SRTF(強(qiáng)占式的SJF,適合長(zhǎng)期調(diào)度)

      ④ 優(yōu)先級(jí)調(diào)度(問(wèn)題:無(wú)窮阻塞或饑餓,老化來(lái)解決;非搶占方式不用占用CPU

      切換)

      ⑤ 輪轉(zhuǎn)調(diào)度RR(專為分時(shí)系統(tǒng)設(shè)計(jì),是可搶占的,時(shí)間片過(guò)大變?yōu)镕CFS,時(shí)間片

      過(guò)小等待時(shí)間段,但是切換頻繁)

      ⑥ 多級(jí)隊(duì)列調(diào)度(前臺(tái)與后臺(tái)的調(diào)度算法不同,RR與FCFS)?

      ⑦ 多級(jí)反饋隊(duì)列調(diào)度

      ⑧ 實(shí)時(shí)調(diào)度:硬實(shí)時(shí)(在特定硬件上保證時(shí)間),軟實(shí)時(shí):盡力而為,優(yōu)先級(jí)不變,沒(méi)有饑餓現(xiàn)象

      4.算法評(píng)估

      ① 確定性模型甘特圖

      ② 排隊(duì)模型 N=入*W(N平均隊(duì)列長(zhǎng)度,W為隊(duì)列的平均等待時(shí)間,入為新進(jìn)程

      到達(dá)隊(duì)列的平均到達(dá)率)

      ③ 模擬

      ④ 實(shí)現(xiàn)

      四、進(jìn)程同步

      1. 背景:競(jìng)爭(zhēng)條件:共享內(nèi)存,共享變量

      2. 臨界區(qū)問(wèn)題

      ① 臨界區(qū)解決方案:進(jìn)入去,臨界區(qū),退出區(qū),剩余區(qū)

      ② 效果:互斥,有空讓進(jìn),有限等待

      ③ 證明:1.互斥,臨界區(qū)一個(gè)時(shí)間只能有一個(gè)進(jìn)程2.前進(jìn),臨界區(qū)內(nèi)無(wú)進(jìn)程執(zhí)行,那么只有那些不在剩余區(qū)內(nèi)執(zhí)行的進(jìn)程可參加選擇,這種選擇不能無(wú)限延遲3.有限等待,從一個(gè)進(jìn)程做出進(jìn)入臨界區(qū)的請(qǐng)求,知道該請(qǐng)求允許為止,其他進(jìn)程允許進(jìn)入其臨界區(qū)的次數(shù)有上限。

      ④ PETERSON算法

      3. 信號(hào)量:計(jì)數(shù)信號(hào)量,二進(jìn)制信號(hào)量

      ① 技術(shù)信號(hào)量用于控制訪問(wèn):當(dāng)每個(gè)線程需要使用資源時(shí),需要對(duì)該信號(hào)量執(zhí)行

      acquire()操作,當(dāng)線程釋放資源時(shí),需要對(duì)該信號(hào)執(zhí)行release()操作。

      ② 用信號(hào)量解決同步問(wèn)題

      4. 管程:管程結(jié)構(gòu)確保一次只有一個(gè)進(jìn)程能在管程內(nèi)活動(dòng)

      5. 經(jīng)典同步問(wèn)題

      ① 生產(chǎn)者消費(fèi)者問(wèn)題

      ② 讀者寫者問(wèn)題

      ③ 哲學(xué)家吃飯問(wèn)題

      五、死鎖

      1.死鎖特征

      ① 必要條件:互斥,占有并等待,非搶占,循環(huán)等待

      ② 資源分配圖:分配圖沒(méi)有環(huán)則沒(méi)有死鎖,有環(huán)則有死鎖;有環(huán)則可能有死鎖。

      2.死鎖預(yù)防

      ① 互斥:通常不能通過(guò)否定互斥條件來(lái)預(yù)防死鎖:有的資源本身就是非共享的。② 占有并等待:協(xié)議一:每個(gè)進(jìn)程在執(zhí)行前申請(qǐng)并獲得所有資源;協(xié)議二,允許

      進(jìn)程在沒(méi)有資源時(shí)才可以申請(qǐng)資源。協(xié)議缺點(diǎn):資源利用率低,可能發(fā)生饑餓。③ 非搶占:協(xié)議:如果一個(gè)進(jìn)程占有資源并申請(qǐng)另一個(gè)不能立即分配的資源,那

      么其現(xiàn)在已分配的資源都可被搶占。

      ④ 循環(huán)等待:對(duì)所有資源類型進(jìn)行完全排序,且要求每個(gè)進(jìn)程按遞增順序來(lái)申請(qǐng)

      資源。

      3.死鎖避免

      ① 安全狀態(tài):如果系統(tǒng)能按某個(gè)順序?yàn)槊總€(gè)進(jìn)程分配資源并能避免死鎖,那么系統(tǒng)

      狀態(tài)就是安全的。

      ② 單實(shí)例:資源分配圖:申請(qǐng)邊,分配邊,需求邊

      ③ 多實(shí)例:銀行家算法Available(向量),Max(矩陣),Allocation(矩陣),Need(矩

      陣),4.死鎖檢測(cè)

      ① 單實(shí)例:等待圖:當(dāng)且僅當(dāng)?shù)却龍D中有一個(gè)環(huán)時(shí),系統(tǒng)存在死鎖

      ② 多實(shí)例:類似銀行家算法

      5.死鎖恢復(fù)

      ① 進(jìn)程終止:終止所有死鎖進(jìn)程;一次只終止一個(gè)進(jìn)程,直到取消死鎖循環(huán)為止 ② 資源搶占:?jiǎn)栴}:選擇一個(gè)犧牲品;回滾;饑餓

      第三部分內(nèi)存管理

      一、內(nèi)存管理

      1.背景

      ① 地址綁定:編譯時(shí)(編譯時(shí)就知道進(jìn)程將在內(nèi)存中的駐留地址,那么就可以生

      成絕對(duì)代碼),加載時(shí)(生成可重定位的代碼),運(yùn)行時(shí)(如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)存段移到另一個(gè)內(nèi)存段,那么綁定必須延遲到執(zhí)行時(shí)才進(jìn)行)

      ② 邏輯地址(CPU所生成的地址)物理地址(內(nèi)存單元所看到的地址)

      ③ 動(dòng)態(tài)加載(子程序只在調(diào)用時(shí)加載,優(yōu)點(diǎn)不用的子程序絕不會(huì)被加載)④ 動(dòng)態(tài)鏈接與共享庫(kù)(將連接延遲到運(yùn)行時(shí))

      2.交換(沒(méi)看)

      3.連續(xù)內(nèi)存分配:?jiǎn)畏謪^(qū),多分區(qū)

      4.非連續(xù)內(nèi)存分配:分頁(yè)(分頁(yè)技術(shù)不會(huì)產(chǎn)生外部碎片)

      5.動(dòng)態(tài)存儲(chǔ)分配問(wèn)題:首次適應(yīng),最佳適應(yīng),最差適應(yīng)

      6.頁(yè)表結(jié)構(gòu):層次頁(yè)表,哈希頁(yè)表,反向頁(yè)表

      二、虛擬內(nèi)存

      1.背景

      ① 多道盡可能多的程序,這也是內(nèi)存管理的目標(biāo)

      ② 虛擬內(nèi)存好處:可以運(yùn)行比物理內(nèi)存大的程序;更快的啟動(dòng)和響應(yīng)(載入更快);

      更多的多道;更容易的共享文件盒地址空間;更少的輸入輸出。

      2.按需調(diào)頁(yè):在需要時(shí)才調(diào)入頁(yè)

      ① 有效位-無(wú)效位來(lái)來(lái)確定頁(yè)是否在內(nèi)存

      ② 有幀就加入,無(wú)幀就換頁(yè),頁(yè)錯(cuò)誤處理流程:檢查內(nèi)部表確定引用是否合法→

      非法則終止,合法則調(diào)入→找到空閑幀,裝入內(nèi)存→修改內(nèi)部表→重啟指令 ③ 按需調(diào)頁(yè)的有效訪問(wèn)時(shí)間:effective access time=(1-p)*ma+p*處理頁(yè)錯(cuò)誤的時(shí)間

      3.頁(yè)面置換(引用串)

      ① FIFO 先入先出

      ② 最優(yōu)算法:向后看,換頁(yè)的時(shí)候看內(nèi)存中哪個(gè)頁(yè)最晚用;是所有算法中產(chǎn)生頁(yè)

      錯(cuò)誤最低的算法;問(wèn)題:需要引用串的未來(lái)知識(shí)

      ③ LRU最近最少使用算法:往前看,內(nèi)存中哪頁(yè)在列表序列中離的最遠(yuǎn),無(wú)Belady

      異常

      ④ 算法實(shí)現(xiàn):計(jì)數(shù)器(最近最少使用:換計(jì)數(shù)器值最小的)代價(jià)大:系統(tǒng)級(jí),可

      能溢出,一定會(huì)寫全表

      頁(yè)碼堆棧:每當(dāng)引用一個(gè)頁(yè),該頁(yè)就從棧中刪除并放在棧頂。嚴(yán)格實(shí)現(xiàn),但是代價(jià)高。

      二次機(jī)會(huì):引用位,引用時(shí)改為1,;換頁(yè)時(shí),是1則置零,是0則換

      計(jì)數(shù)算法:LFU最不經(jīng)常使用,MFU最經(jīng)常使用(可采用老化)

      4.幀分配

      ① 分配策略限制:所分配的幀不能超過(guò)可用幀的數(shù)量,大于最小需求

      ② 每個(gè)進(jìn)程幀的最少數(shù)量是由體系結(jié)構(gòu)決定的,而最大數(shù)量幀是由可用物理內(nèi)存

      決定的。

      ③ 當(dāng)指令完成之前出現(xiàn)頁(yè)錯(cuò)誤,該指令必須重新執(zhí)行

      ④ 幀分配方法:

      固定分配:平均分配、按比例分配

      優(yōu)先級(jí)分配:全局置換(幀數(shù)可變),局部置換(固定);全局置換算法的一個(gè)問(wèn)題是進(jìn)程不能控制其頁(yè)錯(cuò)誤率,但是全局置換通常會(huì)有更好的系統(tǒng)吞吐量,且更為常用。

      5.系統(tǒng)顛簸

      ① 顛簸產(chǎn)生的原因:搶幀→I/O上升→CPU使用率降低→多道繼續(xù)增加→忙于換頁(yè) ② 工作集合策略防止了顛簸,并盡可能的提高了多道程序的程度,可以通過(guò)頁(yè)錯(cuò)

      誤頻率PFF來(lái)直接測(cè)量和控制頁(yè)錯(cuò)誤以防止顛簸。上限之上分配更多,下限之下,減少幀數(shù)

      6.其他問(wèn)題

      ① 預(yù)調(diào)頁(yè)關(guān)鍵問(wèn)題:采用預(yù)調(diào)頁(yè)的成本是否小于處理響應(yīng)頁(yè)錯(cuò)誤的成本。② 頁(yè)大小問(wèn)題:最佳頁(yè)大小的選擇,大頁(yè),小頁(yè)

      ③ 優(yōu)化程序結(jié)構(gòu)

      第四部分存儲(chǔ)管理

      一、文件系統(tǒng)接口

      1.文件概念

      ① 文件是邏輯外存的最小分配單元,即數(shù)據(jù)除非在文件中,否則不能寫到內(nèi)存中。② 文件操作:寫,讀,重定位,刪除,截短

      ③ 文件加鎖:共享鎖,專用鎖;強(qiáng)制,建議文件加鎖機(jī)制

      2.訪問(wèn)方法:順序訪問(wèn),直接訪問(wèn),其他方法(索引)

      3.目錄結(jié)構(gòu)

      ① 目錄操作:創(chuàng)建文件,刪除文件,遍歷目錄,重命名文件,跟蹤文件系統(tǒng) ② 評(píng)價(jià)目錄結(jié)構(gòu):命名(不同文件同名),分組(同一文件不同命名)

      ③ 單層結(jié)構(gòu)目錄(命名,分組均無(wú)),雙層結(jié)構(gòu)目錄(可命名不可分組),樹(shù)狀結(jié)

      構(gòu)(絕對(duì),相對(duì)路徑;可命名分組),無(wú)環(huán)圖目錄(硬鏈接,軟鏈接),通用圖目錄

      二、文件系統(tǒng)實(shí)現(xiàn)

      1.文件系統(tǒng)結(jié)構(gòu):應(yīng)用程序→邏輯文件系統(tǒng)→文件組織模塊→基本文件系統(tǒng)→I/O控

      制→設(shè)備

      2.目錄實(shí)現(xiàn):線性列表(編程簡(jiǎn)單,運(yùn)行費(fèi)時(shí),查找文件需要線性搜索)

      哈希表(采取策略避免沖突)

      3.分配方法

      ① 連續(xù)分配:每個(gè)文件在磁盤上占有一組連續(xù)的塊;困難時(shí)為新文件找到空間,外部碎片問(wèn)題也可能很大,確定文件分配多大空間,② 鏈接分配:解決了連續(xù)分配的所有問(wèn)題;必須順序訪問(wèn)文件,指針需要空間,由于指針?lè)峙湓谡麄€(gè)磁盤,可靠性就成了一個(gè)問(wèn)題。

      FAT文件分配表:改善了隨機(jī)訪問(wèn)時(shí)間,但是需要大量磁頭尋道時(shí)間

      ③ 索引分配:把所有指針都放在一起,構(gòu)成索引塊;支持直接訪問(wèn),且沒(méi)有外部

      碎片問(wèn)題,但是會(huì)浪費(fèi)空間;索引塊分多大是個(gè)問(wèn)題

      鏈接方案(一個(gè)索引塊可以指向另一索引塊構(gòu)成鏈接)

      多層索引(第一個(gè)索引塊指向第二個(gè)索引塊,第二個(gè)指向文件數(shù)據(jù)塊)

      組合方案P404 N級(jí)間接塊(計(jì)算)

      4.空閑空間管理:為向量(1空0滿)塊號(hào)碼計(jì)算:(值為0的數(shù)字)*(一個(gè)字的位

      數(shù))+第一個(gè)值為1的位的偏移;鏈表(所有空閑的塊用鏈表鏈接起來(lái));組(將N個(gè)空閑塊的地址存儲(chǔ)在第一個(gè)空閑塊中);計(jì)數(shù)()

      第四篇:操作系統(tǒng)總結(jié)

      操作系統(tǒng)基本基礎(chǔ)概念

      多任務(wù)是指用戶可以在同一時(shí)間內(nèi)運(yùn)行多個(gè)應(yīng)用程序,每個(gè)應(yīng)用程序被稱作一個(gè)任務(wù)。像Windows、LINUX就是支持多任務(wù)的操作系統(tǒng)。每個(gè)任務(wù)使用由操作系統(tǒng)分配的短暫的時(shí)間片(Timeslice)輪流使用CPU,由于CPU對(duì)每個(gè)時(shí)間片的處理速度非常快,在用戶看來(lái)好像這些任務(wù)在同時(shí)執(zhí)行,這叫做時(shí)間片輪轉(zhuǎn)調(diào)度法。還有更多的多任務(wù)調(diào)度方法。

      實(shí)時(shí)系統(tǒng)

      (REAL TIME system)是指系統(tǒng)能及時(shí)的響應(yīng)外部時(shí)間的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致的運(yùn)行。分為硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù),系統(tǒng)對(duì)任務(wù)的截止時(shí)間有要求否則會(huì)出現(xiàn)難以預(yù)測(cè)的結(jié)果,這就是硬實(shí)時(shí)任務(wù),反之要求不是很嚴(yán)格則為軟實(shí)時(shí)任務(wù)。

      操作系統(tǒng)的基本特性

      并發(fā)與并行:并發(fā)性是兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生。而并行性是兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。

      進(jìn)程:為了使多個(gè)程序能并發(fā)的執(zhí)行,系統(tǒng)必須為每個(gè)程序建立進(jìn)程(process)。簡(jiǎn)單說(shuō)來(lái)~進(jìn)程是指在操作系統(tǒng)中能獨(dú)立運(yùn)行并作為資源分配的基本單位。他是由一組機(jī)器指令數(shù)據(jù)、堆棧等組成的,是一個(gè)能獨(dú)立運(yùn)行的活動(dòng)實(shí)體。多個(gè)進(jìn)程之間可以并發(fā)的執(zhí)行和交換信息。一個(gè)進(jìn)程在運(yùn)行時(shí)需要一定的資源,如CPU、內(nèi)存空間、IO設(shè)備等。

      我的注解:進(jìn)程很重要。Linux的進(jìn)程之間的關(guān)系可以這樣描述:一個(gè)完整的main函數(shù)運(yùn)行的時(shí)候,在linux里是以進(jìn)程的形式存在的。系統(tǒng)啟動(dòng)之后運(yùn)行的第一個(gè)進(jìn)程的進(jìn)程號(hào)是1,叫做init進(jìn)程,一切進(jìn)程都從它派生出來(lái),一個(gè)父進(jìn)程可以派生另一個(gè)進(jìn)程,即為子進(jìn)程,這倆進(jìn)程為并行關(guān)系。子進(jìn)程也可以創(chuàng)建子進(jìn)程。

      進(jìn)程的創(chuàng)建在linux里邊用fork()函數(shù)它有兩個(gè)返回值,一個(gè)是在父進(jìn)程中返回,返回的是子進(jìn)程號(hào),一個(gè)是在子進(jìn)程中返回,如果子進(jìn)程創(chuàng)建成功,則返回的是0。子進(jìn)程是父進(jìn)程的一個(gè)拷貝,現(xiàn)代的進(jìn)程創(chuàng)建都用vfork()創(chuàng)建子進(jìn)程之后,并不拷貝全部的進(jìn)程空間,只有在用到時(shí)才拷貝,叫做寫時(shí)復(fù)制技術(shù)(copy on write)。

      Linux里邊這樣創(chuàng)建子進(jìn)程:

      pid_t pid=fork();//這里的pid_t是一種數(shù)據(jù)類型(如int),這里代表進(jìn)程號(hào)(實(shí)質(zhì)上也是個(gè)整形變量int)

      If(pid==0){這里邊就是子進(jìn)程代碼}

      Else if(pid>0){這里邊是父進(jìn)程代碼,pid的值是子進(jìn)程的進(jìn)程號(hào)PID}

      線程:通常在一個(gè)進(jìn)程中可以包含若干個(gè)線程,他們可以利用進(jìn)程所擁有的資源。在引入線程的操作系統(tǒng)中,一般都把進(jìn)程作為分配資源的基本單位。而把線程作為獨(dú)立運(yùn)行和獨(dú)立調(diào)度的基本單位。優(yōu)點(diǎn):運(yùn)行效率更高。

      進(jìn)程的狀態(tài):一般分為就緒狀態(tài)。執(zhí)行狀態(tài)。阻塞狀態(tài)。

      操作系統(tǒng)產(chǎn)生死鎖的原因:1.競(jìng)爭(zhēng)資源。2.進(jìn)程間推進(jìn)順序非法。比如說(shuō):一個(gè)進(jìn)程占有一個(gè)資源A,當(dāng)他運(yùn)行到需要用到被另一個(gè)進(jìn)程占用的資源B時(shí),沒(méi)有得到,于是進(jìn)入等待退出運(yùn)行,而這個(gè)占有資源B的進(jìn)程還想得到資源A,但是占有A的進(jìn)程此刻在休眠,也沒(méi)得到,所以這個(gè)進(jìn)程也進(jìn)入等待退出運(yùn)行。這樣兩兩相互等待造成了死鎖。解決方法:1.在進(jìn)程運(yùn)行開(kāi)始時(shí)就把所有資源占好。2.按順序加鎖。比如要得到資源B首先要對(duì)A加鎖,如果得不到就不能加鎖。所有進(jìn)程都按照這個(gè)方法進(jìn)行。

      第五篇:操作系統(tǒng)實(shí)驗(yàn)總結(jié)

      操作系統(tǒng)實(shí)驗(yàn)總結(jié)

      學(xué)號(hào):

      姓名:

      班級(jí):

      在本學(xué)期的計(jì)算機(jī)操作系統(tǒng)這門課學(xué)習(xí)當(dāng)中,為了更好的了解操作系統(tǒng)相關(guān)知識(shí),我們通過(guò)OS Lab平臺(tái)做了幾個(gè)實(shí)驗(yàn)。在實(shí)驗(yàn)室的過(guò)程中,我對(duì)課堂上學(xué)到的操作系統(tǒng)的一些知識(shí)有了新的認(rèn)識(shí),同時(shí)還接觸到了操作系統(tǒng)的相關(guān)源代碼,而且通過(guò)實(shí)驗(yàn)的運(yùn)行效果了解了平時(shí)我們看不到的操作系統(tǒng)的一些狀況,收獲還是很大的。下面先簡(jiǎn)要?dú)w納在實(shí)驗(yàn)課上我做的幾個(gè)實(shí)驗(yàn)的主要實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)步驟:

      實(shí)驗(yàn)一:實(shí)驗(yàn)環(huán)境的使用

      實(shí)驗(yàn)步驟:

      1.1啟動(dòng)OS Lab

      OS Lab每次啟動(dòng)后都會(huì)首先彈出一個(gè)用于注冊(cè)用戶信息的對(duì)話框(可以選擇對(duì)話框標(biāo)題欄上的“幫助”按鈕獲得關(guān)于此對(duì)話框的幫助信息)。在此對(duì)話框中填入學(xué)號(hào)和姓名后,點(diǎn)擊“確定”按鈕完成本次注冊(cè)。觀察OS Lab主窗口的布局。OS Lab主要由下面的若干元素組成:菜單欄、工具欄以及??吭谧髠?cè)和底部的各種工具窗口,余下的區(qū)域用來(lái)放置編輯器窗口。

      1.2 學(xué)習(xí)OS Lab的基本使用方法

      練習(xí)使用OS Lab編寫一個(gè)Windows控制臺(tái)應(yīng)用程序,熟悉OS Lab的基本使用方法(主要包括新建項(xiàng)目、生成項(xiàng)目、調(diào)試項(xiàng)目等)。

      實(shí)驗(yàn)二:操作系統(tǒng)的啟動(dòng)

      實(shí)驗(yàn)步驟:

      2.1 準(zhǔn)備實(shí)驗(yàn)

      啟動(dòng)OS Lab,新建一個(gè)EOS Kernel項(xiàng)目,在“項(xiàng)目管理器”窗口中打開(kāi)boot文件夾中的boot.asm和loader.asm兩個(gè)匯編文件,按F7生成項(xiàng)目,生成完成后,使用Windows資源管理器打開(kāi)項(xiàng)目文件夾中的Debug文件夾。找到由boot.asm生成的軟盤引導(dǎo)扇區(qū)程序boot.bin文件,找到由loader.asm生成的loader程序loader.bin文件,記錄下此文件的大小1566字節(jié)。

      2.2 調(diào)試EOS操作系統(tǒng)的啟動(dòng)過(guò)程

      2.2.1 使用Bochs做為遠(yuǎn)程目標(biāo)機(jī)

      將調(diào)試時(shí)使用的遠(yuǎn)程目標(biāo)機(jī)修改為Bochs

      2.2.2 調(diào)試BIOS程序

      按F5啟動(dòng)調(diào)試,Bochs在CPU要執(zhí)行的第一條指令(即BIOS的第一條指令)處中斷,從Console窗口顯示的內(nèi)容中,我們可以獲得關(guān)于BIOS第一條指令的相關(guān)信息,然后查看CPU在沒(méi)有執(zhí)行任何指令之前主要寄存器中的數(shù)據(jù),以及內(nèi)存中的數(shù)據(jù)。

      2.2.3 調(diào)試軟盤引導(dǎo)扇區(qū)程序

      練習(xí)從0x7c00處調(diào)試軟盤引導(dǎo)扇區(qū)程序;查看boot.lst文件;調(diào)試過(guò)程——軟盤引導(dǎo)扇區(qū)程序的主要任務(wù)就是將軟盤中的loader.bin文件加載到物理內(nèi)存的0x1000處,然后跳轉(zhuǎn)到loader程序的第一條指令(物理地址0x1000處的指令)繼續(xù)執(zhí)行l(wèi)oader程序;

      2.2.4 調(diào)試加載程序

      調(diào)試過(guò)程——Loader程序的主要任務(wù)是將操作系統(tǒng)內(nèi)核(kernel.dll文件)加載到內(nèi)存中,然后讓CPU進(jìn)入保護(hù)模式并且啟用分頁(yè)機(jī)制,最后進(jìn)入操作系統(tǒng)內(nèi)核開(kāi)始執(zhí)行(跳轉(zhuǎn)到kernel.dll的入口點(diǎn)執(zhí)行);

      2.2.5 調(diào)試內(nèi)核

      2.2.6 EOS啟動(dòng)后的狀態(tài)和行為

      查看EOS的版本號(hào);查看EOS啟動(dòng)后的進(jìn)程和線程的信息;查看有應(yīng)用程序運(yùn)行時(shí)進(jìn)程和線程的信息

      實(shí)驗(yàn)三:進(jìn)程的創(chuàng)建

      實(shí)驗(yàn)步驟:

      3.1 準(zhǔn)備實(shí)驗(yàn)

      啟動(dòng)OS Lab;新建一個(gè)EOS Kernel項(xiàng)目;分別使用Debug配置和Release配置生成此項(xiàng)目,從而在該項(xiàng)目文件夾中生成完全版本的EOS SDK文件夾;新建一個(gè)EOS應(yīng)用程序項(xiàng)目;使用在第3步生成的SDK文件夾覆蓋EOS應(yīng)用程序項(xiàng)目文件夾中的SDK文件夾

      3.2 練習(xí)使用控制臺(tái)命令創(chuàng)建EOS應(yīng)用程序的進(jìn)程

      3.3 練習(xí)通過(guò)編程的方式讓應(yīng)用程序創(chuàng)建另一個(gè)應(yīng)用程序的進(jìn)程

      使用OS Lab打開(kāi)本實(shí)驗(yàn)文件夾中的NewProc.c文件;查看應(yīng)用程序創(chuàng)建另一個(gè)應(yīng)用程序的進(jìn)程的執(zhí)行結(jié)果。

      3.4 調(diào)試CreateProcess函數(shù)

      調(diào)試CreateProcess函數(shù)創(chuàng)建進(jìn)程的過(guò)程;分別驗(yàn)證應(yīng)用程序和操作系統(tǒng)內(nèi)核在進(jìn)程的4G虛擬地址空間中所處的位置;

      3.5 調(diào)試PsCreateProcess函數(shù)

      調(diào)試PspCreateProcessEnvironment函數(shù);調(diào)試進(jìn)程控制塊的創(chuàng)建過(guò)程;調(diào)試初始化進(jìn)程控制塊中各個(gè)成員變量的過(guò)程。

      3.6 練習(xí)通過(guò)編程的方式創(chuàng)建應(yīng)用程序的多個(gè)進(jìn)程

      使用OS Lab打開(kāi)本實(shí)驗(yàn)文件夾中的參考源代碼文件NewTwoProc.c,仔細(xì)閱讀此文件中的源代碼。使用NewTwoProc.c文件中的源代碼替換EOS應(yīng)用程序項(xiàng)目中EOSApp.c文件內(nèi)的源代碼,生成后啟動(dòng)調(diào)試,查看多個(gè)進(jìn)程并發(fā)執(zhí)行的結(jié)果。

      實(shí)驗(yàn)四:線程的狀態(tài)和轉(zhuǎn)換

      實(shí)驗(yàn)步驟:

      4.1 準(zhǔn)備實(shí)驗(yàn)

      啟動(dòng)OS Lab,新建一個(gè)EOS Kernel項(xiàng)目

      4.2 調(diào)試線程狀態(tài)的轉(zhuǎn)換過(guò)程

      查看一下loop命令執(zhí)行的效果;調(diào)試線程狀態(tài)轉(zhuǎn)換的過(guò)程;對(duì)斷點(diǎn)進(jìn)行一些調(diào)整。

      4.2.1 線程由阻塞狀態(tài)進(jìn)入就緒狀態(tài):

      將線程從等待隊(duì)列中移除;將線程的狀態(tài)由Waiting修改為Zero;將線程插入其優(yōu)先級(jí)對(duì)應(yīng)的就緒隊(duì)列的隊(duì)尾;將線程的狀態(tài)由Zero修改為Ready。

      4.2.2 線程由運(yùn)行狀態(tài)進(jìn)入就緒狀態(tài):

      線程中斷運(yùn)行,將線程中斷運(yùn)行時(shí)的上下文保存到線程控制塊中;如果處于運(yùn)行狀態(tài)的線程被更高優(yōu)先級(jí)的線程搶先,就需要將該線程插入其優(yōu)先級(jí)對(duì)應(yīng)的就緒隊(duì)列的隊(duì)首。(注意,如果處于運(yùn)行狀態(tài)的線程主動(dòng)讓出處理器,例如時(shí)間片用完,就需要將程插入其優(yōu)先級(jí)對(duì)應(yīng)的就緒隊(duì)列的隊(duì)尾);將線程的狀態(tài)由Running修改為Ready

      4.2.3 線程由就緒狀態(tài)進(jìn)入運(yùn)行狀態(tài):

      將線程從其優(yōu)先級(jí)對(duì)應(yīng)的就緒隊(duì)列中移除;將線程的狀態(tài)由Ready修改為Zero;將線程的狀態(tài)由Zero修改為Running;將線程的上下文從線程控制塊(TCB)復(fù)制到處理器的各個(gè)寄存器中,讓線程從上次停止運(yùn)行的位置繼續(xù)運(yùn)行。

      4.2.4 線程由運(yùn)行狀態(tài)進(jìn)入阻塞狀態(tài):

      將線程插入等待隊(duì)列的隊(duì)尾;將線程的狀態(tài)由Running修改為Waiting;將線程中斷執(zhí)行,并將處理器上下文保存到該線程的線程控制塊中。

      4.3 為線程增加掛起狀態(tài)

      觀察loop線程被掛起的情況:刪除之前添加的所有斷點(diǎn);按F5啟動(dòng)調(diào)試;待EOS啟動(dòng)完

      畢,在EOS控制臺(tái)中輸入命令“l(fā)oop”后按回車。此時(shí)可以看到loop線程的執(zhí)行計(jì)數(shù)在不停增長(zhǎng),說(shuō)明loop線程正在執(zhí)行,記錄下loop線程的ID;按Ctrl+F2切換到控制臺(tái)2,輸入命令“suspend 31”(如果loop線程的ID是31)后按回車;按Ctrl+1切換回控制臺(tái)1,可以看到由于loop線程已經(jīng)成功被掛起,其執(zhí)行計(jì)數(shù)已經(jīng)停止增長(zhǎng)了。

      在PsResumThread函數(shù)第119行需要添加的代碼的流程可以是:首先調(diào)用List Remove Entry函數(shù)將線程從掛起線程隊(duì)列中移除,然后調(diào)用PspReadyThread函數(shù)將線程恢復(fù)為就緒狀態(tài),最后調(diào)用PspThreadSchedule宏函數(shù)執(zhí)行線程調(diào)度,讓剛剛恢復(fù)的線程有機(jī)會(huì)執(zhí)行。

      實(shí)驗(yàn)過(guò)程:

      做實(shí)驗(yàn)時(shí),最開(kāi)始并不是很了解OS Lab平臺(tái)的使用,即使對(duì)著老師給的實(shí)驗(yàn)教程做還是不怎么會(huì),于是請(qǐng)教會(huì)做的同學(xué),通過(guò)同學(xué)的講解我知道了怎樣在OS Lab平臺(tái)上建立項(xiàng)目,怎樣更改路徑并找到項(xiàng)目的源文件等等基本操作。

      掌握對(duì)平臺(tái)的簡(jiǎn)單應(yīng)用后,做后面的實(shí)驗(yàn)我是按照實(shí)驗(yàn)教程上的步驟一步步的實(shí)施,并且每次都認(rèn)真觀察相應(yīng)的運(yùn)行結(jié)果,每個(gè)實(shí)驗(yàn)都會(huì)建議我們學(xué)習(xí)實(shí)驗(yàn)教程前面的理論部分,我想如果對(duì)他的理論不熟悉,就算試驗(yàn)成功了我也不知道為什么,所以我一般在做實(shí)驗(yàn)前會(huì)對(duì)前面的理論部分進(jìn)行簡(jiǎn)要的學(xué)習(xí)和熟悉。做實(shí)驗(yàn)的過(guò)程中,有時(shí)候按照實(shí)驗(yàn)教程上的步驟做平臺(tái)還是會(huì)出現(xiàn)一些錯(cuò)誤,比如做實(shí)驗(yàn)三到調(diào)試CreateProcess函數(shù)時(shí),出現(xiàn)的調(diào)試異常對(duì)話框中,本來(lái)是要點(diǎn)擊“是”的,但做到這里電腦總是會(huì)出現(xiàn)像死機(jī)一樣的狀況,關(guān)掉平臺(tái)重做到這里老是出現(xiàn)同樣的問(wèn)題,最后換電腦也是這樣,然后我嘗試不按照實(shí)驗(yàn)步驟點(diǎn)擊“是”也不行,最后還是又還了電腦才做成功,問(wèn)其他同學(xué)也有出現(xiàn)同樣的問(wèn)題,我想可能是平臺(tái)和電腦上有什么地方有沖突吧。

      之后做試驗(yàn)是遇到問(wèn)題我還是選擇多問(wèn)同學(xué),畢竟每個(gè)人擅長(zhǎng)的是不同的,有些問(wèn)題這個(gè)同學(xué)會(huì)解決,有些問(wèn)題則是那個(gè)同學(xué)才懂解決,通過(guò)互相交流和學(xué)習(xí),我們通過(guò)實(shí)驗(yàn)不僅鞏固了課堂上學(xué)到的相關(guān)知識(shí),也對(duì)操作系統(tǒng)有了更深的了解。

      體會(huì):

      其實(shí)做完實(shí)驗(yàn)我還是不能保證我對(duì)OS Lab這個(gè)平臺(tái)有很好的全面的了解,但是對(duì)一些基本操作及其快捷鍵我算是大致掌握了,通過(guò)這個(gè)平臺(tái)我也是認(rèn)識(shí)到了“沒(méi)有做不到的,只有想不到的”,我覺(jué)得創(chuàng)建這個(gè)平臺(tái)的人們真的是很了不起,這個(gè)平臺(tái)讓我們便動(dòng)手便了解了平時(shí)我們看不到的操作系統(tǒng)的相關(guān)知識(shí)。要做好實(shí)驗(yàn),得按照實(shí)驗(yàn)教程上面的內(nèi)容一步步落實(shí),要邊做變領(lǐng)悟相關(guān)原理及運(yùn)行結(jié)果的出現(xiàn)的原因,這樣我們才能在試驗(yàn)中學(xué)到更多、掌握更多。其次,也遇到問(wèn)題我們自然是要先自己思考,通過(guò)不同的嘗試來(lái)解決,之后不能解決的我們要多向老師同學(xué)請(qǐng)教,通過(guò)互相交流得來(lái)的知識(shí)也是會(huì)讓我們難忘的。

      下載操作系統(tǒng)教學(xué)總結(jié)word格式文檔
      下載操作系統(tǒng)教學(xué)總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        計(jì)算機(jī)操作系統(tǒng)總結(jié)

        虛擬存儲(chǔ)器應(yīng)用研究 虛擬存儲(chǔ)器是具有請(qǐng)求調(diào)入功能和置換功能,能僅把作業(yè)的一部分裝入內(nèi)存便可運(yùn)行作業(yè)的存儲(chǔ)器系統(tǒng),它能從邏輯上對(duì)內(nèi)存容量進(jìn)行擴(kuò)充的一種虛擬的存儲(chǔ)器系統(tǒng)......

        操作系統(tǒng)重點(diǎn)總結(jié)

        CPU內(nèi)部結(jié)構(gòu) 8086分為兩個(gè)部分:總線接口部件BIU和執(zhí)行部件EU BIU主要功能負(fù)責(zé)CPU與存儲(chǔ)器、I/O接口之間的信息傳遞。 BIU部件包括(1).四個(gè)段地址寄存器:代碼段寄存器CS、數(shù)據(jù)......

        操作系統(tǒng)總結(jié)(5篇可選)

        第一部分概述 一、導(dǎo)論 1. 操作系統(tǒng)做什么 ① 馮諾依曼體系結(jié)構(gòu) ② OS角色:對(duì)上:控制程序正確執(zhí)行,使用方便;對(duì)下:資源分配器 ③ 核心功能:進(jìn)程管理,內(nèi)存管理,文件管理,輸入輸出,保護(hù)......

        操作系統(tǒng)概念總結(jié)

        操作系統(tǒng): 是管理系統(tǒng)資源,控制程序執(zhí)行,協(xié)調(diào)硬件使用的最基本的系統(tǒng)軟件,在硬件的基礎(chǔ)上提供一個(gè)基本的應(yīng)用程序運(yùn)行環(huán)境。 多道程序multiprogramming: 在計(jì)算機(jī)內(nèi)存中存放多個(gè)......

        操作系統(tǒng)知識(shí)點(diǎn)總結(jié)

        操作系統(tǒng)是一組控制和管理計(jì)算機(jī)硬件和軟件資源,合理地對(duì)各類作業(yè)進(jìn)行調(diào)度,以及方便用戶使用的程序的集合。 虛擬機(jī):在裸機(jī)的基礎(chǔ)上,每增加一層新的操作系統(tǒng)的軟件,就變成了功能......

        操作系統(tǒng)總結(jié)(精選5篇)

        1.操作系統(tǒng)的定義: 操作系統(tǒng)是一組控制和管理計(jì)算機(jī)硬件的軟件資源,合理地對(duì)各類作業(yè)進(jìn)行跳讀,以及方便用戶使用的程序集合. 2.操作系統(tǒng)的目標(biāo): 有效性,方便性,可擴(kuò)充性,開(kāi)......

        操作系統(tǒng)期末考試總結(jié)

        第一章 操作系統(tǒng)概論 第一章主要內(nèi)容 各節(jié)基本概念,操作系統(tǒng)的發(fā)展過(guò)程,操作系統(tǒng)的基本特征。 操作系統(tǒng)的目標(biāo) 1.有效性2、方便性3、可擴(kuò)充性4.開(kāi)放性 分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問(wèn)......

        總結(jié)電腦操作系統(tǒng)

        操作系統(tǒng)是一種特殊的用于控制計(jì)算機(jī)(硬件)的程序(軟件)。它是計(jì)算機(jī)底層的系統(tǒng)軟件,負(fù)責(zé)管理、調(diào)度、指揮計(jì)算機(jī)的軟硬件資源使其協(xié)調(diào)工作,沒(méi)有它,任何計(jì)算機(jī)都無(wú)法正常運(yùn)行。它在......