作業系統的定義:

OS就像一個管理中心,負責傳達使用者命令並控管電腦硬體來完成各種任務,就像是人與電腦硬體之間的「橋」

軟體是解決問題的方法硬體是實際解決問題的工具與資源,如何使軟體指令讓硬體執行就是作業系統的任務

OS可說是一個人機介面(User-Machine Interface)的角色:因電腦是只懂0/1的機器,使用者靠OS的幫助,來方便控制這些電腦設備。主要的介面有兩大類:一:文字模式類似人類的語言(如英文)來下命令,例如DOS等的文字模式,二:圖形模式Graphic User Interface簡稱GUI)例如Mac, Windows, OS/2

 

作業系統的演進:

無須直接透過電腦的處理方式稱為離線(Off Line)處理,若直接連到電腦則稱為(On Line)處理。為了方便更換輸出入裝置,所以有了裝置獨立性(Device Independence)的觀念。這也是現在所謂的驅動程式(Driver evice)

第三代:積體電路(IC),多程式處理:很多重要處理觀念內容也多,提出八項。

<2>覆疊處理(Overlaping)CPU是電子速度,而週邊輸出入裝置大都為機械裝置。所以速度差很多。為了方便讓CPU等待的時間作其他工作,所以有了覆疊處理,兩種方式可同時運用。

覆疊方式

利用介質

覆疊工作數

例子

Buffering

記憶體

一個

▲磁碟的DMA處理器

Spooling

磁碟

多個

Window的印表機管理員

<3>虛擬記憶體(Virtual Memory)將磁碟模擬成記憶體來使用,所以執行程式的大小與個數,就可以不受主記憶體的限制!由於OS的作用,所以使用者或程式設計者是可以用到虛擬記憶體但卻幾乎感覺不到Virtual Mem.的存在,就像透明的鏡子一般,所以稱為透明的(Transparency)▲例如Window控制台中的虛擬記憶體Linux中的Swap記憶體可算是。
<4>多程式處理(Multiprogramming):要注意,因為只一個CPU,所以這些程式是CPU按某順序輸流處理。而多程式的最大優點就是:增加系統使用率!因為多個程式都在記憶體上,而且因為CPU動作很快,可以快速的切換於各個程式之間,如此減少CPU停頓時間,以增進效率。進一步的多程式處理演生出可同時服務很多人多使用者(Multiuser)處理

處理型態

英文名稱

意義

多程式處理

MultiProgramming

多個程式同時存在於記憶體的處理方式

多工作處理

MultiTasking

一個使用者可同時允許多程式存在記憶體的處理方式

多處理器處理

MultiProcessing

一部電腦有多個CPU共同運作的處理方式

5.未來發展趨勢:
<1>設計策略:就是可攜性。為了使作業系統具有可攜性(Portable),未來將儘量使用較高階語言來製作C語言。如此也較易維護與除錯。但為了效率,所以系統的核心部分如記憶體與處理單元分派可用組合語言取代。
<2>硬體發展:就是硬體掌控性
<3>分散式處理
<4>操作環境:就是圖形化

 

處理單元:

1.意義:處理單元活的(Active)的個體,配置在記憶中OS管制使用CPU的狀態程式則是被動(Pasive)的個體,一般只放在磁碟的檔案中除非有使用者要使用才有機會用到CPU

2.狀態與轉換:一般是分為五個基本狀態:(Unix而言,會有更多其他狀態哦!如Zombi)

3.同步問題:因工作越來越大,為增加執行效率,工作越來越複雜,為增加使用者方便性等。所以多個處理單元共同合作的機會,也越來越大。會受到一齊合作的處理單元之執行時間所影響者,稱為同步(Synchronous)。反之稱為異步(Asynchronous)

若為了增加生產力,而同時有兩家以上子公司生產同樣產品時,因有可能同時發現7-11架上的空位,而想同時供應產品到那裡,如果是供應玻璃製品就有可能弄破產品!發生所謂的競爭狀態(Rack Conditions,簡稱為競爭),這也是同步問題!為了限制共用的資料一次只能有一個處理單元使用,若某甲在用時,是不允許其他處理單元使用,所以可看出是是排斥別人的!可簡單的說有排斥性,所以就稱為互斥(Mutual Exclusion)問題。一般OS所談的同步問題大都就是這類的競爭問題,也就是互斥問題

 

臨界區域:

同步問題的重點在於共用資料的使用必須是互斥!處理單元的過程分為兩部分:一是獨立工作的部分,另一是與共用資料有關。我們對於與共用資料區有關的部分特別稱為臨界區域(Critical Section)」,而在臨界區域的進入與離開,是必須要作到互斥!

1.解決問題,必須同時滿足下列三項條件:

(1)互斥(Mutual Exclusion) (2)持續進行(Progress)(3)有限等待(Bounded Waiting)
(1)說明必須先滿足互斥的正確,(2)(3)強調不想進入臨界區域者不應受任何干擾,而想進入者也一定會在有限時間完成心願!

