第2章 系統結構 作業系統的服務 使用者作業系統介面 系統呼叫(System Calls) 系統呼叫的類型

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/3 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH3.5 ~ CH /10/31.
3Com Switch 4500 切VLAN教學.
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 實驗法.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
1 實驗二 : SIP User Mobility 實驗目的 藉由 Registra 和 Redirect Server 的設計,深入瞭解 SIP 的運 作及訊息格式。 實作部分 ( 1 )實作一個 Registrar 來接收 SIP REGISTER ,而且 要將 REGISTER 中 Contact.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
國立聯合大學 資訊管理學系 陳士杰老師 MySQL5 視覺化資料庫管理工具 - MySQL Adminstrator.
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第一章 計算機系統的主要架構.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
資訊科技概論 第5章 系統程式.
國立中山大學財產管理系統 線上報廢、盤點系統 總務處保管組 策劃 計算機與網路中心 分析設計 2008/03.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
8-1 Chapter 8 技術與流程 組織的技術 製造業的核心技術 服務業的核心技術 非核心技術與組織管理 工作流程的相依性.
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
CH 15- 元件可靠度之驗證  驗證方法  指數模式之可靠度驗證  韋式模式之可靠度驗證  對數常態模式之可靠度驗證  失效數為零時之可靠度估算  各種失效模式之應用.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
法律系 系所科助之血淚辛酸史 劉蕙綺. 系上推行困難處 ( 學期初 ) 傳統習慣:法律系以教科書為主 很多老師沒有電子檔案 專、兼任老師使用平台的意願 因老師多為資深老師,因此在使用電腦部 份可能比較需要幫助 通常學生知道訊息的來源是藉由 BBS 或者 是系上的系板,使用意願會降低.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
計算機概論 演算法與程式語言 李明山.
Management Abstracts Retrieval System; MARS 檢索操作.
4.1 Operating System Concepts 第四章 執行緒 Threads n 綜觀 n 多重執行緒模型 (Multithreading Models) n 執行緒的相關問題 n Pthreads n Solaris 2 Threads n Windows 2000 Threads n.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
概念性產品企劃書 呂學儒 李政翰.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
:Commandos ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11463: Commandos 解題者:李重儀 解題日期: 2008 年 8 月 11 日 題意: 題目會給你一個敵營區內總共的建築物數,以及建築物 之間可以互通的路有哪些,並給你起點的建築物和終點.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
指導教授 : 林啟芳 教授 組員 : 邱秉良 林育賢. 何謂 GPS  GPS 即全球定位系統,是一個中距離圓 型軌道衛星導航系統。它可以為地球表面 絕大部分地區( 98% )提供準確的定位、 測速和高精度的時間標準。
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 資料蒐集的方法.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標  描述作業系統的兩個主要任務  定義記憶體及程序管理  解釋邏輯位址與實體位址間的關係  基礎:第 5.2 節 范紐曼 電腦架構  ( 第 5 章講義第 頁 )
幼兒行為觀察與記錄 第八章 事件取樣法.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第2章 系統結構 作業系統的服務 使用者作業系統介面 系統呼叫(System Calls) 系統呼叫的類型 第2章 系統結構 作業系統的服務 使用者作業系統介面 系統呼叫(System Calls) 系統呼叫的類型 系統程式(System Programs) 系統結構 虛擬機器(Virtual Machines) 系統設計與製作 系統啟動

作業系統服務項目 使用者介面 – 幾乎所有使用者有一個使用者介面(UI) 程式的執行 – 將一個程式載入並執行的系統功能. Command-Line-Interpreter (CLI), Graphics User Interface (GUI), Batch 程式的執行 – 將一個程式載入並執行的系統功能. I/O 指令 – 因為使用者不能直接執行輸出入指令, 作業系統必須提供執行輸出入的方法. 檔案系統的操作 – 可以讀寫,產生及刪除檔案的程式功能. 通訊 – 不管是在行程間或者是網路相連的電腦及不同系統間都可以交換資訊. 經由共享記憶體或訊息傳遞的方式來製作. 錯誤偵測 – 經由在CPU﹑記憶體﹑ 硬體﹑ 輸出入設備或者是使用者程式中偵測錯誤以確保正確的運算環境.

額外的作業系統功能 額外功能的出現是為了確認有效的系統運作,並不只是幫助使用者. 資源配置 – 當有多個使用者或多個工作在相同時間執行時的配置資源. 紀錄及統計(Accounting )– 追蹤及紀錄哪些使用者使用多少資源,還有哪些種類的系統資源被使用,這是為了計費或者是為了使用上的累進統計資料. 防護(Protection) – 確定所有對於系統資源的存取都在掌控中.

使用者作業系統介面 命令認知系統 (command-Interpreter System) 許多指令是下給作業系統來提出控制命令處理: 行程的產生及管理 輸出入處理(I/O handling) 次要儲存設備管理 主記憶體管理 檔案系統存取 防護 網路

