操作系统原理PrinciplesofOperatingSystem软件教研室叶尔兰2005年2月教材:王万森.计算机操作系统原理.高等教育出版社参考书:孟静.操作系统教程—原理和实例分析.高等教育出版社庞丽萍.操作系统原理.华中理工大学出版社AndrewS.Tanenbaum.现代操作系统.机械工业出版社尤晋元,史美林.Windows操作系统原理.机械工业出版社何炎祥.操作系统原理.华中科技大学出版社■今天日期:2020/1/24第一章操作系统概述第3页本课程地位专业核心课程考研核心课程技术开发的理论基础今天日期:2020/1/24第一章操作系统概述第4页学习方法抽象宏观今天日期:2020/1/24第一章操作系统概述第5页本课程内容第一章操作系统概述第二章用户接口第三章进程管理第四章死锁及其对策第五章处理机管理第六章存储管理第七章I/O系统及设备管理第八章文件系统第九章Linux操作系统第十章操作系统设计第十一章操作系统的进一步发展今天日期:2020/1/24第一章操作系统概述第6页第一章操作系统概述1.1什么是操作系统1.2操作系统的形成过程1.3操作系统的基本类型1.4操作系统的特征1.5操作系统的服务1.6操作系统的功能1.7操作系统的结构1.8中断及其在操作系统中的作用本章内容:今天日期:2020/1/24第一章操作系统概述第7页1.1什么是操作系统1.1.1操作系统的虚拟机观点1.1.2操作系统的资源管理观点1.1.3操作系统的用户服务观点本节内容:今天日期:2020/1/24第一章操作系统概述第8页你知道下列哪些是操作系统吗?极品飞车DOSLINUXWINDOWSTURBO-CWORDFOXPROUNIXTURBO-ASMVI一个C语言源程序■1.1什么是操作系统今天日期:2020/1/24第一章操作系统概述第9页目前常见操作系统微软:Windows系列(以前MS-DOS)UNIX:Solaris,AIX,HPUX,SVR4,BSD,ULTRIX自由软件:Linux,freeBSD,MinixIBM:AIX,zOS(OS/390),OS/2,OS/4000,PCDOS其他:MacOS,NetWare,……■今天日期:2020/1/24第一章操作系统概述第10页你用过的操作系统能做什么?各种命令:dircopydelformat启动、结束用户程序系统调用:例如INT指令WINDOWS、UNIX等提供多任务或多用户环境■今天日期:2020/1/24第一章操作系统概述第11页你知道操作系统不能做什么?不做天气预报不做房屋设计不是编译程序总之,操作系统不直接解决最终具体应用问题,也不负责编译源程序...■今天日期:2020/1/24第一章操作系统概述第12页1.1.1操作系统的虚拟机观点这种观点认为,操作系统是添加在硬件上的第一层软件,是对硬件功能的首次扩充和直接延伸。今天日期:2020/1/24第一章操作系统概述第13页1.1.2操作系统的资源管理观点这种观点认为,操作系统是管理计算机系统资源的软件,他负责控制和管理计算机系统中的全部资源,确保这些资源能被高效合理地使用,确保系统能够有条不紊地运行。■今天日期:2020/1/24第一章操作系统概述第14页1.1.3操作系统的用户服务观点这种观点认为,操作系统是一个为用户服务的大型程序。即、从用户角度看,当计算机配置了操作系统之后,用户就不再直接使用计算机硬件,而是利用操作系统所提供的命令和服务去使用计算机。或者说、用户在操作系统的帮助下能方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。■今天日期:2020/1/24第一章操作系统概述第15页操作系统的定义操作系统(OperatingSystem,简称OS)是控制和管理计算机硬件资源和软件资源,合理地组织计算机工作流程以及方便用户的程序集合。■今天日期:2020/1/24第一章操作系统概述第16页1.2操作系统的形成过程1.2.1人工操作阶段(40年代)1.2.2单道批处理阶段(50年代)1.2.3执行系统阶段(50年代末)1.2.4多道程序系统阶段(60年代初)■本节内容:今天日期:2020/1/24第一章操作系统概述第17页1.2.1人工操作阶段电子管计算机,无操作系统,由人工控制作业的输入输出,通过控制台开关启动程序运行。用户使用计算机的过程大致如下:先把程序纸带装上输入机,启动输入机把程序和数据送入计算机,然后通过控制台开关启动程序运行,计算完毕后,用户拿走打印结果,并卸下纸带。■今天日期:2020/1/24第一章操作系统概述第18页人工交互方式的特点(1)程序设计直接编制二进制目标程序(2)输入输出设备主要是纸带和卡片(3)程序员上机必须预约机时(4)程序员自己上机操作(5)程序的启动与结束处理都以手工方式进行(6)程序员的操作以交互方式进行(控制台)(7)单用户方式(8)程序执行过程得不到任何帮助■今天日期:2020/1/24第一章操作系统概述第19页存在的主要问题:资源独占串行工作人工干预■今天日期:2020/1/24第一章操作系统概述第20页1.2.2单道批处理阶段晶体管计算机,操作系统的雏形,称为监控程序。单道批处理系统的工作过程:用户将作业交到机房,操作员将一批作业输入到辅存(如磁带)上,形成一个作业队列。当需要调入作业时,监控程序从这一批中选一道作业调入内存运行。当这一作业完成时,监控程序调入另一道程序,直到这一批作业全部完成。■今天日期:2020/1/24第一章操作系统概述第21页单道批处理分为:早期批量处理、脱机批量处理早期批量处理:由CPU直接控制作业输入输出脱机批量处理:由卫星机控制作业输入输出■今天日期:2020/1/24第一章操作系统概述第22页早期批量处理:脱机批量处理:今天日期:2020/1/24第一章操作系统概述第23页单道批处理阶段的特点(1)作业(步)间不需要人的干预(2)监控程序常驻内存,开机后第一个进入内存,直到关机一直驻留在内存中(3)专职操作员,程序员不在现场(4)单道(5)监控程序只为一个计算机系统设计(6)开发过程可以使用FORTRAN等高级语言,程序的最后一条指令需是返回控制到监控程序■今天日期:2020/1/24第一章操作系统概述第24页对单道批处理阶段的评价(1)作业转换时间大大减小,系统运行效果提高(2)存在I/O慢造成的CPU空闲等待时间(单道)(3)程序员(和非编程用户)无法同计算机交互(4)一个操作系统被设计成只能在一种机器上运行■今天日期:2020/1/24第一章操作系统概述第25页1.2.3执行系统阶段为了获得CPU和外部I/O设备在执行时间上的重叠,就必须提供中断处理程序和I/O控制程序,这样就把原来的监督程序扩大到了执行系统。执行系统的程序包括I/O控制程序、中断处理程序和管理程序。若把他们都放在内存,会大大减少用户的可用空间。为此、让那些所有程序都要用到的中断处理程序和I/O控制程序常驻内存,而其他部分放在外存。常驻内存的那部分程序成为执行程序。■今天日期:2020/1/24第一章操作系统概述第26页1.2.4多道程序系统阶段单道程序是指在主存储器中只存放着一批程序(或者一个程序),当CPU运行该程序发生某种条件等待时,CPU暂停当前程序的运行,在等待的条件被满足以前,CPU将一直处于闲置状态。多道程序是指在主存储器中存放着不止一批程序(或者多个程序),当CPU运行某一个程序发生条件等待时,可以转向执行另外的程序,因此,多道程序方案可以减少CPU的闲置时间。■今天日期:2020/1/24第一章操作系统概述第27页实现多道程序需要解决的问题(1)内存的分配和保护(2)处理机的管理和分配(3)I/O设备的管理和分配(4)文件存储空间的租住和管理在多道系统中,解决上述问题的一组程序的集合构成了操作系统。■今天日期:2020/1/24第一章操作系统概述第28页1.3操作系统的基本类型1.3.1多道批处理系统本节内容:1.3.5网络操作系统■1.3.2分时系统1.3.3实时系统1.3.4通用操作系统今天日期:2020/1/24第一章操作系统概述第29页多道程序设计技术:在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行,共享系统中的硬、软件资源。■操作系统发展史上革命性变革1.3.1多道批处理系统今天日期:2020/1/24第一章操作系统概述第30页1.多道批处理系统的运行方式用户将作业交到机房,操作员将一批作业输入到辅存(如磁盘)上,形成一个作业队列。当需要调入作业时,管理程序从这一批中选几道作业调入内存,让它们进入内存运行。当一些作业完成时,管理程序调入另一些程序,直到这一批作业全部完成(图1)。今天日期:2020/1/24第一章操作系统概述第31页2.多道批处理系统的的特征(1)多道性。(2)无序性。(3)调度性。①作业调度②进程调度■今天日期:2020/1/24第一章操作系统概述第32页多道批处理系统的优点(1)资源利用率高:资源指CPU及设备。(2)系统吞吐量大:系统吞吐量指系统在单位时间完成的总工作量。多道批处理系统的缺点(1)平均周转时间长:由于作业要排队,依次进行处理,因而作业的周转时间较长。(2)无交互能力:用户一旦把作业交给系统后就失去了对自己作业的控制。■今天日期:2020/1/24第一章操作系统概述第33页1.3.2分时系统推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量。推动分时系统形成和发展的主要动力是用户的需要:交互、共享主机、方便上机。■今天日期:2020/1/24第一章操作系统概述第34页1.分时系统的实现方法多个用户分时使用主机,每一用户分得一个时间片,用完这个时间片后操作系统将处理机分给另一用户,如此循环,每一用户可以周期性地获得CPU使用权,这样每一用户都有一种独占CPU的感觉。例如,若时间片为100ms,系统中有20个用户在分享CPU,若暂时忽略用户需程序之间切换是运行时操作系统的时间开销,则每个用户的两次使用CPU之间的时间间隔为100ms×20=2s。再假定CPU的运行速度为1000万次/秒,则对一个用户来说,等价于CPU的速度为1000/20=50万次/秒。今天日期:2020/1/24第一章操作系统概述第35页2.分时系统的特性(1)多路性:允许同一主机联接多台终端。(2)独立性:每一用户独占一个终端。(3)及时性:用户请求能及时响应。(4)交互性:可人机对话。■今天日期:2020/1/24第一章操作系统概述第36页3.分时系统的响应时间响应时间分为用户响应时间和系统响应时间。系统响应时间:是计算机对用户的输入作出的反应时间。用户响应时间:是指单个用户所感受到的系统对他的响应。用户的眼睛存在着视觉暂停现象,他只能接受分秒及以上的视觉变化,快的用户响应时间在此范围内也就可以了。系统响应时间的计算要考虑用户的数目,用户数目越多,响应时间必须越快,不然就难以保证每一个用户都有可接受的响应时间。响应时间可以和时间片联合起来考虑,一般情况是:时间片越短,响应时间越快。■今天日期:2020/1/24第一章操作系统概述第37页(1)影响响应时间的主要因素①系统开销:主要指进程的调度和兑换时间进程兑换时间=外存访问时间+信息传输时间信息传输时间=信息对换量/信息对换速度②用户数目③时间片④信息对换量(2)改善响应时间的办法①重入码技术②虚拟存储技术■今天日期:2020/1/24第一章操作系统概述第38页1.3.3实时系统所谓“实时”就是“立即”或“及时”,具体含义是指系统能够及时响应随机发生的外部事件,并以足够快的速度完成对事件的处理。外部事件是指传感器或其它信号测量装置所采集的现场数据或终端用户提出的服务请求。■今天日期:2020/1/24第一章操作系统概述第39页(1)实时控制系统:如工业控制。(2)实时信息处理系统:如联网订票系统。