1.實驗內容
學習程序管理的設計與實現,學習和運用作業系統原理,設計乙個作業系統子系統的模擬系統。通過該系統的設計除錯可增加對作業系統實現的感知性。設計乙個允許n個程序併發執行的程序管理的模擬系統。該系統包括簡單的程序控制、同步及通訊機構,其程序排程演算法可任意選擇。分析系統所需的資料結構、演算法的流程以及劃分各個功能模組。
2.實驗原理
程序管理包括程序的建立、控制、阻塞、喚醒與撤消。程序在執行過程中狀態在不斷的變化。程序執行過程中,因為競爭資源而需對它們進行同步控制。所有這些在作業系統中用資料結構pcb來記錄,系統通過pcb控制程序的執行。
在單處理機系統中,多道程式的引入,需要程序的排程程式來選擇乙個程序進行執行。比如常用的先來先服務、短程序優和優先順序優先等等,也可以選擇它們的結合排程演算法。
1、實驗內容
通過乙個簡單的二級檔案系統設計,加深對檔案系統的內部功能以及內部實現的理解。要求模擬採用二級目錄結構的磁碟檔案系統的檔案操作能實現以下幾條命令,用輸入命令來模擬使用者程式中呼叫的檔案操作:
2、實驗原理
檔案系統管理中用到的資料結構有:
首先應確定檔案系統的資料結構:主目錄、子目錄及活動檔案等。主目錄和子目錄都以檔案的形式存放於磁碟,這樣便於查詢和修改。
具體要求:
模擬**請求分頁排程演算法opt、fifo、lru、clock等模擬頁面排程演算法,並提供效能比較分析功能。通過編寫和除錯儲存管理的模擬程式以加深對儲存管理方案的理解。通過編寫和除錯位址轉換過程的模擬程式以加強對位址轉換過程的了解。
具體要求:程式設計序實現下述磁碟排程演算法,並求出每種演算法的平均尋道長度,
先來先服務演算法(fcfs)
最短尋道時間優先演算法(sstf)
掃瞄演算法(scan)
迴圈掃瞄演算法(cscan)
實驗內容:
m個併發程序,p1,p2,……pm;他們共享n類資源,通過銀行家演算法在資源分配前檢測是否安全,在安全的前提下進行分配,避免死鎖的產生。
具體要求:
實現銀行家演算法,能判斷系統的安全狀態,避免系統死鎖。
能顯示每個程序的當前分配狀況,能顯示系統空閒的資源數量。
能輸入或自動產生資源請求,並利用銀行家演算法進行分配。
具體要求:
程序的建立和控制
程序的軟中斷通訊
程序的管道通訊
具體要求:
使用多執行緒和訊號量機制實現經典的讀者寫者問題,每個執行緒代表乙個讀者或乙個寫者。每個執行緒按照相應測試資料檔案的要求進行讀寫操作。請用訊號量機制分別實現讀者優先和寫者優先的讀者-寫者問題。
具體要求:
設計乙個sp00ling輸出程序和兩個請求輸出的使用者程序,以及乙個sp00ling輸出服務程式。當請求輸出的使用者程序希望輸出一系列資訊時,呼叫輸出服務程式,由輸出服務程式將該資訊送入輸出井。待遇到乙個輸出結束標誌時,表示程序該次的輸出檔案輸出結束。之後,申請乙個輸出請求塊(用來記錄請求輸出的使用者程序的名字、資訊在輸出井中的位置、要輸出資訊的長度等),等待sp00ling程序進行輸出。
要求:設計乙個完整的程序排程系統,系統中至少包括5個程序;
定義pcb,在pcb中定義程序的初始優先權(用整數表示);
採用鍊錶管理就緒佇列;
結果要能夠顯示出程序的排程序列及初始優先權、響應比等必要資訊
設計的輸入資料要能體現演算法的思想
要求:設計**佇列,每一佇列至少三個程序;
定義pcb
為每一佇列設定不同的時間片,後一佇列通常是前一佇列的2倍,依次類推
採用鍊錶管理就緒佇列;
結果要能夠顯示出程序的排程過程
要求:建立一張分割槽說明表;
至少提供4個作業;
模擬作業的分配過程;
模擬作業的**過程
能夠顯示每一次分配和**的結果
要求:要求:
要求:要求:
要求:要求:
要求:要求:
要求:要求
要求:設計乙個小型的作業系統,重點關注介面處的設計,主要包括開啟檔案(檔案管理)、為檔案分配記憶體(儲存管理,選擇任意的記憶體分配方法)和程序排程(處理機管理,選擇任意的排程演算法),至少3個程序。
要求:建立相應的資料結構,程式設計實現哲學家進餐的過程。
要求:實現乙個linux任務管理器介面操作 可檢視當前系統程序並且可以簡單的管理程序
要求:
作業系統課程設計
實驗 一 程序管理與程序同步 實驗目的 了解程序管理的實現方法,理解和掌握處理程序同步問題的方法並完成程式設計。實驗內容 實現銀行家演算法 程序排程的過程模擬。實驗步驟 理解銀行家演算法的核心機制 設計相應資料結構 程式設計實現 測試。理解程序的三狀態排程過程 設計排程演算法 程式設計實現 測試。實...
作業系統課程設計 模擬作業系統
程序管理主要包括程序排程,程序的建立和撤銷 程序的阻塞和喚醒,中斷作用的實現。用全域性變數模擬重要暫存器,如cpu重要暫存器,程式狀態暫存器psw 指令暫存器ir,程式計數器pc,資料緩衝暫存器dr等。中斷的發現應該是硬體的工作,這裡在函式cpu中加檢測psw的方式來模擬。在cpu 函式中,每執行一...
作業系統課程設計題目
1.shell 程式設計實驗 實驗 編寫乙個shell指令碼檔案 e 1 自學命令 cut,grep,sort,test。編寫shell指令碼,將以下檔案d1和d2集成為檔案d3。e 2 編寫兩個shell 指令碼s1,s2,s1能夠啟動3個程序,程序名稱分別為a,b,c,每個程序的 如下 int ...