系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記 第二章

第二章 操作系統(tǒng)

掌握操作系統(tǒng)原理的關(guān)鍵在于深入理解“一個(gè)觀點(diǎn),兩條線索”悦冀。一個(gè)觀點(diǎn)是以資源管理的觀點(diǎn)來(lái)定義操作系統(tǒng);兩條線索是指操作系統(tǒng)如何管理計(jì)算系各類資源和控制程序的執(zhí)行。

2.1 操作系統(tǒng)的類型與結(jié)構(gòu)

操作系統(tǒng)的基本類型有:批處理操作系統(tǒng)蔽挠、分時(shí)操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)。從資源管理的角度看:操作系統(tǒng)主要是對(duì)處理器瓜浸、存儲(chǔ)器澳淑、文件、設(shè)備和作業(yè)進(jìn)行管理插佛。

2.1.1 操作系統(tǒng)的定義

OS是計(jì)算機(jī)系統(tǒng)中的核心系統(tǒng)軟件杠巡,負(fù)責(zé)管理和控制計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源,合理的組織計(jì)算機(jī)工作流程和有效的利用資源雇寇,再計(jì)算機(jī)和用戶之間起到接口的作用氢拥。

2.1.2 操作系統(tǒng)分類

按照功能劃分,可以分為批處理操作系統(tǒng)锨侯、分時(shí)操作系統(tǒng)嫩海、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)囚痴、分布式操作系統(tǒng)叁怪、嵌入式操作系統(tǒng)、微內(nèi)核操作系統(tǒng)等深滚。

2.2 操作系統(tǒng)基本原理

主要功能是進(jìn)行處理機(jī)與進(jìn)程管理奕谭、存儲(chǔ)管理、設(shè)備管理痴荐、文件管理和作業(yè)管理的工作血柳。

2.2.1 進(jìn)程管理

進(jìn)程是處理機(jī)管理中最基本、最重要的概念生兆。進(jìn)程是系統(tǒng)并發(fā)執(zhí)行的體現(xiàn)难捌。由于在多道程序系統(tǒng)中,眾多的計(jì)算機(jī)用戶都以各種各樣的任務(wù)鸦难,隨時(shí)隨地爭(zhēng)奪使用處理機(jī)栖榨。為了動(dòng)態(tài)的看待操作系統(tǒng),則以進(jìn)程作為獨(dú)立運(yùn)行的基本單位明刷,以進(jìn)程作為分配資源的基本單位婴栽。處理機(jī)管理也稱進(jìn)程管理。

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

順序程序是指程序中若干操作必須按照某種先后次序來(lái)執(zhí)行辈末,并且每次操作前和操作后的數(shù)據(jù)愚争、狀態(tài)之間都有一定的關(guān)系映皆。在多道程序系統(tǒng)中,程序的運(yùn)行環(huán)境發(fā)生了很大的變化轰枝,主要體現(xiàn)在:

  1. 資源共享捅彻。為提高資源的利用率,計(jì)算機(jī)系統(tǒng)中的資源由多道程序共同使用鞍陨。
  2. 程序的并發(fā)執(zhí)行或并行執(zhí)行步淹。邏輯上講允許多道不同用戶的程序并行運(yùn)行;允許一個(gè)用戶程序內(nèi)部完成不同操作的程序段之間并行運(yùn)行诚撵;允許操作系統(tǒng)內(nèi)部不同的程序之間并行運(yùn)行缭裆。物理上講:內(nèi)存儲(chǔ)器中保存多個(gè)程序,I/O設(shè)備被多個(gè)程序交替的共享使用寿烟;在多處理機(jī)系統(tǒng)的情形下澈驼,表現(xiàn)為多個(gè)程序在各自的處理機(jī)上運(yùn)行,執(zhí)行時(shí)間是重疊的筛武。單處理機(jī)系統(tǒng)時(shí)缝其,程序的執(zhí)行表現(xiàn)為多道程序交替的在處理機(jī)上相互空插運(yùn)行。

實(shí)際上徘六,在多道程序系統(tǒng)中内边,程序的并發(fā)執(zhí)行和資源共享之間時(shí)相輔相成的。以方便待锈,只有允許程序并行執(zhí)行假残,才可能存在資源共享的問(wèn)題;另一方面炉擅,只有有效的實(shí)現(xiàn)資源共享,才可能使得程序并行執(zhí)行阳惹。

并發(fā)操作實(shí)際上是這樣的:大多數(shù)程序段只要求操作在時(shí)間上是有序的谍失,也就是有些操作必須在其他操作之前,這是有序的莹汤,但其中有些操作卻可以同時(shí)進(jìn)行快鱼。

2. 進(jìn)程的狀態(tài)轉(zhuǎn)換

進(jìn)程至少具有以下三種狀態(tài):

  1. 就緒狀態(tài)。當(dāng)進(jìn)程已分配了除CPU意外的所有必要的資源后纲岭,只要能再獲得處理機(jī)抹竹,便能立即執(zhí)行,這是的進(jìn)程狀態(tài)為就緒狀態(tài)止潮。在一個(gè)系統(tǒng)中窃判,可以有多個(gè)進(jìn)程同時(shí)處于就緒狀態(tài),通常把它們排成一個(gè)隊(duì)列喇闸,稱為就緒隊(duì)列袄琳。
  2. 執(zhí)行狀態(tài)询件。指進(jìn)程已獲得處理機(jī),其程序正在執(zhí)行唆樊。在單處理機(jī)系統(tǒng)中宛琅,只能有一個(gè)進(jìn)程處于執(zhí)行狀態(tài)。
  3. 阻塞狀態(tài)逗旁。指進(jìn)程因發(fā)生某事件(如請(qǐng)求I/O嘿辟、申請(qǐng)緩沖空間等)而暫停執(zhí)行時(shí)的狀態(tài),即進(jìn)程的執(zhí)行受到阻塞片效,故稱這種暫停狀態(tài)為阻塞狀態(tài)红伦,也稱“等待”狀態(tài),或“睡眠”狀態(tài)堤舒。通常將處于阻塞狀態(tài)的進(jìn)程排成一個(gè)隊(duì)列色建,稱為阻塞隊(duì)列。

