14-15-2操作系統(tǒng)原理實驗報告(計131、132)(新)_第1頁
14-15-2操作系統(tǒng)原理實驗報告(計131、132)(新)_第2頁
14-15-2操作系統(tǒng)原理實驗報告(計131、132)(新)_第3頁
14-15-2操作系統(tǒng)原理實驗報告(計131、132)(新)_第4頁
14-15-2操作系統(tǒng)原理實驗報告(計131、132)(新)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)原理實驗報告 2014-2015學年 第2學期操作系統(tǒng)原理實驗報告學 院: 信息與電子工程學院 專 業(yè): 計算機科學與技術 班 級: 計算機130班 學 號: 1130299000 姓 名: 某某某 浙江科技學院2014-2015學年 第2學期實驗1 進程管理一、實驗目的1. 弄清進程和程序的區(qū)別,加深對進程概念的理解。2. 了解并發(fā)進程的執(zhí)行過程,進一步認識并發(fā)執(zhí)行的實質。3. 掌握解決進程互斥使用資源的方法。二、實驗內容1. 管道通信使用系統(tǒng)調用pipe( )建立一個管道,然后使用系統(tǒng)調用fork( )創(chuàng)建2個子進程p1和p2。這2個子進程分別向管道中寫入字符串:“Child pr

2、ocess p1 is sending message!”和“Child process p2 is sending message!”,而父進程則從管道中讀出來自兩個子進程的信息,并顯示在屏幕上。2. 軟中斷通信使用系統(tǒng)調用fork( )創(chuàng)建2個子進程p1和p2,在父進程中使用系統(tǒng)調用signal( )捕捉來自鍵盤上的軟中斷信號SIGINT(即按Ctrl-C),當捕捉到軟中斷信號SIGINT后,父進程使用系統(tǒng)調用kill( )分別向2個子進程發(fā)出軟中斷信號SIGUSR1和SIGUSR2,子進程捕捉到信號后分別輸出信息“Child process p1 is killed by parent!

3、”和“Child process p2 is killed by parent!”后終止。而父進程等待2個子進程終止后,輸出信息“Parent process is killed!”后終止。三、實驗要求1. 根據實驗內容編寫C程序。2. 上機調試程序。3. 記錄并分析程序運行結果。四、程序說明和程序流程圖五、程序代碼六、程序運行結果及分析實驗2 線程管理一、實驗目的1. 弄清線程與進程的區(qū)別,加深對線程概念的理解。2. 了解并發(fā)線程的調度和執(zhí)行過程,進一步理解線程同步機制。3. 掌握多線程編程的基本方法。二、實驗內容生產者與消費者問題(Producer-consumer problem),或稱

4、有限緩沖區(qū)問題(Bounded-buffer problem),是一個多線程/進程同步問題的經典案例。該問題描述了共享固定大小緩沖區(qū)的兩類線程:即“生產者”線程和“消費者”線程在實際運行時會發(fā)生的問題。生產者的主要作用是生成一定量的數據(產品)放入緩沖區(qū)中,然后重復此過程。與此同時,消費者從緩沖區(qū)中取出數據并消耗。解決該問題的關鍵是如何保證生產者不會在緩沖區(qū)滿時放入數據,而消費者也不會在緩沖區(qū)中空時消耗數據。使用POSIX thread庫函數pthread_create創(chuàng)建若干個(至少2個)生產者線程和1個或若干個消費者線程,利用POSIX線程同步機制互斥鎖和條件變量實現(xiàn)生產者線程和消費者線程

5、的同步。三、實驗要求1. 根據實驗內容編寫C程序。2. 上機調試程序。3. 記錄并分析程序運行結果。四、程序說明和程序流程圖五、程序代碼六、程序運行結果及分析實驗3 進程通信一、實驗目的1. 了解進程間通信IPC的三種方式:消息隊列、共享內存和信號量。2. 掌握使用消息隊列進行進程間通信的有關系統(tǒng)調用和編程方法。3. 掌握使用共享內存進行進程間通信的有關系統(tǒng)調用和編程方法。二、實驗內容1. 消息隊列使用系統(tǒng)調用msgget( )、msgsnd( )、msgrcv( )和msgctl( ),用消息隊列機制實現(xiàn)客戶進程和服務器進程間的通信??蛻暨M程首先建立一個描述符為msgqid的消息隊列,接著向

6、服務器進程發(fā)送一個消息正文為自己的進程標識pid且類型為1的消息,然后接收來自服務器進程的消息,并在屏幕上顯示:“Client receives a message from xxxx!”,其中“xxxx”為服務器進程的進程標識。服務器進程首先捕捉軟中斷信號(除不能捕捉的SIGKILL),若捕捉到時則調用函數cleanup( )刪除消息隊列,終止服務器進程。否則重復下列操作:接收所有類型為1的消息,并在屏幕上顯示:“Server receives a message from xxxx!”,其中“xxxx”為客戶進程的進程標識;然后服務器進程將客戶進程的進程標識作為返回消息的類型,而將自己的進

7、程標識作為消息正文發(fā)送給客戶進程。2. 共享內存使用系統(tǒng)調用shmget( )、shmat( )和shmctl( ),用共享內存機制實現(xiàn)進程間的通信。其中一個進程向共享內存中寫入數據,另一個進程從共享內存中讀出數據并顯示在屏幕上。三、實驗要求1. 根據實驗內容編寫C程序。2. 上機調試程序。3. 記錄并分析程序運行結果。四、程序說明和程序流程圖五、程序代碼六、程序運行結果及分析實驗4 存儲管理一、實驗目的1. 了解虛擬存儲管理技術的原理與特點。2. 掌握請求頁式存儲管理的頁面置換算法。二、實驗內容1. 通過隨機數產生一個指令序列,共320條指令。指令的地址按下述原則生成:(1) 50%的指令是

8、順序執(zhí)行的;(2) 25%的指令均勻分布在前地址部分;(3) 25%的指令均勻分布在后地址部分。實現(xiàn)方法:(1) 在0,319的指令地址中隨機選取一起點s;(2) 執(zhí)行指令s;(3) 順序執(zhí)行一條指令,即執(zhí)行地址為s+1的指令;(4) 在前地址0,s中隨機選取一條地址為m的指令執(zhí)行;(5) 順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;(6) 在后地址m+2,319中隨機選取一條指令s;(7) 重復(2)(6),直到執(zhí)行320次指令。2. 將指令序列變換為頁地址流,設:(1) 頁面大小為1K;(2) 用戶內存容量為432頁面(page frame);(3) 用戶虛存容量為32K(即32頁)。若10條指令為1頁,則320條指令在虛存中的存放方式為:第0頁(虛存地址0,9)第0條第9條指令;第1頁(虛存地址10,19)第10條第19條指令; 第31頁(虛存地址310,319)第310條第319條指令。3. 計算并輸出下列算法在不同內存容量下的命中率(命中率=1-缺頁率)。(1) FIFOFirst In First Out Page Replacement Algorithm(2) L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論