You are on page 1of 2

◎電腦系統各部門之概觀:一部電腦系統大致上可以分為四個單元硬體、作

CP
業系統、應用程式、使用者 就緒佇列 U

CP
就緒佇列 I/O
U I/O 佇列 I/O 要求

時段終止
I/O
I/O 佇列 I/O 要求

子行程執行 產生一個子行程
時段終止

中斷發生 等待中斷
子行程執行 產生一個子行程

◎行程產生
中斷發生 等待中斷
繼續
父行程 等待
◎雙模式運作:

至少需要兩種不同的運作模式:使用者模式和核心模式。 fork
()
雙模式運作提供了我們保護作業系統免於受到使用者之破壞,亦保護使用者 exec () exit ( )
子行程
免於受到相互間之干擾。

由使用者模式轉移到核心模式
使用者行程

執行使用者行程
執行使用者行程 呼叫系統呼叫 由系統呼叫返回 使用者模式
( 模式位元
=1) ◎通信模式;(a)訊息傳遞;(b)共用記憶體
插斷 訊息傳遞:以系統呼叫製作並因此需要更多浪費時間任務的核心插入時。
返回
核心 模式位元=0
模式位元= 1
共用記憶體:需要系統呼叫在建立共用記憶體區域,建立共用所有存取當
核心模式
執行系統呼叫 ( 模式位元
作常式記憶體處理,沒有需要核心處理。
=0)
故共用記憶體比訊息傳遞快。

◎行程狀態:一個行程在執行過程中,會改變很多狀態。
行程 A M
新產生:該行程正在產生中
行程 B M
執行:指令正在執行

等待:等待某件事件的發生(譬如輸出輸入完成或接收到一個信號)

就緒:該行程正等待指定一個處理器
核心 M
結束:該行程完成執行
行程 A

新產
離開 結束 共用
生 進入 中斷 行程 B

就緒 執行

核心
排班程式分派
I/O或等待事
I/O或事件完成 (a)      (b)
等待 件

◎使用插座的通信
◎行程排班的佇列圖表示:短程排班程式一般最小每 100 毫秒執行一次;
插座:定義成通信的終端,一組行程使用一對插座(雙方各一個)在網路
長程排班程式執行數卻少很多,長程排班程式控制著多元程式規劃的程
上通信。

一個插座是由一個 IP 位址和一個埠號碼所組成。
用直接聯繫或是間接聯繫。
主機 X
(146.86.5.20) ◎Socket sock = new Socket ( “127.0.0.1” ,6013);  IP 位址是 127.0.0.1 的伺
網頁伺服器
插座 (161.25.19.8) 服器用埠 6013 連接。
(146.86.5.20:162
5) ◎兩種高層次通信的取代方法:遠程程序呼叫(RPCs)和遠程方法呼叫
插座
(161.25.19.8:8 (RMI)
0)
RMI 和 RPCs 之間基本差別:

◎作業系統做什麼 RPCs 只支援程序式的程式撰寫,因此只有遠程程序或函數可以被呼叫。傳給

作業系統乃是管理電腦硬體的一套軟體程式。它同時提供了應用程式的基礎 遠程程序的參數是一般的資料結構。

並且扮演電腦使用者和電腦硬體的介面。 RMI 是物件為基礎:它支援呼叫遠程物件的方法。傳遞物件做為參數給遠程

◎電腦系統操作 的物件。藉由允許 Java 程序呼叫遠程物件的方法,可讓使用者發出橫跨網路

當電腦開機或重新開始──它需要一個最初的程式來執行(或叫做靴帶式程 的 Java 應用程式。

式) ◎多對一模式:對應許多個使用者層次的執行緒到一個核心執行緒。

靴帶式程式儲存在電腦硬體中的唯讀記憶體(ROM)或電子式可消除程式 一對一模式:對應每一個使用者執行緒到一個核心執行緒。

化唯讀記憶體(EEPROM)﹝通常稱為韌體﹞ 多對多模式:對應許多使用者執行緒到較少或相等數目的核心執行緒。

發生一個事件時,通常是由硬體或軟體產生中斷來通知。 ◎製作以網頁為基礎的計算時產生新類別的裝置,,例如負載平衡器它會將

◎系統呼叫 (課本 43 頁第二段例子加圖 2.1) 網路的連接分配到一堆相似的伺服器上。類似 Windows 95 的作業系統(扮

系統呼叫如何被使用:現在有一個簡單的程式由一個檔案中讀出資料並烤 演網頁客戶端)演化成 Linux 和 Windows XP(可以當成網頁伺服器和客

貝至另一檔案中‧程式需要這兩個檔案的名稱:輸入檔案和輸出檔案。圖 2.1 戶端)。

◎系統呼叫的類型分成五大類:行程控制、檔案管理、裝置的管理、資訊維護、 ◎命令直譯程式:例如有 MS-DOS 和 UNLX 以這種方式操作。許多的命令可

通信 以用來處理檔案:建立、刪除、列出、列印、拷貝、執行等。

◎內容轉換:轉換 CPU 至另一項行程時必須將舊行程的狀態儲存起來,然

後再載入新行程的儲存狀態,這項任務稱為內容轉換

內容轉換的時間長短大多決定於硬體支援的程度

◎行程間通訊

作業系統中同時執行的行程可分為獨立行程和合作行程兩大類。

獨位行程:無法影響其它行程的執行且不受其它的行程響,不與其它行程

共用任何資料的行程

合作行程:能夠影響其它行程,或是愛到其它行程所影響,任何和其它行

程共用資料的行程

◎共用記憶體系統

使用共用記憶體的行程間通訊需要通訊行程來建立共用記憶體區域。通常常

駐在行程地址空間的共用記憶體區域產生共用記體分段。

作業系統試著避免由另一個行程存取記憶體。共用記憶體需要二個以上行程

同意解決限制,則他們能由在共用區域中讀和寫資料本交換資訊。

生產者:行程產生資訊

消費者:行程消耗掉這些資訊

緩衝區可以讓生產者填滿資料,然後讓消費者取光。

如果緩衝區空了,消費者必須等待;如果緩衝區滿了,生產者必須等待。

◎訊息傳遞系統

訊息傳遞設施提供至少兩種操作:send(訊息)和 receive(訊息),它們間

必須存在一個通訊鏈

Send ( ) / receive ( ) 操作的方法:直接或間接聯繫、同步或非同步的聯繫、

自動或外在緩衝作用。

◎命名:要互相聯繫的行程必須有一套方法讓彼此的名稱互知,它們可以使

You might also like