操作系統課程設計報告2_第1頁
操作系統課程設計報告2_第2頁
操作系統課程設計報告2_第3頁
操作系統課程設計報告2_第4頁
操作系統課程設計報告2_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設 計設計題目: 作業調度 課程設計任務書一、課程設計的原始資料及依據查閱有關計算機操作系統的教材、實驗指導書等資料,進一步熟悉操作系統的基本原理,算法的設計思想。作業調度是批處理操作系統中的重要內容。本設計要求用高級語言編寫和調試一個簡單的作業調度程序。通過本設計可以加深理解有關作業控制塊、作業隊列的概念,并體會和了解先來先服務、短作業優先和響應比高者優先作業調度算法的具體實施辦法。加深理解有關作業控制塊、作業隊列的概念和狀態轉換。二、課程設計主要內容及要求1認真閱讀資料,掌握作業調度的原理和相關算法的思想。2要求在設計的過程中,建立清晰的層次結構。3畫出主要的功能結構圖和主要算法的

2、流程圖。4設計作業控制塊jcb表結構,分別適用于先來先服務、短作業優先和響應比高者優先調度算法。 jcb結構通常包括以下信息:作業名,作業到達系統的時間,作業要求服務時間,作業的完成時間等。根據調度算法的不同,jcb結構的內容可以作適當的增刪。5建立作業并送入后備隊列。對兩種不同算法編制入鏈子程序。6分別顯示三種不同算法下,后備隊列中所有的作業排列情況。7編制作業調度算法:先來先服務、短作業優先和響應比高者優先調度算法。8顯示根據不同調度算法形成的作業調度順序。9運行程序,檢查結果是否和理論值一致。10環境可以使用windows,turbo c環境或linux。三、對課程設計說明書撰寫內容、格

3、式、字數的要求1課程設計說明書是體現和總結課程設計成果的載體,主要內容包括:設計題目、設計目的、設備器材、設計原理及內容、設計步驟、遇到的問題及解決方法、設計總結、參考文獻等。一般不應少于3000字。2在適當位置配合相應的實驗原理圖、功能模塊圖、算法流程圖等圖表進行說明。應做到文理通順,內容正確完整,書寫工整,裝訂整齊。3設計總結部分主要寫本人完成工作簡介以及自己的設計體會,包括通過課程設計學到了什么,哪里遇到了困難,解決的辦法以及今后的目標。4課程設計說明書手寫或打印均可。手寫要用學校統一的課程設計用紙,用黑或藍黑墨水工整書寫;打印時采用a4紙,頁邊距均為20mm,正文采用宋體小四號字,行間

4、距18磅。文中大標題采用黑體小三號字,一級節標題采用黑體四號字,二級節標題采用黑體小四號字,表題與圖題采用宋體五號字。5課程設計說明書裝訂順序為:封面、任務書、成績評定表、目錄、正文、參考文獻。四、設計完成后應提交成果的種類、數量、質量等方面的要求1完成“任務書”中指定的功能,運行結果正確。2課程設計說明書。五、時間進度安排順序階段日期計 劃 完 成 內 容備注12011.05.23閱讀資料及系統分析設計22011.05.24程序編制32011.05.25程序編制、調試及運行42011.05.26成績評定52011.05.27書寫程設計說明書六、主要參考資料(文獻)1鳳羽.操作系統.北京:電子

5、工業出版社,20042馬季蘭、馮秀芳等.操作系統原理與linux. 北京:人民郵電出版社,2000 3孟靜.操作系統原理教程.北京:清華大學出版社,20004周蘇、金海溶. 操作系統原理實驗.北京: 科學出版社,2000沈 陽 工 程 學 院操作系統課程設計成績評定表系(部): 信息工程系 班級: 軟本094 學生姓名: 矯娜 指 導 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分調研論證能獨立查閱文獻,收集資料;能制定課程設計方案和日程安排。0.15432工作能力態度工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作, 0.25432工作量按期圓滿完成規定的設計任務

