av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

操作系統(tǒng)

操作系統(tǒng)的主要功能

時(shí)間:2025-02-12 00:50:14 操作系統(tǒng) 我要投稿

操作系統(tǒng)的主要功能

  操作系統(tǒng)是一個(gè)看不見摸不著,但是有時(shí)時(shí)刻刻存在的東西,那么操作系統(tǒng)到底有什么作用?為什么我們的手機(jī)電腦一定要用到它呢?下面是小編整理的操作系統(tǒng)的主要功能的介紹,希望對(duì)大家有用,更多消息請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)。

  1、處理機(jī)管理功能

  處理機(jī)的分配和運(yùn)行都是以進(jìn)程為基本單位,因而對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。

  處理機(jī)管理的主要功能有:創(chuàng)建和撤銷進(jìn)程,對(duì)諸進(jìn)程的運(yùn)行進(jìn)行協(xié)調(diào),實(shí)現(xiàn)進(jìn)程之間的信息交換,以及按照一定的算法把處理機(jī)分配給進(jìn)程。

  進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、調(diào)度。

  2、存儲(chǔ)器管理功能

  存儲(chǔ)器管理的主要任務(wù),是為多道程序的運(yùn)行提供良好的環(huán)境,提高存儲(chǔ)器的利用率,方便用戶使用,并能從邏輯上擴(kuò)充內(nèi)存。

  內(nèi)存分配、內(nèi)存保護(hù)、地址映射、內(nèi)存擴(kuò)充。

  3、設(shè)備管理功能

  (1)完成用戶進(jìn)程提出的I/O請(qǐng)求,為用戶進(jìn)程分配所需的I/O設(shè)備,并完成指定的I/O操作。

  (2)提高CPU和I/O設(shè)備的利用率,提高I/O速度,方便用戶使用I/O設(shè)備。

  緩沖管理、設(shè)備分配、設(shè)備處理(設(shè)備驅(qū)動(dòng)程序)。

  4、文件管理系統(tǒng)

  文件管理系統(tǒng)的主要任務(wù)是對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理以方便用戶使用,并保證文件的安全性。

  文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。

  5、操作系統(tǒng)與用戶之間的接口

  為方便用戶對(duì)操作系統(tǒng)的使用,操作系統(tǒng)向用戶提供了“用戶與操作系統(tǒng)的接口”

  命令接口、圖形界面接口、程序調(diào)用API.

  拓展:操作系統(tǒng)原理

  什么是進(jìn)程?

  進(jìn)程的出現(xiàn),是為了是操作系統(tǒng)可以以一種有序的方式管理應(yīng)用的執(zhí)行,以達(dá)到以下目的:

  資源對(duì)多個(gè)應(yīng)用程序是可用的;

  物理處理器在多個(gè)應(yīng)用程序之間切換以保證所有程序都在執(zhí)行中;

  處理器和I/O設(shè)備能得到充分利用;

  所有現(xiàn)在操作系統(tǒng)采用的方法都是依據(jù)一個(gè)或者多個(gè)進(jìn)程存在的應(yīng)用程序執(zhí)行的一種模型。到底什么是進(jìn)程呢?

  進(jìn)程是一組元素組成的實(shí)體,它可以是一個(gè)正在執(zhí)行中的程序,也可以是一個(gè)能分配給處理器并由處理器執(zhí)行的實(shí)體。

  進(jìn)程的兩個(gè)基本元素是:程序代碼(program code)和代碼相關(guān)聯(lián)的數(shù)據(jù)集(set of data)。

  在進(jìn)程執(zhí)行時(shí),任意給定一個(gè)時(shí)間,進(jìn)程都可以唯一地表征為以下元素:

  標(biāo)識(shí)符:進(jìn)程的唯一標(biāo)識(shí)符,用來(lái)區(qū)別其他進(jìn)程

  狀態(tài):進(jìn)程在不同的生命周期有著不同的狀態(tài)

  優(yōu)先級(jí):相對(duì)于其他進(jìn)程的優(yōu)先級(jí)

  程序計(jì)數(shù)器:程序中即將被執(zhí)行的下一條指令的地址

  內(nèi)存指針:包含程序代碼和進(jìn)程相關(guān)數(shù)據(jù)的指針,還有和其他進(jìn)程共享內(nèi)存塊的指針

  I/O狀態(tài)信息:包括顯示的I/O請(qǐng)求、分配給進(jìn)程的I/O設(shè)備和被進(jìn)程使用的文件列表等

  記賬信息:可能包括處理器時(shí)間總和、使用的時(shí)鐘數(shù)總和、時(shí)間限制、記賬號(hào)等

  上述的列表信息被存放在一個(gè)稱為進(jìn)程控制塊的數(shù)據(jù)結(jié)構(gòu)中,該控制塊由操作系統(tǒng)創(chuàng)建和管理。

  進(jìn)程狀態(tài)

  在任何時(shí)刻,進(jìn)程可以處于以下兩種狀態(tài)之一:運(yùn)行態(tài)和未運(yùn)行態(tài),這是最簡(jiǎn)單的兩狀態(tài)模型。在這個(gè)模型中,會(huì)有一個(gè)調(diào)度器(dispatcher),使處理器從一個(gè)進(jìn)程切換到另外一個(gè)進(jìn)程。

  '內(nèi)存狀態(tài)轉(zhuǎn)換'

  由于存在著一些處于非運(yùn)行狀態(tài)但已經(jīng)就緒等待執(zhí)行的進(jìn)程,而同時(shí)存在另外一些處于堵塞狀態(tài)等待I/O操作結(jié)束的進(jìn)程。

  因此,解決這一問(wèn)題比較自然的方法是使用五狀態(tài)模型:運(yùn)行態(tài)、就緒態(tài)、堵塞/等待態(tài)、新建態(tài)和退出態(tài)。

  '五狀態(tài)模型'

  >>(1)被掛起的進(jìn)程

  上述的基本狀態(tài)提供了一種為進(jìn)程建立系統(tǒng)模型的方法,并指導(dǎo)系統(tǒng)的實(shí)現(xiàn)。但是,往這個(gè)模型中添加其他狀態(tài)也是合理的。

  由于處理器的運(yùn)行速度遠(yuǎn)大于I/O,以至于內(nèi)存中所有的進(jìn)程都在等待I/O的情況也是很常見的。因此,即使是多道程序設(shè)計(jì),大多數(shù)處理器仍然可能處于空閑狀態(tài)。

  一種解決方案是增大內(nèi)存,使得內(nèi)存中可以存在更多的進(jìn)程。然而這種方案顯然是治標(biāo)不治本的。

  另外一種解決方案是交換(swapping)。當(dāng)內(nèi)存中沒(méi)有處于就緒狀態(tài)的進(jìn)程時(shí),操作系統(tǒng)就把被阻塞的進(jìn)程換出到磁盤中的掛起隊(duì)列(suspend queue)。操作系統(tǒng)在此之后取出掛起隊(duì)列中的另一個(gè)進(jìn)程,或者接受一個(gè)新進(jìn)程,將其加載到內(nèi)存中運(yùn)行。這時(shí),在進(jìn)程狀態(tài)模型中添加了另外一個(gè)狀態(tài):掛起態(tài)。

  當(dāng)操作系統(tǒng)從掛起隊(duì)列中取出一個(gè)依然阻塞的進(jìn)程是毫無(wú)意義的,因?yàn)樗匀粵](méi)有準(zhǔn)備好執(zhí)行。所以為了區(qū)分被掛起的進(jìn)程哪些是可以取出的,需要設(shè)計(jì)另外一種掛起模型:

  為了區(qū)分,需要四個(gè)狀態(tài):

  就緒態(tài):進(jìn)程在內(nèi)存中并可以執(zhí)行

  阻塞態(tài):進(jìn)程在進(jìn)程中并等待一個(gè)事件

  阻塞/掛起態(tài):進(jìn)程在外存中并等待一個(gè)事件

  就緒/掛起態(tài):進(jìn)程在外存中,但是只要被載入內(nèi)存就可以執(zhí)行

  總結(jié)一下掛起的進(jìn)程的概念:

  進(jìn)程不能被立即執(zhí)行。

  進(jìn)程可能是或不是正在等待一個(gè)事件。如果是,阻塞條件不依賴于掛起條件,阻塞事件的的發(fā)生不會(huì)使進(jìn)程立即執(zhí)行。

  為組織進(jìn)程的執(zhí)行,可以通過(guò)代理把這個(gè)進(jìn)程置于掛起狀態(tài),代理可以是進(jìn)程自己,也可以是父進(jìn)程或者操作系統(tǒng)。

  除非代理顯示的命令操作系統(tǒng)進(jìn)行狀態(tài)轉(zhuǎn)換,否則進(jìn)程無(wú)法從這個(gè)狀態(tài)中轉(zhuǎn)移。

  除了因?yàn)樘峁└嗟膬?nèi)存空間,進(jìn)程還會(huì)因?yàn)槭裁丛虮粧炱鹉?

  在所有這些導(dǎo)致進(jìn)程掛起的情況中,掛起進(jìn)程的活動(dòng)都是由最初請(qǐng)求掛起的代理請(qǐng)求的。

  進(jìn)程描述

  操作系統(tǒng)控制計(jì)算機(jī)系統(tǒng)內(nèi)部的事件,它為處理器執(zhí)行進(jìn)程而進(jìn)行調(diào)度「schedule」和分派「dispatch」,給進(jìn)程分配資源,并響應(yīng)用戶程序的基本服務(wù)請(qǐng)求。因此,操作系統(tǒng)可以被視為管理系統(tǒng)資源的實(shí)體。

  操作系統(tǒng)為了控制進(jìn)程和管理資源需要哪些信息呢?

  >>(1)操作系統(tǒng)的控制結(jié)構(gòu)

  為了管理進(jìn)程和資源,操作系統(tǒng)構(gòu)造并維護(hù)它所管理的每個(gè)實(shí)體的信息表。

  操作系統(tǒng)維護(hù)四種不同類型的表:內(nèi)存、I/O、文件和進(jìn)程。

  內(nèi)存表「memory tables」用于跟蹤內(nèi)存和外存。內(nèi)存表必須包括一下信息:

  分配給進(jìn)程的內(nèi)存

  分配給進(jìn)程的外存

  內(nèi)存塊或者虛擬內(nèi)存塊的保護(hù)屬性

  管理虛擬內(nèi)存所需要的任何信息

  I/O表「I/O tables」用于管理計(jì)算機(jī)系統(tǒng)中的I/O設(shè)備和通道。在任何給定的時(shí)刻,一個(gè)I/O設(shè)備或者是可用的,或者是已分配給某個(gè)特定的進(jìn)程。如果正在進(jìn)行I/O操作,則操作系統(tǒng)需要知道I/O操作的狀態(tài)和作為I/O傳送的源與目標(biāo)的內(nèi)存單元。

  文件表「file tables」用于提供關(guān)于文件是否存在、文件在外存中的位置、當(dāng)前狀態(tài)和屬性的信息。

  進(jìn)程表「process tables」為了管理和操作進(jìn)程所必須使用的表。

  >>(2)進(jìn)程控制結(jié)構(gòu)

  操作系統(tǒng)在管理和控制進(jìn)程時(shí),首先必須知道進(jìn)程的位置,然后,它必須知道在管理時(shí)所必需的進(jìn)程的屬性(如進(jìn)程ID、進(jìn)程狀態(tài))。

  進(jìn)程位置

  想一個(gè)最基本的問(wèn)題:進(jìn)程的物理表示是什么?

  回想之前關(guān)于進(jìn)程的定義,進(jìn)程至少包括一個(gè)或者一組被執(zhí)行的程序,與這些程序相關(guān)聯(lián)的局部變量、全局變量和任何已定義常量的數(shù)據(jù)單元。因此,一個(gè)進(jìn)程至少包括足夠的內(nèi)存空間,以保存該進(jìn)程的程序和數(shù)據(jù);此外,程序的執(zhí)行通常設(shè)計(jì)用于跟蹤過(guò)程調(diào)用和過(guò)程間參數(shù)傳遞的棧。最后,與每個(gè)進(jìn)程相關(guān)聯(lián)的還有操作系統(tǒng)用于控制進(jìn)程的許多屬性,也就是進(jìn)程控制塊。程序、數(shù)據(jù)、棧和屬性的集合稱為進(jìn)程映像「process image」。

  在最簡(jiǎn)單的情況下,進(jìn)程映像保存在鄰近的活連續(xù)的存儲(chǔ)塊中。因此,操作系統(tǒng)必須知道每個(gè)進(jìn)程在磁盤中的位置;對(duì)于在內(nèi)存中的進(jìn)程,需要知道其在內(nèi)存中的位置。

  現(xiàn)代操作系統(tǒng)嘉定分頁(yè)硬件允許用不連續(xù)的物理內(nèi)存來(lái)支持部分常駐內(nèi)存的程序。在任何給定的時(shí)刻,進(jìn)程映像的一部分可以在內(nèi)存中,剩余部分可以在外存中。因此,操作系統(tǒng)維護(hù)的進(jìn)程表必須表明每個(gè)進(jìn)程映像中每頁(yè)的位置。

  進(jìn)程屬性

  操作系統(tǒng)所需要的每個(gè)進(jìn)程信息的簡(jiǎn)單分類:

  進(jìn)程標(biāo)識(shí)信息

  進(jìn)程狀態(tài)信息

  進(jìn)程控制信息

  所有的操作系統(tǒng)中,每個(gè)進(jìn)程都分配了唯一的一個(gè)數(shù)字來(lái)表示進(jìn)程標(biāo)識(shí)符。除此之外,還分配一個(gè)用戶標(biāo)識(shí)符,用于表明擁有該進(jìn)程的用戶。

  處理器狀態(tài)信息包括處理器寄存器的內(nèi)容。當(dāng)進(jìn)程被中斷時(shí),所有寄存器中的信息必須被保存起來(lái),使得進(jìn)程恢復(fù)執(zhí)行時(shí),這些信息可以被恢復(fù)。

  進(jìn)程控制塊中的第三類主要信息是進(jìn)程控制信息,用于操作系統(tǒng)控制和協(xié)調(diào)各種活動(dòng)進(jìn)程所需要的額外信息。

  進(jìn)程控制塊中可能還包含構(gòu)造信息,包括將進(jìn)程控制塊鏈接起來(lái)的指針。

  進(jìn)程控制塊的作用

  進(jìn)程控制塊是操作系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu)。操作系統(tǒng)中的每個(gè)模塊,包括那些設(shè)計(jì)調(diào)度、資源分配、中斷處理、性能檢測(cè)和分析的模塊,都可能讀取或者修改進(jìn)程控制塊。

  進(jìn)程控制

  >>(1)執(zhí)行模式

  為了保護(hù)操作系統(tǒng)和重要的操作系統(tǒng)表不受用戶程序的干涉,操作系統(tǒng)通常使用兩種模式管理進(jìn)程:特權(quán)模式『也稱為系統(tǒng)模式(system mode)、控制模式(control mode)或者內(nèi)核模式 (kernel mode)』,和用戶模式。

  在內(nèi)核模式下,軟件具有對(duì)處理器及所有指令、寄存器和內(nèi)存的控制能力,這一級(jí)的控制對(duì)用戶程序不是必需的,并且為了安全也不是用戶程序可以訪問(wèn)的。

  >>(2)進(jìn)程創(chuàng)建

  操作系統(tǒng)一般安裝以下步驟創(chuàng)建進(jìn)程:

  給進(jìn)程分配一個(gè)唯一的進(jìn)程標(biāo)識(shí)符。此時(shí),主進(jìn)程表中增加一條新表項(xiàng),其對(duì)應(yīng)該進(jìn)程。

  給進(jìn)程分配空間。包括進(jìn)程映像中的所有元素。

  初始化進(jìn)程控制塊。進(jìn)程控制信息部分的初始化基于標(biāo)準(zhǔn)默認(rèn)值和為該進(jìn)程所請(qǐng)求的屬性。

  設(shè)置正確的連接。

  創(chuàng)建或者擴(kuò)充其他數(shù)據(jù)結(jié)構(gòu)。

  >>(3)進(jìn)程切換

  關(guān)于進(jìn)程切換,有著一些問(wèn)題。

  進(jìn)程什么時(shí)候進(jìn)程切換?

  執(zhí)行模式切換和進(jìn)程切換之間有什么區(qū)別?

  進(jìn)程切換時(shí),操作系統(tǒng)必須對(duì)它控制的各種數(shù)據(jù)結(jié)構(gòu)做什么?

  何時(shí)切換進(jìn)程

  通常,下列原因可能造成進(jìn)程切換。

  模式切換

  如果存在一個(gè)未處理的中斷,處理器會(huì)做以下工作:

  把程序計(jì)數(shù)器置成中斷處理程序的開始地址。

  從用戶模式切換到特權(quán)模式,使得中斷處理代碼可以包含有特權(quán)的指令。

  進(jìn)程的狀態(tài)變化

  如果當(dāng)前正在運(yùn)行的進(jìn)程被轉(zhuǎn)換到另外一個(gè)狀態(tài)(就緒、掛起等),則操作系統(tǒng)必須使其環(huán)境發(fā)生實(shí)質(zhì)性的變化:

  保存處理器的上下文環(huán)境,包括程序計(jì)數(shù)器和其他寄存器。

  更新當(dāng)前處于運(yùn)行態(tài)進(jìn)程的進(jìn)程控制塊,包括將進(jìn)程狀態(tài)改變到另外一個(gè)狀態(tài)。

  將進(jìn)程的進(jìn)程控制塊移到相應(yīng)的隊(duì)列。

  選擇另一個(gè)進(jìn)程執(zhí)行。

  更新所算則進(jìn)程的進(jìn)程控制塊。

  更新內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)。

  恢復(fù)處理器在被選擇的進(jìn)程最近一次切換出運(yùn)行狀態(tài)時(shí)的上下文環(huán)境。

【操作系統(tǒng)的主要功能】相關(guān)文章:

WINDOWS操作系統(tǒng)的主要功能02-24

操作系統(tǒng)的主要功能有哪些03-27

國(guó)產(chǎn)操作系統(tǒng)典范:deepin操作系統(tǒng)03-12

cpu的主要功能有哪些05-03

操作系統(tǒng)大全04-01

操作系統(tǒng)原理12-06

國(guó)產(chǎn)的操作系統(tǒng)04-24

LINUX操作系統(tǒng)05-27

LINUX操作系統(tǒng)01-22