《計算機作業系統》總結(二) 程序與執行緒

2022-06-07 04:36:09 字數 2104 閱讀 8956

程序是程式的一次執行過程;

程序是乙個程式及其資料在處理機上順序執行時所發生的活動;

程序是具有獨立功能的程式在乙個資料集合上執行的過程。程序是作業系統的資源分配的基本單位。

**程序是系統進行資源分配和排程的乙個獨立單位**

動態性:程序是程式的一次執行,它有著建立、活動、暫停、終止等過程,具有一定的生命週期,是動態地產生、變化和消亡的。動態性是程序最基本的特徵。

併發性:是指多個程序實體,同存在於記憶體中,能在一段時間內同時執行。併發性是程序的重要特徵,同時也是作業系統的重要特徵。

獨立性:是指程序實體是乙個能獨立執行、獨立獲得資源、獨立接收排程的基本單位。

非同步性:由於程序的相互制約,使程序具有執行的間斷性,即程序按各自獨立的、不可預知的速度向前推進。

結構性:每個程序都配置乙個pcb對其進行描述。

為了使參與併發執行的程式能獨立地執行,必須為之配置乙個專門的資料結構,即程序控制塊(pcb),系統利用pcb來描述程序的基本情況和執行狀態,進而控制和管理程序。

程序控制塊pcb儲存:程序狀態、程序性質、與程序有關的控制資訊、相應佇列、現場保護區域等。

建立程序:實質上是建立程序映像中的pcb;撤銷程序實質上是撤銷程序的pcb。

pcb是程序存在的唯一標誌。

**程式是程序執行所對應的執行**,乙個程序對應乙個程式,乙個程式可以同時對應多個程序**

**程序在執行過程中實際上是頻繁地轉換到就緒狀態**

程序之間的轉換如下:

為新程序分配乙個唯一的程序標識號,並申請乙個空白的pcb。(pcb有限,若pcb申請失敗則建立失敗)

為程序分配資源。為新程序的程式和資料、以及使用者棧分配必要的記憶體空間(若記憶體空間不足,則處於「等待狀態」,即等待記憶體資源)

初始化pcb。主要包括初始化標誌資訊、初始化處理機狀態資訊、初始化處理機控制資訊、設定程序的優先順序等。

如果成功就緒佇列能夠接納新程序,就將新程序插入到就緒佇列,等待被排程執行。

引起程序終止的事件有:

正常結束(表示程序的任務已經完成和準備退出執行);

異常結束(指程序在執行時,發生了某種異常事件,使程式無法繼續執行);

外界干預(指程序應外界的請求而終止執行,如操作員或作業系統干預、父程序請求、父程序終止等)

根據被終止程序的標誌符,檢索pcb,從中讀出該程序的狀態。

若被終止程序處於執行狀態,立即終止該程序的執行,將處理機資源分配給其他程序。

若該程序還有子程序,則應將其所有子程序終止。

將該程序所擁有的全部資源,或歸還給其父程序或歸還給作業系統。

將該pcb從所在佇列中刪除。

找到將要被阻塞的程序的標識號對應的pcb。

若該程序為執行狀態,則保護其現場,將其狀態轉換為阻塞狀態,停止執行。

把該pcb插入到相應事件的等待佇列中去。

**當被阻塞的程序所期待的事件出現時,則由有關程序呼叫喚醒原語,將等待該事件的程序喚醒**

在該事件的等待佇列中找到相應程序的pcb。

將其從等待佇列中移出,並置其狀態為就緒狀態。

把該pcb插入就緒佇列中,等待排程程式排程。

**block原語和wakeup原語是一對作用剛好相反的原語,必須成對使用**

切換程序的過程如下:

儲存處理機上下文,包括程式計數器和其他暫存器。

更新pcb。

把程序的pcb移入相應的佇列。

選擇另乙個程序執行,並更新其pcb。

更新記憶體管理的資料結構。

恢復處理機上下文。

**程序切換與處理機模式切換是不同的。模式切換時,處理機邏輯上可能還在同乙個程序中執行。但若切換程序,當前執行程序改變了,則當前程序的環境資訊也需要改變**

共享儲存:在通訊的程序之間存在一塊可以直接訪問的共享空間,通過對這片共享空間進行讀/寫操作實現程序之間的資訊交換。

訊息傳遞:若通訊的程序之間不存在可以直接訪問的共享空間,則必須利用作業系統提供的訊息傳遞方式實現程序通訊。程序通過系統提供的傳送訊息和接收訊息這兩個原語進行資料交換。

管道通訊:是訊息傳遞的一種特殊方式。是指用於連線乙個讀程序和乙個寫程序,以實現它們之間通訊的乙個共享檔案,又名pipe檔案。

計算機與作業系統 程序

作業系統中最核心的概念是程序,程序是對正在進行的程式的抽象。因為有了程序這個概念的存在,才讓cpu有了 偽 併發操作的能力。在任何多道程式設計系統中,cpu在多個程序中不斷的切換,每個程序執行幾十至幾百毫秒。嚴格來說,在某乙個瞬間,cpu只能執行乙個程序,而在1秒內,它可能執行多個程序,這就給人了一...

程序互斥與同步計算機作業系統 作業系統同步互斥大題

作業系統程序同步互斥問題 pv操作加訊號量來實現程序的同步互斥 解題步驟 首先要分析題目中近程的同步關係和互斥關係 同步關係用前v後p實現 互斥關係,一般都是對於乙個緩衝區或者本質上是緩衝區的變數進行訪問,這時候就要用pv操作將對於這個訊號量的訪問夾在中間 解題精髓就這兩句 下面以408 2009年...

計算機作業系統總結篇

os的乙個巨集觀比喻 計算機是如何工作的?os是如何啟動的?os的目的和功能 os的發展 os的執行機制 os的特徵 os的體系結構 程序管理 筷子 cpu 記憶體管理 圓桌 記憶體卡 檔案管理 冰箱 磁碟 io管理 門 外設 我們可以將qq google lol 網易雲理解為乙個個小人 程序 他們...