6、,工作量飽滿,難度適宜。0.25432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.55432指導教師評審成績(加權分合計乘以8) 分加權分合計指 導 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分查閱文獻查閱文獻有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.35432評閱教師評審成績(加權分合計乘以4

7、)分加權分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內容具 體 要 求權重評 分加權分學生匯報匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務的全部內容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。0.55432答辯小組評審成績(加權分合計乘以8)分加權分合計答辯小組教師簽名: 年 月 日課 程 設 計 總 評 成 績分沈 陽 工 程 學 院操作系統課程設計成績評定表系(部): 信息工程系 班級: 軟本094 學生姓名: 孫雨薇 指 導 教 師 評

8、 審 意 見評價內容具 體 要 求權重評 分加權分調研論證能獨立查閱文獻,收集資料;能制定課程設計方案和日程安排。0.15432工作能力態度工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作, 0.25432工作量按期圓滿完成規定的設計任務,工作量飽滿,難度適宜。0.25432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.55432指導教師評審成績(加權分合計乘以8) 分加權分合計指 導 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分查閱文獻查閱文獻有一定

9、廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.35432評閱教師評審成績(加權分合計乘以4)分加權分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內容具 體 要 求權重評 分加權分學生匯報匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務的全部內容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。0

10、.55432答辯小組評審成績(加權分合計乘以8)分加權分合計答辯小組教師簽名: 年 月 日課 程 設 計 總 評 成 績分沈 陽 工 程 學 院操作系統課程設計成績評定表系(部): 信息工程系 班級: 軟本094 學生姓名: 繆斯 指 導 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分調研論證能獨立查閱文獻,收集資料;能制定課程設計方案和日程安排。0.15432工作能力態度工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作, 0.25432工作量按期圓滿完成規定的設計任務,工作量飽滿,難度適宜。0.25432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順

11、,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.55432指導教師評審成績(加權分合計乘以8) 分加權分合計指 導 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分查閱文獻查閱文獻有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.35432評閱教師評審成績(加權分合計乘以4)分加權分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內容具 體 要

12、 求權重評 分加權分學生匯報匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務的全部內容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。0.55432答辯小組評審成績(加權分合計乘以8)分加權分合計答辯小組教師簽名: 年 月 日課 程 設 計 總 評 成 績分沈 陽 工 程 學 院操作系統課程設計成績評定表系(部): 信息工程系 班級: 軟本094 學生姓名: 呂巖 指 導 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分調研論證能獨立查閱文獻,收集資料;能制定課程設計方

13、案和日程安排。0.15432工作能力態度工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作, 0.25432工作量按期圓滿完成規定的設計任務,工作量飽滿,難度適宜。0.25432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.55432指導教師評審成績(加權分合計乘以8) 分加權分合計指 導 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分查閱文獻查閱文獻有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質量說明

14、書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.35432評閱教師評審成績(加權分合計乘以4)分加權分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內容具 體 要 求權重評 分加權分學生匯報匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務的全部內容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。0.55432答辯小組評審成績(加權分合計乘以8)分加權分合計答辯小組教師簽名: 年 月 日課 程 設

15、 計 總 評 成 績分沈 陽 工 程 學 院操作系統課程設計成績評定表系(部): 信息工程系 班級: 軟本094 學生姓名: 孟昭鵬 指 導 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分調研論證能獨立查閱文獻,收集資料;能制定課程設計方案和日程安排。0.15432工作能力態度工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作, 0.25432工作量按期圓滿完成規定的設計任務,工作量飽滿,難度適宜。0.25432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.55432指導教師評審成績(加權分

16、合計乘以8) 分加權分合計指 導 教 師 簽 名: 年 月 日評 閱 教 師 評 審 意 見評價內容具 體 要 求權重評 分加權分查閱文獻查閱文獻有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質量說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。0.35432評閱教師評審成績(加權分合計乘以4)分加權分合計評 閱 教 師 簽 名: 年 月 日答 辯 小 組 評 審 意 見評價內容具 體 要 求權重評 分加權分學生匯報匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重

17、點,基本上反映了所完成任務的全部內容;時間符合要求。0.55432答 辯思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。0.55432答辯小組評審成績(加權分合計乘以8)分加權分合計答辯小組教師簽名: 年 月 日課 程 設 計 總 評 成 績分摘要隨著社會科學技術的迅猛發展,計算機以它卓越的進步已經遍布各行各業,其實計算機本身就是一堆廢鐵,而操作系統使它有了生命和靈魂,操作系統就相當于人的各個組織,如果沒有操作系統那計算機就像一個植物人一樣,毫無價值。操作系統是配置在計算機上的第一層軟件,是對硬件系統的首次擴充。它在計算機系統中占據了特別重要的地位,很多系統軟件以

