程序是程式的一次執行過程;
程序是乙個程式及其資料在處理機上順序執行時所發生的活動;
程序是具有獨立功能的程式在乙個資料集合上執行的過程。程序是作業系統的資源分配的基本單位。
**程序是系統進行資源分配和排程的乙個獨立單位**
動態性:程序是程式的一次執行,它有著建立、活動、暫停、終止等過程,具有一定的生命週期,是動態地產生、變化和消亡的。動態性是程序最基本的特徵。
併發性:是指多個程序實體,同存在於記憶體中,能在一段時間內同時執行。併發性是程序的重要特徵,同時也是作業系統的重要特徵。
獨立性:是指程序實體是乙個能獨立執行、獨立獲得資源、獨立接收排程的基本單位。
非同步性:由於程序的相互制約,使程序具有執行的間斷性,即程序按各自獨立的、不可預知的速度向前推進。
結構性:每個程序都配置乙個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 網易雲理解為乙個個小人 程序 他們...