一 需求分析
用高階語言編寫程式,模擬實現乙個簡單功能的作業系統。
實現作業排程(先來先服務)、程序排程功能(時間片輪轉)
實現記憶體管理功能(連續分配)
實現檔案系統功能(選做內容)
這些功能要有機地連線起來
二 程式設計
2.1 演算法簡介
先來先服務演算法:
如果早就緒的程序排在就緒佇列的前面,遲就緒的程序排在就緒佇列的後面,那麼先來先服務(fcfs: first come first service)總是把當前處於就緒佇列之首的那個程序排程到執行狀態。也就說,它只考慮程序進入就緒佇列的先後,而不考慮它的下乙個cpu週期的長短及其他因素。fcfs演算法簡單易行,但效能卻不大好。
時間片輪轉演算法:
時間片輪轉排程是一種最古老,最簡單,最公平且使用最廣的演算法。每個程序被分配乙個時間段,稱作它的時間片,即該程序允許執行的時間。如果在時間片結束時程序還在執行,則cpu將被剝奪並分配給另乙個程序。如果程序在時間片結束前阻塞或結束,則cpu當即進行切換。排程程式所要做的就是維護一張就緒程序列表,當程序用完它的時間片後,它被移到佇列的末尾。
動態分配演算法:
主要演算法有首次適應演算法、迴圈首次適應演算法、最壞適應演算法、最佳是適應演算法等,是一種具有較高效能的記憶體分配演算法。
C 開發基於Windows錄屏小軟體!
許久沒有寫部落格了,最近由於公司競標需要,之前使用的第三方錄屏軟體,不是收費限制 就是錄屏時長限制,而且2k 4k螢幕不能很好的相容錄製,於是我自己隨手寫了個基於windows錄屏小軟體 2 可錄製windows音訊 3 可錄製windows麥克風 4 可暫停 繼續錄製滿足客製化需求 相信這個需求也...
C語言在windows下開發環境的搭建
找到mingw32 gcc g 注意class屬性要為bin 右鍵點選mark for installation。下面耐心等待程式的安裝。安裝完成後關閉包管理器,如果由於某種原因安裝未能成功,在退出程式前程式將給予提示,選擇review changes選項重新安裝即可。開啟控制面板 系統 高階系統設...
基於C 開發的2048
昨天花了一晚上的時間寫了乙個過氣的小遊戲 2048,一直到晚上十二點多才把鍵盤響應事件寫好,感覺自己的腦子不行,還要再補補。先來一波執行的效果 主要演算法,可以實現不同邊長的2048 2private void up 316 17 18 19 20private void up remove bla...