18、及大量的應用軟件都依賴于操作系統的支持,取得它的服務。在計算機系統上所配置的操作系統的主要目標與計算機系統的規模和操作系統的應用環境有關,而操作系統在計算機系統中所起的作用也可以從不同的角度來觀察。操作系統已成為從大型機直至微型機都配置的軟件,在不同的操作系統中采用的調度方式是不同的,它不僅是計算機與用戶之間的接口,也是計算機資源的管理者。當今的的計算機已經從無操作系統到單道批處理系統再發展到多道程序系統然后是分時系統和實時系統。在多道程序系統中,一個作業被提交后必須經過處理機調度后,方能獲得處理機執行。作業是一個比程序更為廣泛的概念,它不僅包含了通常的程序和數據,而且還應配有一分作業說明書,

19、系統根據該說明書來對程序的運行進行控制。在批處理系統中,是以作業為基本單位從外存調入內存的。對于批量型作業而言,通常要經歷作業調度和進程調度兩個過程方能獲得處理機。為了管理和調度作業,在多道批處理系統中為每個作業設置了一個作業控制塊,即pcb(job control block)每當作業進入系統是,系統便為每個作業創建一個pcb,根據作業類型將它插入相應的后備隊列中,作業調度程序根據一定的算法來調度它們,被調度到的作業將會裝入內存。作業調度的主要功能是根據作業控制塊中的信息,審查系統能否滿足用戶作業的資源需求,以及按照一定的算法,從外存的后備隊列中選取某些作業調入內存,并為它們創建進程,分配必

20、要的資源,然后,再將新創建的進程排在就緒隊列上,準備準備執行。每次執行作業調度時,都需要做以下兩個決定:1.接納多少個作業,取決于多道程序度即允許多少個作業同時在內存中運行,多道程序度的確定是根據系統的規模和運行速度等情況做適當的折中。2.接納哪些作業,取決于采用的調度算法。作業調度的算法主要包括三種:先來先服務算法、短作業優先調度算法和高響應比優先調度算法。本系統采用結構體定義作業的數據類型,用數組接納各個作業,通過把創建的jcb結構體組織成鏈,用不同算法循環測試處理的每個作業,來確定各個作業接受系統服務的次序,從而輸出每個算法對作業處理結果,即平均周轉時間。從而確定哪種算法對于本次的作業調

21、度是最佳的算法。關鍵詞 操作系統,作業調度,調度算法,優先權,響應比,平均周轉時間,最佳算法目錄第1章 引言11.1設計題目11.2設計目的11.3設備器材11.4任務分析11.5 操作系統概述21.5.1 發展歷史21.5.2 分類31.6 系統開發技術51.6.1 visual c+概述51.6.2 c+發展歷史簡單介紹61.6.3 visual c+的特點61.6.4 c+語言發展及設計原則71.6.5 c+編程技巧8第2章 設計原理112.1先來先服務調度算法112.2短作業優先調度算法112.3高響應比優先調度算法11第3章 程序分析133.1系統操作133.2程序功能結構圖133.

22、3程序功能流程圖143.3.1 創建作業流程圖143.3.2 先來先服務調度算法流程圖143.3.3 短作業優先調度算法流程圖153.3.4 響應比優先調度算法流程圖163.3.5總結最優調度算法流程圖16第4章 程序實現方法184.1主函數程序實現184.1.1主程序實現功能184.1.2 主程序實現代碼184.1.3 主程序運行界面194.2 創建作業函數的實現204.2.1 函數說明204.2.2 創建函數實現代碼204.2.3 創建函數運行界面214.3 先來先服務函數214.3.1函數說明214.3.2先來先服務代碼214.3.3 程序運行界面234.4短作業優先函數244.4.1函

23、數說明244.4.2短作業優先代碼244.4.3程序運行界面264.5 響應比高者優先函數264.5.1函數說明264.5.2響應比高者優先代碼264.5.3響應比高者優函數運行結果284.6總結函數294.6.1 函數說明294.6.2 總結函數實現代碼294.6.3 總結函數運行界面30第5章 遇到的問題及解決方法315.1 遇到的問題315.2 解決的方法31總結32致謝33參考文獻34第1章 引言1.1設計題目作業管理1.2設計目的了解作業進入系統至運行完畢的總過程。掌握并學會運用不同的調度算法。進一步了解作業調度中作業的創建過程與實現過程。學會并理解優先權在高響應比優先高度算法中的作