使用者作業系統介面 命令認知系統(Cont.) 一個讀取及解譯控制命令的程式有不同的名稱: command-line interpreter shell (in UNIX) 它的功能就是要獲取並執行接下來的指令.

使用者作業系統介面 GUI 一個GUl允許提供以滑鼠為基礎的視窗和表單系統為介面。當移動滑鼠以便將滑鼠指標定位在螢幕的影像或圖像(icons),GUI提供桌面(desktop),這些影像代表程式、檔案、子目錄和系統功能。根據滑員指標的位置,按下滑貝的按鍵,可以呼叫程式、選擇檔案或目錄(即稱foIder),或拉下一個含有命令的表單。

系統呼叫(System Calls) 系統呼叫提供一個由作業系統服務的介面。這類呼叫一般以C或C++寫成的常式,雖然低階工作(例如,硬體必須直接存取的工作)可能需要以組合語言指令來寫。

系統呼叫 系統呼叫是使用者行程與作業系統間的介面 系統呼叫發生時 讓使用者行程可以使用週邊設備 讓使用者行程得到較高的權限來處理工作 產生陷阱中斷進入系統模式 作業系統取得控制權 判斷使用者行程請求的是哪一種系統呼叫 執行使用者行程所需要的服務

當作是一個表格的參數傳遞

系統呼叫的分類 行程的控制(process control) 正常結束,中止執行(end, abort) 載入,執行(load, execute) 建立行程,終止行程(create process, terminate process) 獲取行程屬性,設定行程屬性(get process attributes,set process attributes) 等待時間(wait for time) 等待事件,顯示事件(wait event, signal event) 配置及釋放記憶體空間(allocate and free memory) 檔案的管理(File management) 建立檔案,刪除檔案(create file, delete file) 開啟,關閉(open,Close) 讀出,寫入,重定位置(read, write, reposition) 獲取檔案屬性,設定檔案屬性(get file attributes, set file attributes)

系統呼叫的分類 裝置的管理(Device management) 要求裝置,釋回裝置(request device, release device) 讀出,寫入,重定位置(read, write, reposition) 獲取裝置屬性,設定裝置屬性(get device attributes, set device attributes) 遇輯上地加入或移去裝置(logically attach or detach devices) 資訊維護(Information maintenance) 取得時間或日期,設定時間或日期(get time or date, set time or date) 取得系統資料,設定系統資料(get system data, set system data) 取得行程、檔案或裝置的屬性(get process, file, or device attributes) 設定行程、檔案或裝置的屬性(set process,file,or device attributes) 通信(communication) 建立,刪除通信連接(create, delete communication connection) 傳送,接收訊息(send, receive messages) 傳輸狀況訊息(transfer status information) 連接或分離遠程裝置(attach or detach remote devices)

MS-DOS Execution At System Start-up Running a Program

UNIX 執行多組程式

行程間通訊 兩種常見的行程間通訊模式 訊息傳遞模式 共享記憶體模式 訊息傳遞模式每次傳遞訊息都需要經過作業系統,因此比較沒有效率。 行程間就不需要考慮同步的問題。 共享記憶體模式 存取速度會比訊息傳遞模式快。 必須視情況加入同步的機制。

行程間通訊模式 行程間通訊可以靠訊息傳遞或共享記憶體的方式來達成. Msg Passing Shared Memory

系統程式 系統程式提供一個程式發展及執行的便利環境,可以分成: 使得多數使用者認為的作業系統應該是系統程式,而不是系統呼叫. 檔案處理(File mangement) 狀態資訊(Status information) 檔案變更(File modification) 程式語言的支援 程式的載入及執行 通訊功能 應用程式 使得多數使用者認為的作業系統應該是系統程式,而不是系統呼叫.

系統結構 維護與修改作業系統是一件龐大又複雜的工程,需要好好規劃。 常見的方法是 將作業系統模組化 每個模組都要經過周詳的定義 形成一個有組織的系統結構

MS-DOS 系統結構 MS-DOS – 被設計成在最小空間來達到最大的作業系統功能 沒有分成模組. 縱使它有一些結構及它自己的一些介面和功能的分層負責, 但彼此間並沒有完全分開.

MS-DOS 階層架構

UNIX 系統結構 UNIX – 受限於硬體功能, 原來的作業系統有限制的結構. UNIX OS 包含兩個分離的部分. 系統程式 核心(The kernel) 包含在系統呼叫下與硬體之上的介面部分 提供檔案系統, CPU 排程, 記憶體管理及其他作業系統功能; 在一層上提供一大堆的功能.

UNIX System Structure

Unix 系統結構 使用者 命令直譯程式 編譯器和直譯器 系統函式庫 核心的系統呼叫介面 訊號 終端機處理 終端機驅動程式 字元 I/O 系統 檔案系統 置換 區塊I/O系統 磁碟和磁帶驅動程式 CPU排程 分頁替換 需求分頁 虛擬記憶體 硬體的核心介面 終端機控制器 終端機 裝置控制器 磁碟、磁帶、光碟 記憶體控制器 記憶體

