學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 操作系統(tǒng)基礎(chǔ)知識 >

計算機操作系統(tǒng)基礎(chǔ)知識大全

時間: 懷健20 分享

操作系統(tǒng)(Operating System,簡稱OS)是管理計算機硬件與軟件資源的程序,是計算機系統(tǒng)的內(nèi)核與基石;操作系統(tǒng)本質(zhì)上是運行在計算機上的軟件程序 ;操作系統(tǒng)為用戶提供一個與系統(tǒng)交互的操作界面 。下面就讓小編帶你去看看計算機操作系統(tǒng)基礎(chǔ)知識吧,希望能幫助到大家!

操作系統(tǒng)基礎(chǔ) - LFS和SSD

Log-Structured File System

設(shè)計思路

LFS的設(shè)計思路來自于以下幾點觀察:

內(nèi)存變得越來越大,能夠緩存越來越多的東西,因此寫入性能漸漸地主宰了文件系統(tǒng)的性能

磁盤的隨機I/O和順序I/O的性能相差巨大,如果能把大部分I/O都轉(zhuǎn)換成順序I/O,將能極大地提高性能

現(xiàn)有的文件系統(tǒng)在許多常見的工作負載下表現(xiàn)都不如意:它們的元數(shù)據(jù)和數(shù)據(jù)塊是分開的,文件系統(tǒng)寫入一個數(shù)據(jù)塊要多次尋道和旋轉(zhuǎn),雖然FFS通過塊組緩解了這個問題,但是依然避免不了大量短距離的尋道和旋轉(zhuǎn)。

文件系統(tǒng)感知不到RAID,難以避免RAID-4/RAID-5的small write問題,即一個小塊的數(shù)據(jù)寫入會導(dǎo)致4次物理I/O。

因此,LFS嘗試優(yōu)化磁盤寫入性能,盡可能地使用連續(xù)I/O,對于磁盤的讀取性能則寄希望于內(nèi)存能緩存更多內(nèi)容。這個出發(fā)點導(dǎo)致了它的數(shù)據(jù)結(jié)構(gòu)不同與常見的文件系統(tǒng)。

連續(xù)寫入

LFS所嘗試的第一個優(yōu)化就是在寫入數(shù)據(jù)塊的時候,同時在后面寫入數(shù)據(jù)塊的inode,比如下圖在磁盤地址A0寫入一個數(shù)據(jù)塊之后再把它的inode寫到后面:

然后對于大量小塊的I/O,這樣是不行的,因此LFS采用了寫緩存技術(shù),先在內(nèi)存中緩存一定的大小寫請求,直到達到一個足夠大的值(LFS中稱為segment),然后再一次性寫入磁盤中。因此LFS的一次I/O通常會包含多個數(shù)據(jù)塊和inode:

那么,多大的segment是合適的呢,這跟磁盤性能有關(guān)系,假如說我們希望磁盤95%的時間都在寫入,只有5%的時間再尋道,對于一個寫入速度為100MiB/s的磁盤來說,這個segment約為9MiB。這里忽略了計算公式,有興趣請參考43 Log-structured File System (LFS)。

inode

讀者們肯定能注意到,數(shù)據(jù)塊和inode混在一起之后,LFS要怎么找到這些inode?我們可以用一個map結(jié)構(gòu)來存儲inode,其key是文件的inode number,value是inode再磁盤上的地址,稱之為inode map(或imap)。考慮到LFS的設(shè)計,imap不應(yīng)該存儲在磁盤的某個特定位置,這會引起來回尋道的問題,因此LFS在一個寫I/O的最后把最新的imap也一起寫進來了。

下一個問題是,LFS怎么知道最新的imap在什么地方?它必須得把最新imap的地址寫在磁盤上一個固定的地方,這就是checkpoint region(CR)。出于寫入性能的考慮,CR一般30秒左右才更新一次,因此對性能的影響可以忽略。

目錄

前面的討論僅涉及了文件,其實目錄也是類似的,假如在某個目錄/dir下面創(chuàng)建了一個叫foo的文件:

LFS首先寫入foo的內(nèi)容和inode

然后寫入目錄D的內(nèi)容,即inode number和磁盤地址的映射關(guān)系,如下圖中的(foo,K),以及這個目錄新的inode

最后寫入寫的imap

文件讀取

LFS掛載后,會先讀入CR,再根據(jù)CR的內(nèi)容把imap緩存到內(nèi)存中,之后這兩個數(shù)據(jù)結(jié)構(gòu)的更新就按照上面的描述進行更新,imap在每次寫I/O后追加到尾部,CR則定期寫入。

從LFS讀取一個文件如/dir/foo時,首先從imap緩存中找到根目錄/的inode地址(比如根據(jù)約定的inode number 2),讀取其內(nèi)容找到dir目錄對應(yīng)的inode number,再根據(jù)inode number從imap中找到dir對應(yīng)的inode number,如此類推直到讀入foo的inode,這之后的過程就跟普通uni__文件系統(tǒng)沒太大區(qū)別了,inode里面有direct pointer, indirect pointer... LFS沒有對讀取做什么優(yōu)化,而是寄希望于越來越大的內(nèi)存能夠緩存更多的inode和數(shù)據(jù)塊。

垃圾回收

LFS寫入新的數(shù)據(jù)塊時,總是尋找一片連續(xù)的空閑磁盤空間,然后寫入整個segment,因此磁盤中其實充滿了過時的數(shù)據(jù)。比如下面的i節(jié)點號為K的文件一開始保存在磁盤地址A0,當這個文件的內(nèi)容更新的時候,LFS在磁盤地址A4寫入了新的數(shù)據(jù)塊和inode,此時A0和A1的數(shù)據(jù)就是過時的:

另一個例子,假設(shè)用戶往文件中追加了一個塊(A4),這種情況下過時的數(shù)據(jù)只有老的inode(A1):

在ZFS,btrfs等吸收了LFS設(shè)計思路的文件系統(tǒng)中,允許用戶保留這些老版本的文件作為snapshot,并把這個feature作為了一個買點,這種方法就是著名的copy on write。而在LFS中,只保留最新版本的文件。

不論如何,這些文件系統(tǒng)最終都需要回收這些不再使用的、過時的數(shù)據(jù)。一個簡單的實現(xiàn)是掃描這些數(shù)據(jù),發(fā)現(xiàn)過時的數(shù)據(jù)就標記為空閑,但是這樣會造成大量的磁盤碎片。在LFS的實現(xiàn)中,定期啟動一個cleaner線程,讀出幾個segment的數(shù)據(jù),其中過時的數(shù)據(jù)會被直接丟棄,剩余的塊則會合并到新的segment中寫入磁盤。這個方式保證了磁盤的數(shù)據(jù)大致是連續(xù)的,方便在寫入時找到大片的空閑空間。

Solid State Drive

這里的Solid state disk(簡稱SSD)特指基于NAND Flash的存儲設(shè)備,SSD不一定需要基于Flash,但是目前NAND Flash是SSD事實的標準,在深入SSD之前我們先了解Flash的特性。

Flash芯片組成

跟磁盤相比,它沒有任何機械組件。。Flash芯片最底層的存儲單元叫做cell,一個cell可以存儲一個或者多個bit:

只存儲一個bit的cell叫做single-levle cell(SLC)

存儲兩個bit的call叫做multi-level cell(MLC)

存儲三個bit的call叫做triple-level cell(TLC)

……