24、用。1.3設備器材硬件:計算機一臺軟件:windows操作系統,vc+環境或tc2.0環境1.4任務分析本次課程設計的題目為作業調度,其調度算法分別為先來先服務調度算法、短作業優先調度算法、高響應比優先調度算法。作業調度的主要功能是根據作業控制塊中的信息,審查系統能否滿足用戶作業的資源需求,以及按照一定的算法,從外存的后備隊列中選取某些作業調入內存,并為它們創建進程、分配必要的資源。然后再將新創建的進程插入就緒隊列,準備執行。每個系統在選擇作業調度算法時,既應考慮用戶的要求,又能確保系統具有較高的效率。在每次執行作業調度時,都須做出兩個決定,一是決定接納多少個作業;二是決定接納哪些作業。在os

25、中調度的實質是一種資源分配,因而調度算法是指:根據系統的資源分配策略所規定的資源分配算法。對于不同的系統和系統目標,通常采用不同的調度算法。先來先服務調度算法是一種最簡單的調度算法,每次調度都是從后備作業隊列中選擇一個或多個最先進入該隊列的作業,將它們調入內存,為它們分配資源、創建進程,然后放入就緒隊列。短作業優先調度算法是指對短作業優先調度的算法。短作業優先的調度算法是從后備隊列中選擇一個或若干個估計運行時間最短的作業,將它們調入內存運行。高響應比優先調度算法,是指將就緒隊列中排序的優先權最高的作業調入內存執行。在高響應比調度算法中,優先權的計算公式為:優先權=(等待時間+要求服務時間)/要

26、求服務時間,該算法既照顧了短作業,又考慮了作業到達的先后次序,不會使長作業長期得不到服務。因此,該算法實現了一種較好的折衷。當然,在利用該算法時,每要進行調度之前,都須先做響應比的計算,這會增加系統開銷。在執行高響應比優先調度算法時,每有一個作業調入內存運行后就需根據最后一次調入內存的業狀態計算就緒隊列中的其它作業的優先權。在編寫程序時,調度算法前建立系統源文件擴展名為.txt,利用創建(輸入)函數creat()向源文件中輸入作業流,把作業的基本信息輸入到文件中,如:作業的名稱、作業的提交時間、作業的運行時間。作業初始排序為到達時間先后(即先來先服務調度排序作業流)。采用高響應比優先調度算法時

27、,從就緒隊列中選出優先權最高的作業調入內存執行,系統自動將處理機分配給它,使它立即執行并一直執行到完成。該程序代碼中執行的操作步驟主要為以二進制模式打開源文件,利用高響應比優先調度算法在就緒隊列中選出當前優先權最高的作業調度運行,通過程序中的計算方法求出并輸出該作業的開始時間、完成時間、周轉時間。1.5 操作系統概述操作系統(operating system,簡稱os)是配置在計算機硬件上的第一層軟件,是對硬件系統的首次擴充。它在計算機系統中占據了特別重要的地位;而其它的諸如匯編程序、編譯程序、數據庫管理系統等系統軟件,以及大量的應用軟件,都將依賴于操作系統的支持,取得它的服務。操作系統已成為

28、現代計算機系統(大、中、小及微型機)、多處理機系統、計算機網絡、多媒體系統以及嵌入式系統中都必須配置的、最重要的系統軟件。它是計算機系統中各種資源的管理者和各種活動的組織者、指揮者。操作系統是一個龐大的管理控制程序,大致包括5個方面的管理功能。進程與處理機管理、作業管理、存儲管理、設備管理、文件管理。目前微機上常見的操作系統有dos、os/2、unix、xenix、linux、windows、netware等。 操作系統是控制其他程序運行,管理系統資源并為用戶提供操作界面的系統軟件的集合。操作系統身負諸如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網絡與管理文件系統等基