分層方法 Layered Approach 也就是將作業系統分成數個層次(layers of levels), 每一層都架構在較低一層之上. 最低層(layer 0)就是硬體; 最高層就是使用者介面. 有了模組化(modularity), 系統功能所選擇到的一些層次會使得利用到的功能操作及服務都會侷限在其相關的較低層次.

分層方法 分層方法最主要的好處就是模組化,這個方法讓除錯更加容易。 分層方法的缺點是執行起來會比較沒有效率 在每一層往下尋求服務時,都會需要傳遞些資料或是參數,因此系統中的層次越多,對系統的額外負擔也會越大。

一個作業系統的層次

OS/2 階層架構

分層結構 Direct user access to low level facilities is not allowed. 內層不可以呼叫外層。 外層只能一層一層呼叫。 可以在不更改該介面的條件下,將某一層抽離換新,而不會影響其他幾層。

微核心(Microkernel) 系統結構 盡量多將作業系統的一些功能從核心移到使用者空間(user space). 使用者模組之間可以利用訊息傳遞來達到比此間的通訊功能. 好處: easier to extend a microkernel easier to port the operating system to new architectures more reliable (less code is running in kernel mode) more secure

Windows NT Client-Server Structure

虛擬機器 Virtual Machines 虛擬機器基本觀念是將單一電腦硬體 (CPU、記憶體、磁碟機、網路介面卡等等)想像成幾個不同的執行環境,因此產生了每一個獨立執行環境在自己私人電腦執行的幻覺。 實體電腦上的資源是被分享藉以產生虛擬機器. CPU排程可以產生讓使用者有自己處理器的假象. Spooling及一個檔案系統可以提供虛擬讀卡機及虛擬印表機. 一個使用者使用分時終端機就像是一部虛擬機器的operator’s console.

系統模型 Non-virtual Machine Virtual Machine

虛擬機器的優缺點 虛擬機器的觀念提供系統資源的完全保護, 因為虛擬機器是完全獨立於其他虛擬主機之外, 然而這樣的各自獨立也使得資源不可以共享. 一個虛擬機器系統是一個完美的作業系統研究發展工具. 可以在虛擬機器上發展系統, 而不是在一台實體機器上, 這樣不會影響正常系統運作. 虛擬機器觀念的製作是困難, 因為必須要花功夫將下層的機器能夠完整模擬.

製 作 虛擬機器觀念非常有用,但它製作起來相當困難。困難是在於提供與實際機器完全一樣的複製。要記住的是實際機器有兩種模式 (mode):使用者模式和核心模式。 虛擬機器軟體可以在核心模式中執行,因為它是作業系統。虛擬機器自己只可以在使用者模式中執行。就像實際機器有兩個模式一樣,所以虛擬機器也必須是如此。

範例

Java Virtual Machine 一個經過編譯後的Java程式的位元碼(bytecodes)是與機器平台無關(platform-neutral)可以在一個Java Virtual Machine (JVM)上執行. JVM 含有 class loader class verifier runtime interpreter Just-In-Time(JIT)編譯器可以增加執行效能

Java Virtual Machine

Java Virtual Machine

Java Virtual Machine Java挾其可攜帶性之優點,橫掃跨平台作業系統,它便是一種虛擬機器的代表。 從外層的角度來看,所有命令都與機器無關,它們是位元組碼。 從內層來看,不同機器的Java執行模組均不相同,因為Java執行模組必須依據所使用的中央處理器,撰寫不同的機器碼,來命令電腦工作。

系統設計目標 使用者目標(User goals) 系統目標(System goals) 作業系統應該要方便使用, 方便學習, 可靠, 安全及快速. 系統目標(System goals) 作業系統必須容易設計製作和維護, 同樣還要有彈性, 可靠,不出錯及執行有效率.

系統載入 藉由載入核心來開啟一部電腦的步驟就是載入 (booting)系統。 在大部份電腦系統之中,有一小段程式碼,叫做靴帶式程式(bootstrap program)或叫做靴帶式載入器 (bootstrap loader)位於核心、載入記憶體,並開始執行核心程式。 有些電腦系統 (如PCs),把這個步驟憂成兩個階段,先有一個非常簡單的靴帶式載入器從磁碟載入一個更複雜的載入程式,然後再由後者載入核心。 bootstrap program

系統的製作 傳統的作業系統是以組合語言完成, 現在的作業系統可以高階語言來撰寫. 以高階語言撰寫作業系統碼的好處: 撰寫速度加快. 作業系統程式碼可以更精簡. 可讀性及除錯能力提高. 假使作業系統是用高階語言撰寫,這個作業系統的相容性會提高許多(is far easier to port) (move to some other hardware).