1、操作系统原理 Principles of Operating System,郑 然华中科技大学计算机学院,http:/研究方向: 高性能计算及应用(GPU计算、网格计算、集群计算 医学图像处理、图像搜索应用) 计算系统虚拟化联系方式: 02787543529-8031 ,集群与网格计算湖北省重点实验室,服务计算技术与系统教育部重点实验室,使用过程中的问题,遇到计算机运行或打开硬盘上的程序的速度变慢,该怎么办?,原因:硬盘上的卷可能有过多的碎片,可能是由于最近创建了大量的文件或文件夹,或安装了新软件。解决方案:如果必要,分析并整理硬盘上的卷碎片。,为什么要学习操作系统?,游戏中的现象,基本配置
2、推荐配置CPUPentium3 800MHz以上 Pentium4 1GHz以上内存 256M以上 512M以上显卡GeForce2以上3D加速卡Geforce4 Ti以上3D加速卡硬盘 3G以上,为什么要学习操作系统?,操作系统做什么,#include int main(int argc, char *argv) puts(hello world); return 0; ,为什么要学习操作系统?,操作系统读程序(正文和数据地址)-创建子进程执行(程序映射为进程)-分配内存、从磁盘读页面-系统调用、寻找字串、转换成像素-写入存储映像区-模拟信号-显示器发射电子束输出,操作系统提供一系列服务:多
3、任务,内存保护,内存管理,网络,文件存取,设备控制,用户界面错误检测及恢复系统,硬件控制,安全,操作系统是目前最复杂的软件成分,涉及到计算机科学的很多领域计算机体系结构/硬件软件设计程序设计语言数据结构算法抽象 无限的CPUs、无限的内存、单一全球计算能力 大型、复杂系统的系统设计 软件/硬件、性能、易用性、简单性 综合权衡,为什么要学习操作系统?,基本目的,介绍操作系统的基本概念、基本结构及运行环境介绍操作系统原理、设计方法和实现技术介绍操作系统的演化过程、发展研究动向、新技术以及新思想介绍各种有代表性的、典型的操作系统实例掌握操作系统的基本理论,具备开发核心系统软件的技能,设计操作系统或者
4、修改现有的系统掌握并行处理的思想方法,加深对使用的OS的理解,有利于深入编程培养分析问题、解决问题的基本能力为后继课程打好基础数据库、网络、分布式系统,教材:操作系统原理(第四版) 庞丽萍 华中科技大学出版社,参考教材:UNIX操作系统设计莫里斯 贝奇 机械工业出版社计算机操作系统 汤子瀛等 西安电子科技大学出版社现代操作系统 陈向群等译 机械工业出版社计算机操作系统教程 张尧学 史美林 清华大学出版社操作系统基础 屠立德 屠祁 清华大学出版社,操作系统的工作:(1)程序的执行(2)完成与硬件有关的工作(3)完成与应用无关的工作(4)计算机系统的效率与安全问题,操作系统课程特点涉及面广错综复杂
5、实践性强,怎样学习操作系统深入理解教学内容独立完成练习题做好阶段复习理论联系实际,讲课学时安排,5212+4/4,成绩评定,教学方式:多媒体讲授、作业、上机,课程设计考试方式: 闭卷 笔试成绩评定:平时成绩=作业+上机最终成绩=平时30%+考试70%,第一章 绪 论,(一) 操作系统在计算机系统中的地位(二) 操作系统的形成和发展(三) 操作系统的定义(四) 操作系统的功能(五) 操作系统的基本类型,计算机系统的组成,计算机系统(层次结构),软件,硬件及固件(裸机),应用软件,系统软件,编辑软件、编译软件,操作系统,计算机系统的基础,提高系统效率方便用户使用,裸机(硬件)是僵尸软件是幽灵,管理
6、信息系统、飞机订票系统、银行系统、地理信息系统、CAD系统、数字计算软件包,管理信息系统、飞机订票系统、银行系统、地理信息系统、CAD系统、数字计算软件包,语言编译程序、连接装配程序、数据库管理系统、网络软件,操 作 系 统,(一)操作系统在计算机系统中的地位,计算机硬件,系统软件,应用软件,支撑软件,用户,用户,用户,用户,与硬件的关系: 控制CPU的工作、 访问存储器、 设备驱动、中断处理,与用户及应用程序的关系: 提供方便的用户界面、 提供优质的服务,(二)操作系统的形成和发展,操作系统发展是随着计算机硬件技术的发展而发展的。目标:充分利用硬件,提供更好的服务,手工操作阶段,批处理,联机
7、批处理,脱机批处理,执行系统,操作系统形成,多道程序系统,多道批处理系统,分时系统,实时系统,个人计算机操作系统,网络操作系统,分布式操作系统,第 1 阶段 手工操作阶段 硬件非常昂贵,没有操作系统,算题过程人工把源程序用穿孔机穿制在卡片或纸带上将准备好的汇编解释程序或编译系统装入计算机汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带通过引导程序把装在输入机上的目标程序读入计算机启动目标程序执行,从输入机上读入人工装好的数据卡或数据带产生计算结果,执行结果从打印机上或卡片机上输出,第 1 阶段 手工操作阶段 硬件非常昂贵,没有操
8、作系统,特点:工作效率极低:手工操作的慢速度与机器处理的高速度 每一用户都要自行编写涉及到硬件的源代码 工作量大,难度高,易出错,需要大量人力和物力独占性、串行性问题: 人机矛盾机器速度 计算所需时间 人工操作时间 操作时间 : 机器运行时间1万次/秒1小时3分钟1 : 2060万次/秒1分钟3分钟3 : 1,第2阶段 单道批处理阶段 硬件昂贵,人力便宜,单任务自动批处理,简单批处理:装入程序、运行、打印结果、撤出、再重复 用户把作业(卡片或磁带)交给负责调度的操作员(系统管理员),由操作员按作业类型分类编成一个作业序列,送到输入设备上。 常驻监督程序自动地装入程序、运行、撤出作业(1)联机批
9、处理(2)脱机批处理(3)执行系统,批 处 理,1. 联机批处理特点:有监督程序,作业自动过渡问题:CPU高速与IO慢速的矛盾解决:由卫星机负责IO2. 脱机批处理特点:主机与卫星机并行操作问题:调度不灵活,保护问题解决:硬件技术的发展通道技术、中断技术,3. 执行系统:定义: 借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动的运行,而且还要提供I/O控制功能。它常驻内存,称为执行系统。特点:主机、外设并行操作;增加了保护能力问题:处理机仍有空闲等待现象,硬件基础: 60年代计算机硬件获得两个重大的进展 I/O中断:由I/O部件操作完成后通知处理机运行相应的处理
10、程序. 通道:能够自主控制外设可与处理机并行工作的、交换数据的I/O装置(控制器).,磁盘,通道,主机,通道,通道,卡片机,打印机,SPOOLing系统图示,用磁盘设备作为主机的直接输入输出设备,即主机从磁盘选取作业运行,结果也存在磁盘中.相应的通道则负责磁盘与慢速外设的传输.利用通道和中断机制,作业的输入输出与作业在处理机上的运行可很好并行起来,作业1,作业n,预输入程序,作业调度程序,缓输出程序,井管理读程序井管理写程序,作业的执行,作业1结果,作业n结果,打印机,输入机,作业1信息,作业n信息,:,作业1结果,作业n结果,:,输入井,输出井,磁盘,:,SPOOLing系统结构,虚拟设备,
11、第 3 阶段 多道批处理阶段 硬件较以前便宜,人力昂贵,处理过程 在内存中同时存放几道相互独立的程序 在管理程序控制之下,相互穿插地运行,处理机和外设尽量处于忙碌状态交互式分时处理一台计算机,多个便宜终端所有用户可与系统立即交互调试比较方便,多道程序设计技术,多道程序设计技术,多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,在管理程序的控制下相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。,多道运行的特征: 多道 宏观上并行 微观上串行,效果提高效率:增长了单位时间的算题量,但对每道程序来说,却延长了计算时间提高资源
12、利用率和系统吞吐率:以牺牲用户的响应时间为代价,多道程序设计技术,甲、乙两道程序,独占计算机单道运行时每道花一个小时,若此时处理器利用率为30,粗略地说,甲(或乙)程序执行时所需要的处理器时间为:1小时3018分钟如果按多道程序设计方法运行,处理器的利用率将达50,即提供36分钟的CPU时间,约要运行72分钟。加上系统开销,若共花80分钟。 比较单道和采用多道程序设计技术分别运行两道程序的效率和响应时间。,采用多道程序设计方法后可以提高效率: (120-80)12033,单道运行,花60分钟就可得到结果; 多道运行时,却要花80分钟才有结果,延长了20分钟,即延长了33的时间。 (80-60)
13、/60=33%,分时技术与分时处理,分时技术:把处理机的响应时间分成若干个大小相等(或不相等)的时间单位,称为时间片,每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。分时计算机系统:由于中断技术的使用,使得一台计算机能连接多个用户终端,用户可通过各自的终端使用和控制计算机,我们把一台计算机连接多个终端的计算机系统称为分时计算机系统,或称分时系统。,实时处理,什么是“实时”计算机对外来的信息能够以足够快的速度进行处理,并且在被控对象允许的时间范围内作出快速反应。实时处理以快速反应为特征,对实时信号能在截止期限之内处理并作出反
14、应。,第 4 阶段 操作系统的进一步发展硬件非常便宜、人力昂贵,嵌入式操作系统实时操作系统并行操作系统分布式操作系统,(三)操作系统的定义,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合 以尽量有效合理方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效的使用计算机,使整个计算机系统能高效的运行。资源共享:多个计算任务对计算机系统资源的共同享用。资源竞争:多个计算任务对计算机系统资源的争夺。,操作系统做什么,仲裁者(协调者)使多个应用程序/用户高效,公平地一起工作保护用户不互相干扰管理程序硬件平台扩展为运
15、行平台运行平台是承载应用程序的载体幻觉制造者提供硬件的高层界面,取消硬件限制操作系统提供无限的内存、无限的CPU管理者有效合理地分配资源,保护用户不受侵犯提供安全、保密措施标准服务提供者提供每个用户需要的标准工具如标准库、窗口系统,操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高效率和高度自动化。操作系统是整个计算机系统的核心。,操作系统的定义,操作系统的特征,并发:系统中同时存在多个程序处理多个同时性活动宏观上:这些程序是同时在执行的微观上:任何时
16、刻只有一个程序在执行,即微观上这些程序在CPU上轮流执行共享:多个计算任务对系统资源的共同享用操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用不确定性:操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。,虚拟性,虚拟性:操作系统的一种管理技术,把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术通过多道程序和分时技术,将物理上的一个CPU变成逻辑上的多个CPU通过Spooling技术把物理上的一台独占设备变成逻辑上的多台虚拟设备通过窗口技术
17、把物理上的一个屏幕变成逻辑上的多个虚拟屏幕虚拟存储器把物理上的多个存储器(主存和辅存)变成逻辑上的一个虚存,(四)操作系统的功能,虚拟机观点裸 机 :没有装配任何软件的计算机称为裸机。虚拟机:装配有相应软件的机器称为虚拟机。,操作系统的资源管理功能,处理机,存储器,I/O设备,软件资源,处理机管 理,存储器管 理,设 备管 理,文 件系 统,系统资源,操作系统功能模块,把操作系统看成一个资源管理器。换句话说,从资源管理的角度看操作系统有如下四个功能:,操作系统的资源管理功能,一 处理机分配 1. 制定调度策略(调度原则) 2. 给出调度算法 3. 具体的实施处理机分派二 存储器管理 1. 存储
18、分配和存储无关性 2. 存储保护 3. 存储扩充,三 设备管理 1. 设备无关性 2. 设备分配 3. 设备的传输控制四 软件资源管理 为用户提供一种简便、统一的存取和管理信息的方法,解决信息的共享、数据的存取控制和保密等问题。,(五)操作系统的类型,批处理操作系统 分时操作系统 实时操作系统个人计算机操作系统 网络操作系统 分布式操作系统 嵌入式操作系统,多道批处理系统,在批处理系统中采用多道程序设计技术,就形成了批量操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。优点:缩短作业之间的交接时间,减少处理机的空闲等待时间,提高系统的吞吐量缺点:用户响
19、应时间较长。用户既不能了解自己程序的运行情况,也不能控制计算机。,批处理系统 VS. 多核系统 ?,特点: 多路调制性:众多联机用户可同时使用同一台计算机 独占性:各终端用户感觉到自己独占了计算机 交互性:用户与计算机之间可进行“会话”,分时操作系统,批处理操作系统vs.分时操作系统,目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同,实时操作系统,实时操作系统:对用户(外部)的请求,实时操作系统能在规定的时间内处理完毕。实时操作系统的类型:实时控制: 工业过程控制、防空系统等实时信息处理:情报检索和查询、飞机订票系统实时操作系统特点:系统对外部的信号必须能及时响应要求高可靠性和安
20、全性,效率则放在第二位系统整体性强不要求很强的“会话”能力,网络操作系统,计算机网络:计算机技术与通信技术相结合的产物,是互连起来的计算机的集合。,网络操作系统: 基于计算机网络、在各种计算机操作系统上、按网络体系结构协议标准开发的软件,包括网络管理、通讯、安全、资源共享和各种网络应用。 目标:相互通讯及资源共享,分布式系统,分布式系统是网络操作系统更高级的形式,它保持了网络操作系统的全部功能。硬件上与计算机局域网没有任何区别。关键是软件。特征:1.统一性:一个统一的操作系统2.共享性:资源进一步共享3.透明性: 在用户眼中分布式计算机就是一台计算机4.自治性:处于分布式系统的多个主机处于平等
21、地位网络操作系统与分布式操作系统的主要区别:网络操作系 统可构架于不同的操作系统之上,即在异构系统上通过网 络协议实现网络资源的统一配置,并不要求透明访问。,集群(Cluster)由高速局域网连接多台计算机组成的分布式计算机系统(虚拟计算机系统)。,嵌入式操作系统,什么是嵌入式系统?在各种设备、装置或系统中,完成特定功能的软硬件系统它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”通常工作在反应式或对处理时间有较严格要求环境中由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统,在嵌入式系统中的OS,称为嵌入式操作系统,嵌入式操作系统的应用,手持系统的特性,
22、完成某一项或有限项功能;不是通用型的内存少,处理机速度慢,屏幕小 为了减少手持设备尺寸,使用耗电更小,体积更小,速度更慢的处理器; 操作系统和应用程序的设计不能加重处理器的负担 有些手持设备可使用无线技术,允许远程访问电子邮件和浏览网页,主要操作系统,Microsoft Windows系统 Unix系统自由软件Linux和FreeBSD,Windows 1.0(1985),Windows 2.0(1987),Windows 3.0(1990),Windows 95(1995),Windows 3.x,WindowsMe(2000),Windows 98(1998),WindowsXP(2001
23、),WindowsNT3.1(NT第1版)(1993),WindowsNT3.51(NT第3版),Windows2000(NT5.0)(2000),Windows CE(1998),WindowsNT3.5(NT第2版),WindowsNT4.0(NT第4版)(1996),微软公司Windows操作系统产品线,Windows Vista(2005),UNIX发展,Linux和FreeBSDLinux由芬兰赫尔辛基大学计算机系大学生Linus Torvalds,在从1990年底到1991年的几个月中,为了自己的操作系统课程学习和后来上网使用而陆续编写的。在2001年初Linux World大会前夕推出了Linux2.4内核 ,现在推出了Linux2.6。FreeBSD是美国加利福尼亚洲大学伯克利分校开发的支持POSIX标准的免费操作系统,它基于4.4BSD 。,第一章 小 结,1. 操作系统在计算机系统中的地位2. 操作系统的基本概念:定义、特征3. 操作系统的基本功能4. 操作系统的基本技术:多道程序设计技术、分时技术5. 操作系统的基本类型,