29、本事務。操作系統是管理計算機系統的全部硬件資源包括軟件資源及數據資源;控制程序運行;改善人機界面;為其它應用軟件提供支持等,使計算機系統所有資源最大限度地發揮作用,為用戶提供方便的、有效的、友善的服務界面。所有的操作系統具有并發性、共享性、虛擬性和不確定性四個基本特征。操作系統的型態非常多樣,不同機器安裝的os可從簡單到復雜,可從手機的嵌入式系統到超級電腦的大型操作系統。許多操作系統制造者對os的定義也不大一致,例如有些os集成了圖形用戶界面,而有些os僅使用文本接口,而將圖形界面視為一種非必要的應用程序。操作系統理論在計算機科學中為歷史悠久而又活躍的分支,而操作系統的設計與實現則是軟件工業的

30、基礎與內核。 1.5.1 發展歷史os的形成迄今已有50多年的時間。在上世紀50年代中期出現了單道批處理系統;60年代中期產生了多道程序批處理系統;不久又出現了基于多道程序的分時系統,與此同時也誕生了用于工業控制和武器控制的實時操作系統。20世紀80年代開始至21世紀初,是微型機、多處理機和計算機網絡高速發展的年代,同時也是微型機os、多處理機os和網絡os以及分布式os的形成和大發展的年代。綜觀電腦之歷史,操作系統與電腦硬件的發展息息相關。操作系統之本意原為提供簡單的工作排序能力,后為輔助更新更復雜的硬件設施而漸漸演化。從最早的批次模式開始,分時機制也隨之出現,在多處理器時代來臨時,操作系統

31、也隨之添加多處理器協調功能,甚至是分布式系統的協調功能。其他方面的演變也類似于此。另一方面,在個人電腦上,個人電腦之操作系統因襲大型電腦的成長之路,在硬件越來越復雜、強大時,也逐步實踐以往只有大型電腦才有的功能。總而言之,操作系統的歷史就是一部解決電腦系統需求與問題的歷史。第一代微型計算機并不像大型電腦或小型電腦,沒有裝設操作系統的需求或能力;它們只需要最基本的操作系統,通常這種操作系統都是從rom讀取的,此種程序被稱為監視程序(monitor)。1980年代,家用電腦開始普及。通常此時的電腦擁有8-bit處理器加上64kb內存、屏幕、鍵盤以及低音質喇叭。而80年代早期最著名的套裝電腦為使用微

32、處理器6510(6502芯片特別版)的commodore c64。此電腦沒有操作系統,而是以一8kb只讀內存bios初始化彩色屏幕、鍵盤以及軟驅和打印機。它可用8kb只讀內存basic語言來直接操作bios,并依此撰寫程序,大部分是游戲。此basic語言的解釋器勉強可算是此電腦的操作系統,當然就沒有內核或軟硬件保護機制了。此電腦上的游戲大多跳過bios層次,直接控制硬件。apple i電腦,蘋果電腦的第一代產品。延續80年代的競爭,1990年代出現了許多影響未來個人電腦市場深厚的操作系統。由于圖形化使用者界面日趨繁復,操作系統的能力也越來越復雜與巨大,因此強韌且具有彈性的操作系統就成了迫切的需

33、求。此年代是許多套裝類的個人電腦操作系統互相競爭的時代。在1990年代初,微軟與ibm的合作破裂,微軟從os/2(早期為命令行模式,后來成為一個很成功但是曲高和寡的圖形化操作系統)項目中抽身,并且在1993年7月27日推出windows 3.1,一個以os/2為基礎的圖形化操作系統。直到這時,windows系統依然是建立在ms-dos的基礎上,因此消費者莫不期待微軟在2000年所推出的windows 2000上,因為它才算是第一個脫離ms-dos基礎的圖形化操作系統。現代操作系統通常都有一個使用的繪圖設備的圖形化使用者界面,并附加如鼠標或觸控面版等有別于鍵盤的輸入設備。舊的os或效能導向的服務

34、器通常不會有如此親切的接口,而是以命令行接口(cli)加上鍵盤為輸入設備。以上兩種接口其實都是所謂的殼,其功能為接受并處理使用者的指令(例如按下一按鈕,或在命令提示列上鍵入指令)。選擇要安裝的操作系統通常與其硬件架構有很大關系,只有linux與bsd幾乎可在所有硬件架構上執行,而windows nt僅移植到了dec alpha與mips magnum。在1990年代早期,個人電腦的選擇就已被局限在windows家族、類unix家族以及linux上,而以linux及mac os x為最主要的另類選擇,直至今日。大型機與嵌入式系統使用很多樣化的操作系統。大型主機近期有許多開始支持java及linu