總體來說SLC的性能最好成本最高,每個cell的存儲的bit數(shù)量越多性能就越差,成本也越低。

多個cell組成一個page,這是flash存取數(shù)據(jù)的最小單元,它的大小通常是幾KiB,比如4KiB

多個page組成一個block,它的大小一般是128KiB或256KiB

多個block組成一個bank或者叫(plane),一個flash芯片一般會包含若干個bank

下圖是一個縮小了規(guī)模的Flash芯片

Flash芯片的基本操作

Flash芯片的物理特性比較特殊,它最基本的底層操作有三種.

讀取(read)一個page:flash芯片可以讀取任意一個page,只要給出page號即可。不像磁盤,ssd是一種隨機存取設(shè)備,它沒有機械部件,存取任意一個位置的速度都是一樣的,讀操作通常只要10微秒(10^-5)左右。

擦除(erase)一個block:flash的物理特性要求在寫入一個page之前,先擦除改page所在的整個block,整個個操作很慢,一般需要幾毫秒(10^-3)。這個操作會把整個block里面每一個比特都設(shè)置成1,因此在擦除前需要復(fù)制出里面有價值的數(shù)據(jù)。block擦除完成之后就能夠進行編碼(或者說寫入)。

編碼(Program)一個page:在擦除一個block之后,flask可以把里面的一些比特從1改成0,因此把想要的內(nèi)容寫入page中。編碼操作通常需要100微秒左右(10^-4)。

總的來說,讀取的速度遠快于編碼的速度,而編碼的速度又快于擦除的速度。

Flash磨損

由于沒有機械部件,flash的可靠性比磁盤要高很多,不會出現(xiàn)類似磁頭劃碰的問題,但是flash也有它的弱點,即磨損(wear out):每次擦除一個block或編碼一個page時,都會造成一些輕微的損耗,這些損耗積累下來后最終會導(dǎo)致無法區(qū)分0和1,這時候這個block就變得不可用了。一般一個基于MLC的芯片生命周期大約是10,000P/E(Program/Erase),也就是說每個block在失效前可以反復(fù)擦除和寫入10,000次,而基于SLC的芯片生命周期大概是100,000P/E。

從Flash芯片到SSD

前面我們描述了Flash芯片的組成,而一塊SSD中會包含多個Flash芯片,它們連接到一個Flash控制器上,F(xiàn)lash控制器對外提供了一個磁盤設(shè)備的接口,更有趣的是Flash控制器還連著一小塊內(nèi)存。這片內(nèi)存可以用來作為I/O的緩存,同時還保存了物理塊到Flash 芯片的page的映射關(guān)系。

為什么SSD中需要這樣一個映射關(guān)系?假設(shè)我們采用一種最簡單的映射關(guān)系,把物理塊0映射到第0個Flash芯片上第0個page,把物理塊1映射到第0個Flash芯片上第個page……這種簡單的映射有兩個問題,主要出現(xiàn)在更新的場景:

一是性能上的,我們直到page在寫入前需要先擦除,這種原地更新導(dǎo)致了三次I/O操作:

讀出整個block,并在內(nèi)存中更新對應(yīng)的內(nèi)容

擦除整個block,而flash擦除的速度很慢,跟磁盤基本是一個量級的

重新寫入block

第二個問題是,經(jīng)常更新的磁盤區(qū)域(比如swap和/tmp分區(qū))會嚴重磨損,成為SSD壽命的短板

Flash Translation Layer

因此,F(xiàn)lash控制器最核心的功能就是,在主機發(fā)起I/O請求時,動態(tài)地完成物理塊到SSD內(nèi)部page的轉(zhuǎn)換,這就是Flash Translation Layer(FTL),它的目標有幾個:

并行地利用多個Flash芯片

減少寫放大

使得Flash的磨損盡可能的平均

太陽底下無新事,第一個問題可以借鑒RAID,后兩者可以從LFS中得到啟發(fā)。大多數(shù)FTL的實現(xiàn)都類似于log-structured file system,當主機往SSD寫入內(nèi)容的時候,先在SSD的內(nèi)存中緩存一定的大小,然后找到一片空閑的區(qū)域一次性的寫入;同時SSD的內(nèi)存和Flash中維護一個物理塊和SSD內(nèi)部page的映射表,即mapping table。假設(shè)主機進行了這一系列的操作:

往物理塊100寫入內(nèi)容a1

往物理塊101寫入內(nèi)容a2

往物理塊2000寫入內(nèi)容b1

往物理塊2001寫入內(nèi)容b2

這一系列的操作會由FTL合并寫入到一片臨近的區(qū)域中,如下圖所示,圖上Table部分即mapping table。

垃圾回收

假設(shè)主機接下來需要修改物理塊100和101的內(nèi)容,分別改成了c1和c2,F(xiàn)TL不會原地修改,而是直接寫入到后續(xù)的空閑page中,同時在mapping table中修改物理塊100和101對應(yīng)的page為4和5:

此時page 0和1中的數(shù)據(jù)是過時的,如果需要回收這兩個page,F(xiàn)TL必須先把同一個block中有效的數(shù)據(jù)(page2和3)讀取出來,寫入到后續(xù)的空閑空間中,這個時候整個block0都是過時的數(shù)據(jù),F(xiàn)TL才能擦除這個block。

mapping table 大小

按照上面的方式把一個物理塊映射到ssd的一個page,如果這兩者的大小都為4KiB,對于一個1TiB的SSD來說,mapping table需要有1TiB/4KiB個條目,假設(shè)每個條目的大小大小為4字節(jié)的話,整個mapping table的大小需要1GiB,對于SSD的內(nèi)存來說,這實在太大了。一種解決方案是只在SSD中緩存部分活躍的mapping,其余部分持久化到Flash中,如果工作集能滿足局部性原理的話,這個方式能保持不錯的性能。

另一種方案是把一大塊物理塊映射到SSD的一個block中,這樣mapping table可以非常小,但是它有一個嚴重的問題,如果只修改block中一個或幾個page時,F(xiàn)TL必須把整塊內(nèi)容讀取出來,在內(nèi)存中完成對應(yīng)page的修改后,再把整個block的內(nèi)容寫到一個新的空閑block中。因此,實踐中更常見的做法叫混合mapping,F(xiàn)TL中有兩個mapping table,基于page的映射叫l(wèi)og table,基于block的映射叫data table,如果物理塊能連續(xù)的映射到一個block中則保存到data table,否則保存到log table中。

DCS系統(tǒng)操作基礎(chǔ)知識

熟讀DCS操作手冊

一、規(guī)程術(shù)語含義

注意:表示涉及的事物或操作可能引起不可預(yù)測的危險后果。

警告:表示涉及的事物或操作能引起可預(yù)見的系統(tǒng)運行故障。

危險:表示涉及的事物或操作將引起系統(tǒng)停運,甚至設(shè)備損壞及人身傷害。

二、操作員操作職責

1、監(jiān)視DCS系統(tǒng)運行,預(yù)防可能產(chǎn)生的危險。

2、隨時干預(yù)系統(tǒng)運行,確保安全、正常生產(chǎn)。

3、系統(tǒng)授權(quán)運行參數(shù)的更改。

三、系統(tǒng)異常情況處理

1、DCS操作界面數(shù)據(jù)不刷新(正常情況數(shù)據(jù)每秒刷新一次),手自動切換無法操作等情況,應(yīng)聯(lián)系DCS 維護人員進行維護,同時立即到現(xiàn)場操作。

