作業系統 第三章 作業系統結構.

Slides:



Advertisements
Similar presentations
课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
旅遊實務Ⅰ 授課教師:李健民 上課班級: 320. 課程大綱 旅遊業之設立程序 旅行業組織結構 旅行業之分類 旅行業之管理.
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
© 2001 孟静制作 版权所有 第二章 CPU 管理和进程、线程管理 2.1 CPU 管理概述 2.2 进程管理 2.3 进程模型实例分析 :UNIX 早期版本的 CPU 管理 子系统 ( 进程模型 ) 2.4 处理机管理实例分析 (2):linux CPU 管理(进程 模型) 2.5 线程模型.
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
第二班群教師團隊 105 張心平 107 鐘于寧 106 黃意評 108 鄭婉茹. 第二班群之班親會說明 學校規定事項說明 教學活動說明 班群活動介紹.
申論題要拿高分並不容易,因為他是 有一定的技巧的,如果你遵照下列技 巧來作答申論題,相信高分並不難拿, 其技巧如下:
報酬遞增與新的商業世界.
102大學甄選入學 個人申請、繁星推薦說明 主講人:簡慧嫻.
第九章 文件系统 (一)文件系统的基本概念 (二)文件的逻辑结构与存取方法 (三)文件的物理结构 (四)文件目录结构 (五)文件的共享与保护
新進教師研習 教務處報告 報告人:教務處 林永仁 2011 年 8 月31日.
「明清時期台灣古典散文」 教師:田啟文.
第五章 话语的语用意义(上) 主讲人:周明强.
新頒解釋函令 ● 所得稅扣(免)繳相關法令、 ● 所得稅扣(免)繳申報實務 ● 扣繳常見稅務違章類型 財政部南區國稅局屏東分局
鼻炎 症狀: 鼻(眼睛)內發癢或不舒服、 打噴嚏、 流鼻涕(水)、 鼻塞………等 。 鼻子內的任何發炎。
第十章 UNIX系统内核结构 10.1 UNIX系统概述 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理
模块七 房地产营销渠道策略 主要内容 房地产营销渠道类型 房地产营销渠道选择方法 开发商与代理商的合作模式.
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
遣詞造句知多少? 中文系 王偉勇教授 兼通識教育中心中心主任.
第七章 操作系统接口 7.1 联机用户接口 7.2 Shell命令语言 7.3 系统调用 7.4 UNIX系统调用 7.5 图形用户接口.
三、市场营销学研究的基本方法 (1)产品研究法。是以物为中心的研究方法,即在产品分类的基础上,对各类产品市场分别进行研究。 (2)机构研究法。是以研究市场营销制度为出发点,体现以人为中心的研究方法,即集中对整个市场营销系统中的各特定机构的性质和功能进行研究。 (3)职能研究法。是以研究产品从生产者到消费者手中所进行的各种营销活动过程中,市场营销组织所发挥的功能的方法。
第二章 项目一:企业厂区与车间平面设计 1.
香港普通話研習社科技創意小學 周順強老師.
网络的利与弊 2017/3/19 该课件由【语文公社】
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
Windows Server 2003操作系统相关配置
第8章 机床操作 主讲:臧红彬 博士.
第13章 计算机的日常维护与故障检测 13.1 计算机的日常维护和保养 计算机对环境的要求
當 家 新 鮮 事.
Chapter 13 輸入/輸出系統 (I/O Systems)
兒童及少年福利服務 講師:張智昇.
中央广播电视大学计算机课程 操 作 系 统.
第一章 引论 1.1操作系统的概念 计算机系统: 计算机硬件 计算机软件 计算机硬件:运算器、控制器、存储器、输入设备和 输出设备
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
寫 作 教 學 6 電腦與我 時代改變,科技進步,電腦成為日常生活不可或缺的設備。我是二十一世紀的E世代少年,一隻滑鼠在手,樂趣無窮。
作業系統的結構 日期 : 2018/9/17.
中國美術史報告-我最喜歡的一幅畫 班級:2年2班 姓名:郭馥甄 座號:23.
高鐵炫風 製作人林淑蘭老師.
行政院勞工委員會勞工保險局 勞退舊制與新制分析說明 高雄市政府人事處 99年2月1日.
2007/5/23初訪螢光蕈 (等了兩年).
作 業 系 統 第三組 楊育翰 顏瑞霖.
第2章 Linux概述 2.1 操作系统的功能和分类 2.2 Linux操作系统概述 2.3 Linux的应用现状与前景
Process management(程序管理)
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
作業系統 (Operating System)
第 23 讲 操作系统接口与UNIX系统内核结构 李元金 计算机与信息工程学院 1.
实验一、进程控制 一、实验目的 1、加深对进程的理解,进一步认识并发执行的实质; 2、分析进程争用资源现象,学习解决进程互斥的方法;
7.1.1 设备管理的功能(P95) 分配设备:按设备的不同类型和操作系统选用的算法分配。包括分配相应的通道、设备控制器以及对未分配到的任务或怍业进行排队等; 控制和实现真正的输入输出操作。包括通道程序控制、启动设备、及时响应及处理中断讯号等; 对输入输出缓冲区进行管理。例如逻辑名的管理,多个缓冲区的分时以及串并行操作,同类多个外部设备的均衡工作,避免“忙的忙”和“闲的闲”;
作業系統 第三章 作業系統結構.
领导艺术与方法 适合对象:课长级以上人员 人力资源部 李晓红 2006/6/12
操作系统的结构和硬件支持 第2章 操作系统的结构和硬件支持.
作業系統 第四章 行程.
基础篇 微型计算机系统 硬件系统 软件系统 操作系统基础 作业 计算机编码和数制 系统综述.
3.5 线程 问题的提出 进程的引入使操作系统得以完成对并发执行的多道程序动态特征的描述和资源共享的管理,因而进程既是调度的基本单位又是资源分配的基本单位。进程所具有的这两个特点构成了程序并发执行的基础,但同时又导致进程切换过程中由于进程映像过大而带来的时空开销。因此,如果系统中创建的进程过多,或进程切换的频率过高,则会使系统效率下降,限制了并发度的进一步提高。
作業系統 第十四章 輸出輸入系統.
1.3操作系统提供的服务和用户接口 操作系统提供的用户接口 程序接口与系统调用 操作接口与系统程序
李元金 计算机与信息工程学院 第 14 讲 存储器管理(3) 李元金 计算机与信息工程学院 1/
第 7 章 进程间的通信.
实验三 键盘软加锁实验 2019/5/9.
第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能
Computer Science & Information Management
多姿多彩的世界.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
真信心的果效 雅各書2:
作業系統的操作 2019/8/9 明誠中學編製.
《操作系统设计与实现》 第5章 文件系统.
《操作系统设计与实现》 Linux系统编程.
Presentation transcript:

作業系統 第三章 作業系統結構

第三章 作業系統結構 系統組成 行程管理 主記憶體管理 檔案管理 I/O系統管理 輔助記憶體管理 網路 保護系統 命令直譯程式系統 作業系統服務 系統呼叫 系統結構 虛擬機器 系統設計 摘要

系統組成 龐大的作業系統可分為幾個較小的模組。 有的作業系統可能只有實作出其中的幾個模組或部分模組 每個作業系統所應用的領域不盡相同。 系統設計師必須要以需求為導向來選擇適當的組成模組。

行程管理 程式與行程間的關係 行程是電腦系統中的基本工作單位。 程式被載入到記憶體中執行之後就稱為行程。 程式平常只是被動地存在儲存裝置中,並沒有權力去使用系統上的資源。 成為行程後,就有主動的控制權去執行程式碼、並使用各種資源來完成工作。 行程是電腦系統中的基本工作單位。

行程管理 (續) 作業系統對行程管理有下列幾項目標: 管理使用者和系統行程的建立與結束。 管理使用者和系統行程的暫停與再開始。 提供行程間同步的機制。 提供行程間通訊的機制。 提供處理死結的機制。

Linux 的 ps 指令

主記憶體管理 主記憶體是一塊很大的陣列 主記憶體也是 CPU 唯一能夠直接存取到的儲存裝置。 作業系統必須小心決定程式應該要被載入到主記憶體的哪一塊空間。 不同的系統會使用不同的記憶體管理方式 大型的工作站 嵌入式系統

主記憶體管理 (續) 主記憶體管理所需要管理的事項如下: 記錄哪一塊記憶體位址被哪一個程式使用 決定程式應該載入到哪一塊記憶體空間 分配和回收記憶體空間