35、x以便共享其他平臺的資源。嵌入式系統近期百家爭鳴,從給sensor networks用的berkeley tiny os到可以操作microsoft office的windows ce都有。1.5.2分類目前的操作系統種類繁多,很難用單一標準統一分類。根據應用領域來劃分,可分為桌面操作系統、服務器操作系統、主機操作系統、嵌入式操作系統。根據所支持的用戶數目,可分為單用戶(msdos、os/2)、多用戶系統(unix、mvs、windows)。根據源碼開放程度,可分為開源操作系統(linux、chrome os)和不開源操作系統(windows、mac os)。根據硬件結構,可分為網絡操作系統(

36、netware、windows nt、os/2 warp)、分布式系統(amoeba)、多媒體系統(amiga)。根據操作系統的使用環境和對作業處理方式來考慮,可分為批處理系統(mvx、dos/vse)、分時系統(linux、unix、xenix、mac os)、實時系統(iemx、vrtx、rtos,rt windows)。根據操作系統的技術復雜程度,可分為簡單操作系統、智能操作系統(見智能軟件)。所謂的簡單操作系統,指的是計算機初期所配置的操作系統,如ibm公司的磁盤操作系統dos/360和微型計算機的操作系統cp/m等。這類操作系統的功能主要是操作命令的執行,文件服務,支持高級程序設計語

37、言編譯程序和控制外部設備等。下面介紹一下操作系統的五大類型:批處理操作系統、分時操作系統、實時操作系統、網絡操作系統、分布式操作系統。 1. 批處理操作系統 批處理(batch processing)操作系統的工作方式是:用戶將作業交給系統操作員,系統操作員將許多用戶的作業組成一批作業,之后輸入到計算機中,在系統中形成一個自動轉接的連續的作業流,然后啟動操作系統,系統自動、依次執行每個作業。最后由操作員將作業結果交給用戶。 單道批處理系統上世紀50年代中期發明了晶體管,人們開始用晶體管代替真空管來制作計算機,為了充分的利用它應盡量讓該系統連續運行,以減少空閑時間,這樣就出現了早期的單道批處理系

38、統。單道批處理系統是最早出現一種os。嚴格的說,它只能算作是os的前身而并非是現在人們所理解的os。通常把一批作業以脫機方式輸入到磁帶上,并在系統中配上監督程序(monitor),在它的控制下使這批作業能一個接一個地連續處理。由于系統對作業的處理都是成批地進行的,且在內存上始終只保持一道作業,故稱此系統為單道批處理系統。多道批處理系統20世紀60年代中期,人們開始利用小規模集成電路來制作計算機,生產出第三代計算機。有ibm公司生產的第一臺小規模集成電路計算機360機,較之于晶體管計算機無論在體積功耗速度和可靠性上,都有了顯著的改善。雖然在開發360機器使用的操作系統時,未能在機器上運行多道程序

39、而遇到了極大的困難,但最終還是成功的開發出能在一臺機器中運行多道程序的操作系統os/360。多道程序設計標志著操作系統的形成。在多道批處理系統中,用戶所提交的作業都先放在外存上并排成一個隊列,成為“后備隊列”;然后,有作業調度程序按一定的算法從后備隊列中選擇若干個作業調入內存,使它們共享cpu和系統中的各種資源。2分時操作系統 第一臺真正的分時操作系統(ctss)是有麻省理工學院開發成功的。分時系統是指,在一臺主機上連接多個帶有顯示器和鍵盤的終端,同時允許多個用戶通過自己的終端,以交互方式使用計算機,共享主機中資源。用戶交互式地向系統提出命令請求,系統接受每個用戶的命令,采用時間片輪轉方式處理

40、服務請求,并通過交互方式在終端上向用戶顯示結果。用戶根據上步結果發出下道命。分時操作系統將cpu的時間劃分成若干個片段,稱為時間片。操作系統以時間片為單位,輪流為每個終端用戶服務。每個用戶輪流使用一個時間片而使每個用戶并不感到有別的用戶存在。分時系統具有多路性、交互性、“獨占”性和及時性的特征。它支持位于不同終端的多個用戶同時使用一臺計算機,彼此獨立互不干擾,用戶感到好像一臺計算機全為他所用。分時系統與多道批處理系統之間有截然不同的性能差別,它能很好地將一臺計算機提供多個用戶同時使用,提高計算機的利用率。常見的通用操作系統是分時系統與批處理系統的結合。其原則是:分時優先,批處理在后。“臺”響應