2、出現(xiàn)變送器故障,自動控制過程應(yīng)立即切回手動。

3、出現(xiàn)閥門執(zhí)行機構(gòu),回路輸出卡件等故障現(xiàn)象,應(yīng)改為現(xiàn)場操作。

4、出現(xiàn)DCS系統(tǒng)回路輸入卡件故障時應(yīng)把相應(yīng)控制回路切回手動,并更換故障卡件,檢查確認故障 消除后方可再次投入自動。

5、DCS系統(tǒng)出現(xiàn)異常斷電,應(yīng)改為現(xiàn)場操作。重新上電后,要求工程師檢查系統(tǒng)情況,檢查回路參 數(shù)等系統(tǒng)數(shù)據(jù)是否正常,確認各調(diào)節(jié)閥的開度。若有異常應(yīng)重新下傳組態(tài),一切正常后方可再次投入自動。

6、其他異常情況請參照崗位操作規(guī)程執(zhí)行。

四、報警處理

工藝指標產(chǎn)生報警時會有聲音提示,報警信息在報警信息欄和報警一覽畫面中指示,報警情況了解后,用消音按鈕關(guān)閉當前的報警聲音,分析報警原因后采取相應(yīng)的操作。

五、檢測控制點

隨時密切監(jiān)視與控制息息相關(guān)溫度、壓力、液位、電流、閥位等。

六、調(diào)節(jié)閥控制

系統(tǒng)工程師(工程師以上)職責

1、系統(tǒng)軟、硬件維護。

2、 DCS系統(tǒng)的啟動和停止。

3、操作員口令的設(shè)臵與修改。

4、系統(tǒng)重要運行參數(shù)的維護與修改。

5、其它涉及系統(tǒng)的職責。

6、注意事項:

▼當系統(tǒng)出現(xiàn)停電時,應(yīng)立即將系統(tǒng)中投入自動控制的回路切到手動。當供電正常時,首先檢 查系統(tǒng)運行及系統(tǒng)數(shù)據(jù)是否正常,如果有異?,F(xiàn)象,重新下傳組態(tài),并檢查核對系統(tǒng)參數(shù)。一切正常后方可再次投入自動。(參數(shù)表參見相關(guān)資料)

▼統(tǒng)啟動運行上電順序:UPS、控制站、顯示器、操作站計算機。

▼停機次序:控制站計算機、顯示器、控制站、UPS。

▼操作員口令維護:每臺操作站上的操作員口令之間無任何關(guān)系,必須單獨建立??诹钍潜WC系 統(tǒng)安全正常運行的前提,必須嚴格執(zhí)行。

▼歷史數(shù)據(jù)保存在操作站硬盤上,與系統(tǒng)停電等因素無關(guān)。歷史數(shù)據(jù)是追查事故責任的重要手段。

▼操作站計算機是系統(tǒng)的重要組成部分,必須保持其正常運行和整潔。

▼當系統(tǒng)卡件故障時應(yīng)把相應(yīng)控制回路立即切回手動,并通知DCS系統(tǒng)維護人員立即更換故障卡件,檢查確認故障消除時方可再次將系統(tǒng)投入自動。

七、操作員職責

1、監(jiān)視DCS系統(tǒng)運行,預(yù)防可能產(chǎn)生的危險。

2、隨時干預(yù)系統(tǒng)運行,確保安全、正常生產(chǎn)。

3、系統(tǒng)授權(quán)運行參數(shù)的更改。

4、自動控制投運方法:將畫面中的回路儀表的手/自動開關(guān)打到自動即可。

5、報警處理:工藝指標產(chǎn)生報警時會有聲音提示,報警信息在報警信息欄和報警一覽畫面中指示, 報警情況了解后,用消音按鈕關(guān)閉當前的報警聲音,并在報警一覽中確認。

6、異常情況處理:

▼自動控制過程中,出現(xiàn)變送器故障,應(yīng)立即切回手動。

▼如果出現(xiàn)閥門故障現(xiàn)象,此時應(yīng)切回手動,改為現(xiàn)場操作。

▼系統(tǒng)出現(xiàn)斷電,此時應(yīng)立即切回手動,并要求工程師檢查系統(tǒng)情況,確認完好后方可再次投 入自動。

▼DCS操作界面數(shù)據(jù)不刷新(正常情況數(shù)據(jù)每秒刷新一次),手自動切換無法操作等情況,應(yīng)聯(lián) 系儀表人員進行維護。同時立即到現(xiàn)場操作。

▼出現(xiàn)系統(tǒng)卡件故障時應(yīng)把相應(yīng)控制回路切回手動,并由儀表人員更換故障卡件,檢查確認故 障消除后方可再次投入自動。

▼DCS系統(tǒng)出現(xiàn)異常斷電,應(yīng)改為手動操作。重新上電后,要求工程師檢查系統(tǒng)情況,檢查回 路參數(shù)等系統(tǒng)數(shù)據(jù)是否正常,確認各調(diào)節(jié)閥的開度。一切正常后方可再次投入自動。

DCS系統(tǒng)一旦出現(xiàn)故障,如何用最短時間準確診斷故障?

看工經(jīng)典案例

Q1:哪些情況是控制系統(tǒng)問題還是工藝問題?

A:出現(xiàn)以下情況時,說明控制系統(tǒng)發(fā)生問題,應(yīng)立即通知微機維修人員維修,同時操作工到現(xiàn)場進行處理。

1、 經(jīng)常變化的數(shù)據(jù)長時間不變,且?guī)讉€數(shù)據(jù)或所有數(shù)據(jù)都不變。

2、 控制分組畫面中,手動自動無法切換,或手動輸入數(shù)據(jù)后,一經(jīng)確認,又恢復(fù)為原來的數(shù)據(jù),修改不過來。

3、 趨勢圖畫面中,幾條趨勢都為直線不變。

4、 監(jiān)控畫面中,多個數(shù)據(jù)同時波動較大。

判斷波動數(shù)據(jù)是否為工藝上相關(guān)參數(shù),若是相關(guān)參數(shù)則通知儀表及微機人員檢查,看是否某調(diào)節(jié)系統(tǒng)波動引起相關(guān)參數(shù)變化,同時將相關(guān)調(diào)節(jié)系統(tǒng)打到手動狀態(tài),必 要時到現(xiàn)場進行調(diào)節(jié)。

若波動數(shù)據(jù)工藝上彼此并無直接影響,則可能為微機某卡件發(fā)生故障,立即將相關(guān)自調(diào)系統(tǒng)打到手動調(diào)節(jié),必要時到現(xiàn)場進行調(diào)節(jié),同時,通知微機及儀表人員檢查。

Q2:大修后DCS系統(tǒng)如何上電,如何對DCS供電檢查?

A:DCS系統(tǒng)對供電質(zhì)量有一定要求,大修后DCS上電應(yīng)注意:

1、確認外部供電是否平穩(wěn),如檢修期間電壓不穩(wěn)不要上電。

2、測試外部供電電壓是否符合198V-242V要求。

3、上電時按先總電源,再操作站,控制柜,外配柜順序上電(斷電則相反)。

4、上電后對DCS卡件故障報警、電壓故障報警、交換機和網(wǎng)絡(luò)檢查,對供電電壓測試。

5、用萬用表可檢查DCS每個機籠的5V、24V電壓,如低于5V、24V則不正常。如需對供電質(zhì)量深入檢查,需用示波器或電能質(zhì)量分析儀檢測分析。