進(jìn)程狀態(tài)的變化情況如下:

  1. 運(yùn)行態(tài)$\to$等待態(tài):一個(gè)進(jìn)程運(yùn)行中啟動(dòng)了外圍設(shè)備舌缤,它就變成等待外圍設(shè)備傳輸信息的狀態(tài)箕戳;進(jìn)程在運(yùn)行中申請(qǐng)資源得不到滿足時(shí);進(jìn)程在運(yùn)行中出現(xiàn)了故障時(shí)
  2. 等待態(tài)$\to$就緒態(tài):外圍設(shè)備工作結(jié)束后等待外圍設(shè)備傳輸信息的進(jìn)程結(jié)束等待国撵;等待的資源得到滿足時(shí)陵吸;故障排隊(duì)后讓等待干預(yù)的進(jìn)程結(jié)束等待。任何一個(gè)結(jié)束等待的進(jìn)程必須先變成就緒狀態(tài)介牙,待分配到處理器后才能運(yùn)行壮虫。
  3. 運(yùn)行態(tài)$\to$就緒態(tài):進(jìn)程用完了一個(gè)使用處理器的時(shí)間后強(qiáng)迫該進(jìn)程暫時(shí)讓出處理器,當(dāng)有更優(yōu)先權(quán)的進(jìn)程要運(yùn)行時(shí)也迫使正在運(yùn)行的進(jìn)程讓出處理器环础。由于自身或外界原因成為等待狀態(tài)的進(jìn)程讓出處理器時(shí)囚似,它的狀態(tài)就變成就緒狀態(tài)。
  4. 就緒態(tài)$\to$運(yùn)行態(tài):等待分配處理器的進(jìn)程线得,系統(tǒng)按一種選定的策略從處于就緒狀態(tài)的進(jìn)程中選擇一個(gè)進(jìn)程饶唤,讓它占用處理器,哪個(gè)被選中的進(jìn)程就變成了運(yùn)行態(tài)贯钩。

3. 關(guān)于掛起狀態(tài)

引入刮起狀態(tài)的原因有:

  1. 對(duì)換的需要募狂。為了緩和內(nèi)存緊張的情況,而將內(nèi)存中處于阻塞狀態(tài)的進(jìn)程換至外存上角雷,使進(jìn)程又處于一種有別于阻塞狀態(tài)的新?tīng)顟B(tài)祸穷。因?yàn)榧词乖撨M(jìn)程所期待的事情發(fā)生,該進(jìn)程仍不具備執(zhí)行條件而不能進(jìn)入就緒隊(duì)列勺三,成這種狀態(tài)為掛起狀態(tài)雷滚。
  2. 終端用戶的請(qǐng)求。當(dāng)終端用戶在自己的程序運(yùn)行期間吗坚,發(fā)現(xiàn)有可以問(wèn)題時(shí)揭措,往往希望使自己的進(jìn)程暫停下來(lái)胯舷。也就是說(shuō),使正在執(zhí)行的進(jìn)程暫停執(zhí)行绊含,若是就緒進(jìn)程桑嘶,則不接受調(diào)度以便研究其執(zhí)行情況或?qū)Τ绦蜻M(jìn)行修改。把這種靜止?fàn)顟B(tài)也稱為掛起狀態(tài)躬充。
  3. 父進(jìn)程請(qǐng)求逃顶。父進(jìn)程常希望掛起自己的子進(jìn)程,以便考察和修改子進(jìn)程充甚,或者協(xié)調(diào)各子進(jìn)程之間的活動(dòng)以政。
  4. 負(fù)荷調(diào)節(jié)的需要。當(dāng)實(shí)時(shí)系統(tǒng)中的工作負(fù)荷較重伴找,有可能影響到實(shí)時(shí)任務(wù)的控制時(shí)盈蛮,可由系統(tǒng)吧一些不重要的進(jìn)程掛起,以保證系統(tǒng)正常運(yùn)行技矮。
  5. 操作系統(tǒng)的需要抖誉。操作系統(tǒng)希望掛起某些進(jìn)程,以便檢查運(yùn)行中資源的使用情況及進(jìn)行記賬衰倦。

綜上所述袒炉,掛起狀態(tài)具有以下三個(gè)屬性:

  1. 被掛起的進(jìn)程,原來(lái)可能處于就緒狀態(tài)樊零,此時(shí)進(jìn)程(被掛起)的狀態(tài)稱為掛起就緒我磁;若被掛起的進(jìn)程原來(lái)處于阻塞狀態(tài),此時(shí)的狀態(tài)稱為掛起阻塞驻襟。不論那種狀態(tài)夺艰,該進(jìn)程都是不可能被調(diào)度而執(zhí)行的。
  2. 處于掛起阻塞狀態(tài)的進(jìn)程沉衣,其阻塞條件與掛起狀態(tài)無(wú)關(guān)郁副;當(dāng)進(jìn)程所期待的事件出現(xiàn)后,進(jìn)程雖不再被阻塞厢蒜,但仍不能運(yùn)行,這時(shí)烹植,應(yīng)將該進(jìn)程從靜止阻塞狀態(tài)轉(zhuǎn)換為掛起就緒狀態(tài)斑鸦。
  3. 進(jìn)程可以由其自身掛起,也可由用戶或操作系統(tǒng)等將之掛起草雕。其目的都在于組織進(jìn)程繼續(xù)進(jìn)行巷屿,被掛起的進(jìn)程只能用顯示方式來(lái)激活,以便從掛起狀態(tài)中解脫出來(lái)墩虹。

4. 進(jìn)程互斥與同步

進(jìn)程互斥定義為:一組并發(fā)進(jìn)程中一個(gè)或多個(gè)程序段嘱巾,因?yàn)楣蚕砟骋还灿匈Y源而導(dǎo)致必須以一個(gè)不允許交叉執(zhí)行的單位執(zhí)行。也就是說(shuō)互斥是保證臨界資源在某一時(shí)刻只被一個(gè)進(jìn)程訪問(wèn)。

進(jìn)程同步定義為:把異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約而互相發(fā)送消息而進(jìn)行互相合作赋咽、互相等待览闰,使得各進(jìn)程按一定的速度執(zhí)行的過(guò)程稱為進(jìn)程同步。也就是說(shuō)進(jìn)程之間時(shí)異步執(zhí)行的问拘,同步即是使各進(jìn)程按一定的制約順序和速度執(zhí)行遍略。

互斥時(shí)資源的競(jìng)爭(zhēng)關(guān)系,同步是進(jìn)程間的協(xié)作關(guān)系骤坐。

一次僅允許一個(gè)進(jìn)程使用的資源稱為臨界資源绪杏。一個(gè)進(jìn)程訪問(wèn)臨界資源的那段程序代碼稱為臨界區(qū)。由此互斥可以描述為:禁止兩個(gè)或兩個(gè)以上的進(jìn)程同時(shí)進(jìn)入訪問(wèn)同一臨界資源的臨界區(qū)纽绍。協(xié)調(diào)準(zhǔn)則如下:

  1. 空閑讓進(jìn)蕾久。無(wú)進(jìn)程處于臨界區(qū)時(shí),若有進(jìn)程要求進(jìn)入臨界區(qū)則立即允許其進(jìn)入拌夏;
  2. 忙則等待僧著。當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),其他試圖進(jìn)入各自臨界區(qū)的進(jìn)程必須等待辖佣,以保證各進(jìn)程互斥的進(jìn)入臨界區(qū)霹抛;
  3. 有限等待。有若干進(jìn)程要求進(jìn)入臨界區(qū)時(shí)卷谈,應(yīng)在有限時(shí)間內(nèi)使一進(jìn)程進(jìn)入臨界區(qū)杯拐,即它們不應(yīng)相互等待而誰(shuí)也不進(jìn)入臨界區(qū);
  4. 讓權(quán)等待世蔗。對(duì)于等待進(jìn)入臨界區(qū)的進(jìn)程必須釋放其占有的CPU端逼。