41、需頻繁交互的作業,如終端的要求;“后臺”處理時間性要求不強的作業。3實時操作系統 實時操作系統(realtimeoperatingsystem,rtos)是指系統功能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。實時操作系統要追求的目標是:對外部請求在嚴格時間范圍內做出反應,有高可靠性和完整性。其主要特點是資源的分配和調度首先要考慮實時性然后才是效率。此外,實時操作系統應有較強的容錯能力。4網絡操作系統 網絡操作系統是基于計算機網絡的,是在各種計算機操作系統上按網絡體系結構協議標準開發的軟件,包括網絡管理、通信、安全、資源共享和各種網絡應

42、用。其目標是相互通信及資源共享。在其支持下,網絡中的各臺計算機能互相通信和共享資源。其主要特點是與網絡的硬件相結合來完成網絡的通信任務。5分布式操作系統 它是為分布計算系統配置的操作系統。大量的計算機通過網絡被連結在一起,可以獲得極高的運算能力及廣泛的數據共享。這種系統被稱作分布式系統(distributedsystem)。它在資源管理,通信控制和操作系統的結構等方面都與其他操作系統有較大的區別。由于分布計算機系統的資源分布于系統的不同計算機上,操作系統對用戶的資源需求不能像一般的操作系統那樣等待有資源時直接分配的簡單做法而是要在系統的各臺計算機上搜索,找到所需資源后才可進行分配。對于有些資源

43、,如具有多個副本的文件,還必須考慮一致性。所謂一致性是指若干個用戶對同一個文件所同時讀出的數據是一致的。為了保證一致性,操作系統須控制文件的讀、寫、操作,使得多個用戶可同時讀一個文件,而任一時刻最多只能有一個用戶在修改文件。分布操作系統的通信功能類似于網絡操作系統。由于分布計算機系統不像網絡分布得很廣,同時分布操作系統還要支持并行處理,因此它提供的通信機制和網絡操作系統提供的有所不同,它要求通信速度高。分布操作系統的結構也不同于其他操作系統,它分布于系統的各臺計算機上,能并行地處理用戶的各種需求,有較強的容錯能力。1.6 系統開發技術1.6.1 visual c+概述在這次課程設計中,我們采用

44、的是visual c+環境。它是一種使用非常廣泛的計算機編程語言。c+是一種靜態數據類型檢查的,支持多重編程范式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、制作圖標等等泛型程序設計等多種程序設計風格。visual c+是microsoft公司于1993年推出的一個可視化集成開發環境(integrated development,ide)。自1998年microsoft公司推出功能完善的visual c+6.0后,越來越多的程序員選用visual c+作為軟件開發工具。使用visual c+6.0后,越來越多的程序員選用visual c+6.0 集成開發環境,visua

45、l c+6.0集成開發環境由很多工具和向導組成,要真正掌握它們的使用方法必須結合具體的編程內容。visual c+是一個功能強大的可視化軟件開發工具,它不僅是一個c+編譯器,還是一個基于windows操作系統的集成開發環境。visual c+由許多組件組成,包括編輯器、編譯器、調試器以及程序向導appwizard、類向導classwizard等。1.6.2 c+發展歷史簡單介紹 c語言之所以要起名為“c”,是因為它是主要參考那個時候的一門叫b的語言,它的設計者認為c語言是b語言的進步,所以就起名為c語言;但是b語言并不是因為之前還有個a語言,而是b語言的作者為了紀念他的妻子,他的妻子名字的第一

46、個字母是b;當c語言發展到頂峰的時刻,出現了一個版本叫c with class,那就是c+最早的版本,在c語言中增加class關鍵字和類,那個時候有很多版本的c都希望在c語言中增加類的概念;后來c標準委員會決定為這個版本的c起個新的名字,那個時候征集了很多種名字,最后采納了其中一個人的意見,以c語言中的+運算符來體現它是c語言的進步,所以就叫c+,也成立了c+標準委員會。美國at&t貝爾實驗室的本賈尼斯特勞斯特盧普(bjarne stroustrup)博士在20世紀80年代初期發明并實現了c+(最初這種語言被稱作“c with classes”)。一開始c+是作為c語言的增強版出現的,從給c語