專家建議:系統(tǒng)維護負責人確認條件具備方可上電。應(yīng)嚴格遵照上電步驟進行。

Q3:中控室日常管理應(yīng)注意些什么?

A:控制室的日常管理對系統(tǒng)穩(wěn)定運行和維護很重要,日常管理應(yīng)注意:

1)、控制室門窗位置布置合理,操作站、控制柜、UPS放置規(guī)范,標識清楚。

2)、控制室保持日常清潔,維持適當?shù)臏囟群蜐穸龋瑱z查照明、空調(diào)運行情況。

3)、檢查系統(tǒng)防水、防塵、防腐蝕和防振情況,日常發(fā)現(xiàn)有漏洞的地方及時整改。

4)、規(guī)范管理,不允許無關(guān)人員觸碰控制柜卡件,對操作站設(shè)置密碼,加強保密安全管理。

5)、對控制柜內(nèi)開關(guān)、端子、外配等部件標識檢查,使之標識清晰方便維護。

專家建議:控制室溫度范圍0-50攝氏度,20度左右適宜;濕度范圍:10%-90%RH,無凝露。

Q4:DCS系統(tǒng)在日常維護時如何能了解到系統(tǒng)當前故障情況?

A:日常維護時注意觀察很重要,重點觀察了解的地方為:

1、控制站卡件指示等顯示是否異常(fail燈是否亮紅燈),

2、進入監(jiān)控“故障診斷”畫面查看是否有卡件運行故障提示、通訊網(wǎng)絡(luò)異常提示,

3、檢查系統(tǒng)供電是否正常。

4、檢查控制站電源風(fēng)扇是否運行,交換機指示燈是否正常,是否有腐蝕現(xiàn)象(接線頭或機柜銅條處是否發(fā)黑等現(xiàn)象)。

Q5:如何簡單檢查DCS系統(tǒng)接地?

DCS系統(tǒng)的接地示意圖

A:DCS接地是一個很復(fù)雜的問題,涉及到接地地點,接地方式,接地電阻大小等從現(xiàn)場到DCS機柜的諸多節(jié)點和環(huán)節(jié)。但日常對DCS的常規(guī)檢查主要有幾個方面:

1、DCS機柜應(yīng)采用單點接地方式,檢查是否有可能導(dǎo)致多點接地的地方出現(xiàn),比如機柜與槽鋼的接觸,接地點是否為單條引下線(線徑大于16mm2,長度小于30米)到地樁或地網(wǎng),部件連接(或焊接)點是否良好(銹蝕)等。

2、檢查DCS接地點與電氣地或避雷針引下線接地是否共用,距離是否符合要求,一般情況要求DCS接地與電氣地距離15米以上,與避雷針接地點15米以上。

3、測量DCS系統(tǒng)接地電阻是否小于4歐姆。接地電阻的大小與很多因素相關(guān),如接觸良好,土壤濕度,導(dǎo)電率等,測量接地電阻可選用的儀器有搖表、鉗形表等。

Q6:日常維護時如何檢查DCS系統(tǒng)網(wǎng)絡(luò)?

A:1、用網(wǎng)絡(luò)測試儀測試網(wǎng)線硬件是否正常,檢查交換機指示燈是否正常。

2、檢查監(jiān)控“故障診斷”畫面是否有故障提示。

3、對每臺計算機使用“ping”命令檢查網(wǎng)絡(luò)是否正常,IP設(shè)置是否正確。

4、檢查網(wǎng)卡流控制是否關(guān)閉,網(wǎng)卡驅(qū)動安裝是否正常。

5、使用組態(tài)軟件自帶SCDIAGNOSE軟件檢測網(wǎng)絡(luò)情況。

Q7:DCS系統(tǒng)維護如何做好防靜電?

A:如果維護不注意,靜電可能對DCS卡件或通訊帶來不小影響,DCS維護過程中特別是在觸碰硬件卡件或通訊部件時應(yīng)采取如下措施做好防靜電。

1、保持環(huán)境有一定的濕度。特別北方地區(qū)或在干燥的冬季,因靜電產(chǎn)生故障的事例要遠遠大于在東南沿海地區(qū)或其他季節(jié),所以在一些重要場所,如計算機機房、實驗室、電子儀器的裝調(diào)車間應(yīng)考慮保持一定濕度的問題,特別是對那些封閉形的空調(diào)房間,更應(yīng)有一定控制濕度的設(shè)備。

2、鋪設(shè)防靜電地板,控制室和操作室均需鋪設(shè)防靜電地板。

3、在維護插扒卡件時或用手拿捏卡件時一定注意先對手釋放靜電,注意盡量避免用手直接觸碰卡件電子元件、面板電路和焊點。

4、卡件應(yīng)存放在防靜電塑料盛放器或防靜電塑料袋中,并存放在卡件盒中。

5、系統(tǒng)維護時還應(yīng)注意佩帶DCS防靜電手腕。

Q8:DCS日常維護時需要對哪些數(shù)據(jù)進行備份?

A:需要對組態(tài)、PID參數(shù)、工藝參數(shù)(設(shè)定值)、系統(tǒng)安裝軟件、電腦驅(qū)動以及認為重要的趨勢、報表等數(shù)據(jù)進行備份。

Q9:DCS系統(tǒng)某測點信號(溫度、壓力或流量等)顯示故障應(yīng)如何快速排除?

A:信號顯示數(shù)據(jù)不準或無顯示是可能常遇到的問題,它可能由于現(xiàn)場儀表引起,也可能由于DCS引起,可采取快速判斷的方法有:

1、用信號發(fā)生器模擬標準信號測試(前提是現(xiàn)場必須有信號發(fā)生器可使用)或?qū)⒘硪煌愋托盘柧€纜改接到該通道信號引入測試,若正常表明DCS正常,再檢查現(xiàn)場進DCS信號是否有誤。

2、檢查信號線正負是否接反、卡件跳線設(shè)置是否正確(特別是新增點),組態(tài)型號、量程、補償?shù)葏?shù)設(shè)置是否有誤。

3、檢查該信號所屬卡件其他測點運行是否正常,并根據(jù)現(xiàn)場實際情況判斷是否可采用對該卡件備件更換的方式檢測是否為卡件故障,更換時注意跳線設(shè)置。

Q10:某操作站監(jiān)控有時候會自動退出,是否異常?

A:系統(tǒng)退出的原因有很多,幾個月偶爾退出1次,屬于系統(tǒng)正常情況,因為如果計算機內(nèi)存占用過大或運行程序過多有可能影響監(jiān)控退出。但如果頻繁退出(比如每天或每周)則不正常。一般系統(tǒng)退出主要有如下幾種原因:

1、系統(tǒng)軟件安裝不規(guī)范,重新安裝后可以解決。

2、同一個時間恰好出現(xiàn)了多個報警,導(dǎo)致計算機系統(tǒng)的資源不足報錯。

3、系統(tǒng)調(diào)用的組態(tài)路徑為網(wǎng)絡(luò)路徑,非本機路徑。

4、硬件如主板或硬盤出現(xiàn)故障。

5、若硬盤空間不夠,也可能自動退出。

Q11:計算機重啟后異常?

A:用戶現(xiàn)場使用DELL液晶顯示器,操作系統(tǒng)為WIN NT。某次重啟操作系統(tǒng)后,無法正常進入桌面,提示不支持vga格式。與維護人員交流,在重啟計算機前做過何種操作,反饋為提高了顯示器的分辨率。判斷可能是調(diào)高了分辨率后導(dǎo)致NT系統(tǒng)自檢時無法識別顯示系統(tǒng)。進入BIOS,恢復(fù)系統(tǒng)默認設(shè)置后系統(tǒng)恢復(fù)正常。

