OS – Operating System 作業系統簡介

Slides:



Advertisements
Similar presentations
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
Advertisements

Foundations of Computer Science
第四章 電腦軟體 課前指引 實體的電腦裝置,我們稱之為「硬體」(Hardware),至於軟體則是個抽象的概念,軟體是經由人類以各種不同的程式語言撰寫而成,以達到控制硬體、進行各種工作的抽象化(例如文書處理)等動作。有些讀者經常迫不及買了一台新電腦,就以為可以開始使用!事實不然,一部配備齊全的電腦,如果沒有合適的軟體來控制與搭配,絕對也是英雄無用武之地。一般來說,我們將軟體分「系統軟體」(System.
OSDI.
中央广播电视大学开放教育试点课程 计算机操作系统.
操作系统原理 Principles of Operating System
前言 1.课程安排: 第一章 操作系统引论(7学时) 第二章 进程管理(14学时) 第三章 处理机调度与死锁(10学时)
第五章 处理机管理 5.1 引言 5.2 调度算法 5.3 调度算法性能分析 5.4 实时调度 5.5 多处理机调度 5.6 调度算法举例
操作系统结构.
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第6章 Windows 2000简介及安装 6.1 Windows 2000的简介 6.2 Windows 2000的特点
Chapter 13 輸入/輸出系統 (I/O Systems)
輔助記憶體.
Operating System CPU Scheduing - 2 Monday, August 11, 2008.
Operating System CPU Scheduing - 3 Monday, August 11, 2008.
Chapter 5 迴圈.
行程管理簡介 日期 : 2018/9/21.
第6章 電腦軟體 應用軟體 多元程式處理 系統軟體 記憶體配置 作業系統簡介 虛擬記憶體 作業系統的演進與發展 行程管理
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
C H A P T E R 11 体系结构对操作系统的支持.
计算机应用基础 第二章 操作系统基础 2018/11/16.
操作系统课程的特点: 实践性强(从实践总结出原理)
Q101 在701 SDX Linux上的標準安裝與使用程序v2
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
第1章 認識Arduino.
第4章 作業系統的介紹及操作.
第8章作業系統.
第二章 行程管理 朱肇明 資管系 講師 大華技術學院.
作 業 系 統 第三組 楊育翰 顏瑞霖.
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
第4章 排程(Scheduling).
電腦硬體裝修乙級 第二站-伺服器端系統安裝與環境設定
Chapter 3 行程觀念 (Process Concept)
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
連結資料庫管理系統.
和諧社區資訊服務推廣計畫 -軟體雲端社區 資訊研習營
Linux CPU的排程 邱姸婕.
作業系統 (Operating System)
雲端運算的基石(2) 虛擬化技術實作(XP篇─上)
OSGi (Open Service Gateway Initiative)
雲端計算.
FTP檔案上傳下載 實務與運用.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
Chap3 Linked List 鏈結串列.
第2章 作業系統面面觀.
Operating System Principles 作業系統原理
第二章 Linux简介 Linux概述 Linux系统的特点 Linux中使用的应用程序 Linux的组成 Linux版本介绍
虛擬機器 下載QEMU Windows版 (0.9.1) 下載Kqemu Windows版 安裝QEMU 安裝Kqumu
Topic Introduction—RMI
7.1.1 设备管理的功能(P95) 分配设备:按设备的不同类型和操作系统选用的算法分配。包括分配相应的通道、设备控制器以及对未分配到的任务或怍业进行排队等; 控制和实现真正的输入输出操作。包括通道程序控制、启动设备、及时响应及处理中断讯号等; 对输入输出缓冲区进行管理。例如逻辑名的管理,多个缓冲区的分时以及串并行操作,同类多个外部设备的均衡工作,避免“忙的忙”和“闲的闲”;
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
作業系統 第三章 作業系統結構.
Operation System(OS).
RTOS.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能
Cloud Operating System - Unit 03: 雲端平台建構實驗
作業系統概論 授課老師: 羅習五.
MultiThread Introduction
Operating System Software School of SCU
多站台網路預約系統之 AJAX即時資料更新機制
Nachos Project Assignment 2
作業系統概論 授課老師: 羅習五.
Chapter 4 Multi-Threads (多執行緒).
JUDGE GIRL 使用介紹 & 常見問題 TAs :
Introduction to Mobile Computing
Presentation transcript:

OS – Operating System 作業系統簡介 第十組 林家平

Outline 作業系統是什麼 作業系統都做些什麼 作業系統原理的介紹 常聽名詞解釋 作業系統範例

作業系統是什麼? 漫畫圖 A basis for application programs 給應用程式提供服務介面 An intermediary between users and Hardware 使用者和硬體間溝通的橋樑 Can boot and Run at all time 可以開機,而且一直在跑的東東 The stuff shipped by vendors as an OS 喔! 反正買的時候,微軟說這東西叫OS…. 簡單結構圖

怎樣才是個好作業系統 效率 易於使用 不同的目標: 1. 速度 2. 總時間花費 3. throughput(產量) 1. 使用介面 2. 快速鍵、小工具….等 不同的目標: 個人電腦 􀃆 容易使用、親切的介面 工作站 􀃆 高效率、有效的資源分配、不同使用者資源分配 PDA 􀃆 個人化的使用 嵌入式系統 效率至上、資源有限

作業系統分類 Batch System(批次):一步一腳印 Multiprogrammed System(多工):大家一起來 Ex. 印表機 Multiprogrammed System(多工):大家一起來 Ex. 讓你可以一邊打B一邊聽音樂一邊寫功課 Time-Sharing System(多人):快速切換於使用者之間 Ex. Ptt 現在站上人數 5000人 Real-Time System(即時) Hard real-time : 決不能超過時限 Ex. 飛彈攔截 Soft real-time : 盡力而為 Ex. 網多demo

作業系統的運作 輸入裝置 輸出裝置 I/ O interrupt(中斷) 程式終了 I/ O interrupt(中斷) timer interrupt (時間中斷) system call (trap)(系統呼叫) scheduling (選擇程式) 分配資源 & 執行

需要作業系統的服務時 硬體中斷(interrupt) 軟體中斷(trap) 1. 有硬體輸入了 Ex. 鍵盤、滑鼠、光碟讀取 2. 計時器中斷 => 避免程式死當或進行process重排 軟體中斷(trap) 1. 應用程式需要用到硬體做輸出入時 why? 因為要避免程式惡搞 2. 有錯誤發生了 Ex. 除以0、使用不當的記憶體….等

作業系統的責任 管理並保護資源的運用 & 程序間的溝通…… 如何實行呢? <資源> 1. CPU 使用的時間 2.記憶體的空間 3.I/O硬體裝置 如何實行呢? 1.CPU:利用CPU排程,在一定時間內要將CPU給別的程序使用 2.記憶體:分配一個程序所可以使用的空間位置,限制每個程序可用的地方 3.I/O裝置:硬體支援不同的模式,執行程式要使用硬體,並需先呼叫系統呼叫(system call),進入作業系統來幫你完成

原理介紹 – multiprogramming(多工) 分為 preemptive(可中斷):可利用任何中斷重新排程 nonpreemptive(不可中斷):只有在程序終止或要求硬體I/O時,才能重新排程 好處: 1. 使用者可以較快知道部份執行結果,同時做多樣工作 2. 除了使用上的方便,在進行I/O時,將CPU讓給別的程序用,也可以使得CPU及I/O的使用能同時進行,增進效率 缺點: 必需付出切換程序時的額外動作 (context switch overhead)

原理介紹 – Process & Thread 要實踐多工的夢想,必要的東西 定義: Process:一個在執行、整體性的程式 不同在哪? Thread:一個可執行的單元(a basic unit of CPU utilization) 不同在哪? 一個process中可以擁有 1個以上的thread,使得它可以同時做許多事,而同一個process中的thread可以彼此共享一個process裡的資源,使得作業系統在切換時,不需要存太多重複的資料

原理介紹 – CPU排程 1. FCFS (first come first serve) 先來先做排程法 2. SJF (shortest job first) 最短工作優先排程法 3. Priority Scheduling 優先權排程法 4. Round-Robin Scheduling 循環式排序法 5. Multilevel Queue Scheduling 多層佇列排程法 6. Multilevel Feedback Queue Scheduling 多層回溯佇列排程法

1. FCFS(麥當勞的小故事) 不可中斷 Convoy effect(護航效應) =>可用SJF改善

2. 最短工作優先排程法  (SJF) 太長的程序可能永遠輪不到!!

3.優先權排程法(Priority Scheduling)

4. 多層回溯佇列排程法 因為它的可變性,可調整參數適應不同需求,成為現在最常使用的排序法 原理: 好處: 1. 只有在較上層的queue中已經沒有程序等著要執行時,才會去取下層queue中的程序去做 2.一個程序被執行時,會限制一定的時間,若時限內沒完成,會強迫停止並被移到較下層的queue中等待。 好處: 1. 隱含SJF的好處,短的程序會很快完成,下層的通常都是需要很久的程序 2. 可調整各層queue中自己的排序法、層數、重要性….等參數,可適應不同需求 Ex. 當執行超過 8 ms停止並移到下一層 當執行超過 16 ms停止並移到下一層

Deadlock(死結) 狹路相逢,互不相讓 => 雙方都無法通過 死結發生的必要條件 在CPU上 => 兩或多個程序要求使用已經被佔有的資源 死結發生的必要條件 1. 爭奪的資源必須是同時只能被一個程序使用的 2. 已經佔有某些資源,並要求其他的資源 3. 資源使用中不可被中斷 4.循環等待 – 存在一個循環 {P0, P1, …, Pn, P0} 序列中的每個程序,都等待著它下一個程序已佔有的資源被釋放 我要B 我要A A B

死結的解決方法 1. 未雨绸繆法 將死結發生的四大條件之一破壞 2. 事後補救法 等到死結發生後,再加以解決 3. 視若無睹法 反正又不一定會發生,不管它

死結解決法 – 未雨綢繆的範例 Deadlock prevention Deadlock avoidance 方法: 在程序執行前,先把它所需要的所有的資源都先為它保留好再執行 Deadlock avoidance 1. 當一個程序要求某項資源時,檢查是否接受此項要求會造成死結,如果會則不接受此項要求 2.怎樣看出有死結呢 => 必須要存在一個序列,滿足這個序列中的程序之前的程序都可以完成執行時,它們所釋放出來的資源,足夠滿足這個程序的資源要求 演算法:有興趣書上有…

Spooling (Simultaneous Peripheral Operation On-Line) Spooling 其實就是提供低速I/O裝置buffering(緩衝)的一種技巧 最常應用到此技巧的就是印表機,因為印表機的特性是 1. 印得慢(和CPU比) 2. 不可插斷,印完一份才能再印另一份 如果CPU要等待印表機真的把文件印完再進行下個工作,那真是太浪費資源了,所以,CPU會把要印的檔案,先存在磁碟中作緩衝,丟完就走,等有空時再回來問一下工作完成沒即可,對CPU和印表機雙方的效率都有極明顯的增加。

DMA (Direct Memory Access) 當I/O裝置的速度很快時,一直中斷造成CPU資源的浪費 => 讓I/O裝置直接將資料寫到memory中,等累積的資料夠多後,再一次中斷處理 小缺點:造成device和CPU搶memory排線的控制權 記憶體 CPU 硬碟

常見OS介紹 – Windows 2000 簡介: windows 2000系列分成四個產品 特色: 1. Professional 2. Server 3. Advanced Server 4. Datacenter Server 它結合了98 和 NT4.0的優點,並以高效能和穩定性 自許 特色: 延展性(extensible):使用模組架構,方便增修,可支援MS-DOS、POSIX、OS/2的程式 可攜性(portable):可適應多種hardware,不需做大幅修改 安全性(security):設定階級,使用者,對檔案和網路上的安全比之前的windows都強。 其他:支援 多CPU 虛擬記憶體 可中斷式多工排程 NTFS file system

常見OS介紹 – Linux 簡介: Linux 為芬蘭人Linus Torvalds 在 1991 年時所寫的自由軟體,而Linux也延續著這個精神,成為最廣為人知的free software,除了免費之外,Linux也毫 不吝嗇的公開所有的原始碼,並給予所有人任意修改,轉售及複製的權利。 和UNIX完全相容,目前Linux有RedHat、Slackware、Debian 等較有名的不同板本。 特色: 多人多工 高安全性:和UNIX相仿,使用者需先擁有登入的權利,再給予不同權限 其他:效率高、有彈性、穩定性佳,在網路及多媒體上有很好的應用空間(Ex. 鐵達尼號)

Reference: http://www.mis.kyit.edu.tw/learn/classnote/OS/ http://www.ascc.net/course/BCC/slide3.html <Operating Systems Concepts> Abrahan Silberschatz and James L. Peterson