信號(hào)量可以有效的實(shí)現(xiàn)進(jìn)程的同步和互斥。在操作系統(tǒng)中污淋,信號(hào)量是一個(gè)證書顶滩。當(dāng)信號(hào)量大于等于0時(shí),代表可供并發(fā)進(jìn)程使用的資源實(shí)體數(shù)寸爆,當(dāng)信號(hào)量小于0時(shí)則表示正在使用臨界區(qū)的近成熟礁鲁。建立一個(gè)信號(hào)量必須說(shuō)明所建信號(hào)量代表的意義和設(shè)置初值,以及建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)赁豆,以便指向那些等待使用該臨界區(qū)的進(jìn)程仅醇。

對(duì)信號(hào)量只能施加特殊的操作:P操作和V操作。P操作和V操作都是不可分割的原子操作魔种,稱為原語(yǔ)析二。因此,P操作和V操作執(zhí)行期間不允許中斷發(fā)生。

P(sem)操作的過(guò)程是將信號(hào)量sem值減1叶摄,若sem的值成負(fù)數(shù)属韧,則調(diào)用P操作的進(jìn)程暫停執(zhí)行,直到另一個(gè)進(jìn)程對(duì)同一信號(hào)量作V操作蛤吓。V(sem)操作的過(guò)程是將信號(hào)量sem的值加1宵喂,若sem的值小于等于0,從相應(yīng)隊(duì)列(與sem有關(guān)的隊(duì)列)中選擇一個(gè)進(jìn)程柱衔,喚醒它樊破。操作的定義如下:

P操作

P(sem) {
    sem = sem - 1;
    if (sem < 0) 進(jìn)程進(jìn)入等待狀態(tài);
    else 繼續(xù)執(zhí)行;
}

V操作

V(sem) {
    sem = sem + 1;
    if (sem <= 0) 喚醒隊(duì)列中的一個(gè)等待進(jìn)程;
    else 繼續(xù)執(zhí)行唆铐;
}

設(shè)信號(hào)量mutex是用于互斥的信號(hào)量哲戚,初值為1,表示沒(méi)有并發(fā)進(jìn)程使用該臨界區(qū)艾岂。于是各并發(fā)進(jìn)程的臨界區(qū)可以改寫成下列形式的代碼段:

P(mutex);
臨界區(qū)
V(mutex);

要用P顺少,V操作實(shí)現(xiàn)進(jìn)程同步,需要引進(jìn)私用信號(hào)量王浴。私用信號(hào)量只與制約進(jìn)程和被制約進(jìn)程有關(guān)脆炎,而不是與整組并發(fā)進(jìn)程有關(guān)。與此相對(duì)氓辣,進(jìn)程互斥使用的信號(hào)量為公用信號(hào)量秒裕。首先為各并發(fā)進(jìn)程設(shè)置私用信號(hào)量,然后為私用信號(hào)量賦初值钞啸,最后利用P几蜻、V原語(yǔ)和私用信號(hào)量規(guī)定各進(jìn)程的執(zhí)行順序。

5. 前趨圖

前趨圖是一個(gè)由結(jié)點(diǎn)和有向邊構(gòu)成的有向無(wú)循環(huán)圖体斩。該圖通常用于表現(xiàn)事務(wù)之間先后順序的制約關(guān)系梭稚。圖中的每一個(gè)節(jié)點(diǎn)可以表示一個(gè)語(yǔ)句、一個(gè)程序段或是一個(gè)進(jìn)程絮吵,節(jié)點(diǎn)間的有向邊表示兩個(gè)節(jié)點(diǎn)之間存在的前趨關(guān)系弧烤。

沒(méi)有前趨節(jié)點(diǎn)的稱為開(kāi)始節(jié)點(diǎn),沒(méi)有后繼節(jié)點(diǎn)的蹬敲,稱為終止節(jié)點(diǎn)暇昂。

在前趨圖中,執(zhí)行先后順序的制約關(guān)系可分為兩種:直接制約和間接制約伴嗡。

直接制約通常是指一個(gè)操作中急波,多個(gè)步驟之間的制約關(guān)系,也可以說(shuō)是“同步的進(jìn)程之間的制約關(guān)系”闹究。

間接制約通常是指多個(gè)操作之間相同步驟的制約關(guān)系幔崖,也可以說(shuō)是“互斥的進(jìn)程之間的制約關(guān)系”食店。

6. 進(jìn)程調(diào)度與死鎖

進(jìn)程調(diào)度即處理器調(diào)度渣淤,又稱上下文轉(zhuǎn)換赏寇,主要功能是確定在什么時(shí)候分配處理器,并確定分配給哪一個(gè)進(jìn)程价认,即讓正在執(zhí)行的進(jìn)程改變狀態(tài)并轉(zhuǎn)入就緒隊(duì)列的隊(duì)尾嗅定,再由調(diào)度原語(yǔ)將就緒隊(duì)列的隊(duì)首進(jìn)程取出,投入執(zhí)行用踩。

引起進(jìn)程調(diào)度的原因有以下幾類:

  1. 正在執(zhí)行的進(jìn)程執(zhí)行完畢
  2. 執(zhí)行中的進(jìn)程自己調(diào)用阻塞原語(yǔ)將自己阻塞起來(lái)進(jìn)入睡眠狀態(tài)渠退。
  3. 執(zhí)行中的進(jìn)程調(diào)用了P原語(yǔ)操作,從而因資源不足而阻塞脐彩;或調(diào)用V原語(yǔ)操作激活了等待資源的進(jìn)程隊(duì)列碎乃。
  4. 在分時(shí)系統(tǒng)中,當(dāng)一個(gè)進(jìn)程用完了一個(gè)時(shí)間片惠奸。
  5. 就緒隊(duì)列中某進(jìn)程的優(yōu)先級(jí)變得高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí)梅誓,也將引起進(jìn)程調(diào)度。

進(jìn)程調(diào)度的方式有兩類:剝奪方式和非剝奪方式佛南。非剝奪方式是指:一旦某個(gè)作業(yè)或進(jìn)程占用了處理器梗掰,別的進(jìn)程就不能把處理器從這個(gè)進(jìn)程手中奪走,直到該進(jìn)程自己因調(diào)用原語(yǔ)操作而進(jìn)入阻塞狀態(tài)嗅回,或時(shí)間片用完而讓出處理機(jī)及穗;剝奪方式是指:當(dāng)就緒隊(duì)列中有進(jìn)程的優(yōu)先級(jí)高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí)時(shí),便立即發(fā)生進(jìn)程調(diào)度绵载,轉(zhuǎn)讓處理機(jī)埂陆。

