操作系统operatingsystem安颖莲ylan@cic.tsinghua.edu.cn第一讲:操作系统概述第二讲:进程与处理机管理、存储管理第三讲:文件管理、设备管理为什么要学习操作系统侧重点设计、开发操作系统学习操作系统的使用加深对操作系统的理解(操作系统是如何工作的)意义操作系统渉及计算机科学的很多领域计算机结构、软件设计、网络借鉴操作系统的一些技术和思想硬件与软件关系、技术与服务教学目标掌握操作系统的基本概念和名词术语了解操作系统的功能与工作原理为操作系统的使用、管理、及应用开发打基础为后续课程学习提供背景知识批处理分时Linux中断嵌入式系统虚拟存储器进程实时进程调度文件系统线程即插即用第一讲操作系统概述内容提要什么是操作系统操作系统发展史操作系统的主要类型操作系统的主要功能常用操作系统介绍…计算机系统层次结构计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编译、实用程序...操作系统工具软件...专业软件...一个完整的计算机系统由硬件和软件两部分组成硬件是组成计算机的物质实体实际呈现在用户面前的计算机是经过若干层软件改造的计算机软件一般分为系统软件和应用软件两大类操作系统用户面对的计算机硬件操作系统虚拟机什么是操作系统是计算机最核心的系统软件其功能是:有效地组织和管理计算机中的各种软硬件资源合理地组织计算机工作流程,控制程序的执行为用户提供使用计算机的友好界面(各种服务功能)什么是操作系统把计算机硬件包装起来,并扩展其功能,使其成为功能更强、使用更方便的计算机人们可以从更高层次对电脑进行操作,而不用关心其底层的运作几乎所有的应用程序都是基于操作系统的操作系统地位计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑软件/编译软件…操作系统工具软件…专业软件…计算机硬件操作系统系统工具基础性平台应用软件如何在计算机上干事情硬件Windows操作系统C编译器C语言库各种系统工具RealPlayer各种应用软件联想IBMDELL惠普各种操作系统的图标操作系统的发展历史推动操作系统发展的主要动力手工操作阶段单道批处理系统(simplebatchprocessing)多道批处理系统(multiprogrammingsystem)分时系统(time-sharingsystem)返回推动操作系统发展的主要动力提高资源的利用率和系统性能方便用户硬件的发展软硬件技术的发展和用户需求是推动操作系统不断发展的动力操作系统发展史背景:1946~50年代,硬件非常昂贵,没有操作系统工作方式:手工操作,独占机器用户:既是程序员,又是操作员系统配置输入输出:纸带、卡片、打印机…编程语言:机器语言、BASIC语言…问题:上机过程离不开人CPU利用率低(CPU等待用户操作,等待外设)手工操作阶段操作系统发展史主机打印机引导带BASIC解释程序带用户程序带数据带手工操作阶段纸带操作系统发展史背景50年代末~60年代中硬件技术支持-外存储器(磁带、硬盘)软件支持-出现了管理软件(监控程序)工作方式先将若干用户作业(程序及数据)放到外存,然后由一个调度程序依次将它们读入内存执行,从而把用户从计算机前解脱出来串行地执行作业,因而称为是“单道批处理”单道批处理操作系统发展史单道批处理作业队列监控程序卡片机输入设备用户程序打印机业度作调外存(磁盘)硬件技术的发展内存软盘输入机操作系统发展史批处理中的作业概念:“作业”是指用户提交给计算机系统的一个独立的处理单位用户程序+数据+作业控制语言优点输入的一批作业可以自动地一个接一个地顺序执行,节省了人工干预时间,解决了人工操作与机器运行速度不匹配的矛盾,提高了主机利用率问题:CPU利用率不高,主要原因是高速主机和低速外设之间的矛盾。因等待I/O而浪费了CPU时间单道批处理作业的组成$END$RUN$LOAD$FORTRAN$JOB,JOBNAME=…数据卡片程序卡片作业控制语言卡片软盘操作系统发展史背景:60年代中~70年代中(集成电路)利用多道批处理提高资源的利用率。(源于中断、通道、磁盘的引入)核心思想让计算机同时做几件工作,充分利用计算机的各种资源,减少空闲状态和等待状态。多道概念在内存中保持若干道程序,并使这些程序交替执行(轮流使用CPU),当一道程序在执行过程中遇到I/O操作时,系统就让它在一旁等待,而启动另一道程序运行,以减少CPU的空闲时间。多道批处理作业输入队列操作系统发展史多道批处理调度程序卡片机输入设备用户程序1打印机用户程序2用户程序3作业输出队列内存主机①作业录入②作业调度,不同类型作业的搭配③作业输出321操作系统发展史多道批处理系统的运行特征多道:内存中同时存放几个作业宏观上并行运行,微观上轮流运行(交替使用CPU)作业输入、输出及主机的工作同时进行,并行工作技术支持内存管理(分区)CPU调度(保存和恢复现场)作业调度(大作业/小作业;不同类型作业)中断技术多道批处理操作系统基本形成操作系统发展史优点:系统资源不再为单一程序独占,而是为多个程序共享,提高了系统资源的利用率(CPU、内存…)作业吞吐量大:单位时间内完成的工作总量大问题:人机交互差(重视了系统资源的利用,忽视了人的因素)在作业执行过程中,用户不能对作业进行必要的监控,不能根据程序执行中的问题进行必要的操作,这对于程序的调试和修改是非常不方便的多道批处理操作系统发展史背景:70年代中期至今硬件较以前便宜,人力昂贵“分时”的含义指系统(特别是CPU)分时、轮流地为各个终端用户服务,及时响应用户的请求特点是多个用户分享使用同一台计算机(多用户)多个程序分时共享硬件和软件资源(多任务)分时系统操作系统发展史分时系统主机终端CPU轮流为终端用户服务用户通过“终端命令”亲自指挥计算机工作操作系统发展史实现了会话式的上机操作(以人为本)人机交互性好:在调试和运行程序时由用户自己操作多个用户分时(多用户)共享主机:多个用户同时使用用户独立性:对每个用户而言好象独占主机多个程序分时(多任务)前后台程序共享系统资源(保证前台)分时系统操作系统发展史技术支持用户界面,用户终端命令基于CPU速度,保证响应速度多种调度策略操作系统成型-综合性的操作系统当前,操作系统正由单一型向复合类型发展,即兼有批处理、分时、以及网络等功能运行在大型计算机上的系统都是这种复合型的操作系统如UNIX操作系统微型计算机的操作系统(如MicrosoftWindows和Linux)也都具有复合操作系统的一些特征分时系统操作系统的多样化单道批处理多道批处理分时操作系统PC机操作系统嵌入式操作系统实时操作系统网络操作系统多处理机操作系统实时操作系统计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作应用领域:主要用于过程控制、事务处理等有实时要求的领域主要特征:实时性、可靠性高炉实时系统数据采集控制嵌入式操作系统嵌入式应用是将计算机的主机嵌入在应用系统或设备之中、且不为用户所知的计算机应用方式嵌入式操作系统特征(运行环境及应用场合所决定)是一个多任务、可抢占式的实时操作系统的核心,只提供基本功能。应用领域制造业、仪器、汽车、航空、军事装备、消费类电子产品WindowsCE个人计算机操作系统针对个人计算机进行优化的操作系统个人计算机操作系统的特征应用领域:事务处理、个人办公、个人娱乐…系统要求:界面友好、使用方便(不追求效率)支持多种外部设备(多媒体设备、网络、远程通信)常用的个人计算机操作系统单用户单任务:MSDOS单用户多任务:MSWindows3.x,Windows95,WindowsNT,Windows2000Professional等多用户多任务:UNIX(SCOUNIX,Solarisx86,Linux,FreeBSD),Window2000Server等多处理机操作系统多处理操作系统的出现是为了提高计算机系统性能和可靠性提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。1975年前后,出现多处理机系统(multi-processor)多处理机操作系统多CPU调度共享内存CPU1CPU2CPUn内存外设网络操作系统网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统服务器功能管理、共享、服务客户端客户端客户端服务器服务器WindowsNTNetWareUnix…操作系统基本功能进程和处理器管理-CPU和进程的调度存储管理-存储器(内存分配、虚拟存储器技术)设备管理-外部设备(设备驱动程序、输入输出)文件管理-文件(文件的组织结构、权限、文件访问)用户接口-面向用户(用户操作界面,程序中调用接口)内存系统调用(程序接口)外存外设处理机管理存储管理文件管理设备管理用户界面操作系统用户CPU进程和处理机管理处理机即CPU,是执行程序(包括系统程序和用户程序)的唯一部件,是计算机最宝贵的硬件资源提高CPU利用率-操作系统的核心任务进程与处理机CPU的功能是执行程序,而程序的执行过程又是由进程所描述。进程也是操作系统管理的对象,进程管理与处理机管理密不可分管理内容:多个程序同时运行,CPU如何分配?程序如何调度?存储管理内存空间的分配多道程序进入内存,内存空间如何划分内存空间的分配与回收保护如何保证多道作业之间互不干扰(阻止非法的地址访问)扩充如何解决内存容量与程序需求的矛盾如何利用软硬件技术,解决内存不足的问题设备管理输入输出设备具有很不相同的操作性能在信息传输方式(字符、二进制)处理速度(高速、低速)输入输出控制(外设结构与操作原理各异)设备管理的任务就是根据一定的分配策略,将设备接口及外设分配给请求输入输出的程序,并启动设备完成输入输出操作设备管理能够为用户提供一个友好的接口,使用户不必关心具体的设备特征,而只需关心输入/输出的内容。文件管理在计算机的外存上存储着大量的信息,如何组织、存储和管理好这些信息,并方便用户的使用,这就是操作系统信息管理的内容操作系统管理信息的基本单位是“文件”用户通过文件名访问文件目录与文件组织文件的属性设置文件的访问权限操作系统的用户接口操作系统通过用户接口为用户使用计算机提供了手段,操作系统也正是通过其接口封装了系统的内在功能,并为用户呈现了一台功能更强、使用更加方便的计算机两种类型的用户接口(两个层次)程序级的接口---系统提供了一组“系统调用”供用户在编程时调用。通过这些系统调用,用户可以在程序中访问系统的一些资源(包括文件),或要求操作系统完成一些特定的功能。作业级接口---操作系统用户界面用户界面是用户直接感受到的操作系统外观和上机环境,它通常有两种形式:终端命令和图形用户界面操作系统的用户接口终端命令DOS命令(运行cmd)C:\HELP---列表显示常用的终端命令C:\HELP命令名---显示指定命令的帮助信息C:\DIR---显示当前目录下的内容(文件和子目录)C:\CD---显示或改变当前目录C:\PATH---显示或设置可执行文件的搜索路径C:\EXIT---退出终端命令执行环境操作系统的用户接口终端命令UNIX命令pwd―显示当前目录ls―显示当前目录下的内容(包括文件的权限设置)cd目录名――转向指定目录,即改变当前目录cat文件名――显示文本文件内容rm文件名――删除指定的文件man命令名――显示指定命令的帮助信息操作系统的用户接口图形用户界面以其直观和易操作性成为操作系统使用最广泛的用户界面广泛采用了窗口、菜单、工具栏、对话框等框架结构,并在界面中使用了按钮、组合框、列表框、单