作業系統原理學習 第三週(下) 程序

2021-09-24 18:40:34 字數 2806 閱讀 9546

3-5 程序操作

1.程序控制

①程序有生命週期:產生、執行、暫停、終止。對程序的這些操作叫程序控制。

②程序控制的職責是對系統中程序實施有效的管理,它是cpu的管理的一部分(還有程序同步、通訊和排程)。

③當系統允許多程序併發執行時,為了實現共享,協調併發程序的關係,處理機管理必須對進場實施有效的管理。

2.程序建立的情況

①作業排程:在批處理系統中,作業排程程式排程到某個作業以後,就把這個作業裝入記憶體,並分配必要的資源,建立程序,插入就緒佇列。

②使用者登入:在分時系統中,使用者在終端鍵入登入命令後,若是合法使用者,系統建立乙個程序,並插入就緒佇列。

③提供服務:使用者向系統提出請求後,系統專門建立乙個程序為使用者服務(如列印請求)。

④應用請求:應用程序的需要,由它自己建立乙個新程序,使新程序以併發執行的方式完成特定的任務。(如輸入資料並將處理結果輸出到**上)。

3.典型的unix系統中的程序樹

父程序建立了子程序,如此輪流建立程序下去,構成一棵程序樹。

4.程序建立的問題

①資源共享 resource sharing,三種可能:

②執行 execution

③位址空間 address space

3-6 程序建立

1.程序建立 unix例子 process creation

①在unix中使用者鍵入乙個命令(如date,ps,ls),shell就建立乙個程序。

②fork系統呼叫建立新程序。

③在fork之後採用ececlp系統呼叫用乙個新程式代替程序的記憶體空間。

2.程序終止 process termination

①程序執行最後一項並詢問作業系統做出決定,從子程序向父程序輸出資料,作業系統收回程序的資源。

②父程序可中止子程序的執行(終止)的情況:

3.程序阻塞 process blocking

乙個處在執行狀態的程序,因等待某個事件發生(如等待印表機)而不能繼續執行時,將呼叫阻塞原語,把程序置為阻塞狀態,並轉程度排程程式(等於讓出處理機)。

呼叫程序阻塞操作是程序處於執行狀態下執行的,它的執行將引起等待某事件的佇列的改變。

4.程序喚醒

①當程序所等待的事件發生時,該程序將被喚醒(由程序喚醒操作完成)。

②喚醒乙個程序有兩種方法:

3-7 程序通訊:共享儲存

生產者——消費者問題

思考問題:緩衝區buffer容量為n,為什麼至多n-1可用?

3-8 訊息傳遞

1.若p與q要通訊:

①建立通訊連線

②通過send/receive交換資訊

2.連線的問題

①連線如何建立

②連線可同多於兩個程序相關嗎? can a link be associated with more than two processes?

③每對通訊程序有多少連線?

④乙個連線的容量是多少?

⑤連線可使用的固定訊息大小?或可變訊息的大小?

⑥連線是雙向的還是無向的。

3.直接通訊

①程序必須是顯示的命名

send(p,message) 向p發資訊

receive(p,message) 從程序q接收訊息

②通訊連線的特性:

③非對稱通訊 asymmetric communication

傳送資訊 send(p,message)

接收 receive(id,message) 不指定接收方

4.間接通訊

①訊息導向至信箱,並從信箱接收(被視作埠)

每乙個信信箱有乙個唯一的id

僅當共享乙個信箱時,程序才能通訊

②send(a,message)  從信箱a發出

receive(a,message) 從a接收

③特性5.操作 operation

6信箱共享

p1傳送訊息到信箱a,p2和p3都可以接收資訊,誰收到資訊不確定

解決方案:

7.同步與非同步 synchronization and asynchronization

①同步②非同步8.緩衝

訊息佇列附加在連線上,有以下三種實現方案:

①零容量——0訊息 傳送者必須等待接收者

②有界容量——n個訊息有限長度 若連線滿了,傳送者必須等待

③無界容量——無限長度 傳送者從不等待

**:

作業系統原理學習筆記(三)

7.3.5頁面淘汰 1.頁面抖動 頁面在記憶體和輔存之間頻繁交換的現象 抖動 會導致系統效率下降 2.最佳演算法 opt 淘汰以後不再需要或最遠的將來才會用到的頁面 3.先進先出淘汰演算法 fifo演算法 該演算法存在異常現象 belady現象 對於特定的訪問序列,可能缺頁率隨著分配的頁框數量增多而...

作業系統原理學習筆記 程序管理

標籤 資料結構 primitive 儲存演算法 io作業 舉報分類 os 4 程序管理 程序的引入 程式併發執行 程序的概念 程序的特徵 引入程序帶來的問題 程序的結構 pcbpcb的組織方式 pcb多級佇列 程序的狀態 程序的五狀態 問題 多個程序競爭記憶體資源 解決方法 對換技術,交換技術 程序...

作業系統原理學習(第一周) 作業系統概述

1.為什麼要有作業系統 硬體難用,只能識別0和1 為了覆蓋硬體 2.cpu心臟 作業系統 大腦 控制中心 3.what is an operating system it is a program that manages the computer hardware 硬體上的第一層軟體,是對硬體的首...