Q12:操作員鍵盤為何會引起死機?

A:原因分析:鍵盤外殼未良好接地,人體靜電對鍵盤的沖擊,也會導(dǎo)致鍵盤死機。

解決方案:

1、新鍵盤外殼生產(chǎn)時,要求外協(xié)單位在鍵盤上留出接地孔或接地桿;

2、安裝時,使鍵盤外殼與鍵盤線屏蔽地可靠連接;

3、鍵盤外殼上去除部分涂層,使外殼有有效接地點。

Q13:壓力信號異常是何原因?

A:壓力信號出現(xiàn)滿量程情況,與實際不符。斷開卡件后面的信號線正極,信號由滿量程變?nèi)杂?公斤左右壓力信號(量程為0-13公斤)。經(jīng)現(xiàn)場觀察,該測點經(jīng)過安全柵。將信號線短路,不過安全柵后,信號顯示正常。

初步判斷是安全柵出現(xiàn)問題。原因可能是同一組的信號,安全柵是共地的。當安全柵故障后,另一毫安信號耦合到該信號上來,造成信號的干擾。

Q14:熱電阻信號不準如何排查?

A:首先,檢查熱電阻的組態(tài),確認了組態(tài)中的熱電阻型號和實際的型號保持一致;其次,確保上下位機組態(tài)一致。最后,如果還是懷疑測溫有問題的話,可以測量現(xiàn)場熱電阻A和B之間的阻值為R1;B和C之間的阻值為R2。

根據(jù)3線制熱電阻的測溫原理,可以得到熱電阻的實際電阻值為R1-2R2。然后查表找出對應(yīng)的溫度。然后用這個溫度和監(jiān)控上的溫度再進行比較。如果出入較大,請更換卡件后再次嘗試。

Q15:如何快速排查系統(tǒng)通訊故障?

A:在系統(tǒng)運行過程中若發(fā)現(xiàn)通訊故障,應(yīng)重點做如下檢查:

1、了解清楚具體故障現(xiàn)象,是所有通訊中斷還是某部分數(shù)據(jù)通 訊異常,還是某操作站通訊異常,這對之后的排查很重要。

2、工程師權(quán)限進入監(jiān)控故障診斷畫面,觀察是否有通訊卡件或總線故障報警(如數(shù)據(jù)轉(zhuǎn)發(fā)卡,主控卡等)提示。發(fā)現(xiàn)卡件故障用備件更換。

3、檢查目前網(wǎng)絡(luò)是否通暢,檢查交換機、控制站供電是否正常??捎糜嬎銠Cping命令檢查各網(wǎng)絡(luò)節(jié)點是否通暢。

4、網(wǎng)線、交換機、SBUS線等故障均可能引起網(wǎng)絡(luò)故障,可將其排除法更換測試。

5、檢查有問題操作站IP設(shè)置是否正確,卡件地址(主控卡、數(shù)據(jù)轉(zhuǎn)發(fā)卡)設(shè)置是否正確、網(wǎng)卡驅(qū)動是否正確安裝,網(wǎng)線連接是否不正確(交叉等)。

計算機操作系統(tǒng)基礎(chǔ)

1.通常在計算機硬件上配置的OS,目標有:

方便

有效

可擴充

開放

2.OS為系統(tǒng)軟件,所以是一種軟件接口。

3.用戶使用OS的方式

(1)命令方式:聯(lián)機命令,直接操作OS

(2)系統(tǒng)調(diào)用:OS提供系統(tǒng)調(diào)用

(3)圖形、窗口:GUI界面

4.計算機當中的資源:

硬件和軟件資源。歸納起來可將資源分為四類:處理器、存儲器、 I/O設(shè)備以及信息(數(shù)據(jù)和程序)。

OS的主要功能也正是針對這四類資源進行有效的管理,即:

處理機管理, 用于分配和控制處理機;

存儲器管理,主要負責內(nèi)存的分配與回收;

I/O設(shè)備管理,負責I/O設(shè)備的分配與操縱;

文件管理,負責文件的存取、共享和保護。

5.擴充機器

通常把覆蓋了軟件的機器稱為擴充機器或虛機器。如果我們又在第一層軟件上再覆蓋上一層文件管理軟件,則用戶可利用該軟件提供的文件存取命令,來進行文件的存取。此時,用戶所看到的是臺功能更強的虛機器。如果我們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件,則用戶便可在窗口環(huán)境下方便地使用計算機,形成一臺功能更強的虛機器。

6. 操作系統(tǒng)的發(fā)展過程

1. 人工操作方式

2. 脫機輸入/輸出(Off-Line I/O)方式

3.單道批處理系統(tǒng)(Simple Batch Processing System)

4.多道批處理系統(tǒng)(Multiprogrammed Batch Processing System)

在該系統(tǒng)中, 用戶所提交的作業(yè)都先存放在外存上并排成一個隊列,稱為“后備隊列”;然后,由作業(yè)調(diào)度程序按一定的算法從后備隊列中選擇若干個作業(yè)調(diào)入內(nèi)存,使它們共享CPU和系統(tǒng)中的各種資源。

如果允許在內(nèi)存中裝入多道程序, 并允許它們并發(fā)執(zhí)行,則無疑會大大提高內(nèi)存和I/O設(shè)備的利用率。

5. 多道批處理系統(tǒng)需要解決的問題

(1)處理機管理問題。

(2) 內(nèi)存管理問題。

(3) I/O設(shè)備管理問題。

(4) 文件管理問題。

(5) 作業(yè)管理問題。

6.分時系統(tǒng)(Time-Sharing System)

為實現(xiàn)分時系統(tǒng),其中,最關(guān)鍵的問題是如何使用戶能與自己的作業(yè)進行交互,即當用戶在自己的終端上鍵入命令時, 系統(tǒng)應(yīng)能及時接收并及時處理該命令,再將結(jié)果返回給用戶。此后, 用戶可繼續(xù)鍵入下一條命令,此即人—機交互。應(yīng)強調(diào)指出,即使有多個用戶同時通過自己的鍵盤鍵入命令,系統(tǒng)也應(yīng)能全部地及時接收并處理。

7.實時系統(tǒng)

所謂“實時”,是表示“及時”,而實時系統(tǒng)(Real-Time System)是指系統(tǒng)能及時(或即時)響應(yīng)外部事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運行。

(1) 硬實時任務(wù)(hard real-time task)。系統(tǒng)必須滿足任務(wù)對截止時間的要求,否則可能出現(xiàn)難以預(yù)測的結(jié)果。

(2) 軟實時任務(wù)(Soft real-time task)。它也聯(lián)系著一個截止時間, 但并不嚴格,若偶爾錯過了任務(wù)的截止時間, 對系統(tǒng)產(chǎn)生的影響也不會太大。

7.操作系統(tǒng)的基本特性

并發(fā)

并行性和并發(fā)性是既相似又有區(qū)別的兩個概念,并行性是指兩個或多個事件在同一時刻發(fā)生;而并發(fā)性是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時間內(nèi),宏觀上有多個程序在同時運行,但在單處理機系統(tǒng)中,每一時刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時地交替執(zhí)行。倘若在計算機系統(tǒng)中有多個處理機,則這些可以并發(fā)執(zhí)行的程序便可被分配到多個處理機上,實現(xiàn)并行執(zhí)行,即利用每個處理機來處理一個可并發(fā)執(zhí)行的程序,這樣,多個程序便可同時執(zhí)行。