2.解決方法:
程式師觀點類<1>輪流使用法:此法雖可達成互斥,但卻達背了條件(2)持續進行,所以不是好解決方案。<2>上鎖法:簡單的說就是發現臨界區域已被別人鎖住,則暫停並等待。但也有一個問題就是若同時兩人都想進入臨界區時,因為發現別人也想用而被迫等待,而無一人可進入。<3>Peterson解法:類似上鎖法,但在進入臨界區域時,會先禮讓對方,若對方不想用,才正式進入!是個不錯的方法。
硬體指令類<4>測試並設定指令(Test And Set):將測試與設定數值,用硬體來作,以確保過程中,只有一個處理單元可作。<5>置換指令(Swap):類似Test And Set, 但改用Swap來表現。※硬體指令,因CPU不一定支援,所以實用性不高。信號機法:為了解決更複雜的同步問題。因此E.W.Dijkstra 提出信號機(Semaphore)的概念來解決。只有兩個操作方式:PV。可以想成,P是取用資源,所以資源數會因每取一個就減一。V是歸還資源,所以所剩資源數會加一!又為了改善忙錄等待的問題,所以常加上處理單元的狀態改變法提昇效能。所以在P時若資源數不足,則不是空等待,而是進入如同睡眠的等待狀態!

 

4.死結 (Dead Lock)

問題:死結是OS中很奇特的問題,它不常發生,可是一旦發生,就會有很嚴重傷害!如果只是個人用電腦,則可能只要重開機就好,但在多人共用的環境,則所有用機器的人都可能造成傷害!!尤其是OS已逐漸走向平行、分散,發生的機率也變大了!

成因:簡單的說就是「僵住了」。▲兩頭羊過獨木橋走到橋中,若誰也不讓誰,則誰也無法通過!若不仔細處理,死結是有可能發生,且要付出很大的代價!!

「死結的正規說法是:等待一個永不可能發生的事件。但若只有一個人只作一件事,是不會發生這種情況,所以在多人多工的環境,更顯得容易發生也更要關心此問題。另一個類似但不同的情形:稱為飢餓(Starvation):「飢餓是無限等待一個幾乎不可能或很難發生的事!」

死結的四個必要條件:互斥性(Mutual Exclusive)、持有前等待(Hold and Wait)、不可奪性(Nonpreemptive)、循環並等待(Circular Wait)

表示法:在資源配置圖上,一旦發現圈圈(有死結的可能)永遠無法經由某些先作完工作先歸還資源的運轉過程來解開這個圈圈。就是發生死結了!

預防:只要由四個必要條件下手,讓任一個不發生即可預防
避免:因為要預防死結的發生,而強制排除某些必要條件時,會付出很高的代價。(例如飢餓現象、資源使用率低)因為換個想法:我們允許四條件可能發生,但仍可在分配資源時,小心避免發生死結。

只要談到死結避免都會提到「Dijkstra的銀行定法則簡單的說:若沒有任何錄行足任一位顧客,則稱為「不安全狀態」。若可以依某順序滿足所有顧客,則稱為「安全狀態」。