進(jìn)程調(diào)度算法如下:

  1. 先來(lái)先服務(wù)FCFS調(diào)度算法,又稱先進(jìn)先出尘分。就緒隊(duì)列按先來(lái)后到原則排隊(duì)猜惋。
  2. 優(yōu)先數(shù)調(diào)度。優(yōu)先數(shù)反映進(jìn)程優(yōu)先級(jí)培愁,就緒隊(duì)列按優(yōu)先數(shù)排列著摔。有兩種確定優(yōu)先級(jí)的方法,即靜態(tài)優(yōu)先級(jí)和動(dòng)態(tài)優(yōu)先級(jí)定续。靜態(tài)優(yōu)先級(jí)是指進(jìn)程的優(yōu)先級(jí)在進(jìn)程開(kāi)始執(zhí)行前確定谍咆,執(zhí)行過(guò)程中不變,而動(dòng)態(tài)優(yōu)先級(jí)則可以在進(jìn)程執(zhí)行過(guò)程中改變私股。
  3. 輪轉(zhuǎn)法摹察。就緒隊(duì)列按FCFS方式排隊(duì)。每個(gè)進(jìn)程執(zhí)行一次占有處理器時(shí)間都不超過(guò)規(guī)定的時(shí)間單位(時(shí)間片)若超過(guò)倡鲸,則自動(dòng)釋放自己所占有的CPU而排到就緒隊(duì)列的隊(duì)尾供嚎,等待下一次調(diào)度。同時(shí),進(jìn)程調(diào)度程序又去調(diào)度當(dāng)前就緒隊(duì)列中的第一個(gè)進(jìn)程克滴。

當(dāng)若干個(gè)進(jìn)程互相競(jìng)爭(zhēng)對(duì)方已占有的資源逼争,無(wú)限期的等待,不能向前推進(jìn)時(shí)會(huì)造成“死鎖”劝赔。

  1. 死鎖條件誓焦。產(chǎn)生死鎖的主要原因是供共享的系統(tǒng)資源不足,資源分配策略和進(jìn)程的推進(jìn)順序不當(dāng)着帽。系統(tǒng)資源既可能時(shí)可重復(fù)使用的永久性資源杂伟,也可能時(shí)消耗性的臨時(shí)資源。產(chǎn)生死鎖的必要條件是:互斥條件仍翰、保持和等待條件赫粥、不剝奪條件和環(huán)路等待條件。
  2. 解決死鎖的策略予借。處于死鎖狀態(tài)的進(jìn)程不能繼續(xù)執(zhí)行但又占用了系統(tǒng)資源傅是,從而阻礙其他作業(yè)的執(zhí)行。
    解決死鎖有兩種策略:一種是在死鎖發(fā)生前采用的預(yù)防和避免策略蕾羊;另一種是在死鎖發(fā)生后采用的檢測(cè)和恢復(fù)策略喧笔。
    死鎖的預(yù)防主要是通過(guò)打破死鎖產(chǎn)生的4個(gè)必要條件之一來(lái)保證不會(huì)產(chǎn)生死鎖。采用的死鎖預(yù)防策略通常有資源的靜態(tài)分配法或有序分配法龟再,他們分別打破了資源動(dòng)態(tài)分配條件和循環(huán)等待條件书闸,因此不會(huì)發(fā)生死鎖,但是會(huì)大大降低系統(tǒng)資源的利用率和進(jìn)程之間的并行程度利凑。
    死鎖避免策略浆劲,則是在系統(tǒng)進(jìn)行資源分配時(shí),先執(zhí)行一個(gè)死鎖避免算法哀澈,以保證本次分配不會(huì)導(dǎo)致死鎖發(fā)生牌借。由于資源分配很頻繁,所以死鎖避免策略要耗費(fèi)大量的CPU和時(shí)間割按。

2.2.2 存儲(chǔ)管理

系統(tǒng)中內(nèi)存的使用一般分為兩部分膨报,一部分為系統(tǒng)空間,存放操作系統(tǒng)本身及相關(guān)的系統(tǒng)程序适荣;另一部分為用戶空間现柠,存放用戶的程序和數(shù)據(jù)。

存儲(chǔ)管理主要是針對(duì)內(nèi)存儲(chǔ)器的管理弛矛,負(fù)責(zé)對(duì)內(nèi)存的分配和回收够吩、內(nèi)存的保護(hù)和內(nèi)存的擴(kuò)充。目的是盡量提高內(nèi)存的使用效率丈氓。

1. 頁(yè)式存儲(chǔ)管理

分頁(yè)的基本思想是把程序的邏輯空間和內(nèi)存的物理空間按照同樣的大小劃分成若干頁(yè)面周循,并以頁(yè)面為單位進(jìn)行分配强法。在頁(yè)式存儲(chǔ)管理中系統(tǒng)中虛地址是一個(gè)有序?qū)Γ?yè)號(hào),位移)湾笛。系統(tǒng)為每一個(gè)進(jìn)程建立一個(gè)頁(yè)表拟烫,其內(nèi)容包含進(jìn)程的邏輯頁(yè)號(hào)于物理頁(yè)號(hào)的對(duì)應(yīng)關(guān)系、狀態(tài)等迄本。

頁(yè)式系統(tǒng)的動(dòng)態(tài)地址轉(zhuǎn)換方式如下:當(dāng)進(jìn)程運(yùn)行時(shí),其頁(yè)表的首地址已在系統(tǒng)的動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)中的基本地址寄存器中课竣。執(zhí)行的指令訪問(wèn)虛存地址時(shí)嘉赎,首先根據(jù)頁(yè)號(hào)查詢頁(yè)表,若已調(diào)入內(nèi)存于樟,則得到該頁(yè)的內(nèi)存位置公条,然后,同頁(yè)內(nèi)位移值組合迂曲,得到物理地址靶橱。如果該頁(yè)尚未調(diào)入內(nèi)存,則產(chǎn)生缺頁(yè)中斷路捧,以裝入所需的頁(yè)关霸。

頁(yè)式虛擬存儲(chǔ)管理是在頁(yè)式存儲(chǔ)管理的基礎(chǔ)上實(shí)現(xiàn)虛擬存儲(chǔ)器的。

當(dāng)裝入一個(gè)當(dāng)前需要的頁(yè)面時(shí)杰扫,如果內(nèi)存儲(chǔ)器中無(wú)空閑塊队寇,則可選擇一個(gè)已在內(nèi)存儲(chǔ)器中的頁(yè)面,把它暫時(shí)調(diào)出內(nèi)存章姓。若在執(zhí)行中該頁(yè)被修改過(guò)佳遣,則把該頁(yè)信息重新協(xié)會(huì)到磁盤上,否則不必重新寫回磁盤凡伊。當(dāng)一頁(yè)被暫時(shí)調(diào)出內(nèi)存后零渐,讓出的內(nèi)存空間用來(lái)存放當(dāng)前需要使用的頁(yè)面。頁(yè)面被調(diào)出或裝入之后都要對(duì)頁(yè)表中的相應(yīng)表目作修改系忙。這稱之為頁(yè)面調(diào)度诵盼。如果頁(yè)面調(diào)度不合理,導(dǎo)致同一內(nèi)容反復(fù)調(diào)出調(diào)入银还,稱為“抖動(dòng)”拦耐。