檔案管理 每種儲存裝置都有不同的儲存方式和物理特性。 為了讓資料的存取不受實體裝置的差異所影響,作業系統定義了一個邏輯儲存單位,以及將檔案分類的抽象概念 檔案 目錄

檔案管理 (續) 作業系統對檔案管理有下列幾個項目: 檔案的建立與刪除 目錄的建立與刪除 提供管理檔案和目錄的能力,例如複製、移動、和更改檔名等

I/O系統管理 作業系統的任務之一就是建立使用者與週邊裝置之間的友善介面。 作業系統是透過驅動程式來將複雜的週邊設備隱藏起來,使用者只要合法地使用驅動程式介面,就可以驅動週邊設備。 另一個 I/O 重要的概念 裝置即檔案

I/O系統管理 (續) I/O 系統管理包括了: 記憶體管理部分,包含了緩衝、快取與週邊並行(spooling) 裝置驅動程式的介面 特定硬體裝置的驅動程式

輔助記憶體管理 電腦系統中提供了輔助記憶體來支援主記憶體 輔助記憶體的速度相當慢,要如何讓存取輔助記憶體的動作有效率便相當地重要。 因為主記憶體主要的缺點就是斷電後裡面的資料會全部消失。 輔助記憶體的速度相當慢,要如何讓存取輔助記憶體的動作有效率便相當地重要。

輔助記憶體管理 (續) 作業系統在輔助記憶體管理中負責下列幾個部分: 管理未使用的空間 分配空間給需要的檔案 磁碟排程

網路 網路將許多電腦連結成分散式系統 在分散式系統中有各式各樣的電腦 分散式系統的好處 電腦並不共享記憶體、週邊設備或是計時器 每一台電腦都有自己的記憶體及計時器,這些電腦之間用各種線路來聯繫 在分散式系統中有各式各樣的電腦 連接這些電腦的線路就通稱為通訊網路 分散式系統的好處 增加計算的速度 資料共享 提高系統可靠度

保護系統 作業系統必須提供一些保護機制以提高系統的可靠度 行程不能任意修改別人甚至是作業系統的記憶體空間。 作業系統必須防止同時存取一個檔案所會發生的問題。 使用計時器來避免一個行程佔用 CPU 的時間太長。 讓使用者無法直接存取週邊設備的控制暫存器,只能透過系統呼叫來取得使用權。

命令直譯程式系統 在電腦系統中,除了作業系統以外,還需要其他重要的系統程式幫忙才能執行使用者所下的命令。 命令直譯程式 圖型使用者介面

第三章 作業系統結構 系統組成 作業系統服務 系統呼叫 系統結構 虛擬機器 系統設計 摘要

作業系統服務 下列幾項服務是一般作業系統都會提供的: 還有一些服務是用來提高系統的效能 程式執行 I/O 操作 檔案管理 通訊 錯誤偵測 資源分配 統計 保護

第三章 作業系統結構 系統組成 作業系統服務 系統呼叫 系統結構 虛擬機器 系統設計 摘要 行程控制 記憶體管理 檔案操作 裝置管理 訊息維護 行程間通訊 系統結構 虛擬機器 系統設計 摘要

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

行程控制 行程不正常結束的情況有兩種 透過系統呼叫,行程可以載入或是執行其他的程式。 對新行程作某些控制 有些情形會用到讓行程等待的系統呼叫 使用系統呼叫,讓正在執行的行程不正常地結束。 行程做出不恰當的行為,引發例外中斷而使行程不正常地結束。 透過系統呼叫,行程可以載入或是執行其他的程式。 對新行程作某些控制 像是設定優先權或是執行時間的最大值等 有些情形會用到讓行程等待的系統呼叫 產生新行程後,等待新行程執行完畢後再取得控制權 讓使用者行程等待一段指定的時間後,再繼續執行未完成的工作 讓使用者行程等待一個事件或是訊號的發生再繼續執行

行程控制 (續) 行程控制類基本的系統呼叫: 正常及不正常地結束行程的執行,如 exit(), abort()。 載入並執行一個新的行程,如 execve()。 建立新的行程及終止行程,如 fork(), exit()。 取得及設定行程屬性如 getpriority(), setpriority()。 等待一段時間,如 nanosleep()。 等待事件或是發出訊號,如 wait(), kill()。

記憶體管理 作業系統必須要提供系統呼叫,動態地將記憶體分配給行程使用。 系統呼叫要能將記憶體歸還給作業系統。 作業系統要有管理記憶體的系統呼叫 如鎖定部分分頁不作置換 重新對映虛擬記憶體位址 還需要提供共享記憶體的系統呼叫。