共享(Sharing)

在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進程(線程)共同使用。由于資源屬性的不同,進程對資源共享的方式也不同,目前主要有以下兩種資源共享方式。

互斥共享方式

系統(tǒng)中的某些資源,如打印機、磁帶機,雖然它們可以提供給多個進程(線程)使用,但為使所打印或記錄的結(jié)果不致造成混淆,應(yīng)規(guī)定在一段時間內(nèi)只允許一個進程(線程)訪問該資源。為此,當一個進程A要訪問某資源時,必須先提出請求, 如果此時該資源空閑,系統(tǒng)便可將之分配給請求進程A使用, 此后若再有其它進程也要訪問該資源時(只要A未用完)則必須等待。僅當A進程訪問完并釋放該資源后, 才允許另一進程對該資源進行訪問。我們把這種資源共享方式稱為互斥式共享,而把在一段時間內(nèi)只允許一個進程訪問的資源稱為臨界資源或獨占資源。計算機系統(tǒng)中的大多數(shù)物理設(shè)備,以及某些軟件中所用的棧、變量和表格,都屬于臨界資源,它們要求被互斥地共享。

同時訪問方式

系統(tǒng)中還有另一類資源,允許在一段時間內(nèi)由多個進程“同時”對它們進行訪問。這里所謂的“同時”往往是宏觀上的,而在微觀上,這些進程可能是交替地對該資源進行訪問。典型的可供多個進程“同時”訪問的資源是磁盤設(shè)備,一些用重入碼編寫的文件,也可以被“同時”共享,即若干個用戶同時訪問該文件。

并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征,它們又是互為存在的條件。一方面,資源共享是以程序(進程)的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題;另一方面,若系統(tǒng)不能對資源共享實施有效管理, 協(xié)調(diào)好諸進程對共享資源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。

虛擬(Virtual)

操作系統(tǒng)中的所謂“虛擬”,是指通過某種技術(shù)把一個物理實體變?yōu)槿舾蓚€邏輯上的對應(yīng)物。物理實體(前者)是實的, 即實際存在的;而后者是虛的,是用戶感覺上的東西。相應(yīng)地,用于實現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)。在OS中利用了多種虛擬技術(shù),分別用來實現(xiàn)虛擬處理機、虛擬內(nèi)存、 虛擬外部設(shè)備和虛擬信道等。

在虛擬處理機技術(shù)中,是通過多道程序設(shè)計技術(shù),讓多道程序并發(fā)執(zhí)行的方法,來分時使用一臺處理機的。此時, 雖然只有一臺處理機,但它能同時為多個用戶服務(wù),使每個終端用戶都認為是有一個CPU在專門為他服務(wù)。亦即, 利用多道程序設(shè)計技術(shù),把一臺物理上的CPU虛擬為多臺邏輯上的CPU,也稱為虛擬處理機,我們把用戶所感覺到的CPU稱為虛擬處理器。

異步性(Asynchronism)

在多道程序環(huán)境下,允許多個進程并發(fā)執(zhí)行, 但只有進程在獲得所需的資源后方能執(zhí)行。在單處理機環(huán)境下,由于系統(tǒng)中只有一個處理機,因而每次只允許一個進程執(zhí)行,其余進程只能等待。當正在執(zhí)行的進程提出某種資源要求時,如打印請求,而此時打印機正在為其它某進程打印,由于打印機屬于臨界資源,因此正在執(zhí)行的進程必須等待,且放棄處理機,直到打印機空閑,并再次把處理機分配給該進程時,該進程方能繼續(xù)執(zhí)行??梢姡捎谫Y源等因素的限制,使進程的執(zhí)行通常都不是“一氣呵成”,而是以“停停走走”的方式運行。

8.操作系統(tǒng)的主要功能

8.1處理機管理功能

1. 進程控制

在傳統(tǒng)的多道程序環(huán)境下,要使作業(yè)運行,必須先為它創(chuàng)建一個或幾個進程,并為之分配必要的資源。當進程運行結(jié)束時,立即撤消該進程,以便能及時回收該進程所占用的各類資源。進程控制的主要功能是為作業(yè)創(chuàng)建進程、撤消已結(jié)束的進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換。在現(xiàn)代OS中,進程控制還應(yīng)具有為一個進程創(chuàng)建若干個線程的功能和撤消(終止)已完成任務(wù)的線程的功能。

2. 進程同步

為使多個進程能有條不紊地運行,系統(tǒng)中必須設(shè)置進程同步機制。進程同步的主要任務(wù)是為多個進程(含線程)的運行進行協(xié)調(diào)。有兩種協(xié)調(diào)方式:① 進程互斥方式, 這是指諸進程(線程)在對臨界資源進行訪問時, 應(yīng)采用互斥方式;② 進程同步方式,指在相互合作去完成共同任務(wù)的諸進程(線程)間,由同步機構(gòu)對它們的執(zhí)行次序加以協(xié)調(diào)。

為了實現(xiàn)進程同步,系統(tǒng)中必須設(shè)置進程同步機制。最簡單的用于實現(xiàn)進程互斥的機制,是為每一個臨界資源配置一把鎖W,當鎖打開時,進程(線程)可以對該臨界資源進行訪問;而當鎖關(guān)上時,則禁止進程(線程)訪問該臨界資源。

3. 進程通信

在多道程序環(huán)境下,為了加速應(yīng)用程序的運行,應(yīng)在系統(tǒng)中建立多個進程,并且再為一個進程建立若干個線程,由這些進程(線程)相互合作去完成一個共同的任務(wù)。而在這些進程(線程)之間,又往往需要交換信息。例如,有三個相互合作的進程, 它們是輸入進程、計算進程和打印進程。輸入進程負責將所輸入的數(shù)據(jù)傳送給計算進程;計算進程利用輸入數(shù)據(jù)進行計算, 并把計算結(jié)果傳送給打印進程;最后,由打印進程把計算結(jié)果打印出來。進程通信的任務(wù)就是用來實現(xiàn)在相互合作的進程之間的信息交換。?

當相互合作的進程(線程)處于同一計算機系統(tǒng)時,通常在它們之前是采用直接通信方式,即由源進程利用發(fā)送命令直接將消息(message)掛到目標進程的消息隊列上,以后由目標進程利用接收命令從其消息隊列中取出消息。

4. 調(diào)度

在后備隊列上等待的每個作業(yè),通常都要經(jīng)過調(diào)度才能執(zhí)行。在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調(diào)度和進程調(diào)度兩步。作業(yè)調(diào)度的基本任務(wù),是從后備隊列中按照一定的算法,選擇出若干個作業(yè),為它們分配其必需的資源(首先是分配內(nèi)存)。在將它們調(diào)入內(nèi)存后,便分別為它們建立進程,使它們都成為可能獲得處理機的就緒進程,并按照一定的算法將它們插入就緒隊列。而進程調(diào)度的任務(wù),則是從進程的就緒隊列中選出一新進程,把處理機分配給它,并為它設(shè)置運行現(xiàn)場, 使進程投入執(zhí)行。值得提出的是,在多線程OS中,通常是把線程作為獨立運行和分配處理機的基本單位,為此,須把就緒線程排成一個隊列,每次調(diào)度時,是從就緒線程隊列中選出一個線程,把處理機分配給它。

