免费的毛片网站,大又大粗又爽又黄少妇毛片,久久免费国产视频,菠萝蜜视频网在线www

當前位置: 首頁 > 軍事頻道

系統(tǒng)的實現(xiàn)流程?

作者:admin 發(fā)布時間: 2024-04-24 10:01:26

簡介:】操作系統(tǒng)的設計和實現(xiàn)過程本節(jié)討論操作系統(tǒng)設計和實現(xiàn)面臨的問題。雖然這些問題沒有完整的解決方案,但是有些方法還是行之有效的。設計目標系統(tǒng)設計的首要問題是,定義目標和規(guī)

操作系統(tǒng)的設計和實現(xiàn)過程

本節(jié)討論操作系統(tǒng)設計和實現(xiàn)面臨的問題。雖然這些問題沒有完整的解決方案,但是有些方法還是行之有效的。設計目標系統(tǒng)設計的首要問題是,定義目標和規(guī)范。從高層來說,系統(tǒng)設計取決于所選硬件和系統(tǒng)類型:批處理、分時、單用戶、多用戶、分布式、實時或通用。除了最高設計層外,需求可能很難說清。不過,需求可分為兩個基本大類:用戶目標(user goal)和系統(tǒng)目標(system goal)。用戶要求系統(tǒng)具有一定的優(yōu)良性能:系統(tǒng)該便于使用、易于學習和使用、可靠、安全和快速。當然,這些規(guī)范對于系統(tǒng)設計并不特別有用,因為如何實現(xiàn)這些沒有定論。研發(fā)人員為設計、創(chuàng)建、維護和運行操作系統(tǒng),也可定義一組相似要求:操作系統(tǒng)應易于設計、實現(xiàn)和維護,也應靈活、可靠、正確且高效。同樣,這些要求在系統(tǒng)設計時并不明確,并可能有不同的理解。總之,關于定義操作系統(tǒng)的需求,沒有唯一的解決方案。現(xiàn)實中,存在許多類型的系統(tǒng),這也說明了不同需求會產(chǎn)生不同解決方案,以便用于不同環(huán)境。例如,VxWorks(一種用于嵌入式系統(tǒng)的實時操作系統(tǒng))的需求與 MVS(用于 IBM 大型機的多用戶、多訪問操作系統(tǒng))的需求相比,有很大不同。操作系統(tǒng)的分析與設計是個很有創(chuàng)意的工作。雖然沒有教科書能夠告訴我們?nèi)绾巫觯擒浖こ蹋╯oftware engineering)的主要原則還是有用的?,F(xiàn)在就來討論這些。機制與策略一個重要原則是策略(policy)與機制(mechanism)的分離。機制決定如何做,而策略決定做什么。例如,定時器是一種保護 CPU 的機制,但是為某個特定用戶應將定時器設置成多長時間,就是一個策略問題。對于靈活性,策略與機制的分離至關重要。策略可隨時間或地點而改變。在最壞情況下,每次策略的改變都可能需要改變底層機制。對策略改變不敏感的通用機制將是更可取的。這樣策略的改變只需重新定義一些系統(tǒng)參數(shù)。例如,現(xiàn)有一種機制,可賦予某些類型的程序相對更高的優(yōu)先級。如果這種機制能與策略分離開,那么它可用于支持 I/O 密集型程序應比 CPU 密集型程序具有更高優(yōu)先級的策略,或者支持相反策略。微內(nèi)核操作系統(tǒng)(后續(xù)章節(jié)會詳細介紹)通過實現(xiàn)一組基本且簡單的模塊,將機制與策略的分離用到了極致。這些模塊幾乎與策略無關,通過用戶創(chuàng)建的內(nèi)核模塊或用戶程序本身,可以增加更高級的機制與策略。例如,看一下 UNIX 的發(fā)展。起初,它采用分時調(diào)度。而對最新版的 Solaris,調(diào)度由可加載表來控制。根據(jù)當前的加載表,系統(tǒng)可以是分時的、批處理的、實時的、公平分享的或其他任意組合。通用調(diào)度機制可以通過單個 load-new-table 命令對策略進行重大改變。另一極端系統(tǒng)是 Windows,它的機制與策略都已編碼,以確保統(tǒng)一的系統(tǒng)風格。所有應用程序都有類似界面,因為界面本身已在內(nèi)核和系統(tǒng)庫中構造了。Mac OS X 操作系統(tǒng)也有類似功能。對于所有的資源分配,策略決定非常重要。只要決定是否分配資源,就應做出策略決定。只要問題是“如何做”而不是“做什么”,就要由機制來決定。實現(xiàn)在操作系統(tǒng)被設計之后,就應加以實現(xiàn)。操作系統(tǒng)由許多程序組成,且由許多人員在較長時間內(nèi)共同編寫,因此關于實現(xiàn)很難形成通用原則。早期,操作系統(tǒng)是用匯編語言編寫的?,F(xiàn)在,雖然有的操作系統(tǒng)仍然用匯編語言編寫,但是大多數(shù)都是用高級語言(如 C)或更高級的語言(如 C++)來編寫的。實際上,操作系統(tǒng)可用多種語言來編寫。內(nèi)核的最低層可以采用匯編語言。高層函數(shù)可用 C;系統(tǒng)程序可用 C 或 C++,也可用解釋型腳本語言如 PERL 或 Python,還可用外殼腳本。事實上,有的 Linux 發(fā)布可能包括所有這些語言編寫的程序。首個不用匯編語言編寫的系統(tǒng)可能是用于 Burroughs 計算機的主控程序(Master Control Program,MCP)。MCP 采用 ALGOL 語言的變種來編寫。MIT 開發(fā)的 MULTICS 主要是采用系統(tǒng)程序語言 PL/1 來編寫的。Linux 和 Windows 操作系統(tǒng)內(nèi)核主要用 C 編寫,盡管有小部分是用匯編語言來編寫的用于設備驅(qū)動程序與保存和恢復寄存器狀態(tài)的代碼。采用高級語言或至少系統(tǒng)實現(xiàn)語言來實現(xiàn)操作系統(tǒng)的優(yōu)勢與用高級語言來編寫應用程序相同:代碼編寫更快,更為緊湊,更容易理解和調(diào)試。另外,編譯技術的改進使得只要通過重新編譯,就可改善整個操作系統(tǒng)的生成代碼。最后,如果用高級語言來編寫,操作系統(tǒng)更容易移植(port)到其他硬件。例如,MS-DOS 是用 Intel 8088 匯編語言編寫的。因此,它只能直接用于 Intel X86 類型的 CPU。(注意,雖說 MS-DOS 只能本地運行于 Intel X86 類型的 CPU,但是 X86 指令集模擬器可允許它運行在其他 CPU 上——會更慢,會使用更多資源。正如前面所提到的,模擬器(emulator)程序可以在一個系統(tǒng)上復制另一個系統(tǒng)的功能。)而 Linux 操作系統(tǒng)主要是用 C 來編寫的,可用于多種不同 CPU,如 Intel X86、Oracle SPARC 和 IBM PowerPC 等。采用高級語言實現(xiàn)操作系統(tǒng)的缺點僅僅在于速度的降低和存儲的增加。不過,這對當今的系統(tǒng)已不再是主要問題。雖然匯編語言高手能編寫更快、更小的子程序,但是現(xiàn)代編譯器能對大程序進行復雜分析并采用高級優(yōu)化技術生成優(yōu)秀代碼。現(xiàn)代處理器都有很深的流水線和很多功能塊,它們要比人類更容易處理復雜的依賴關系。與其他系統(tǒng)一樣,操作系統(tǒng)的重大性能改善很可能是來源于更好的數(shù)據(jù)結(jié)構和算法,而不是優(yōu)秀的匯編語言代碼。另外,雖然操作系統(tǒng)很大,但是只有小部分代碼對高性能是關鍵的;中斷處理器、I/O管理器、內(nèi)存管理器及CPU調(diào)度器等,可能是關鍵部分。在系統(tǒng)編寫完并能正確工作后,可找出瓶頸程序,并用相應匯編語言程序來替換。

網(wǎng)友評論僅供其表達個人看法,并不表明本站立場。
    共 0 條評論

尚華空乘 - 航空資訊_民航新聞_最新航空動態(tài)資訊
備案號:滇ICP備2021006107號-341 版權所有:蓁成科技(云南)有限公司    網(wǎng)站地圖
本網(wǎng)站文章僅供交流學習,不作為商用,版權歸屬原作者,部分文章推送時未能及時與原作者取得聯(lián)系,若來源標注錯誤或侵犯到您的權益煩請告知,我們將立即刪除。