記憶體管理 (續) 以下是記憶體管理類基本的系統呼叫: 配置及釋放記憶體,如 mmap(), munmap()。 管理記憶體,如 mlock(), munlock()。 共享記憶體,如 shmat(), shmdt()。

檔案操作 使用者可以透過系統呼叫,以檔名來建立或刪除一個檔案。 可以透過系統呼叫打開檔案,並且對檔案做一連串的讀寫,或是修改檔案的屬性。 作業系統也要提供改變檔案讀寫位置的系統呼叫。 不再使用這個檔案時,系統呼叫也要能將檔案關閉。 作業系統還要提供一套類似的系統呼叫來管理目錄。

檔案操作 (續) 以下是檔案管理類基本的系統呼叫: 建立與刪除檔案,如 create(), unlink()。 開啟檔案與關閉檔案,如 open(), close()。 讀取檔案與寫入檔案,如 read(), write()。 改變檔案讀寫的位置,如 lseek()。 取得檔案屬性與設定檔案屬性,如 stat(), chmod()。

裝置管理 檔案與裝置有著十分相似的特性,因此處理檔案用的系統呼叫大部分也可以供裝置使用。 許多作業系統將檔案與裝置合成檔案裝置結構。 以下是裝置管理類基本的系統呼叫: 要求裝置與釋放裝置,如 open(), close()。 讀取裝置與寫入裝置,如 read(), write()。 改變讀寫位置,如 lseek()。 取得裝置屬性及設定裝置屬性,如 ioctl()。 加入與移除裝置,如 create(), unlink()。

訊息維護 作業系統會將所有在系統中執行的行程以及相關的資料都記錄下來。例如: 使用者可以透過系統呼叫將相關的訊息回報給使用者。 系統時間 上線人數 剩餘的記憶體空間 系統的硬體配備 作業系統的版本 使用者可以透過系統呼叫將相關的訊息回報給使用者。

訊息維護 (續) 以下是訊息維護類基本的系統呼叫: 取得時間日期與設定時間日期,如 gettimeofday(), settimeofday()。 取得系統資料與設定系統資料,如 sched_setparam(), sched_getparam()。 取得行程、檔案及裝置的屬性,如 getpid(), getppid(), ioctl()。 設定行程、檔案及裝置的屬性,如 setuid(), ioctl()。

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

行程間通訊 (續) 以下是行程間通訊類基本的系統呼叫: 建立通訊與停止通訊,如 open(), close()。 收送訊息,如 read(), write()。 收送狀態及資料,如 exit(), wait(), waitpid()。

行程間的兩種通訊模式 作業系統 行程A 行程B M 1 2 共享記憶體 (a) 訊息傳遞模式 (b) 共享記憶體模式

第三章 作業系統結構 系統組成 作業系統服務 系統呼叫 系統結構 簡單結構 分層方法 微核心 虛擬機器 系統設計 摘要

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

簡單結構 MS-DOS 是以建立一個簡單的小系統為目標來實作。 MS-DOS 希望以最簡單的方法來提供使用者最多的功能。

MS-DOS 系統結構 應用程式 常駐程式 MS-DOS驅動程式 ROM BIOS 驅動程式

簡單結構 Unix 一些常用的技術來輔助作業系統的模組化 Unix 系統架構分為核心及系統程式兩個部份。 這種方式可以讓作業系統對電腦硬體與應用程式作較佳的控制。 一些常用的技術來輔助作業系統的模組化 由上而下的作法

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

分層方法 分層方法是將作業系統模組化的方法之一。 分層方法最主要的好處就是模組化,這個方法讓除錯更加容易。 例如一個系統若是分為 N 層的話,最底層(第零層)是硬體,而最高層(第 N 層)是使用者介面,作業系統也是其中一層。 分層方法最主要的好處就是模組化,這個方法讓除錯更加容易。 分層方法的缺點是執行起來會比較沒有效率 在每一層往下尋求服務時,都會需要傳遞些資料或是參數,因此系統中的層次越多,對系統的額外負擔也會越大。

微核心 微核心就是很小的核心 微核心的優點是作業系統容易擴充與維護。 巨大核心內不必要的模組盡量移出,改由使用者層或是函式庫來處理這些服務。 核心內只剩最重要的服務。 微核心的優點是作業系統容易擴充與維護。

