2020/2/23山东农业大学计算机系1课程简介•课程特点:概念繁多、原理性强、比较抽象•课程地位:基础核心课,有利于对计算机系统的理解和软件开发•学习方法:以问题驱动学习、理论联系实际•学习难点:概念、原理、算法、数据结构2020/2/23山东农业大学计算机系2教材《计算机操作系统》第四版汤小丹等辅助教材《计算机操作系统学习指导与题解》梁红兵汤小丹,西安电子科技大学出版社2020/2/23山东农业大学计算机系3参考教材操作系统考研指导曾平清华大学出版社操作系统教程王素华人民邮电出版社操作系统原理简明教程孟静高等教育出版社计算机操作系统教程左万历等高等教育出版社操作系统基础屠立德屠祁清华大学出版社OperatingSystemsWilliamStallingsModernOperatingSystemAndrewS.TanenbaumOperatingSystemConceptAbrahanSilberschatz,PeterB.Galvin2020/2/23山东农业大学计算机系4操作系统课程的特点1.理论性、实践性强(从实践总结出原理)2.涉及面广(性能问题,结构问题,程序方法论,软件工程等)3.错综复杂,纵横交叉2020/2/23山东农业大学计算机系5学习目标和意义?你想学好后继课程吗?Linux、计算机网络、分布式系统、嵌入式系统?你想考研吗??你想找个好工作吗?2020/2/23山东农业大学计算机系6了解操作系统的重要性掌握核心系统软件的实现方法掌握并行、并发处理的思想方法掌握操作系统的基本概念、基本原理、实现技术。如何学习操作系统2020/2/23山东农业大学计算机系7课程教学重点•进程同步,进程调度,死锁;存储器的分页分段管理;虚拟存储器管理的分配算法;文件结构,磁盘调度算法。•要求阐明它们的原理以及各自算法的思想和内容。2020/2/23山东农业大学计算机系8考研大纲-总体要求1.掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行过程。2.掌握操作系统进程、内存、文件和I/O管理策略、算法、机制以及相互关系。3.能够运用所学的操作系统原理、方法与技术分析问题和解决问题,并能利用C语言描述相关算法。2020/2/23山东农业大学计算机系9第一章操作系统引论1.1操作系统的目标和作用1.2操作系统的发展过程1.3操作系统的基本特征1.4操作系统的主要功能1.5操作系统的结构设计1.6本章要点与课堂练习2020/2/23山东农业大学计算机系10提出问题•计算机系统资源由谁来管理?•计算机系统如何执行程序?•计算机系统如何为用户提供服务?•计算机操作系统是什么?•如果让你设计操作系统,你如何设计?2020/2/23山东农业大学计算机系11操作系统在计算机系统中的地位2020/2/23山东农业大学计算机系12裸机操作系统应用程序用户主要功能有:•处理机管理•存储管理•设备管理•信息(文件)管理2020/2/23山东农业大学计算机系13操作系统的地位计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员2020/2/23山东农业大学计算机系14操作系统:是一组控制和管理计算机软硬件资源、合理地组织多道程序的运行、方便用户使用的程序的集合。操作系统定义(管家、调度、桥梁)2020/2/23山东农业大学计算机系151.1操作系统的目标和作用1.1.1操作系统的目标1.有效性:提高系统资源利用率,提高系统吞吐量2.方便性:配置图形用户界面3.可扩充性:方便地增加新的功能和模块4.开放性:遵循世界标准规范,使软、硬件兼容2020/2/23山东农业大学计算机系161.1.2操作系统的作用1.接口作用:使用方式I.命令方式II.系统调用方式III.图形、窗口方式用户应用程序系统调用命令图标、窗口操作系统计算机硬件用户程序对操作系统的调用!2020/2/23山东农业大学计算机系172.资源管理者处理器处理器管理存储器存储器管理I/O设备I/O设备管理信息文件管理1.1.2操作系统的作用功能资源2020/2/23山东农业大学计算机系183.OS用作扩充机器硬件处在最底层-“裸机”;操作系统是附加在裸机上的第一层软件-,“虚拟计算机”;所有系统软件以及更上层的用户应用软件在操作系统虚拟机上运行。1.1.2操作系统的作用2020/2/23山东农业大学计算机系191.2.1推动操作系统发展的主要动力1)器件的不断更新换代:2)方便用户:3)不断提高计算机资源利用率:4)计算机体系结构的不断发展:1.2操作系统的发展过程2020/2/23山东农业大学计算机系201.2.2无操作系统的计算机系统1.人工操作方式•1946-50年代:电子管时代,计算机速度慢,无操作系统,计算机资源昂贵;•工作方式:–用户:既是程序员又是操作员(专业人员)–编程语言:机器语言;–输入输出:纸带或卡片;灯亮显示开关控制2020/2/23山东农业大学计算机系212020/2/23山东农业大学计算机系22•计算机的工作特点:–用户独占全机,资源利用率极低;–CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;•主要矛盾:–人机矛盾----人工操作严重降低了计算机资源的利用率•提高效率的途径:–脱机输入/输出技术。1.2.2无操作系统的计算机系统2020/2/23山东农业大学计算机系232.脱机输入/输出(Off-LineI/O)方式:磁盘输入设备外围机主机输出设备外围机1.2.2无操作系统的计算机系统磁盘磁盘磁盘2020/2/23山东农业大学计算机系241.2.2无操作系统的计算机系统脱机I/O方式的主要优点:1)减少了CPU的空闲时间2)提高I/O速度脱机I/O方式的主要缺点:系统开销大!2020/2/23山东农业大学计算机系251.单道批处理系统的处理过程1.2.3单道批处理系统把一批作业以脱机方式输入到磁带或磁盘上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个的连续、自动处理。单道批处理系统:作业成批处理,内存中只有一道。2020/2/23山东农业大学计算机系26简单批处理系统的内存布局2020/2/23山东农业大学计算机系272、单道批处理系统的特征•自动性•顺序性•单道性1.2.3单道批处理系统2020/2/23山东农业大学计算机系281.2.4多道批处理系统1、多道程序设计的基本概念多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序;操作系统在引入多道程序设计技术后,使得系统具有了多道、宏观上并行、微观上串行的特点。并发!2020/2/23山东农业大学计算机系292、推动多道程序设计形成和发展的主要动力•提高CPU的利用率•提高内存和I/O设备利用率•增加系统吞吐量2020/2/23山东农业大学计算机系30单道与多道程序运行情况的比较例题2020/2/23山东农业大学计算机系31例题•在单处理机系统中,有10个程序,每个程序以单道方式运行时需要10min完成,完成所有程序的运行需要的时间大于100min。若采用多道方式运行,全部运行完成需要的总时间是:A.小于10minB.大于10min但小于等于100minC.大于100minD.以上都不对2020/2/23山东农业大学计算机系322.多道批处理系统的特征:多道性无序性调度性作业调度进程调度1.2.4多道批处理系统2020/2/23山东农业大学计算机系33多道程序系统在主存中同时有若干个作业,CPU在其中多重切换(共享CPU)。2020/2/23山东农业大学计算机系34多道程序设计示例2020/2/23山东农业大学计算机系35单道与多道批处理的比较单道多道内存使用每次一个作业每次多个作业(充分利用内存)作业次序顺序,先进先出无确定次序不严格对应需要交替占用多道多道批处理严格对应不需要独占一道单道批处理程序完成次序与其进入内存次序间的关系是否需要作业和进程调度占用CPU的情况内存中驻留程序数目2020/2/23山东农业大学计算机系363.多道批处理系统需解决的问题:a.处理机管理问题b.内存管理问题c.设备管理问题d.文件管理问题e.作业管理问题1.2.4多道批处理系统(第2、3章)(第4章)(第5章)(第6章)(第3章)2020/2/23山东农业大学计算机系37•优点:–资源利用率高:CPU和内存利用率较高;–系统吞吐量大:单位时间内完成的工作总量大;1.2.4多道批处理系统•缺点:-平均周转时间长:短作业的周转时间显著增长;-无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;4.多道批处理系统的优缺点:2020/2/23山东农业大学计算机系381.分时系统的产生主要动力:用户的需求表现形式:A.人—机交互B.共享主机C.便于用户上机1.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系391.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系40分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。1.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系412.分时系统实现中的关键问题(1)及时接收(2)及时处理响应时间RT(responsetime):从用户发出命令到第一个结果出来这段时间叫RT。在分时系统中,响应时间≈时间片×用户数时间片:就是分配给进程运行的一段时间(timeslice)。1.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系42例题•在一个分时系统中,当用户数为100时,为保证响应时间不超过2s,系统设置的时间片长度应为:A.50msB.100msC.10msD.20ms2020/2/23山东农业大学计算机系433.改变批处理系统的运行方式:作业直接进入内存系统采用时间片轮转方式处理服务请求1.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系444.分时系统的特征:1)多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。宏观上:是多个人同时使用一个CPU微观上:多个人在不同时刻轮流使用CPU1.2.5分时系统(time-sharingsystem)2020/2/23山东农业大学计算机系454.分时系统的特征2)独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。3)及时性:通过时间片技术和轮转调度算法保证及时响应。4)交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。2020/2/23山东农业大学计算机系46例题•在一个分时系统中,用户提交了一个作业,作业内容包括:–请求内存缓冲区;–计算并将结果存于内存缓冲区;–请求打印机;–将缓冲区中的内容在打印机上输出;–释放打印机;–释放内存;–结束。•试从分时操作系统对资源管理的观点讨论该作业从提交到结束,操作系统为其提供的服务与控制。2020/2/23山东农业大学计算机系47解答•调用存储器管理,为其分配主存;•调用处理机管理,为其分配CPU,实现作业的计算并将结果存入主存;•调用设备管理,为其分配打印机;•执行打印机的驱动程序,驱动打印机打印;•打印机完成,产生中断,CPU响应中断,转入中断处理程序执行,并检查打印完成后释放打印机;•调用存储器管理,回收主存;•撤销该作业。2020/2/23山东农业大学计算机系48•就CPU利用率的高低,对手工操作、单道批处理、多道批处理和多用户分时系统进行排序。例题解答:CPU利用率逐渐提高的顺序为:手工操作、单道批处理、多用户分时系统、多道批处理。2020/2/23