常見(jiàn)的頁(yè)面調(diào)度算法有:

  1. 最優(yōu)算法OPT:選擇不再使用或者最遠(yuǎn)的將來(lái)才被使用的頁(yè),這時(shí)理想的算法见剩,但是難以實(shí)現(xiàn)杀糯,常用于淘汰算法的比較。
  2. 隨機(jī)算法RAND:隨機(jī)選擇被淘汰的頁(yè)苍苞,開(kāi)銷小固翰,但是可能酸中立即就要訪問(wèn)的頁(yè)狼纬。
  3. 先進(jìn)先出算法FIFO
  4. 最近最少使用算法LRU

2. 段式存儲(chǔ)管理

與頁(yè)式存儲(chǔ)管理相似。分段的基本思想是把用戶作業(yè)按邏輯意義上有完整意義的段來(lái)劃分骂际,并以段為單位作為內(nèi)外存交換的空間尺度疗琉。

分段系統(tǒng)中,允許程序(作業(yè))占據(jù)內(nèi)存中許多分離的分區(qū)歉铝。沒(méi)個(gè)分區(qū)存儲(chǔ)一個(gè)程序分段盈简。分段系統(tǒng)中虛地址是一個(gè)有序?qū)Γǘ翁?hào),位移)太示。地址轉(zhuǎn)換方式同頁(yè)內(nèi)存儲(chǔ)管理方式相似柠贤。

3. 段頁(yè)式存儲(chǔ)管理

是段式和頁(yè)式兩種管理方法的結(jié)合。根據(jù)程序模塊分段类缤,段內(nèi)再分頁(yè)臼勉,內(nèi)存被劃分成定長(zhǎng)的頁(yè)。虛地址形式為(段號(hào)餐弱、頁(yè)號(hào)宴霸、頁(yè)內(nèi)位移)。

段頁(yè)式虛擬存儲(chǔ)管理結(jié)合了段式和頁(yè)式的優(yōu)點(diǎn)膏蚓,但增加了設(shè)置表格(段表瓢谢、頁(yè)表)和查表等開(kāi)銷,段頁(yè)式虛擬存儲(chǔ)器一般只在大型計(jì)算機(jī)系統(tǒng)中使用驮瞧。

2.2.3 設(shè)備管理

1. 數(shù)據(jù)傳輸控制方式

主要任務(wù)之一是控制設(shè)備和內(nèi)存或CPU之間的數(shù)據(jù)傳送恩闻。選擇和衡量控制方式的原則如下:

  1. 數(shù)據(jù)傳送速度足夠高,能滿足用戶的需要但又不丟失數(shù)據(jù)剧董。
  2. 系統(tǒng)開(kāi)銷小幢尚,所需的處理控制程序少。
  3. 能充分發(fā)揮硬件資源的能力翅楼,使得I/O設(shè)備盡量處于使用狀態(tài)中尉剩,而CPU等待時(shí)間少。

常用的數(shù)據(jù)傳送方式主要有如下幾種:

  1. 程序控制方式毅臊。處理器啟動(dòng)數(shù)據(jù)傳輸理茎,然后等設(shè)備完成。
  2. 中斷方式管嬉。程序控制方式不能實(shí)現(xiàn)并發(fā)皂林。中斷方式的數(shù)據(jù)傳輸過(guò)程為,進(jìn)程啟動(dòng)數(shù)據(jù)傳輸(如讀)后蚯撩,該進(jìn)程放棄處理器础倍,當(dāng)數(shù)據(jù)傳輸完成,設(shè)備控制器產(chǎn)生中斷請(qǐng)求胎挎,中斷處理程序?qū)?shù)據(jù)傳輸工作處理之后沟启,讓相應(yīng)進(jìn)程成為就緒狀態(tài)忆家。以后,該進(jìn)程得到所需要的數(shù)據(jù)德迹。
  3. 直接存儲(chǔ)訪問(wèn)方式DMA芽卿。指外部設(shè)備和內(nèi)存之間開(kāi)辟直接的數(shù)據(jù)交換通路。除了控制狀態(tài)寄存器和數(shù)據(jù)緩沖寄存器外胳搞,DMA控制器中還包括傳輸字節(jié)計(jì)數(shù)器卸例、內(nèi)存地址計(jì)數(shù)器等。
  4. 通道方式肌毅。又稱為輸入/輸出處理器IOP筷转,可以獨(dú)立完成系統(tǒng)交付的輸入/輸出任務(wù),通過(guò)執(zhí)行自身的輸入/輸出專用程序(稱通道程序)進(jìn)行內(nèi)存和外設(shè)之間的數(shù)據(jù)傳輸芽腾,主要有3種通道:字節(jié)多路通道、選擇通道和成組多路通道页衙。

2. 虛設(shè)備與SPOOLING技術(shù)

采用假脫機(jī)技術(shù)摊滔,可以將低速的獨(dú)占設(shè)備改造成一種可獨(dú)占的設(shè)備,而且一臺(tái)物理設(shè)備可以對(duì)應(yīng)若干臺(tái)虛擬的同類設(shè)備店乐。假脫機(jī)(SPOOLING)的意思是外部設(shè)備同時(shí)聯(lián)機(jī)操作艰躺,又稱為假脫機(jī)輸入/輸出操作,采用一組程序或進(jìn)程模擬一臺(tái)輸入/輸出設(shè)備眨八。

SPOOLING技術(shù)必須有高速腺兴、大容量并且可隨機(jī)存取的外存(如磁盤或磁鼓)支持。例如現(xiàn)在電腦中的多窗口技術(shù)廉侧。

2.2.4 文件管理

操作系統(tǒng)對(duì)計(jì)算機(jī)的管理包括兩個(gè)方面:硬件資源和軟件資源页响。硬件資源的管理包括CPU的管理、存儲(chǔ)器的管理段誊、設(shè)備管理等闰蚕。主要解決硬件資源的有效和合理利用問(wèn)題。

軟件資源包括各種系統(tǒng)程序连舍、各種應(yīng)用程序没陡、各種用戶程序,也包括大量的文檔材料索赏、庫(kù)函數(shù)等盼玄。每一種軟件資源本身都是具有一定邏輯意義的相關(guān)信息的集合,在操作系統(tǒng)中它們以文件形式存儲(chǔ)潜腻。

文件系統(tǒng)是操作系統(tǒng)中組織埃儿、存取和保護(hù)數(shù)據(jù)的一個(gè)重要部分。

