《操作系统原理方敏操作系统概论.ppt》由会员分享,可在线阅读,更多相关《操作系统原理方敏操作系统概论.ppt(46页珍藏版)》请在三一办公上搜索。
1、第一章 操作系统概述,操作系统课程组,第2页,讨论问题,什么是操作系统?我们为什么要使用操作系统?,第3页,一、什么是操作系统?,其实现在并无精确定义不同的观点用户角度:操作系统是用户使用计算机的界面。提供用户与计算机硬件之间的接口,一般可以分为三种:命令方式,系统调用,图形界面。软件角度:操作系统是程序和数据结构的集合。它是直接和硬件相邻的第一层软件,是由大量极其复杂的系统程序和众多的数据结构集成的。,第4页,一、什么是操作系统?,系统观点:操作系统是对计算机资源管理,这些资源包括硬件和软件。操作系统向用户提供了高级而调用简单的服务,掩盖了绝大部分硬件设备复杂的特性和差异,使得用户可以免除大
2、量的乏味的杂务,而把精力集中在自己所要处理的任务上。教材中的定义操作系统是控制和管理计算机硬件和软件资源、合理地组织和管理计算机的工作流程以方面用户使用的程序的集合。,第5页,计算机系统的结构,二、为什么要使用操作系统?,裸机,第6页,二、为什么要使用操作系统?,OS的地位位于硬件(裸机)之上,所有其他软件之下。它是对硬件系统功能的首次扩充。引入操作系统的目标(特性)方便:提供一个用户与计算机硬件之间的接口,使计算机更易于操作;有效:以更有效的方式使用计算机软硬件资源;改善性能:合理的组织计算机系统的工作流程,以改善系统性能;提供扩展能力:支持可扩展的体系结构,可以方便的引进新的功能,支持可移
3、植性和互操作性。,第7页,三、现代操作系统的特征,并发(concurrence)并发性:指两个或者多个事件在同一时间间隔内发生。并行性(parallel):指两个或者多个事件在同一时刻发生(同时发生)。共享(sharing)系统中有限的资源不在为某个用户独占,而是可供多个用户共享。共享的方式:1)互斥共享:一段时间内某一资源只允许一个用户使用,当使用完后,其他用户才能使用。例如:打印机、扫描仪等。2)非互斥共享:一个资源在一段时间内可以供多个用户“同时”使用。依旧是:宏观上的并行,微观上的串行。例如CPU,内存等。,第8页,三、现代操作系统的特征,虚拟(virtual)一个物理实体映射为若干个
4、对应的逻辑实体分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。,第9页,三、现代操作系统的特征,不确定性(uncertainty)操作系统的不确定性也称为异步性(asynchronism),指在并发环境下程序的执行顺序、开始时间和执行时间是不确定性(不可准确预知)。特点:在相同的环境下,无论程序执行的顺序如何,何时开始执行,也无论执行多少时间,只要输入相同,则结果总是相同的。,第10页,四、操作系统的发展,操作系统的发展和计算机体系结构有着密切联系第一台机械计算机:差分机由英国数学家Charles Babbage设计,第11页,四、操作系统的发展,第一代电子计算机(194
5、61955):人工操作方式,结构:由数万个真空电子管、插件板、导线组成,体积巨大,运算极慢,且很不可靠。操作:程序员提前在墙上的机时表上预约一段时间,然后到机房将他的插板插到计算机里,在接下来的几小时里计算自己的题目。这个阶段基本上所有的题目都是数值计算问题。缺点:系统资源利用率极低。,重量30t,功率150kW占地167m2,第12页,四、操作系统的发展,第二代计算机(1955-1965):脱机和批处理系统结构:使用晶体管,体积减小,可靠性提高,可以批量生产,仅有少数大公司、主要的政府部门和大学买得起。,第13页,四、操作系统的发展,第三代计算机(1965-1980):多道程序设计结构:小规
6、模集成电路芯片,性价比有较大提升,典型的有IBM360系列,它提出了软件兼容的概念,可在科学计算和商用计算领域通用。,第14页,四、操作系统的发展,IBM360的操作系统OS/360以失败而告终,但是它提出了两项非常重要的技术:1)多道程序设计技术。极大的提高了CPU的利用率。2)Spooling(Simultaneous Peripheral Operation On Line)技术。多道程序设计技术的出现给系统的管理提出了挑战,例如:内存管理问题、处理机等资源共享问题、文件检索和存储问题等。为了解决这些问题,系统中必须设置一套管理软件以方便用户使用,于是便形成了操作系统。因此我们说:多道程
7、序设计技术是操作系统形成的标志。这一时期著名的操作系统有:MIT:CTSS(第一个分时系统,1963年);Bell实验室:UNIX。,第15页,四、操作系统的发展,第四代计算机(1980-1990):个人计算机结构:大规模集成电路,体积很小,功能强大。这一时期操作系统技术日趋完善,典型的有:1)Microsoft:MS-DOS,windows系列2)UNIX和Linux,第16页,五、操作系统的分类,微机操作系统单用户微机操作系统CP/M:早期8位系统(75年),配置在Intel8080,8085机器上。MS-DOS:81年,16位系统,配置在IBM-PC机上。OS/2:87年,IBM推出,单
8、用户、多任务,运行在80286,80386机器上。多用户微机操作系统MS:Windows系列UNIX,Linux,第17页,五、操作系统的分类,批处理系统单道批处理系统:早期的操作系统类型,作业排好队,一个一个运行,一次运行一个。如 IBSYS(IBM7409)。多道批处理系统:内存中可以同时放入多个作业运行,作业的执行需要调度,有了进程的概念。如UNIX。远程批处理系统:依靠网络运行,可以远程处理作业,是分布式系统的基本条件。优点:系统吞吐量大,资源利用率高。缺点:无实时交互能力;作业周转时间长(作业必须一次运行完)。,第18页,五、操作系统的分类,分时系统“分时”的定义:指把计算机的系统资
9、源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。典型的分时系统:早期:CTSS,MULTICS现代:Windows,UNIX,Linux,第19页,五、操作系统的分类,实时操作系统概念:在限定的时间内对输入进行快速处理并作出响应的计算机处理系统。主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。实时系统与分时系统的区别,第20页,五、操作系统的分类,网络操作系统分布式操作系统并行操作系统,第21页,五、操作系统的分类,嵌入式操作系统(Embeded Operating System)定义IEEE:An Embedded sy
10、stem is the devices used to control,monitor,or assist the operation of equipment,machinery or plants.嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,其软件代码小、自动化程度高、响应速度快,特别适合于要求实时和多任务的体系。,第22页,五、操作系统的分类,应用:几乎包括
11、了生活中的所有电器设备,典型的如手机、PDA、汽车、微波炉、数码相机、电梯、工业自动化设备等。特点嵌入式系统通常是面向特定应用的。嵌入式CPU与通用型CPU的最大不同就是前者大多工作在为特定用户群设计的系统中,具有低功耗、体积小、集成度高的特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计小型化,移动能力大大增强,跟网络的耦合也越来越紧密。嵌入式系统是将先进技术(计算机技术,半导体技术,电子技术)与各个行业的具体应用相结合后的产物。决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。,第23页,五、操作系统的分类,嵌入式系统的硬件和软件都必
12、须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境支持。,第24页,五、操作系统的分类,嵌入式系统一览表,第25页,五、操作系统的分类,第26页,五、操作系统的分类,嵌入式系统发展趋势需要强大的开发工具和操作系统的支持;联
13、网成为必然趋势;支持小型电子设备实现小尺寸、微功耗和低成本;提供精巧的多媒体人机界面。,第27页,六、操作系统的结构,层次结构观点将系统按照层次结构划分为若干“层”。某一层次上代码只能调用低层次上的代码,使模块间的调用有序化。系统每加一层,就构成一个比原来功能更强的虚拟机。第一个按照这种思想构造的系统是THE系统(68年,Dijkstra等设计,简单的批处理系统)。,OSI模型,THE模型,优点:1)功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性;2)低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用(不会死锁)。缺点:降低了运行效率;各系统对具
14、体划分多少层次有不同的看法。,第28页,六、操作系统的结构,功能观点:模块接口法整个系统分成若干功能各异的模块,模块预先定义有接口,各模块之间只能通过这些接口进行通信。模块可以自由调用。典型的操作系统:UNIX,优点:灵活性强;运行效率高;开发过程快。缺点:1)功能划分和模块接口难以保证正确和合理,连接上有一定困难;2)模块之间的依赖关系复杂,降低了模块之间的相对独立性,可能会造成循环依赖不利于修改(高耦合性)。,第29页,六、操作系统的结构,虚拟机将整个系统在逻辑上虚拟为若干个相同的机器。,典型操作系统:IBM:VM/370(1979年)其实是对硬件的精确复制,每台虚拟机和裸机完全相同,可以
15、运行不同的操作系统。技术基础:1)分时系统2)多道程序设计技术,第30页,六、操作系统的结构,用户观点操作系统是用户和计算机之间的接口程序级接口:系统调用作业控制级接口:命令方式和图形界面,第31页,六、操作系统的结构,资源管理观点计算机系统中有五大资源:作业、处理机、存储器、外部设备、磁盘信息(文件)。它们共同构成了操作系统本身和用户工作的物质基础和环境。实质上是将操作系统看成计算机系统的资源管理程序。包括五大部分:,作业管理,处理机管理(进程管理),存储管理,设备管理,文件系统管理,第32页,操作系统,core,第33页,七、内核体系结构模型,微内核(microkernel)基本思想:将更
16、多操作系统功能放在核心之外,作为独立的服务进程运行;内核保持尽量小,只实现操作系统的基本功能,称为微内核。其典型应用为客户机/服务器模式。,第34页,七、内核体系结构模型,优点:良好的扩充性:只需添加支持新功能的服务进程即可可靠性好:模块相互隔离,调用关系明确,执行转移不易混乱便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上缺点:消息传递比直接调用效率要低一些(但可以通过提高硬件性能来补偿),第35页,七、内核体系结构模型,单内核基本思想:将核心分为若干个模块,模块间的通信通过调用其它模块中的函数实现。,第36页,七、内核体系结构模型,优点:运行效率较
17、高组织方式相对也比较简单缺点:内核移植比较困难混合结构事实上,现在的操作系统多采用单内核和微内核的混合结构,以便取长补短。例如:Linux的内核从总体上来说是一个单内核结构,但是设计时也引入了许多微内核的设计和实现方法。现在系统的可移植性是非常重要的,因此微内核模型将是未来的发展趋势之一。,第37页,八、几种实际的操作系统,MS-DOS(Disk Operating System)最早用于IBM PC,CPU intel8088/8086单用户单任务16位操作系统历史1981年:PC-DOS 1.1:IBM PC,只支持软盘的个人操作系统;1983年:DOS2.0:PC XT,支持硬盘和目录的
18、层次结构,并提供丰富的系统命令;1984年:DOS3.0:PC AT(Intel 80286 CPU),它把286作为一个快速的8086使用。纯DOS 的最高版本为DOS6.22,这以后的新版本DOS都是由Windows系统所提供的,并不单独存在。,第38页,八、几种实际的操作系统,结构:层次设计法,输入输出系统(IBMIO.com,ROM-BIOS),文件管理系统(IBMDOS.com),命令处理程序(),硬 件,第39页,八、几种实际的操作系统,Windows85年:windows1.016位OS,基于DOS内核,是DOS中的一个高级应用。,第40页,八、几种实际的操作系统,90年:Win
19、dows 3.0,16位OS(模拟32位),借见Macintosh 的用户界面,稳定性、友好性有了大的改进,引起了普遍关注。,第41页,八、几种实际的操作系统,93年:Windows NT系列推出,纯32位,支持企业级用户,不仅能提供计算服务平台,而且支持大量用户的并发应用,可以在恶劣的运行程序下仍保持特定的稳定性和效率。其典型代表为Windows NT4.0。,第42页,八、几种实际的操作系统,95年:windows95,32位,界面,兼容性,易用性有很大改观。开创了windows的新纪元。,第43页,八、几种实际的操作系统,98年:windows98,捆绑了IE浏览器,多媒体功能加强。20
20、00年:windows2000windows NT的升级版,稳定性、安全性进一步增强。2001年:windows XPWindows系列(95以后)的特点统一的图形界面和操作方法,良好的兼容性。虚拟存储:段页式,有存储保护。文件系统:支持多种格式如FAT16,FAT32,NTFS。多任务、多线程。具有丰富的应用程序。内置网络和通讯功能,支持多媒体技术。,第44页,八、几种实际的操作系统,UNIX,1987,Minix,1991,Linux,Linus Torvalds,Red hat,Red flag,Linus Torvalds,Ken Thompson,Dennis Richie,Slackware Linux,第45页,八、几种实际的操作系统,Unix系统的特点,UNIX,多用户、多任务、分时操作系统,核心代码95使用C语言编写,内核极小,容易编写、修改,可移植性好;,可靠性强,30多年历史的证明;,文件系统采用树型分层结构,灵活,安全,检索快捷,文件和设备的统一处理,简化了系统设计,便于用户使用;,外围系统实例丰富,第46页,作业:P26习题9,11,