8.2存儲器管理功能

1. 內(nèi)存分配

OS在實現(xiàn)內(nèi)存分配時,可采取靜態(tài)和動態(tài)兩種方式。在靜態(tài)分配方式中,每個作業(yè)的內(nèi)存空間是在作業(yè)裝入時確定的;在作業(yè)裝入后的整個運行期間, 不允許該作業(yè)再申請新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中“移動”;在動態(tài)分配方式中,每個作業(yè)所要求的基本內(nèi)存空間, 也是在裝入時確定的,但允許作業(yè)在運行過程中,繼續(xù)申請新的附加內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)的動態(tài)增漲,也允許作業(yè)在內(nèi)存中“移動”。

為了實現(xiàn)內(nèi)存分配,在內(nèi)存分配的機制中應(yīng)具有這樣的結(jié)構(gòu)和功能:

① 內(nèi)存分配數(shù)據(jù)結(jié)構(gòu), 該結(jié)構(gòu)用于記錄內(nèi)存空間的使用情況, 作為內(nèi)存分配的依據(jù);

② 內(nèi)存分配功能,系統(tǒng)按照一定的內(nèi)存分配算法, 為用戶程序分配內(nèi)存空間;

③ 內(nèi)存回收功能,系統(tǒng)對于用戶不再需要的內(nèi)存,通過用戶的釋放請求,去完成系統(tǒng)的回收功能。

2. 內(nèi)存保護

內(nèi)存保護的主要任務(wù),是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運行,彼此互不干擾。

為了確保每道程序都只在自己的內(nèi)存區(qū)中運行,必須設(shè)置內(nèi)存保護機制。一種比較簡單的內(nèi)存保護機制,是設(shè)置兩個界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。系統(tǒng)須對每條指令所要訪問的地址進行檢查,如果發(fā)生越界,便發(fā)出越界中斷請求,以停止該程序的執(zhí)行。如果這種檢查完全用軟件實現(xiàn),則每執(zhí)行一條指令,便須增加若干條指令去進行越界檢查,這將顯著降低程序的運行速度。因此,越界檢查都由硬件實現(xiàn)。當然, 對發(fā)生越界后的處理, 還須與軟件配合來完成。

3. 地址映射

一個應(yīng)用程序(源程序)經(jīng)編譯后,通常會形成若干個目標程序;這些目標程序再經(jīng)過鏈接便形成了可裝入程序。這些程序的地址都是從“0”開始的,程序中的其它地址都是相對于起始地址計算的;由這些地址所形成的地址范圍稱為“地址空間”, 其中的地址稱為“邏輯地址”或“相對地址”。此外,由內(nèi)存中的一系列單元所限定的地址范圍稱為“內(nèi)存空間”, 其中的地址稱為“物理地址”。

在多道程序環(huán)境下,每道程序不可能都從“0”地址開始裝入(內(nèi)存), 這就致使地址空間內(nèi)的邏輯地址和內(nèi)存空間中的物理地址不相一致。使程序能正確運行,存儲器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對應(yīng)的物理地址。該功能應(yīng)在硬件的支持下完成。

4. 內(nèi)存擴充

存儲器管理中的內(nèi)存擴充任務(wù),并非是去擴大物理內(nèi)存的容量,而是借助于虛擬存儲技術(shù),從邏輯上去擴充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實際內(nèi)存容量大得多;或者是讓更多的用戶程序能并發(fā)運行。這樣,既滿足了用戶的需要,改善了系統(tǒng)的性能,又基本上不增加硬件投資。為了能在邏輯上擴充內(nèi)存,系統(tǒng)必須具有內(nèi)存擴充機制, 用于實現(xiàn)下述各功能:

(1) 請求調(diào)入功能。

(2) 置換功能。

8.3.設(shè)備管理功能

設(shè)備管理用于管理計算機系統(tǒng)中所有的外圍設(shè)備, 而設(shè)備管理的主要任務(wù)是,完成用戶進程提出的I/O請求;為用戶進程分配其所需的I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;方便用戶使用I/O設(shè)備。為實現(xiàn)上述任務(wù),設(shè)備管理應(yīng)具有緩沖管理、設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等功能。

1. 緩沖管理

CPU運行的高速性和I/O低速性間的矛盾自計算機誕生時起便已存在。而隨著CPU速度迅速、大幅度的提高,使得此矛盾更為突出,嚴重降低了CPU的利用率。如果在I/O設(shè)備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設(shè)備速度不匹配的矛盾,提高CPU的利用率,進而提高系統(tǒng)吞吐量。因此,在現(xiàn)代計算機系統(tǒng)中, 都毫無例外地在內(nèi)存中設(shè)置了緩沖區(qū),而且還可通過增加緩沖區(qū)容量的方法,來改善系統(tǒng)的性能。

最常見的緩沖區(qū)機制有單緩沖機制、能實現(xiàn)雙向同時傳送數(shù)據(jù)的雙緩沖機制,以及能供多個設(shè)備同時使用的公用緩沖池機制。

2. 設(shè)備分配

設(shè)備分配的基本任務(wù),是根據(jù)用戶進程的I/O請求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配其所需的設(shè)備。如果在I/O設(shè)備和CPU之間,還存在著設(shè)備控制器和I/O通道時,還須為分配出去的設(shè)備分配相應(yīng)的控制器和通道。

為了實現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置設(shè)備控制表、控制器控制表等數(shù)據(jù)結(jié)構(gòu),用于記錄設(shè)備及控制器的標識符和狀態(tài)。據(jù)這些表格可以了解指定設(shè)備當前是否可用,是否忙碌,以供進行設(shè)備分配時參考。在進行設(shè)備分配時,應(yīng)針對不同的設(shè)備類型而采用不同的設(shè)備分配方式。對于獨占設(shè)備(臨界資源)的分配,還應(yīng)考慮到該設(shè)備被分配出去后,系統(tǒng)是否安全。設(shè)備使用完后,還應(yīng)立即由系統(tǒng)回收。

3. 設(shè)備處理

設(shè)備處理程序又稱為設(shè)備驅(qū)動程序。其基本任務(wù)是用于實現(xiàn)CPU和設(shè)備控制器之間的通信,即由CPU向設(shè)備控制器發(fā)出I/O命令,要求它完成指定的I/O操作;反之由CPU接收從控制器發(fā)來的中斷請求,并給予迅速的響應(yīng)和相應(yīng)的處理。

處理過程是:設(shè)備處理程序首先檢查I/O請求的合法性,了解設(shè)備狀態(tài)是否是空閑的,了解有關(guān)的傳遞參數(shù)及設(shè)置設(shè)備的工作方式。然后,便向設(shè)備控制器發(fā)出I/O命令,啟動I/O設(shè)備去完成指定的I/O操作。設(shè)備驅(qū)動程序還應(yīng)能及時響應(yīng)由控制器發(fā)來的中斷請求,并根據(jù)該中斷請求的類型,調(diào)用相應(yīng)的中斷處理程序進行處理。對于設(shè)置了通道的計算機系統(tǒng), 設(shè)備處理程序還應(yīng)能根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。

8.4.文件管理功能

1. 文件存儲空間的管理

由文件系統(tǒng)對諸多文件及文件的存儲空間,實施統(tǒng)一的管理。其主要任務(wù)是為每個文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統(tǒng)的運行速度。