把這個理論用在死結上,資金就是資源。OS可讓所有使用者在有限時間內完成他們的工作則稱為安全;反之為不安全銀行定法則的主張是只有在分配出資源後仍為安全時才作出這個分配。因為一直都處在安全狀態,所以可完全避免死結問題!!
結論:若使用者的要求會導致不安全狀態則予以拒絕(如此OS系統就可永遠在安全狀態永不發生死結問題,可算是永保安康但此法仍有缺點:只適用在固定資源,若有新增或故障,就不易掌握資源分配!而且對每一要求都檢查安不安全且必須在有限時間內歸還資源,也造成使用不方便
偵測:有人提出「乾脆讓死結發生只要有方法能偵測出再想辦法消除死結恢復系統的運作所以要有死結的偵測」方法主要有二:<1>類似銀行家演算法<2>用等候圖,來發現死結。
復原、處理:主要就是將資源分層管理。

執行緒(Thread)的觀念:亦稱為工作線,在較新的語言中,如JAVA就內建有這種功能。與處理單元一樣都是在記憶體中可執行的單位。
一個處理單元可含有二個以上的執行緒。若一個處理單元只有一個執行緒,就是傳統所說的處理單元。
不同之處是:處理單元與處理單元之間是受保護的單位各有自己的記憶體
執行緒之間則是共同一塊記憶體並有相同優先權除了自己必要的推疊與獨立的資訊外執行緒之間是不受保護,可直接共用的。執行緒可讓平行程式更易實現,也更需用到互斥技巧來解決類似競爭的問題。

虛擬記憶體(Virtual Memory):用以增加可用於程式的記憶體總量之技術。虛擬記憶體使用硬碟上的空間來模擬RAM。這樣的空間稱為交換檔或分頁檔。程式在執行前必須從磁碟載入RAM。可用的RAM愈多,則可以同時執行的程式愈多,並且可以使用愈大的程式。如需要時,Windows可以移動「置換」或「分頁」程式指示和在 RAM 與硬碟之間的資料。將不需要的資料從 RAM 轉移到磁碟,作業系統就可以釋出RAM,比電腦的RAM執行更多和更大的程式。磁碟上用於虛擬記憶體的保留空間可以動態地縮小或變大以符合系統變更的需要,這樣虛擬記憶體的潛伏時間大小可以比目前置換或分頁檔案的大小更大。有時候「虛擬記憶體」會與「交換檔案」或「分頁檔案」同步使用。所以「虛擬記憶體」也意指全部的作業記憶體,包括由作業系統用以執行程式的RAM加上可用的磁碟空間。

交換檔(分頁檔案)(Swap File)Windows中是一個隱藏檔案,用來作為虛擬記憶體。交換檔暫時保留來自RAM的資訊以釋出RAM供其它應用程式使用。 Windows95Windows98Windows Me交換檔名稱一般應為WIN386.SWP

 

補充題:

1.下列有關作業系統(Operating System)的敘述何者有誤? (1)主要目的是使計算機系統方便使用 (2)具備有文書處理的功能 (3)是計算機使用者與計算機硬體之間的介面程式 (4)MS-DOS 是一種作業系統。

2.當電腦一啟動時,隨即載入 (1)編譯程式 (2)工作控制語言(JCL) (3)輸入與輸出控制系統 (IOCS) (4)監督程式(SUPERVISOR)

3.下列何者不屬於作業系統的功能? (1)監督作業 (2)資料庫的管理 (3)記憶體的管理 (4)系統資源的分配。

4.有關作業系統(OPERATING SYSTEM)的敘述,何者錯誤? (1)計算機系統資源的管理者 (2)計算機使用者與計算機硬體之間溝通的橋樑 (3)MS-DOS是一種作業系統 (4)具備有文書處理的功能

5.下列何者不是作業系統之工作? (1)檔案系統管理 (2)將高階語言轉譯成機器語言 (3)記憶體管理 (4)工作處理元(Process)管理。

6.通用作業系統(OS)為一個資源管理者,以下那個不在其管轄範圍內?(1)處理機資源 (2)網路資源 (3)輸出入通道資源 (4)記憶體及檔案資源。

7.在作業系統中用來處理工作的基本單元稱為程序(Process),下面那一項不是程序的狀態? (1)執行(Run) (2)備妥(Ready)(3)等待(Wait) (4)擁抱(Embrace) 2 那一種記憶體管理技術,允許一個處理程序只有在需要時才載入記憶體中(1)重疊 (2)動態載入 (3)分頁 (4)交換。

8.下面那一項不是作業系統中記憶體管理的責任? (1)記憶體的刷新 (2)記憶體的配置策略 (3)記憶體的空間回收策略(4)記憶體的狀態。

 

OS第二次月考:

 ----------------------------------------補充題------------------------------------

311.IX作業系統敘述,何者正確?    (1)美國微軟(Microsoft)公司發展出 (2)百分之九十以上原始程式由組合語言寫出        (3)為一多人多工作業系統   (4)系統的可攜性(Portability)不佳。

212.於多使用者(Multi-user)作業系統?     (1)CP/M  (2)UNIX  (3)PC-DOS (4)MS-DOS

113.何者是現行資訊界廣泛使用的多人多工作業系統? (1)UNIX (2)MS-DOS        (3)PC-DOS     (4)CP/M

 --------------------------------簡答題:(題目及答案)-----------------------

3.簡述Linux的發展及特色

ANS

發展:最早Linux是由芬蘭赫爾新基(Helsinki)大學的學生Linus Torvalds所發展出來的他是想創造一套作業系統取代在IBM PC及相容機種上執行類似UNIX系統-Minix之後發展的Linux可在數種電腦平台上執行但主要在IBM PC及相容機種上執行Linux的原始程式碼是設計成具可攜性(source code portability)並遵循POSIX的標準故在UNIX上的應用程式也可在Linux上執行

‚特色:Linux是免費的,任何人皆可由網路下載或購買相關書籍所附的光碟片獲得Linux系統及為該系統所發展的應用程式,Linux系統的原始程式碼也是開放的,許多電腦技術人員參與了Linux系統的發展,並免費為其開發應用軟體,Linux以市埸共享的方式打破了由大廠控制系統抑制和改變的局面這不同於傳統的UNIX系統及目前大部分的作業系統的情形,例如微軟在個人電腦作業系統的獨佔,使得大部分PC的應用及發展市場,皆需追隨在微軟在視窗作業系統的環境中,抑制其他發展的可能性。

由於網際網路發展的迅速,使得資訊的溝通突破時空的限制,世界各地的程式設計者參與Linux系統發展的人也日增,許多Linux發展組織或論壇在世界各地成立,並透過網路溝通資訊,使得Linux的發展更加多元化。

 

http://tw.club.yahoo.com/clubs/RYOMASKUNO

http://tw.club.yahoo.com/clubs/flower-612shop/

= - = - =

這是高職時代的筆記。

創作者介紹
創作者 snowers 的頭像
snowers

- 休 息 一 下 -

snowers 發表在 痞客邦 留言(0) 人氣()