分析程序爭用臨界資源的現象,學習解決程序互斥的方法。
linux****程序控制 lockf()
利用系統呼叫lockf(fd,mode,size),對指定區域(有size指示)進行加鎖或解鎖,以實現程序的同步或互斥。其中,fd是檔案描述字;mode是鎖定方式,mode=1表示加鎖,mode=0表示解鎖;size是指定檔案fd的指定區域,用0表示從當前位置到檔案結尾(注:有些linux系統是locking(fd,mode,size))
首先是在父程序中建立了乙個子程序,子程序需要輸出文字資訊,並且在輸出語句執行之前,將標準輸出裝置鎖住,在輸出語句執行之後,將標準輸出裝置解鎖。同樣,父程序也是要輸出文字資訊,對標準輸出的操作同子程序。這樣做能夠防止父程序和子程序競爭標準輸出(螢幕)資源,即如果父程序正在進行螢幕列印操作,則子程序將無法獲得螢幕。
作業系統實驗三
name procnque.c 程序排程模擬實驗原始碼 儲存結構鍊錶 description 實現乙個有 n級佇列的多級反饋佇列排程演算法。include stdio.h include include define getpch type type malloc sizeof type defin...
作業系統實驗三 (1)
作業系統課程設計 三 1 實現乙個模擬shell 編寫三個不同的程式 cmd1.c,cmd2.c,cmd3.c,每個程式輸出一句話,分別編譯成可執行檔案cmd1,cmd2,cmd3。然後再編寫乙個程式,模擬shell程式的功能,能根據使用者輸入的字串 表示相應的命令名 去為相應的命令建立子程序並讓它...
作業系統實驗
一 實驗目的 理解vi的三種執行模式及其切方法。學會使用vi的各種操作命令進行文字檔案的編輯。用vi編寫linux下c程式,會用gcc編譯。二 實驗環境 一台裝有linux的機器 這裡預設是red hat linux 9 系統裡面有gcc編譯器。三 實驗內容 寫出主要的內容 首先用合法使用者登入系統...