操作系統(tǒng)的架構(gòu)是什么 是怎樣分類的
操作系統(tǒng)結(jié)構(gòu)
操作系統(tǒng)結(jié)構(gòu)是指操作系統(tǒng)的構(gòu)成結(jié)構(gòu)。在操作系統(tǒng)的發(fā)展過程中,產(chǎn)生了多種多樣的系統(tǒng)結(jié)構(gòu),幾乎每一個操作系統(tǒng)在結(jié)構(gòu)上都有自己的特點,從總體上看,根據(jù)出現(xiàn)的時間,操作系統(tǒng)結(jié)構(gòu)依次可以分為整體式結(jié)構(gòu)、模塊化結(jié)構(gòu)、層次式結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)。
操作系統(tǒng)結(jié)構(gòu)的分類
整體式結(jié)構(gòu)
整體式結(jié)構(gòu)也叫簡單結(jié)構(gòu)或無結(jié)構(gòu),在早期設(shè)計開發(fā)操作系統(tǒng)時,設(shè)計者只是把注意力放在功能的實現(xiàn)和獲得高的效率上。整個操作系統(tǒng)的功能由一個一個的過程來實現(xiàn),這些過程之間又可以相互調(diào)用,導致操作系統(tǒng)變?yōu)橐欢堰^程的集合,其內(nèi)部結(jié)構(gòu)復雜又混亂。因此這種操作系統(tǒng)沒有結(jié)構(gòu)可言。
這種早期的整體式結(jié)構(gòu)的最大優(yōu)點就是接口簡單直接,系統(tǒng)效率高 但是卻有很多的缺點:沒有可讀性,也不具備可維護性,一旦某一個過程出了問題,凡是與之存在調(diào)用關(guān)系的過程都要修改,所以給調(diào)試和維護人員帶來許多麻煩,有時為了修改系統(tǒng)中的錯誤還不如重新設(shè)計開發(fā)一個操作系統(tǒng)。因此,這種早期的整體式結(jié)構(gòu)已經(jīng)淘汰不用了。
模塊化結(jié)構(gòu)
模塊化結(jié)構(gòu)是指將整個操作系統(tǒng)按功能劃分為若干個模塊,每個模塊實現(xiàn)一個特定的功能。模塊之間的通信只能通過預先定義的接口進行?;蛘哒f模塊之間的相互關(guān)系僅限于接口參數(shù)的傳遞。
在這種模塊化結(jié)構(gòu)中,模塊的劃分并不是隨意的.而是要遵循一一定的原則,即模塊與f其塊之間的關(guān)聯(lián)要盡可能地少,而模塊內(nèi)部的關(guān)聯(lián)要盡可能地緊密這樣劃分出來的模塊之間具備一定的獨立性,從而減少了模塊之間的復雜的調(diào)用關(guān)系,使得操作系統(tǒng)的結(jié)構(gòu)變得清晰:而模塊內(nèi)部各部分聯(lián)系緊密,使得每個模塊都具備獨立的功能。
層次結(jié)構(gòu)
所謂的層次結(jié)構(gòu),就是把操作系統(tǒng)所有的功能模塊按照功能調(diào)用次序分別排成若干層,各層之間的模塊只有單向調(diào)用關(guān)系(例如,只允許上層或外層模塊調(diào)用下層或內(nèi)層模塊)。分層的優(yōu)點是:
(1)把功能實現(xiàn)的無序性改成有序性,可顯著提高設(shè)計的準確性。
(2)把模塊間的復雜依賴關(guān)系改為單向依賴關(guān)系,即高層軟件依賴于低層軟件。
E.W.Dijkstra于1968年發(fā)表的THE多道程序設(shè)計系統(tǒng)第一次提出了操作系統(tǒng)的分層結(jié)構(gòu)方法。整個THE系統(tǒng)分為6層。
軟件系統(tǒng)的架構(gòu)設(shè)計方案
定義架構(gòu)的最短形式是:“架構(gòu)是一種結(jié)構(gòu)”,這是一種正確的理解,但世界還沒太平。若做一個比喻,架構(gòu)就像一個操作系統(tǒng),不同的角度有不同的理解,不同的關(guān)切者有各自的著重點,多視點的不同理解都是架構(gòu)需要的,也只有通過多視點來考察才能演化出一個有效的架構(gòu)。
從靜態(tài)的角度,架構(gòu)要回答一個系統(tǒng)在技術(shù)上如何組織;從變化的角度,架構(gòu)要回答如何支持系統(tǒng)不斷產(chǎn)生的新功能、新變化以及適時的重構(gòu);從服務(wù)質(zhì)量的角度,架構(gòu)要平衡各種和用戶體驗有關(guān)的指標;從運維的角度,架構(gòu)要回答如何充分利用計算機或網(wǎng)絡(luò)資源及其擴展策略;從經(jīng)濟的角度,架構(gòu)要回答如何在可行的基礎(chǔ)上降低實現(xiàn)成本等等.
軟件系統(tǒng)架構(gòu)(SoftwareArchitecture)是關(guān)于軟件系統(tǒng)的結(jié)構(gòu)、行為、屬性、組成要素及其之間交互關(guān)系的高級抽象。任何軟件開發(fā)項目,都會經(jīng)歷需求獲取、系統(tǒng)分析、系統(tǒng)設(shè)計、編碼研發(fā)、系統(tǒng)運維等常規(guī)階段,軟件系統(tǒng)架構(gòu)設(shè)計就位于系統(tǒng)分析和系統(tǒng)設(shè)計之間。做好軟件系統(tǒng)架構(gòu),可以為軟件系統(tǒng)提供穩(wěn)定可靠的體系結(jié)構(gòu)支撐平臺,還可以支持最大粒度的軟件復用,降低開發(fā)運維成本。如何做好軟件系統(tǒng)的架構(gòu)設(shè)計呢?軟件系統(tǒng)架構(gòu)設(shè)計方法步驟基于體系架構(gòu)的軟件設(shè)計模型把軟件過程劃分為體系架構(gòu)需求、設(shè)計、文檔化、復審、實現(xiàn)和演化。
<div>
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科