第三章 作業系統結構 系統組成 作業系統服務 系統呼叫 系統結構 虛擬機器 實作 優點 系統設計 摘要

虛擬機器 虛擬機器最主要的概念是希望每個在電腦系統中的使用者都認為自己擁有一整部電腦,而且這部電腦上的資源都由一個人獨享,甚至隨時可以重新開機。 虛擬機器是以分享電腦中的實體資源來達成每個使用者都擁有一部真實電腦的假象 利用排程讓行程分享 CPU 資源,使得行程以為自己擁有 CPU。 利用週邊並行和檔案系統的作法,提供虛擬的讀卡機和虛擬的印表機。 使用者的終端機則可以提供虛擬機器的控制台。 虛擬機器主要的困難是發生在磁碟系統中 可以在實體磁碟上切割出數個虛擬磁碟供給虛擬機器使用。

虛擬機器的系統層次 硬體 虛擬機器 核心 行程

實作 虛擬機器要能夠模擬出實體機器所提供的功能給使用者。 虛擬機器和實體機器主要的不同在於執行的時間差異: 虛擬機器在處理 I/O 時是用週邊並行的方式,所以可以節省一些時間。 虛擬機器必須要直譯每個指令,這又會浪費一些時間。

優點 系統資源可以得到完全的保護。 虛擬機器也是個很好的研究與發展作業系統的工具。 虛擬機器能讓不同架構的硬體能夠相互執行彼此的程式。

第三章 作業系統結構 系統組成 作業系統服務 系統呼叫 系統結構 虛擬機器 系統設計 設計目標 機制和策略 實作 摘要

系統設計 在設計一個系統之前,最重要的是先定義好系統的目標與規格。 系統的設計會與所選擇的硬體與系統的類型有關。 每種系統都有不同的特性以及需要支援的硬體。 設計的問題並沒有一個最佳解法。

設計目標 系統設計的需求基本上分為兩類 如何定義作業系統的要求並沒有一定的答案 有些一般性的原則可以提出來供作參考 使用者的需求 系統的需求 隨著應用的環境不同,作業系統的需求也會不同。 有些一般性的原則可以提出來供作參考 軟體工程

機制和策略 機制是指做一件事的目標或方向。 策略是指做這件事的具體方法。 機制與策略分開的例子 微核心 Linux 作業系統的排程 微核心系統的機制就是保留最少的核心功能 策略就是以核心模組或是使用者的程式提供系統服務。 Linux 作業系統的排程 它的機制是以優先權來排程。 策略是系統與使用者都可以對權重作調整。

實作 傳統的作業系統都是以組合語言寫成的。 現今的作業系統也可以用高階語言和組合語言混合來寫: 高階的程式碼來撰寫系統的好處 Linux, MicroSoft ? 高階的程式碼來撰寫系統的好處 減少程式開發的時間 程式碼更精簡 容易瞭解 方便除錯 編譯器可以最佳化 容易移植

實作 (續) 高階語言所實作出來的作業系統有下列缺點 其他影響速度因素 系統設計師要能找出系統效率的瓶頸並想辦法增進 執行速度較慢 需要較大的執行空間 其他影響速度因素 資料結構 演算法 系統設計師要能找出系統效率的瓶頸並想辦法增進 監督系統的運作情形 加入額外的程式來計算與偵測系統的行為 資料分析 統計出系統各部分的執行效率

摘要 (1) 系統組成 系統結構 虛擬機器 作業系統可以依照提供給使用者服務的功能性,將系統分為幾個部分。 尋求較好的系統結構,讓作業系統能夠簡單地被實作出來。 能夠有系統地除錯。 虛擬機器 行程擁有獨占整個電腦資源的錯覺。 虛擬機器非常適合用來進行作業系統的開發與除錯。

摘要 (2) 系統設計 實作作業系統 將機制與策略分開對於作業系統設計的彈性有相當大的影響 對硬體相關和瓶頸的部分使用組合語言來加強。 一點策略的改變可能都會影響到基本的機制運作。 如果採用一般性的機制並且與策略分開設計,只需要稍微修改就可以將系統換成新的策略。 實作作業系統 對硬體相關和瓶頸的部分使用組合語言來加強。 其餘的部分則使用高階語言配合正確的資料結構及演算法。