47、言增加類開始,不斷的增加新特性。虛函數(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、rtti、命名空間(name space)逐漸被加入標準。1998年國際標準組織(iso)頒布了c+程序設計語言的國際標準iso/iec 1488-1998。c+是具有國際標準的編程語言,通常稱作ansi/iso c+。1998年是c+標準委員會成立的第一年,以后每5年視實際需要更新一次標準,下一次標準更新將是在2009年,目前我們一般稱該標準c+0x。遺憾

48、的是,由于c+語言過于復雜,以及他經歷了長年的演變,直到現在(2009年)只有visual c+ 2010 ctp開發環境的編譯器完全符合這個標準。另外,就目前學習c+而言,可以認為他是一門獨立的語言;他并不依賴c語言,我們可以完全不學c語言,而直接學習c+。根據c+編程思想(thinking in c+)一書所評述的,c+與c的效率往往相差在正負5%之間。所以有人認為在大多數場合c+ 完全可以取代c語言(然而我們在單片機等需要謹慎利用空間、直接操作硬件的地方還是要使用c語言)。 1.6.3 visual c+的特點 visual c+中源程序采用c/c+語言編寫,它支持面向對象程序設計,并能

49、夠使用功能強大的微軟基礎類庫mfc(microsoft foundation class),充分體現了microsoft公司的技術精華。由于windows操作系統的市場壟斷地位,利用visual c+開發出來的軟件具有穩定性好、可移植性強的特點。利用visual c+可以編制各種類型的windows應用程序,從簡單的單文檔、多文檔和對話框程序到復雜的組合界面程序。并且,visual c+作為visual studio可視化家族中最重要的一個成員,它與其他可視化開發工具如visual j+、visual basic及visual c#緊密集成,可進行不同類型以及綜合軟件項目的開發,適用于開發非常

50、專業的windows、web和企業級應用程序。visual c+6.0源代碼編輯器功能強大,使用非常方便。它提供了語句自動完成功能,編輯輸入源程序時能自動顯示當前對象的成員變量和成員函數,并表明函數的參數類型。visual c+6.0的編譯器增加了新的編譯參數,改進了對ansi c+標準的支持,并采用microsoft的代碼優化技術,使生成的目標代碼更精練,程序運行的速度更快。比較其他程序調試工具,visual c+6.0程序調試器debug功能更強大,它提供了診斷映射機制、無須重編譯的調試、遠程調試和實時調試等功能。visual c+6.0的聯機幫助系統msdn library(micros

51、oft developer network library)可以稱得上是一本內容非常豐富的電子參考書。它既能與集成開發環境有機地結合在一起,使程序員在編程進可以隨時查詢需要的幫助信息和技術文檔,又能脫離集成開發環境而獨立地運行,并且用戶還可以通過因特網獲取實時的幫助信息和實例。visual c+6.0通過visual studio還為用戶提供了很多實用工具,如spy+查看器、activex control test container控件測試窗口及register control控件注冊程序等,擴展了visual c+的功能,有利于專業程序的開發。除了visual c+,其他一些知名公司也推出

52、了自己的c+集成開發環境,如borland的c+ bulider和ibm的visualage c+。迄今為止,visual c+可以說是一個功能最強大和使用范圍最廣泛的軟件開發工具。當然,由于windows編程的困難和mfc類庫功能的龐大,加上應用程序向導生成的程序框架的復雜,使得學習visual c+比學習其他軟件開發工具更困難。但當熟練掌握visual c+編程方法后,就會感受到作為visual c+程序員的無比優越性。1.6.4 c+語言發展及設計原則 1. c+語言發展c+語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段c+語言基本上是傳統類型上的面向對象語言,并且憑借著接近c語言的效率,在工業界使用的開發語言中占據了相當大份額;第二階段從1995年到2000年,這一階段由于標準模板庫(stl)和后來的boost等程序庫的出現,泛型程序設計在c+中占據了越來越多的比重性。當然,同時由于java、c#等語言的出現和硬件

溫馨提示

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

最新文檔

評論

0/150

提交評論