文件管理的功能包括:建立融涣、修改蝌箍、刪除文件青灼;按文件名訪問(wèn)文件;決定文件信息存放的位置妓盲、存放形式及存放權(quán)限杂拨;管理文件件的聯(lián)系及提供對(duì)文檔的共享、保護(hù)悯衬、保密等弹沽。允許多個(gè)用戶協(xié)同工作又不引起混亂。文件的共享是指一個(gè)文件可以讓多個(gè)用戶共同使用筋粗,他可以減少用戶的重復(fù)性勞動(dòng)策橘,節(jié)省文件的存儲(chǔ)空間,減少輸入/輸出文件的次數(shù)等娜亿。文件的保護(hù)主要是為防止由于錯(cuò)誤操作而對(duì)文件造成的破壞丽已。文件的保密是為了防止未經(jīng)授權(quán)的用戶對(duì)文件進(jìn)行訪問(wèn)。

文檔的保護(hù)买决、保密實(shí)際上是用戶對(duì)文件的存取權(quán)限控制問(wèn)題沛婴。一般為文件的存取設(shè)置兩級(jí)控制:第1級(jí)是訪問(wèn)者的識(shí)別,即規(guī)定哪些人可以訪問(wèn)督赤;第2級(jí)是存取權(quán)限的識(shí)別嘁灯,即有權(quán)參與訪問(wèn)者可對(duì)文件執(zhí)行何種操作。

1. 文件的邏輯結(jié)構(gòu)

指文件的組織形式躲舌。一般可分文兩種:無(wú)結(jié)構(gòu)的字符流文件和有結(jié)構(gòu)的記錄文件丑婿。記錄文件由記錄組成,即文件內(nèi)的信息劃分成多個(gè)記錄没卸,以記錄為單位組織和使用信息羹奉。

記錄文件有順序文件、索引順序文件约计、索引文件和直接文件尘奏。

  1. 順序文件。大多數(shù)文件是順序文件病蛉。順序文件的記錄定長(zhǎng)炫加,記錄中的數(shù)據(jù)項(xiàng)和類型長(zhǎng)度與次序固定,一般還有一個(gè)可以唯一標(biāo)識(shí)記錄的數(shù)據(jù)項(xiàng)铺然,稱為鍵(Key)俗孝,記錄是按鍵值的約定次序組織的。常用于批處理應(yīng)用魄健,用于查詢或更新某個(gè)記錄的處理性能不太好赋铝。
  2. 索引順序文件。是基于鍵的約定次序組織的沽瘦,而且維護(hù)鍵的索引和溢出區(qū)域革骨。鍵的索引也可以是多級(jí)索引农尖。索引順序文件既適用于交互方式應(yīng)用,也適用于批處理方式應(yīng)用良哲。
  3. 索引文件盛卡。是基于記錄的一個(gè)鍵數(shù)據(jù)項(xiàng)組織的。許多應(yīng)用需按照別的數(shù)據(jù)項(xiàng)訪問(wèn)文件筑凫,為此滑沧,常采用索引文件方法,即對(duì)主文件中的記錄按需要的數(shù)據(jù)項(xiàng)(一個(gè)或幾個(gè))建索引巍实,索引文件本身是順序文件組織滓技。
  4. 直接文件。又稱哈希(Hash)文件棚潦。記錄以他們?cè)谥苯釉L問(wèn)存儲(chǔ)設(shè)備上的物理地址直接(隨機(jī)的)訪問(wèn)令漂。常用于需要高速訪問(wèn)文件而且每次僅訪問(wèn)一條記錄的應(yīng)用中。

2. 文件的物理結(jié)構(gòu)

指的是文件在存儲(chǔ)設(shè)備上的存儲(chǔ)方法丸边。文件的存儲(chǔ)設(shè)備通常劃分為大小相同的物理塊叠必,物理塊是分配和傳輸信息的基本單位。文件的物理結(jié)構(gòu)涉及文件存儲(chǔ)設(shè)備的組塊策略和文件分配策略原环,決定文件信息在存儲(chǔ)設(shè)備上的存儲(chǔ)位置挠唆。常用的文件分配策略有:

  1. 順序分配(連續(xù)分配)处窥。最簡(jiǎn)單的分配方法嘱吗。在文件建立時(shí)預(yù)先分配一組連續(xù)的物理塊,然后滔驾,按照邏輯文件中的信息(或記錄)順序谒麦,依次把信息(或記錄)按順序存儲(chǔ)到物理塊中。這樣哆致,只需知道文件在文件存儲(chǔ)設(shè)備上的起始位置和文件長(zhǎng)度绕德,就能進(jìn)行存取。這種分配方式適合于順序存取摊阀,在連續(xù)存取相鄰信息時(shí)耻蛇,存取速度快。其缺點(diǎn)是在文件建立時(shí)必須指定文件的信息長(zhǎng)度胞此,以后不能動(dòng)態(tài)增長(zhǎng)臣咖,一般不宜用于需要經(jīng)常修改的文件。
  2. 鏈接分配(串聯(lián)分配)漱牵。這是按單個(gè)物理塊逐個(gè)進(jìn)行的夺蛇。每個(gè)物理塊中(一般是最后一個(gè)單元)設(shè)有一個(gè)指針,指向其后續(xù)鏈接的下一個(gè)物理塊的地址酣胀,這樣刁赦,所有的物理塊都被鏈接起來(lái)娶聘,形成一個(gè)鏈接隊(duì)列。在建立鏈接文件時(shí)甚脉,不需要指定文件的長(zhǎng)度丸升,在文件的說(shuō)明信息中,只需支出該文件的第一個(gè)物理塊塊號(hào)宦焦,而且鏈接文件的文件長(zhǎng)度可以動(dòng)態(tài)的增長(zhǎng)发钝。只需調(diào)整物理塊間的指針就可以插入或刪除一個(gè)信息塊。
    鏈接分配的優(yōu)點(diǎn)是可以解決存儲(chǔ)器的碎片問(wèn)題波闹,提高存儲(chǔ)空間利用率酝豪。由于鏈接文件只能按照隊(duì)列中的鏈接指針順序查找,因此搜索效率低精堕,一般只適用于順序訪問(wèn)孵淘,不適用于隨機(jī)存儲(chǔ)。
  3. 索引分配歹篓。是另外一種對(duì)文件存儲(chǔ)不連續(xù)分配的方法瘫证。采用索引分配方法的系統(tǒng),為每一個(gè)文件建立一張索引表庄撮,索引中的每一項(xiàng)指出文件信息所在的邏輯塊號(hào)和與之對(duì)應(yīng)的物理塊號(hào)背捌。
    索引分配既能滿足文件動(dòng)態(tài)增長(zhǎng)的要求,又可以方便而迅速的實(shí)現(xiàn)隨機(jī)存取洞斯。對(duì)一些大的文件毡庆,當(dāng)索引表的大小超過(guò)一個(gè)物理塊時(shí),會(huì)發(fā)生索引表的分配問(wèn)題烙如。一般采用多級(jí)(間接索引)技術(shù)么抗,這時(shí)在由索引表指出的物理塊中存放的不是文件存放處,而是文件存放信息的物理塊地址亚铁。這樣蝇刀,如果一個(gè)物理塊能存放$n$個(gè)地址,則一級(jí)間接索引將使可尋址的文件長(zhǎng)度變成$n^2$塊徘溢,對(duì)于更大的文件可以采用二級(jí)甚至三級(jí)是間接索引(UNIX系統(tǒng)使用三級(jí)索引結(jié)構(gòu))吞琐。
    索引文件的優(yōu)點(diǎn)是既適用于順序存儲(chǔ),又適用于隨機(jī)存儲(chǔ)然爆,缺點(diǎn)是索引表增加了存儲(chǔ)空間的開(kāi)銷站粟。另外,在存取文件時(shí)需要訪問(wèn)兩次磁盤施蜜,一次是訪問(wèn)索引表卒蘸,一次是根據(jù)索引表提供的物理塊號(hào)訪問(wèn)文件信息。為了提高效率,一種改進(jìn)的方法是缸沃,在對(duì)某個(gè)文件進(jìn)行操作之前恰起,預(yù)先把索引表調(diào)入內(nèi)存。這樣文件的存取就能直接從內(nèi)存的索引表中確定相應(yīng)的物理塊號(hào)趾牧,從而只需要訪問(wèn)一次磁盤检盼。

