作業系統課程設計感受
歷時兩週的課程設計結束了,我把所有的感受都記錄在這裡。
課程設計剛開始的幾天,我處在乙型流感和病毒性皰疹的折磨之中,這時候,躺在病床上無法下手敲程式碼,不過因禍得福,我靜下心來做計劃,使用軟體工程中學到的設計方法一點一點的設計程式,那個時候我把所有的想法都記在了課程設計的一個專用本上,大概寫了有六七頁,所有用到的函式,甚至每一個變數的名字,每一個控制元件的名字都記了下來,我大部分的創新點,程式的結構,都是在那個時候都設計好了,雖然哪些創新點現在看來只是程式中的基本功能,或者說已經與基本功能融合在一起了,現在想起那幾天,雖然很折磨人,但確實治好了我過去經常急於寫程式碼的毛病。
大病初癒,開啟電腦,第一件事不是建專案,而是開msdn,翻閱文件,那個時候我發現微軟的C#在某些方面確實做得沒有JAVA優秀,在這裡舉一例:訊號量(Semaphore)在兩種語言裡都已經封好了,但是我在使用的時候,有一個需求是,根據執行緒被阻塞的順序喚醒執行緒,也就是FIFO,但是我在C#中沒有找到相應的方法,在JAVA中倒是有公平模式。但是最後我還是使用了C#作為程式語言,原因是因為這門語言曾經系統的學習過。
文件看得差不多了,決定開始寫程式碼,因為這時候第一週已經幾乎結束了,同學們也都有所進展,而我還沒開始敲,不免有所慌張。我寫程式碼的速度有些超乎我的預料,兩天的時間就把基本功能和我想到的創新點都寫完了,我把它歸功於我所使用的軟體工程的方法。接下來,我開始修改已有的方法,能自己實現的就不用現成的,我覺得程式結束的方法不合理,於是我就寫了一個我認為合理的停止方法,這個方法幾乎是現實世界中工廠工作的完美對映,在這裡簡述:首先,暫停方法中,我使用了一個過時的方法,suspend(),因為這個方法恰好滿足我的需要,就好比工廠中,大家都在幹活,某些工人手裡正在上螺絲,老大喊一聲”停一下”,這時候,大家不是急著吧螺絲上完,然後完成一個車輪,而是放下螺絲刀,聽他講完,然後繼續幹。但是在停止時,強制停止未免有些不合邏輯,這裡說的是對所有執行緒使用Abort()方法,按道理來說,假設今天的工作結束了,工人應該至少把手裡的工作完成在退出,拿worker3舉例子,他可能在取完零件就停下,或者組裝完車子再停下,或者把車子送達後在停下,這都是合情合理的,但是如果讓他送車子到一半,就停下,是很不合理的。這個功能我想了好久,實現它也不是很輕鬆,大概用了整整一天的時間來設計吧,實現之後還是很開心的,畢竟我認為是比較好的處理方式。
之後,就是寫各種博人眼球的功能,想的是核心寫好了,外殼也要充實一點,畢竟我把老師那句“強核心,柔外殼”記得很牢固。到這裡,課程設計也就要結束了,收穫很大,很充實的兩週,感謝申老師以及穆老師的指導,有些憋在心裡的功能在假期裡會一一實現,爭取發現更多問題,學到更多知識。
相關文章
- 作業系統課程實踐報告作業系統
- 作業系統精髓設計原理 程式排程作業系統
- 課程排課系統:智慧排課+線上約課+直播上課+作業打卡!
- 為什麼要學習作業系統課程?作業系統
- 學生資訊管理系統課程設計
- Java作業系統課設之模擬程式管理系統Java作業系統
- 系統設計:如何設計一個分散式作業排程器 ?- Rakshesh分散式
- 程式設計作業——系統管理程式設計
- 資料庫課程設計-宿舍管理系統資料庫
- 作業系統課程設計——處理機和程式排程演算法及記憶體分配回收機制作業系統演算法記憶體
- 學生成績管理系統——課程設計報告
- javaweb課程設計之XXX管理系統JavaWeb
- 【C++課程設計】通訊錄管理系統C++
- 資料結構課程設計-宿舍管理系統資料結構
- C++課程設計:學生資訊管理系統C++
- 計算機作業系統|作業系統引論計算機作業系統
- 5分鐘課程:物聯網的系統設計
- 系統分析設計小組作業1
- 計算機作業系統教程 2 作業系統概述計算機作業系統
- Linux是什麼作業系統?Linux運維課程難嗎?Linux作業系統運維
- 軟體工程課程小作業軟體工程
- 課程管理系統
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- 【作業系統】--處理器排程作業系統
- 作業系統排程演算法作業系統演算法
- 資料結構課程設計——學生資訊管理系統資料結構
- 【C語言課程設計】學生學籍管理系統C語言
- Linux作業系統之Shell程式設計Linux作業系統程式設計
- 作業系統實驗(一)-Shell程式設計作業系統程式設計
- 軟體設計師25-作業系統作業系統
- 團隊作業——系統設計(人月神教)
- 作業系統實驗1 Shell程式設計作業系統程式設計
- 資料庫課程作業筆記資料庫筆記
- 課程報名 | 監控系統怎麼設計,才能高可用?
- Java圖書管理系統,課程設計必用(原始碼+文件)Java原始碼
- docker作業系統的攢建過程Docker作業系統
- 作業系統之排程演算法作業系統演算法
- 作業系統動態庫呼叫過程作業系統