1、操作系统原理,教材:屠祁,屠立德,操作系统基础(第三版),清华大学出版社参考教材:王素华,操作系统教程,人民邮电出版社庞丽萍,操作系统原理,华中科技大学出版周长林,左万历,计算机操作系统教程,高等教育出版社陈向群,杨芙清,操作系统教程,北京大学出版社尤晋元、史美林等,Windows 操作系统原理,机械工业出版社,课程要求,作业和出勤:10%上机实验:10%考试:80%,操作系统课程特点,实践性强(从实践总结出原理)涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等)错综复杂:纵横交叉,注意学习方式的变换,教师只指出要点 要通过自学、研读参考书掌握内容整理笔记相当重要 不能只通过
2、PowerPoint来复习课程善于发现问题、提出问题 要努力寻求问题的答案,课程主要内容介绍,1、操作系统概述(包括第一章、第二章)2、进程管理3、线程管理4、并行性:同步和互斥5、处理器管理6、死锁7、存储管理(包括实存和虚存管理)8、设备管理9、文件系统,第一章 绪论,掌握:OS的定义、功能和作用;多道程序系统的特点;影响OS发展的关键技术和思想:假脱机技术中断技术和通道技术多道程序设计思想了解: OS的发展历史、分类、常见的操作系统,1.1 什么是操作系统,1.1.1 计算机系统组成1.1.2 操作系统的定义1.1.3 操作系统的功能和作用1.1.4 操作系统的特性,1.1.1计算机系统
3、组成,硬件:指计算机物理装置本身,可以是电子的、 电的、磁的、机械的、光的元件或装置。软件:指计算机系统中的所有软件。,计算机硬件中央处理器(运算器和控制器)输入输出处理器存储器输入输出设备计算机硬件组织结构早期以处理器为中心的组织结构现代以存储器为中心的组织结构,计算机典型组织(1),(1)微型计算机的典型组织:包括CPU、I/O设备、存储器。单总线结构,以总线为纽带。总线分为地址总线和数据总线,通过地址总线选设备, 通过数据总线传递控制信息、状态信息和数据信息;同一时间,总线只能为一对设备所占用;由于CPU与I/O设备间的速度匹配问题,采用两种数据流线路:直接:与低速I/O设备; 经由存储
4、器:与高速I/O设备,防止CPU处理不过来 。,CPU,存储器,I/O设备,I/O设备,以总线为核心,计算机典型组织(2),(2)大小型计算机的硬件组织 :包括中央处理器、通道、存储器和I/O设备;采用双总线结构(I/O总线、存储总线);以存储器为中心。,操作系统做什么?,#include int main(int argc, char *argv) printf(hello world); return 0; , 用户告诉操作系统执行hello程序 操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块父进程需要创建一个新的子进程,执行hello程序操作系统
5、需要将执行文件映射到进程结构操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入, 继续执行更多的缺页中断,读入更多的页面程序执行系统调用,在文件描述符中写一字符串,操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到hello world,计算机系统的层
6、次与虚拟机(1),大多数用户并不欢迎裸机这种环境。,计算机系统的层次与虚拟机(2),结论:下层是上层的基础;上层是下层功能的扩展;软件是在硬件基础上对硬件性能的扩充和完善。操作系统是对硬件的第一次扩充,是其他软件运行的基础。,计算机系统的层次与虚拟机(3),裸机软件功能更强的机器虚拟机,1.1.2 操作系统的定义,没有普遍接受的定义,由于:内涵不断变化;不同角度作用不一样(资源管理者、一般用户)。通常的定义:用以控制和管理系统资源,方便用户使用计算机的程序集合。,1.1.3 OS的功能和作用(1),1、作为用户与计算机硬件系统间的接口: 操作系统提供两种接口:系统命令:供用户用于组织和控制自己
7、的作业运行。命令行、菜单式或GUI联机;命令脚本脱机编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数;通过这些接口,可达到:方便快捷:由于提供了便利的输入输出,用户能方便快捷地使用计算机;安全可靠:由于规定了用户的接口,能发现并处理各种错误,使用户能安全可靠地使用计算机。,OS的功能和作用(1),2、作为计算机系统资源的管理者:资源:CPU、存储器、I/O设备、信息(数据和程序);主要管理以下资源:(1)CPU:分配、监视和控制;(2)存储器:内存分配、监视、回收和保护;(3)I/O设备:分配和回收,部分设备的共享;(4)信息:负责本地(和网络)信息的组织、存取、共享和
8、保护。,1.1.4 操作系统的特性,计算机硬件结构为顺序过程计算模型,为了提高系统资源利用率,采用多道程序思想,必然导致OS具有以下特性:(1)并行性:指两个或多个程序同时在内存中并处于运行状态。单处理器:宏观上并行,指宏观上在一段时间内有多道程序同时运行,微观上,每一时刻仅执行一道程序,通常称为并发。多处理器:真正意义上的并行。,1.1.4 操作系统的特性(续),(2)共享性:指主存中并行运行的程序要求共享所有的系统资源。由于多个进程共享有限的计算机系统资源。操作系统需要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。,1.1.5 操作系统的性能指标,系统的可靠性系统能发
9、现、诊断和恢复硬件、软件故障的能力。系统吞吐率系统在单位时间内所处理的信息量系统响应时间从系统接收数据到输出结果的时间间隔系统资源利用率系统中各部件、各种设备的使用程度可移植性操作系统从一个硬件环境转移到另一个硬件环境仍能正常工作的能力,1.2 OS的发展历史和趋势,1.2.1 OS发展动力1.2.2 OS发展历史1.2.3 OS发展趋势,1.2.1 OS发展动力,计算机器件的更新:电子管-晶体管-集成电路-大规模集成电路微机由 8位-16位-32位-64位OS 由 8位-16位-32位-64位新概念和新技术的发展:假脱机技术、中断技术、虚存技术、通道技术等计算机体系结构发展:单处理机-多处理
10、机用户方便的需求: 用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)提高资源利用率和系统性能的需要:,1.2.2 OS发展历史,1、“史前文明”无操作系统的计算机系统2、 单道批处理系统操作系统雏形3、多道批处理系统现代意义的操作系统4、交互式分时与实时系统OS实用化阶段5、现代通用操作系统,1 、手工操作,出现年代:1946 50年代(电子管)工作方式用户:用户既是程序员,又是操作员;用户是计算机专业 人员;编程语言:为机器语言;输入输出:纸带或卡片;计算机的工作特点用户独占全机:不出现资源被其他用户占用,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算
11、完成后,手工卸取纸带或卡片;CPU利用率低;,2、单道批处理系统,出现年代:50年代末 60年代中(晶体管)关键技术:脱机输入输出技术工作方式:利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。,卡片,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,$END,$RUN,Data for
12、program,$LOAD,Fortran program,$FORTRAN,$JOB, 10,429754 Cherry Chen,典型的FMS JOB 结构,3、多道批处理系统,出现年代: 60年代中 70年代中(集成电路)单道批处理的主要问题:CPU和I/O设备使用忙闲不均(取决于当前作业的特性):对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲;,多道批处理系统(续),关键技术:通道技术、中断技术60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU
13、与I/O的并行。通道有专用的I/O处理器,可与CPU并行工作可实现 I/O联机处理中断:是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。,多道批处理系统(续),多道程序设计:指在主存(内存)中存放一个以上用户作业,使之同时处于运行状态,共享系统资源。起因:高速CPU与低速I/O设备不匹配。根本目的:提高CPU利用率;提高内存利用率;提高I/O利用率;增加系统吞吐量。多道程序的运行特征多道:内存中同时存放几个作业;宏观上并行运行:都处于运行状态,但都未运行完;微观上串行运行:各作业交替使用CPU;,多道程序系统的技术问题 并行程序的运行需要共享软件硬
14、件资源,需要同步和互斥机制。多道程序需要提高内存的使用效率,需要覆盖技术、交换技术、虚拟存储等技术。多道程序在内存中要保证系统程序存储区和用户程序存储区的安全可靠,需要内存保护。,单道作业运行情况,多道作业运行情况,多道批处理系统(续),多道批处理系统的资源利用效率特征多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有3个作业A、B、C,分别为计算、检索和打印作业,单道运行时间分别为5分、15分和10分钟。它们可并行在15分钟内完成3个作业。各资源的利用效率为:,多道批处理系统(续),优点:资源利用率高:CPU和内存利用率较高;作业吞吐量大:单位时间内完成的工作总
15、量大;缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;,4、分时与实时操作系统,分时计算机系统:由于中断技术的使用,使得一台计算机能连接多个用户终端,用户可通过各自的终端使用和控制计算机,我们把一台计算机连接多个终端的计算机系统称为分时计算机系统。或称分时系统。分时技术:把处理机的响应时间分成若于个大小相等(或不相等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。“分时”的含义:分时是指多个用户分享使用同
16、一台计算机。多个程序分时共享硬件和软件资源。,分时操作系统(续),分时操作系统分时操作系统利用分时技术实现多道程序设计的一种操作系统,它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务,对每个用户都能保证足够快的响应时间,并提供交互会话功能。,分时操作系统(续),分时的方式:多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(G
17、UI),除当前交互的程序(输入焦点)之外,其他程序均作为后台。,主机,终端,分时操作系统(续),分时操作系统的特点交互性:在调试和运行程序时由用户自己操作。多路性:多个用户同时使用。独占性:用户感觉不到计算机为其他人服务,感觉到自己独占了计算机;(OS提供虚机器,各个用户的虚机器互不干扰)。现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。,实时操作系统,早期计算机系统是用于科学与工程的数值计算,如第一台计算机(1944年)产生的原因就是解决大口径火炮设计中的计算问题:弹道轨迹、弹着点和材料的各种应力分布的计算。还有原子弹设计
18、和实验中大量的计算问题,用当时的计算工具已经解决不了。到了60年代初,计算机开始应用到生产过程控制、工业控制、防空系统、信息处理等,在这些应用中不但要解决计算间题,还要求在规定的时间内完成计算,即实时处理。在实时处理中的一个核心的问题就是响应时间问题。,实时操作系统(续),响应时间:指用户发出命令,到系统完成用户命令所需的时间。批处理操作系统 没有分时操作系统 秒级(一般情况)实时操作系统 微秒级 甚至更小(经典说法) 系统满足用户时限(deadline)的 要求 (现代),实时操作系统(续),实时操作系统:实时操作系统是又一种类型的操作系统,对外部的请求,实时操作系统能够在规定的时间内处理完
19、毕。实时: 指计算机对于用户请求能足够快地进行处理,并做出反映。要求毫秒、微秒级。实时操作系统的应用:实时控制: 工业过程控制、防空系统等。实时信息处理:情报检索和查询、飞机订票系统、银行信用卡系统。,5、现代通用操作系统,通常具有分时、实时和批处理功能;可适用于计算、事务处理等多种领域,能运行在多种硬件平台上;通用化、小型化;常分为:个人计算机操作系统(如MSDOS,Windows 98、Windows XP、Windows Vista,Windows 7、linux)服务器操作系统(如 UNIX、Windows 2000等)。,1.2.3 OS发展趋势,主要有两个方向:大型化:分布式操作系
20、统、机群操作系统小型化:嵌入式操作系统,1.3 操作系统的分类,分类方式很多,比较典型的方式有两种:(1)按计算机硬件组织:大型机操作系统,小型机操作系统,微型机操作系统。(2)按OS在用户前的使用环境及访问方式:多道批处理系统;分时操作系统;实时操作系统;网络操作系统,实时系统与批处理系统和分时系统的区别,专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消
21、息,调用相应处理程序进行处理。可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。,网络操作系统(NOS, Network Operating System),网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。与通常的OS内有本质上的区别,并没有改变OS的基本结构,只不过网络操作系统为网上计算机提供方便、有效的网络资源共享。网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期:是通常操作系统附加网络软件,目前:网络功能成为操作系统的有机组成部分。区别在于:网络功能的强弱、使用是否方便等。,网络操作系统(续)(NOS, Network Ope
22、rating System),网络操作系统的功能:通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;网络通信功能:通过网络协议进行高效、可靠的数据传输;网络资源管理:协调各用户使用;网络服务:文件和设备共享,信息发布;网络管理:安全管理、故障管理、性能管理等;,嵌入式操作系统,什么是嵌入式系统?在各种设备、装置或系统中,完成特定功能的软硬件系统。它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”通常工作在反应式或对处理时间有较严格要求环境中由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统,嵌入式操作系统的应用,1.5 常见流行操作系统,桌
23、面操作系统MS DOS,MS Windows 3.x,Windows 95, Mac OS ,Windows XP,Windows Vista,Windows 7,Linux,服务器操作系统Windows NT,Windows 200X,UNIX,Novell Netware,OS/2,Linux嵌入式操作系统Windows CE、PalmOS,UcLinux,UCOS 2,VxWorks,pSOS ,QNX,Windows MobileSymbian, Andriod,小结,掌握:OS的定义OS的特性:并行和共享OS功能和作用:资源管理者、用户接口影响OS发展的关键技术和思想:假脱机技术中断技术和通道技术多道程序设计思想了解: OS的发展历史和分类,