為此,系統(tǒng)應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu),用于記錄文件存儲空間的使用情況,以供分配存儲空間時參考;系統(tǒng)還應(yīng)具有對存儲空間進行分配和回收的功能。為了提高存儲空間的利用率,對存儲空間的分配,通常是采用離散分配方式,以減少外存零頭,并以盤塊為基本分配單位。盤塊的大小通常為512 B~8 KB。

2. 目錄管理

為了使用戶能方便地在外存上找到自己所需的文件,通常由系統(tǒng)為每個文件建立一個目錄項。目錄項包括文件名、文件屬性、文件在磁盤上的物理位置等。由若干個目錄項又可構(gòu)成一個目錄文件。目錄管理的主要任務(wù), 是為每個文件建立其目錄項,并對眾多的目錄項加以有效的組織,以實現(xiàn)方便的按名存取。即用戶只須提供文件名, 即可對該文件進行存取。其次,目錄管理還應(yīng)能實現(xiàn)文件共享,這樣,只須在外存上保留一份該共享文件的副本。此外,還應(yīng)能提供快速的目錄查詢手段,以提高對文件的檢索速度。

3. 文件的讀/寫管理和保護

(1) 文件的讀/寫管理。該功能是根據(jù)用戶的請求,從外存中讀取數(shù)據(jù);或?qū)?shù)據(jù)寫入外存。在進行文件讀(寫)時,系統(tǒng)先根據(jù)用戶給出的文件名,去檢索文件目錄,從中獲得文件在外存中的位置。然后,利用文件讀(寫)指針,對文件進行讀(寫)。一旦讀(寫)完成,便修改讀(寫)指針,為下一次讀(寫)做好準備。由于讀和寫操作不會同時進行,故可合用一個讀/寫指針。

(2) 文件保護。① 防止未經(jīng)核準的用戶存取文件;② 防止冒名頂替存取文件;③ 防止以不正確的方式使用文件。

8.5.用戶接口

命令接口

(1) 聯(lián)機用戶接口。這是為聯(lián)機用戶提供的,它由一組鍵盤操作命令及命令解釋程序所組成。當用戶在終端或控制臺上每鍵入一條命令后,系統(tǒng)便立即轉(zhuǎn)入命令解釋程序,對該命令加以解釋并執(zhí)行該命令。在完成指定功能后,控制又返回到終端或控制臺上,等待用戶鍵入下一條命令。這樣,用戶可通過先后鍵入不同命令的方式,來實現(xiàn)對作業(yè)的控制,直至作業(yè)完成。

(2) 脫機用戶接口。

2. 程序接口

該接口是為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,是用戶程序取得操作系統(tǒng)服務(wù)的惟一途徑。它是由一組系統(tǒng)調(diào)用組成,每一個系統(tǒng)調(diào)用都是一個能完成特定功能的子程序,每當應(yīng)用程序要求OS提供某種服務(wù)(功能)時,便調(diào)用具有相應(yīng)功能的系統(tǒng)調(diào)用。早期的系統(tǒng)調(diào)用都是用匯編語言提供的,只有在用匯編語言書寫的程序中,才能直接使用系統(tǒng)調(diào)用;但在高級語言以及C語言中,往往提供了與各系統(tǒng)調(diào)用一一對應(yīng)的庫函數(shù),這樣,應(yīng)用程序便可通過調(diào)用對應(yīng)的庫函數(shù)來使用系統(tǒng)調(diào)用。但在近幾年所推出的操作系統(tǒng)中,如UNI__、OS/2版本中,其系統(tǒng)調(diào)用本身已經(jīng)采用C語言編寫,并以函數(shù)形式提供,故在用C語言編制的程序中, 可直接使用系統(tǒng)調(diào)用。

8.6. 圖形接口

9.操作系統(tǒng)的結(jié)構(gòu)設(shè)計

把微內(nèi)核的OS結(jié)構(gòu)稱為現(xiàn)代OS結(jié)構(gòu)。

1. 無結(jié)構(gòu)操作系統(tǒng)

2. 模塊化OS結(jié)構(gòu)

3.分層式OS結(jié)構(gòu)

4.微內(nèi)核OS結(jié)構(gòu)

1. 客戶/服務(wù)器模式(Client-Server Model)

2. 面向?qū)ο蟮某绦蛟O(shè)計技術(shù)(Object-Orientated Programming)

1) 面向?qū)ο蠹夹g(shù)的基本概念

面向?qū)ο蠹夹g(shù)是20世紀80年代初提出并很快流行起來的。該技術(shù)是基于“抽象”和“隱蔽”原則來控制大型軟件的復(fù)雜度的。所謂對象,是指在現(xiàn)實世界中具有相同屬性、服從相同規(guī)則的一系列事物的抽象,而把其中的具體事物稱為對象的實例。OS中的各類實體如進程、線程、消息、存儲器等,都使用了對象這一概念,相應(yīng)地,便有進程對象線程對象、 存儲器對象等。

2) 面向?qū)ο蠹夹g(shù)的優(yōu)點

(1) 可修改性和可擴充性。由于隱蔽了表示實體的數(shù)據(jù)和操作,因而可以改變對象的表示而不會影響其它部分, 從而可以方便地改變老的對象和增加新的對象。

(2) 繼承性。繼承性是面向?qū)ο蠹夹g(shù)所具有的重要特性。繼承性是指子對象可以繼承父對象的屬性,這樣,在創(chuàng)建一個新的對象時, 便可減少大量的時空開銷。

(3) 正確性和可靠性。由于對象是構(gòu)成操作系統(tǒng)的基本單元,可以獨立地對它進行測試,這樣,比較易于保證其正確性和可靠性,從而比較容易保證整個系統(tǒng)的正確性和可靠性。

3. 微內(nèi)核技術(shù)

所謂微內(nèi)核技術(shù),是指精心設(shè)計的、能實現(xiàn)現(xiàn)代OS核心功能的小型內(nèi)核,它與一般的OS(程序)不同, 它更小更精煉,它不僅運行在核心態(tài),而且開機后常駐內(nèi)存, 它不會因內(nèi)存緊張而被換出內(nèi)存。微內(nèi)核并非是一個完整的OS, 而只是為構(gòu)建通用OS提供一個重要基礎(chǔ)。由于在微內(nèi)核OS結(jié)構(gòu)中,通常都采用了客戶/服務(wù)器模式,因此OS的大部分功能和服務(wù),都是由若干服務(wù)器來提供的, 如文件服務(wù)器、作業(yè)服務(wù)器和網(wǎng)絡(luò)服務(wù)器等。

2) 微內(nèi)核的基本功能

微內(nèi)核所提供的功能,通常都是一些最基本的功能,如進程管理、存儲器管理、進程間通信、 低級I/O功能。

(1) 進程管理。

(2) 存儲器管理。

(3) 進程通信管理。

(4) I/O設(shè)備管理。

計算機操作系統(tǒng)基礎(chǔ)知識大全相關(guān)文章:

電腦操作系統(tǒng)基礎(chǔ)知識大全有哪些

操作系統(tǒng)基礎(chǔ)知識大全有哪些

電腦知識大全菜鳥必備

計算機操作系統(tǒng)名詞解釋總結(jié)

工作必備計算機技巧知識有哪些

學(xué)習(xí)電腦知識

計算機操作系統(tǒng)通常具有的五大功能

計算機常識及技巧大全

電腦系統(tǒng)安全基礎(chǔ)知識大全有哪些

計算機操作系統(tǒng)安裝過程簡述



736698