<bdo id="cmp0s"></bdo>
    <ol id="cmp0s"></ol>
  1. <tr id="cmp0s"></tr>

    <abbr id="cmp0s"><menu id="cmp0s"><input id="cmp0s"></input></menu></abbr>
    <blockquote id="cmp0s"><strike id="cmp0s"></strike></blockquote>

  2. 国产三级久久精品三级,亚洲成在人线在线播放无码 ,91精品国产自产在线老师啪l,中文字幕免费不卡在线视频,高清欧美性猛交xxxx黑人猛交 ,亚洲bt欧美bt精品,婷婷网址,真实国产乱子伦对白在线播放

    操作系統(tǒng)原理

    時間:2021-01-11 15:05:16 操作系統(tǒng)

    操作系統(tǒng)原理

      進程概念是現(xiàn)在操作系統(tǒng)的基本概念,已經(jīng)成為計算機科學中的一大成就。下面是小編分享的相關(guān)內(nèi)容,歡迎閱讀參考。

      什么是進程?

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

      資源對多個應用程序是可用的;

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

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

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

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

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

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

      標識符:進程的唯一標識符,用來區(qū)別其他進程

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

      優(yōu)先級:相對于其他進程的優(yōu)先級

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

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

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

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

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

      進程狀態(tài)

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

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

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

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

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

      >>(1)被掛起的進程

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

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

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

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

      當操作系統(tǒng)從掛起隊列中取出一個依然阻塞的進程是毫無意義的,因為它仍然沒有準備好執(zhí)行。所以為了區(qū)分被掛起的進程哪些是可以取出的,需要設(shè)計另外一種掛起模型:

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

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

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

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

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

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

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

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

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

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

      除了因為提供更多的內(nèi)存空間,進程還會因為什么原因被掛起呢?

      在所有這些導致進程掛起的情況中,掛起進程的活動都是由最初請求掛起的代理請求的。

      進程描述

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

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

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

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

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

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

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

      分配給進程的外存

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

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

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

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

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

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

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

      進程位置

      想一個最基本的問題:進程的物理表示是什么?

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

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

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

      進程屬性

      操作系統(tǒng)所需要的'每個進程信息的簡單分類:

      進程標識信息

      進程狀態(tài)信息

      進程控制信息

      所有的操作系統(tǒng)中,每個進程都分配了唯一的一個數(shù)字來表示進程標識符。除此之外, 還分配一個用戶標識符,用于表明擁有該進程的用戶。

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

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

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

      進程控制塊的作用

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

      進程控制

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

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

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

      >>(2)進程創(chuàng)建

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

      給進程分配一個唯一的進程標識符。此時,主進程表中增加一條新表項,其對應該進程。

      給進程分配空間。包括進程映像中的所有元素。

      初始化進程控制塊。進程控制信息部分的初始化基于標準默認值和為該進程所請求的屬 性。

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

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

      >>(3)進程切換

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

      進程什么時候進程切換?

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

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

      何時切換進程

      通常,下列原因可能造成進程切換。

      模式切換

      如果存在一個未處理的中斷,處理器會做以下工作:

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

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

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

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

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

      更新當前處于運行態(tài)進程的進程控制塊,包括將進程狀態(tài)改變到另外一個狀態(tài)。

      將進程的進程控制塊移到相應的隊列。

      選擇另一個進程執(zhí)行。

      更新所算則進程的進程控制塊。

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

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


    【操作系統(tǒng)原理】相關(guān)文章:

    操作系統(tǒng)原理常識08-11

    操作系統(tǒng)概述08-09

    操作系統(tǒng)的種類01-26

    Windows操作系統(tǒng)技巧07-25

    電腦操作系統(tǒng)類型08-04

    windows xp操作系統(tǒng)08-15

    常見的電腦操作系統(tǒng)08-17

    操作系統(tǒng)試題及答案07-26

    windows操作系統(tǒng)的特點06-09

    主站蜘蛛池模板: 中国精学生妹品射精久久| 国产精品久久久久9999无码| 午夜AV色网| 中文字幕日韩一区二区不卡| 亚洲国产精品老熟女乱码| 久久人爽人人爽人人片av| 综合国产av一区二区三区| 国产亚洲精品久久19p| 久久亚洲熟女cc98cm| 亚洲精品国产一区二区精华液| 国产屁屁影院| 亚洲熟妇少妇任你躁在线观看| 全国最大成人网| 婷婷色色五月天| 亚洲欧美激情精品一区二区| 亚洲最大成人网色| 国产黄色自拍视频| 久久美腿av| 免费人成在线观看VR网站| 精品国际久久久久999波多野| 中文字幕无码Av在线看| 女人18毛片久久| 人妻系列在线免费视频| 福利在线不卡| 人妻夜夜爽天天爽三区麻豆av网站| 亚洲中文字幕日产无码成人片| 国模偷拍视频一区二区| 夜鲁鲁鲁夜夜综合视频欧美| 国产亚洲精品AA片在线爽| 中国XXXX色视频| 国产偷抇久久精品a片69| 少妇综合久久中文字幕| 日本视频久久| 亚洲欧美手机在线| 亚洲色成人www永久网站 | 色性av| 不卡不卡?欧美一区?在线| 午夜在线观看免费线无码视频| 97人妻碰免费视频| 中文字幕av久久爽一区| 欧美激情第一欧美精品图片一|