3. 文件存儲(chǔ)設(shè)備管理

文件存儲(chǔ)設(shè)備的管理實(shí)質(zhì)上是對(duì)空閑塊的組織和管理問(wèn)題。它包括空閑塊的組織翘单,空閑塊的分配與空閑塊的回收等問(wèn)題吨枉,空閑塊管理方法如下:

  1. 索引法。把空閑塊作為文件并采用索引技術(shù)哄芜。為了有效貌亭,索引對(duì)應(yīng)一個(gè)或由幾個(gè)空閑塊組成的空閑區(qū)。這樣认臊,磁盤上的每一個(gè)空閑塊區(qū)都對(duì)應(yīng)索引表中的一個(gè)條目圃庭,這個(gè)方法能有效的支持每一種文件分配方法。
  2. 鏈接法失晴。使用鏈表把空閑塊組織在一起剧腻,當(dāng)申請(qǐng)者需要空閑塊時(shí),分配程序從鏈?zhǔn)组_(kāi)始摘取所需的空閑塊涂屁。反之书在,管理程序把回收的空閑塊逐個(gè)掛入隊(duì)尾,這個(gè)方法適用于每一種文件分配方法拆又∪逖空閑塊的鏈接方法可以按釋放的先后順序鏈接,也可以按空閑塊區(qū)的大小順序鏈接遏乔。后者有利于獲得連續(xù)的空閑塊的請(qǐng)求义矛,但在分配請(qǐng)求和回收空閑塊時(shí)系統(tǒng)開(kāi)銷多一點(diǎn)发笔。
  3. 位示圖法盟萨。該方法是在外存上建立一個(gè)位示圖,記錄文件存儲(chǔ)器的使用情況了讨。每一位僅對(duì)應(yīng)文件存儲(chǔ)器上的一個(gè)物理塊捻激,取值0和1分別表示空閑和占用。
    位圖是利用二進(jìn)制的一位來(lái)表示磁盤中的一個(gè)盤塊的使用情況前计。當(dāng)其值為0時(shí)胞谭,表示對(duì)應(yīng)的盤塊空閑;當(dāng)為1時(shí)男杈,表示已分配丈屹。

4. 樹(shù)形目錄結(jié)構(gòu)

在樹(shù)形目錄結(jié)構(gòu)中,樹(shù)的根節(jié)點(diǎn)為根目錄,數(shù)據(jù)文件作為樹(shù)葉旺垒,其他所有目錄均作為樹(shù)的結(jié)點(diǎn)彩库。

根目錄隱含在磁盤的一個(gè)分區(qū)中,根目錄在最頂層先蒋,它包含的子目錄是一級(jí)子目錄骇钦,每一個(gè)一級(jí)子目錄又可以包含二級(jí)子目錄等,這樣的目錄結(jié)構(gòu)稱為目錄樹(shù)竞漾。

當(dāng)前盤和當(dāng)前目錄是系統(tǒng)默認(rèn)的操作對(duì)象眯搭。如果用戶沒(méi)有指明操作對(duì)象,那么系統(tǒng)就將用戶命令指向當(dāng)前盤和當(dāng)前目錄业岁。

路徑是指從根目錄或者當(dāng)前目錄開(kāi)始到訪問(wèn)對(duì)象(目錄或文件)鳞仙,在目錄樹(shù)中路徑的所有目錄的序列。在樹(shù)形目錄結(jié)構(gòu)中笔时,從根目錄到任何數(shù)據(jù)文件之間繁扎,只有一條唯一的通路,從樹(shù)根開(kāi)始糊闽,把全部目錄文件名與數(shù)據(jù)文件名梳玫,依次用“/”(UNIX/Linux系統(tǒng))或“\”(Windows系統(tǒng))連接起來(lái),構(gòu)成該數(shù)據(jù)文件的路徑名右犹,且每個(gè)數(shù)據(jù)文件的路徑名是唯一的提澎。

從樹(shù)根開(kāi)始的路徑為絕對(duì)路徑。從當(dāng)前目錄開(kāi)始念链,在逐級(jí)通過(guò)中間的目錄文件盼忌,最后到達(dá)所要訪問(wèn)的數(shù)據(jù)文件。

絕對(duì)路徑給出文件或目錄位置的完全描述掂墓,通常由層級(jí)結(jié)構(gòu)的頂端開(kāi)始(根目錄)谦纱,通常第一個(gè)字符是“/”(UNIX/Linux系統(tǒng))或盤符(Windows系統(tǒng))。相對(duì)路徑通常是由目錄結(jié)構(gòu)中的當(dāng)前位置開(kāi)始君编,一般都比絕對(duì)路徑要短跨嘉。

父目錄是指當(dāng)前路徑的上一層目錄。每個(gè)目錄都有代表當(dāng)前目錄的“.”文件和代表當(dāng)前目錄父目錄的“..”文件吃嘿,相對(duì)路徑名一般就是從“..”開(kāi)始的祠乃。

2.2.5 作業(yè)管理

從用戶的角度看,作業(yè)是系統(tǒng)為完成一個(gè)用戶的計(jì)算任務(wù)(或一次事務(wù)處理)所做的工作總和兑燥。過(guò)程中的每一個(gè)步驟亮瓷,成為作業(yè)步,作業(yè)步的順序執(zhí)行即完成了一個(gè)作業(yè)降瞳。

從系統(tǒng)的角度看嘱支,作業(yè)則是一個(gè)比程序更廣的概念。它由程序、數(shù)據(jù)和作業(yè)說(shuō)明書組成除师。系統(tǒng)通過(guò)作業(yè)說(shuō)明書控制文件形式的程序和數(shù)據(jù)赢织,使之執(zhí)行和操作。而且馍盟,在批處理系統(tǒng)中于置,作業(yè)是占據(jù)內(nèi)存的基本單位。

