關於作業系統程序

2021-08-11 18:05:44 字數 1066 閱讀 4041

訊號量的一些使用規則:

必須置一次且只能置一次初值

初值不能為負數

只能用於執行p、

v操作 若

s > 0,則

s代表還可以使用的資源數 若

s < 0,則s

表示等待佇列裡的程序數 p

操作代表請求乙個資源 v

操作代表釋放乙個資源

mutex:能否入場

mutex1:等待髮捲/是否學生已到齊

mutex2:開始考試/監考

mutex3:考試結束/收卷/交卷

mutex4:能否離場/卷子收齊封裝後離場

semaphore mutex,m1,m2,mutex1,mutex2,mutex3,mutex4;

mutex=1;m1=1;m2=1;mutex1=0;mutex2=0;mutex3=0;mutex4=1;

int stucount =0;

int *****count=0;

student(){

p(mutex);

入場;v(mutex);

p(m1);

stucount++;

if(stucount==n)

v(mutex1);

v(m1);

p(mutex2);

考試交卷;

p(m2);

*****count++;

if(*****count==n)

v(mutex3);

v(m2);

p(mutex4);

離場;v(mutex4);

void teacher(){

p(mutex);

入場;v(mutex);

p(mutex1);

髮捲;for(i=1;i<=n;i++)

v(mutex2);

p(mutex3);

p(mutex4);

封裝離場;

v(mutex4);

參考:

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...

作業系統 程序

程序是作業系統中的重要概念,描述了程式的執行資訊。乙個程序就是一次執行。可以把程式想象成類,程序就是例項。引入程序的概念有利於實現多程式並行的設計。每乙個程式執行的時候可以大致分為io任務和計算任務,如果乙個程序正在io,那麼應該把cpu讓給另乙個程序執行計算任務,這樣可以提公升cpu的利用率,這就...

作業系統程序

乙個程序就是乙個正在執行的程式。它包括 程序狀態。包括 每個程序在作業系統中用程序控制塊pcb來表示,用來儲存與該程序有關的各種狀態資訊。pcb只是基本原理中的說法,對於乙個真實的作業系統可能不叫pcb,比如linux中叫做任務結構體 task struct 分時系統是在程序之間快速切換,以便使用者...