用戶的作業(yè)可以通過(guò)直接的方式贞岭,由用戶自己按照作業(yè)步驟順序操作八毯;也可以通過(guò)間接的方式,由用戶率先編寫的作業(yè)步依次執(zhí)行的說(shuō)明瞄桨,一次交給操作系統(tǒng)话速,由系統(tǒng)按照說(shuō)明依次處理。前者稱為聯(lián)機(jī)方式芯侥,后者稱為脫機(jī)方式泊交。

1. 作業(yè)狀態(tài)及其轉(zhuǎn)換

一個(gè)作業(yè)從交給計(jì)算機(jī)系統(tǒng)到執(zhí)行結(jié)束退出系統(tǒng),一般都要經(jīng)歷提交柱查、后后備廓俭、執(zhí)行和完成四個(gè)狀態(tài)。

  1. 提交狀態(tài)唉工。作業(yè)由輸入設(shè)備進(jìn)入外存儲(chǔ)器(也稱輸入井)的過(guò)程稱為提交狀態(tài)研乒。處于提交狀態(tài)的作業(yè),其信息正在進(jìn)入系統(tǒng)淋硝。
  2. 后備狀態(tài)雹熬。當(dāng)作業(yè)的全部信息進(jìn)入外存后,系統(tǒng)就為該作業(yè)建立一個(gè)作業(yè)控制塊JCB谣膳。系統(tǒng)通過(guò)JCB感知作業(yè)的存在竿报。JCB主要內(nèi)容包括作業(yè)名、作業(yè)狀態(tài)继谚、資源要求烈菌、作業(yè)控制方式、作業(yè)類型及作業(yè)優(yōu)先權(quán)等犬庇。
  3. 執(zhí)行狀態(tài)僧界。一個(gè)后備狀態(tài)被作業(yè)調(diào)度程序選中二分配了必要的資源并進(jìn)入了內(nèi)存侨嘀。作業(yè)調(diào)度程序同時(shí)為其建造了相應(yīng)的進(jìn)程后臭挽,該作業(yè)就由后備狀態(tài)變成了執(zhí)行狀態(tài)。
  4. 完成狀態(tài)咬腕。當(dāng)作業(yè)正常運(yùn)行結(jié)束欢峰,它所占用的資源尚未完全被系統(tǒng)回收時(shí)的狀態(tài)為完成狀態(tài)。

2. 用戶接口

也稱用戶界面,其含義有兩種纽帖,一種是指用戶與操作系統(tǒng)交互的途徑和通道宠漩,即操作系統(tǒng)的接口;另一種是指這種交互環(huán)境的控制方式懊直,即操作環(huán)境扒吁。

  1. 操作系統(tǒng)的接口。操作系統(tǒng)的接口又可分成命令接口和程序接口室囊。命令接口包含鍵盤命令和作業(yè)控制命令雕崩;程序接口又稱編程接口或系統(tǒng)調(diào)用,程序經(jīng)編程接口請(qǐng)求系統(tǒng)服務(wù)融撞,即通過(guò)系統(tǒng)調(diào)用程序與操作系統(tǒng)通信盼铁,系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。系統(tǒng)調(diào)用對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作而只提供有關(guān)功能尝偎。系統(tǒng)調(diào)用大致分為設(shè)備管理饶火、文件管理、進(jìn)程控制致扯、進(jìn)程通信和存儲(chǔ)管理等肤寝。
  2. 操作環(huán)境。操作環(huán)境支持命令接口和程序接口抖僵,提供友好的醒陆、易用的操作平臺(tái)。操作系統(tǒng)的交互界面已經(jīng)從操起的命令驅(qū)動(dòng)方式裆针,發(fā)展到菜單驅(qū)動(dòng)方式刨摩、圖形驅(qū)動(dòng)方式和視窗操作環(huán)境。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末世吨,一起剝皮案震驚了整個(gè)濱河市澡刹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耘婚,老刑警劉巖罢浇,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異沐祷,居然都是意外死亡嚷闭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門赖临,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胞锰,“玉大人,你說(shuō)我怎么就攤上這事兢榨⌒衢牛” “怎么了顺饮?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)凌那。 經(jīng)常有香客問(wèn)我兼雄,道長(zhǎng),這世上最難降的妖魔是什么帽蝶? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任赦肋,我火速辦了婚禮,結(jié)果婚禮上励稳,老公的妹妹穿的比我還像新娘金砍。我一直安慰自己,他們只是感情好麦锯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布恕稠。 她就那樣靜靜地躺著,像睡著了一般扶欣。 火紅的嫁衣襯著肌膚如雪鹅巍。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天料祠,我揣著相機(jī)與錄音骆捧,去河邊找鬼。 笑死髓绽,一個(gè)胖子當(dāng)著我的面吹牛敛苇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顺呕,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼枫攀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了株茶?” 一聲冷哼從身側(cè)響起来涨,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎启盛,沒(méi)想到半個(gè)月后蹦掐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僵闯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年卧抗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳖粟。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡社裆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牺弹,到底是詐尸還是另有隱情浦马,我是刑警寧澤时呀,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布张漂,位于F島的核電站晶默,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏航攒。R本人自食惡果不足惜磺陡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望漠畜。 院中可真熱鬧币他,春花似錦、人聲如沸憔狞。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瘾敢。三九已至拍冠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間簇抵,已是汗流浹背庆杜。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碟摆,地道東北人晃财。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像典蜕,于是被迫代替她去往敵國(guó)和親断盛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 操作系統(tǒng)概論 操作系統(tǒng)的概念 操作系統(tǒng)是指控制和管理計(jì)算機(jī)的軟硬件資源愉舔,并合理的組織調(diào)度計(jì)算機(jī)的工作和資源的分配郑临,...
    野狗子嗷嗷嗷閱讀 11,929評(píng)論 3 34
  • word直接復(fù)制來(lái)了,格式就不改了。至于這門課怎么復(fù)習(xí),只要平時(shí)實(shí)驗(yàn)都認(rèn)真完成殿如、報(bào)告認(rèn)真寫夺鲜,平時(shí)分都很高;考試的話...
    Jozhn閱讀 4,551評(píng)論 0 8
  • duang duang duang 風(fēng)生水起,潮起潮落假瞬;娛樂(lè)圈就是這樣陕靠! 劉愷威出軌王鷗一事瞬間霸占各大娛樂(lè)頭條迂尝,...
    嘟蜜時(shí)代閱讀 2,892評(píng)論 1 2
  • 蜘蛛俠:每次玩手機(jī)都要摘頭套,費(fèi)勁的玩意兒剪芥! 死侍:摘了頭套還無(wú)法識(shí)別垄开,還真是有夠牙磣的耶! 綠巨人:能識(shí)別就好么...
    張小生哈哈閱讀 331評(píng)論 0 0
  • 又是一個(gè)周六税肪,轉(zhuǎn)眼也到了七月溉躲,半年就這樣悄然無(wú)聲的過(guò)去了,七月就這樣來(lái)臨了益兄。昨天去報(bào)名了一建锻梳,花費(fèi)了一個(gè)下午的時(shí)...
    律人閱讀 139評(píng)論 0 0