《操作系统原理 课件ppt.ppt》由会员分享,可在线阅读,更多相关《操作系统原理 课件ppt.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 操作系统原理 Principles of Operating System周湘贞 曾宪权 编著第 1 章操作系统概论1.1 1.1 操作系统的概念操作系统的概念1.1.1 1.1.1 计算机系统的结构计算机系统的结构1.1.问题的引入:问题的引入:下面列举了一些大家熟悉的软件,你能说出它们的下面列举了一些大家熟悉的软件,你能说出它们的区别吗?区别吗?极品飞车、极品飞车、RealoneRealone Player Player播放器、播放器、Visual C+Visual C+、FlashFlash、DreamweaverDreamweaver MX 2004 MX 2004、LinuxLin
2、ux、UnixUnix、Windows XPWindows XP、WordWord、WindowsWindows优化大师、优化大师、OracalOracal、升、升达大学学生管理系统达大学学生管理系统1.1 1.1 操作系统的概念操作系统的概念2.2.计算机系统的层次结构计算机系统的层次结构 用户1用户2用户3用户4用户n财务系统航空订票上网浏览电子商务科学计算(应用程序)编译程序汇编程序编辑程序数据库(系统程序)操作系统计算机硬件 提供了一良好的工作环境,提供了一良好的工作环境,方便用户的使用方便用户的使用1.1 1.1 操作系统的概念操作系统的概念2.2.计算机系统的层次结构计算机系统的层
3、次结构l 硬件系统硬件系统(裸机):(裸机):提供基本的可计算性资源,包括提供基本的可计算性资源,包括CPUCPU、存储器(主存、辅存)、存储器(主存、辅存)、I/OI/O系统系统l 操作系统层操作系统层:对硬件作扩充和改造,提供了操作系统接对硬件作扩充和改造,提供了操作系统接口,为编译程序、编辑程序、数据库系统等的设计者提供口,为编译程序、编辑程序、数据库系统等的设计者提供有力支撑。有力支撑。l 系统软件:系统软件:建立在操作系统改造和扩充过的机器上,提建立在操作系统改造和扩充过的机器上,提供扩展指令集,实现各种语言处理程序、数据库管理系统供扩展指令集,实现各种语言处理程序、数据库管理系统和
4、其他系统程序。和其他系统程序。l 应用软件:应用软件:解决用户不同的应用问题解决用户不同的应用问题1.1 1.1 操作系统的概念操作系统的概念1.1.2 1.1.2 操作系统的视图(作用)操作系统的视图(作用)1.1.操作系统是用户与计算机硬件之间的接口。操作系统是用户与计算机硬件之间的接口。用户用户A(A(上网)上网)用户用户B(B(欣赏音乐)欣赏音乐)用户用户C(C(办公)办公)浏览器浏览器播放器播放器办公软件办公软件用户需求用户需求操作界面操作界面计算机硬件计算机硬件 操作系统屏蔽计算机操作系统屏蔽计算机硬件的物理特性差硬件的物理特性差异,给用户提供了异,给用户提供了接口接口 1.1 1
5、.1 操作系统的概念操作系统的概念2.2.操作系统为用户提供虚拟计算机操作系统为用户提供虚拟计算机 n裸机极难使用,虽有很强的指令系统,从功能上来说局限性裸机极难使用,虽有很强的指令系统,从功能上来说局限性很大。加上软件后,就可在硬件基础上,对其功能和性能进很大。加上软件后,就可在硬件基础上,对其功能和性能进行扩充和完善。例如:如果加上一层窗口管理软件,由该软行扩充和完善。例如:如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。口中操作,用户可以在窗口环境中方
6、便地与计算机交互。n操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚拟机器(计算机,或操作系统虚拟机器(Virtual MachineVirtual Machine)。)。1.1 1.1 操作系统的概念操作系统的概念3.3.操作系统作为计算机系统的资源管理者操作系统作为计算机系统的资源管理者 n在计算机系统中,能分
7、配给用户使用的硬件和软件设施总在计算机系统中,能分配给用户使用的硬件和软件设施总称为资源,称为资源,包括两大类:硬件资源和信息资源。这些资包括两大类:硬件资源和信息资源。这些资源是可以共享的。源是可以共享的。n对资源进行抽象研究,找出各种资源共性和个性,有序地对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突,是现代操作系统的任务之一。对资源的使用冲突,是现代操作系统的任务之一。1.1 1
8、.1 操作系统的概念操作系统的概念u操作系统是控制和管理计算机硬件和软件资源,合理地对操作系统是控制和管理计算机硬件和软件资源,合理地对各种资源进行分配和调度,规范计算机工作流程,方便用各种资源进行分配和调度,规范计算机工作流程,方便用户使用的程序的集合。户使用的程序的集合。u操作系统是计算机系统的基础软件,它常驻内存,给用户操作系统是计算机系统的基础软件,它常驻内存,给用户程序提供一个支撑环境,所以,操作系统有哪些成分组成程序提供一个支撑环境,所以,操作系统有哪些成分组成变得非常重要。一个比较公认的定义是操作系统是一直运变得非常重要。一个比较公认的定义是操作系统是一直运行在计算机上的系统程序
9、(通常称为内核),其它程序则行在计算机上的系统程序(通常称为内核),其它程序则为应用程序,运行在操作系统提供的良好环境中。为应用程序,运行在操作系统提供的良好环境中。1.1 1.1 操作系统的概念操作系统的概念1.1.3 1.1.3 现代操作系统的特点:现代操作系统的特点:现现代代操操作作系系统统尽尽管管种种类类繁繁多多,功功能能差差别别很很大大,但但它它们们仍仍然然具具有有一一些些共共同同的的特特征征。现现代代操操作作系系统统具具有有并并发发性性、共共享性、虚拟性和不确定性。享性、虚拟性和不确定性。1.1.并发性(并发性(concurrence)concurrence)并并发发性性是是指指两
10、两个个或或多多个个事事件件或或活活动动在在同同一一时时间间间间隔隔内内发发生生。操操作作系系统统是是一一个个并并发发的的系系统统,并并发发性性是是它它最最重重要要的的特特性性。操操作作系系统统的的并并发发性性是是指指计计算算机机系系统统中中同同时时存存在在若若干干个个运行的程序,这些程序在执行时间上重叠。运行的程序,这些程序在执行时间上重叠。1.1 1.1 操作系统的概念操作系统的概念 2 2共享性共享性(sharing)(sharing)n共享性是现代操作系统的另一个重要特征。共享是指系统共享性是现代操作系统的另一个重要特征。共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个中的
11、硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。用户共同使用。n资源共享的方式有两种:(资源共享的方式有两种:(1 1)互斥访问。系统中的某些资)互斥访问。系统中的某些资源,如打印机、磁带机等,它们虽然可以提供给多个程序源,如打印机、磁带机等,它们虽然可以提供给多个程序使用,但在同一时间段内却只允许一个程序访问这些资源,使用,但在同一时间段内却只允许一个程序访问这些资源,即要求互相排斥地使用这些资源。(即要求互相排斥地使用这些资源。(2 2)同时访问。计算机)同时访问。计算机系统中还有一些资源,允许同一时间内多个程序对它们进系统中还有一些资源,允许同一时间内多个程序对它们进行访问。
12、典型的可同时访问的设备是磁盘,各种可重入程行访问。典型的可同时访问的设备是磁盘,各种可重入程序也可被同时访问。序也可被同时访问。1.1 1.1 操作系统的概念操作系统的概念3 3虚拟性虚拟性(virtual)(virtual)虚拟性是指操作系统采用的一种管理技术,它把一个物虚拟性是指操作系统采用的一种管理技术,它把一个物理上的实体,变为若干个逻辑上的对应物,或者把物理上的理上的实体,变为若干个逻辑上的对应物,或者把物理上的多个实体变成逻辑上的一个对应物的技术。很显然,物理实多个实体变成逻辑上的一个对应物的技术。很显然,物理实体体(前者前者)是实的,而后者是虚拟的。是实的,而后者是虚拟的。4 4
13、异步性异步性(asynchronismasynchronism)在多道程序环境下,允许多个进程并发执行,但由于竞在多道程序环境下,允许多个进程并发执行,但由于竞争资源等因素的限制,使进程的执行不是争资源等因素的限制,使进程的执行不是“一气呵成一气呵成”,而,而是以是以“走走停停走走停停”的方式运行。也就是说,在多道程序环境的方式运行。也就是说,在多道程序环境下,程序的执行是以异步方式进行的。下,程序的执行是以异步方式进行的。1.1 1.1 操作系统的概念操作系统的概念1.1.4 操作系统的功能操作系统的功能 1 1处理机管理处理机管理u创建或删除用户进程和系统进程;创建或删除用户进程和系统进程
14、;u暂停或重启进程;暂停或重启进程;u提供进程同步机制;提供进程同步机制;u提供进程通信机制;提供进程通信机制;u提供死锁处理机制提供死锁处理机制;1.1 1.1 操作系统的概念操作系统的概念2 2存储管理存储管理 操作系统负责下列内存管理的活动:操作系统负责下列内存管理的活动:u记录内存的哪些部分正在被使用及被谁使用。记录内存的哪些部分正在被使用及被谁使用。u当内存空间可用时,决定哪些进程可以装入内存。当内存空间可用时,决定哪些进程可以装入内存。u根据需要分配和释放内存空间。根据需要分配和释放内存空间。u确保多道程序环境下,各个程序的运行只在自己内确保多道程序环境下,各个程序的运行只在自己内
15、存空间运行,互不干扰。存空间运行,互不干扰。u当内存空间不足时,采取何种策略去扩展逻辑内存。当内存空间不足时,采取何种策略去扩展逻辑内存。1.1 1.1 操作系统的概念操作系统的概念 3设备管理设备管理u提供外围设备的控制与处理提供外围设备的控制与处理 u提供缓冲区的管理提供缓冲区的管理 u提供设备独立性提供设备独立性 u外围设备的分配和驱动调度外围设备的分配和驱动调度u实现虚拟设备实现虚拟设备 1.1 1.1 操作系统的概念操作系统的概念4文件管理文件管理u创建或删除文件创建或删除文件 u创建或删除目录创建或删除目录 u提供操作文件和目录的原语提供操作文件和目录的原语 u将文件映射到辅存上将
16、文件映射到辅存上 u在稳定的存储媒介上备份文件在稳定的存储媒介上备份文件 1.1 1.1 操作系统的概念操作系统的概念 5 5用户接口管理用户接口管理6.6.其他功能其他功能u系统安全系统安全u网络和通信管理网络和通信管理1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.1 1.2.1 人工操作阶段人工操作阶段 n由用户(程序员)采用手工方式直接控制和使用计算机硬件,由用户(程序员)采用手工方式直接控制和使用计算机硬件,即由用户(程序员)将事先准备好的程序和数据穿孔在纸带即由用户(程序员)将事先准备好的程序和数据穿孔在纸带或卡片上,然后将这些纸带或卡片装入纸带或卡片输入机,或卡片
17、上,然后将这些纸带或卡片装入纸带或卡片输入机,启动它们将程序和数据输入到计算机,随后启动计算机运行。启动它们将程序和数据输入到计算机,随后启动计算机运行。当程序运行结束取走结果后,才让另一个用户上机。当程序运行结束取走结果后,才让另一个用户上机。n这种人工操作方式有以下缺陷:(这种人工操作方式有以下缺陷:(1 1)用户上机独占全机资源,)用户上机独占全机资源,造成资源利用率不高,系统效率低下。(造成资源利用率不高,系统效率低下。(2 2)手工操作多,浪)手工操作多,浪费处理机时间,也极易发生差错。(费处理机时间,也极易发生差错。(3 3)数据的输入,程序的)数据的输入,程序的执行、结果的输出均
18、联机进行,从上机到下机的时间拉得非执行、结果的输出均联机进行,从上机到下机的时间拉得非常长。常长。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.2 管理程序阶段管理程序阶段操作系统的雏形操作系统的雏形 操作员集中一批用户提交的作业,由管理程序将这批操作员集中一批用户提交的作业,由管理程序将这批作业从纸带或卡片机输入到磁带上,每当一批作业输入作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把并把控制权交给作业。当该作业执行完成后,作业
19、又把控制权缴回管理程序,管理程序再调入磁带上的第二个控制权缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行。作业到内存执行。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.3 多道批处理系统多道批处理系统现代意义上的操作系统出现现代意义上的操作系统出现n所谓多道程序设计(所谓多道程序设计(multiprogrammingmultiprogramming)是指允许多个程序)是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中同时存放多道(二个以上相互独立也就是说,计算机内存中同时
20、存放多道(二个以上相互独立的)程序,它们都处于开始和结束点之间。从宏观上看是并的)程序,它们都处于开始和结束点之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用观上看是串行的,各道程序轮流使用CPUCPU,交替执行。,交替执行。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2 1.2 操作系统的形成和发展操作系统的形成和发展 例如:设在内存中有三道程序例如:设在内存中有三道程序A A、B B、C C,并按,并按A A、B B、C C的优先的优先次序执行,其内部计算和次序执行,
21、其内部计算和I/OI/O操作时间如下表所示(单位:操作时间如下表所示(单位:ms)ms)。操作ABC计算306020I/O403040计算101020若采用单道方式运行这三道程序若采用单道方式运行这三道程序,总的运行时间为总的运行时间为:30+40+10+60+30+10+10+20+40+20=260 ms30+40+10+60+30+10+10+20+40+20=260 ms1.2 1.2 操作系统的形成和发展操作系统的形成和发展 若采用多道方式运行若采用多道方式运行(一个一个I/OI/O处理机处理机)这三道程序这三道程序,总的总的运行时间为运行时间为:30+40+10+20+30+40+
22、20=190 ms 30+40+10+20+30+40+20=190 ms 其运行时间关系图如下其运行时间关系图如下:ABCI/O处理机处理机30404010203040201020190mst1.2 1.2 操作系统的形成和发展操作系统的形成和发展操作系统中引入多道程序设计的好处操作系统中引入多道程序设计的好处:一是提高了一是提高了CPUCPU的利用率,的利用率,二是提高了内存和二是提高了内存和I/OI/O设备的利用率,设备的利用率,三是改进了系统的吞吐率,三是改进了系统的吞吐率,四是充分发挥了系统的并行性。四是充分发挥了系统的并行性。其主要缺点是其主要缺点是:作业周转时间延长。作业周转时间
23、延长。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.4 1.2.4 分时系统与实时系统的出现分时系统与实时系统的出现操作系统步入实用化操作系统步入实用化 1.1.分时系统:分时系统:n允许多个联机用户同时使用一台计算机系统进行计算的操作允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统系统称分时操作系统 (Time Sharing Operating SystemTime Sharing Operating System)n分时操作系统具有以下特性:分时操作系统具有以下特性:(1 1)多路性:允许在一台主机上同时联接多台联机终端,系)多路性:允许在一台主机
24、上同时联接多台联机终端,系统按分时原则为每个用户服务。统按分时原则为每个用户服务。(2 2)独立性:每个用户各占一个终端,彼此独立操作,互不)独立性:每个用户各占一个终端,彼此独立操作,互不干扰。干扰。(3 3)及时性:用户的请求能在很短时间内获得响应。)及时性:用户的请求能在很短时间内获得响应。(4 4)交互性:用户可通过终端与系统进行广泛的人机对话)交互性:用户可通过终端与系统进行广泛的人机对话。1.2 1.2 操作系统的形成和发展操作系统的形成和发展2.2.实时操作系统:实时操作系统:n实时操作系统(实时操作系统(Real Time Operating System)Real Time
25、Operating System)指当外界事指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。的操作系统。n实时系统的实现实时系统的实现:硬实时系统硬实时系统:保证任务按时完成保证任务按时完成软实时系统软实时系统:1.2 1.2 操作系统的形成和发展操作系统的形成和发展3.3.操作系统的三种基本类型的比较操作系统的三种基本类型
26、的比较n批处理系统的特点是批处理系统的特点是“多道、成批自动处理多道、成批自动处理”,优点是,优点是“资源利用率高、系统吞吐量大资源利用率高、系统吞吐量大”,缺点是,缺点是“等待时间长、等待时间长、没有交互能力没有交互能力”;n分时系统的特点分时系统的特点“同时性、交互性、独立性和及时性同时性、交互性、独立性和及时性”,优点是优点是“响应快,便于资源共享响应快,便于资源共享”;n实时系统的特点实时系统的特点“响应迅速,可靠性高,系统专用响应迅速,可靠性高,系统专用”,与,与分时系统相比,交互性较弱。分时系统相比,交互性较弱。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.5 操
27、作系统的进一步发展操作系统的进一步发展 1.1.微机操作系统微机操作系统 现代的微机操作系统具有现代的微机操作系统具有GUIGUI、多用户多任务、虚拟存储、多用户多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用程管理、网络通信支持、数据库支持、多媒体支持、应用程序编程接口(序编程接口(API)API)支持等功能支持等功能,以最大程度的满足个人用户以最大程度的满足个人用户的使用要求。典型的微机操作系统有的使用要求。典型的微机操作系统有WindowsWindows、OS2OS2、MACOSMACOS和和LinuxLinux等。等。1.2 1.2 操作系统的形成和发展操作系统的形成和
28、发展2.2.网络和分布式操作系统网络和分布式操作系统n网络操作系统(网络操作系统(Network Operating System)Network Operating System)能够控制计算能够控制计算机在网络中方便的传送信息和共享资源,并能为网络用户提机在网络中方便的传送信息和共享资源,并能为网络用户提供各种所需服务的操作系统。供各种所需服务的操作系统。n网络操作系统主要有两种工作模式:网络操作系统主要有两种工作模式:(1 1)客户机)客户机/服务器(服务器(Client/Server)Client/Server)模式。模式。(2 2)对等模式()对等模式(peer-to-peerpee
29、r-to-peer)。)。n网络操作系统除了具有操作系统的基本功能外,还应具有网网络操作系统除了具有操作系统的基本功能外,还应具有网络通信、资源管理和网络管理等功能。络通信、资源管理和网络管理等功能。n目前比较流行的网络操作系统有:目前比较流行的网络操作系统有:LinuxLinux、UnixUnix、Windows Windows Server 2000/2003Server 2000/2003等。等。1.2 1.2 操作系统的形成和发展操作系统的形成和发展2.2.网络和分布式操作系统网络和分布式操作系统n分布式计算机系统是一种特殊的计算机网络系统。在分布式分布式计算机系统是一种特殊的计算机网
30、络系统。在分布式系统中。每台计算机高度自治,又相互协调,能在系统范围系统中。每台计算机高度自治,又相互协调,能在系统范围内实现资源管理,任务分配,能并行地运行分布式程序。内实现资源管理,任务分配,能并行地运行分布式程序。n分布式系统与计算机网络的关键区别在于:在分布式系统中,分布式系统与计算机网络的关键区别在于:在分布式系统中,多台自主的计算机对用户是透明的(或者说是不可见的)。多台自主的计算机对用户是透明的(或者说是不可见的)。也就是说,在分布式系统中,用户觉察不到多个处理机的存也就是说,在分布式系统中,用户觉察不到多个处理机的存在,用户面对的是一台虚拟的单处理机。在计算机网络中,在,用户面
31、对的是一台虚拟的单处理机。在计算机网络中,用户必须明确指出在哪台机器上登录,明确地运行递交的任用户必须明确指出在哪台机器上登录,明确地运行递交的任务,明确地指定文件传输的目的地。务,明确地指定文件传输的目的地。1.2 1.2 操作系统的形成和发展操作系统的形成和发展3.3.并行系统和集群系统并行系统和集群系统n多处理机系统(也称为并行系统)有多个紧密通信的处理器,多处理机系统(也称为并行系统)有多个紧密通信的处理器,它们共享计算机总线、时钟,有时还有内存和外设等。多处它们共享计算机总线、时钟,有时还有内存和外设等。多处理机系统有对称多处理(理机系统有对称多处理(SMP)SMP)和非对称多处理两
32、种模式。和非对称多处理两种模式。n集群系统(集群系统(Cluster System)Cluster System)将多个将多个CPUCPU集中起来完成计算任集中起来完成计算任务。然而,集群系统与并行系统不同,它是有两个或多个独务。然而,集群系统与并行系统不同,它是有两个或多个独立的系统耦合起来。集群的定义尚未定形,通常接受的定义立的系统耦合起来。集群的定义尚未定形,通常接受的定义是集群计算机共享存储并通过是集群计算机共享存储并通过LANLAN网络紧密连接。网络紧密连接。1.2 1.2 操作系统的形成和发展操作系统的形成和发展4.4.嵌入式操作系统嵌入式操作系统u嵌入式操作系统指运行在嵌入式嵌入
33、式操作系统指运行在嵌入式(计算机计算机)环境中,对整个系环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。指挥和控制的系统软件。u嵌入式操作系统具有通常操作系统的功能,包括:与硬件相嵌入式操作系统具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施。的还提供图形界面
34、、通信协议、小型浏览器等设施。u嵌嵌入入式式操操作作系系统统硬硬件件平平台台的的局局限限性性、应应用用环环境境的的多多样样性性、开发手段的特殊性,使它与一般操作系统有很大不同。开发手段的特殊性,使它与一般操作系统有很大不同。1.2 1.2 操作系统的形成和发展操作系统的形成和发展1.2.6 1.2.6 实例研究:实例研究:WindowsWindows和和LinuxLinux的发展历程的发展历程 1.Linux1.Linux系统系统u LinuxLinux是类是类UnixUnix操作系统大家族中的一员。从操作系统大家族中的一员。从2020世纪世纪9090年代年代末开始,末开始,LinuxLinu
35、x这位相对较新的成员突然变得非常流行,并这位相对较新的成员突然变得非常流行,并且跻身于那些有名的商用且跻身于那些有名的商用UnixUnix操作系统之列。操作系统之列。u 1991年,年,Linus Torvalds开发出最初的开发出最初的Linux,它作为一个,它作为一个适用于基于适用于基于Intel 80386微处理器的微处理器的IBM PC兼容机的操作系兼容机的操作系统。统。Linus将这个系统放到将这个系统放到Internet上,允许人们自由下载,上,允许人们自由下载,许多人对许多人对Linux进行改进、扩充、完善,做出了关键性贡献。进行改进、扩充、完善,做出了关键性贡献。Linux由最
36、初一个人写的原型变成在由最初一个人写的原型变成在Internet上由无数志同道上由无数志同道合的程序高手们参与的一场运动。合的程序高手们参与的一场运动。1.2 1.2 操作系统的形成和发展操作系统的形成和发展2.Windows2.Windows系统系统u Windows Windows操作系统是由微软公司开发的操作系统。从操作系统是由微软公司开发的操作系统。从19831983年微软宣布年微软宣布WindowsWindows的诞生到现在的的诞生到现在的Windows Server 2003Windows Server 2003,WindowsWindows已经走过了已经走过了2020多年,并且成
37、为风靡全球的微机操多年,并且成为风靡全球的微机操作系统。目前个人计算机上采用作系统。目前个人计算机上采用WindowsWindows操作系统的占操作系统的占90%90%。u19831983年年1111月,比尔月,比尔.盖茨宣布推出盖茨宣布推出WindowsWindows,但是一直到,但是一直到19851985年年1111月微软公司才正式发布月微软公司才正式发布Windows 1.0Windows 1.0版。版。19871987年年1212月,月,Windows 2.0Windows 2.0正式供货。正式供货。19901990年年5 5月月2222日,微软推出日,微软推出Windows 3.0W
38、indows 3.0。从此,在许多独立软件开发商和硬件厂商的。从此,在许多独立软件开发商和硬件厂商的支持下,微软的支持下,微软的WindowsWindows在市场中逐渐开始取代在市场中逐渐开始取代DOSDOS成为操成为操作系统平台的主流软件。作系统平台的主流软件。1.3 1.3 操作系统的结构操作系统的结构1.3.1 1.3.1 操作系统的设计操作系统的设计 操作系统是一个庞杂的大型系统的软件操作系统是一个庞杂的大型系统的软件,因此因此,操作系统操作系统的设计是一个的设计是一个 复杂的过程。以复杂的过程。以IBMIBM公司的公司的OS/360OS/360系统为例,系统为例,它由它由400040
39、00个模块组成,共约个模块组成,共约100100万条指令,花费万条指令,花费50005000人年,人年,经费达数亿美元。经费达数亿美元。1.1.操作系统的设计目标操作系统的设计目标 一个高质量的操作系统应具有可靠性、高效性、可扩一个高质量的操作系统应具有可靠性、高效性、可扩充性、易移植性、安全性和兼容性等特征。充性、易移植性、安全性和兼容性等特征。2.2.操作系统的设计和实现操作系统的设计和实现 设计原则:设计原则:机制与实现相分离机制与实现相分离 1.3 1.3 操作系统的结构操作系统的结构1.3.2 操作系统的结构操作系统的结构 1.1.整体式结构整体式结构u 整整体体式式操操作作系系统统
40、的的基基本本设设计计思思想想是是:把把模模块块作作为为操操作作系系统统的的基基本本单单位位,按按照照功功能能需需要要而而不不是是根根据据程程序序和和数数据据的的特特性性把把整整个个操操作作系系统统分分解解成成若若干干个个模模块块,每每个个模模块块具具有有一一定定的的功功能能,若若干干个个关关联联模模块块协协作作完完成成某某个个功功能能。各各个个模模块块可可以以不不加加控控制制,自自由由调调用用,每每个个模模块块经经独独立立设设计计、编编码码和和调调试试后后连连接接成成一一个个完整的系统。完整的系统。u这这种种结结构构的的优优点点是是:程程序序结结构构紧紧密密,接接口口简简单单直直接接,系系统统
41、效效率率高高,但但是是也也有有一一定定的的缺缺陷陷,如如模模块块独独立立性性差差,模模块块之之间间牵牵连连太太多多,系系统统结结构构不不清清晰晰,系系统统的的正正确确性性难难以以保保证证,可可靠靠性性降低,扩充性差等。降低,扩充性差等。1.3 1.3 操作系统的结构操作系统的结构2.2.层次结构层次结构u所所谓谓层层次次结结构构就就是是把把操操作作系系统统所所有有的的功功能能模模块块按按照照功功能能的的调调用用次次序序分分别别排排成成若若干干层层,各各层层之之间间的的模模块块只只能能是是单单向向依依赖赖或或单单向向调调用用(如如:只只允允许许上上层层或或外外层层模模块块调调用用下下层层或或内内
42、层层模模块块)关系,这样不但操作系统的结构清晰,而且不构成循环。关系,这样不但操作系统的结构清晰,而且不构成循环。u层层次次结结构构的的优优点点:整整体体问问题题局局部部化化,系系统统的的正正确确性性可可通通过过各各层层正正确确性性来来保保证证。增增加加、修修改改或或替替换换层层次次不不影影响响其其他他层层次次,有利于系统的维护和扩充。有利于系统的维护和扩充。1.3 1.3 操作系统的结构操作系统的结构2.2.层次结构层次结构u 构造层次结构构造层次结构OSOS分层原则分层原则 1 1)把与机器硬件有关的程序模块放在最底层)把与机器硬件有关的程序模块放在最底层 2)2)反映系统外特性的软件放在
43、最外层反映系统外特性的软件放在最外层 3)3)按照实现操作系统命令时模块间的调用次序或按进按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层程间单向发送信息的顺序来分层 4)4)为为进进程程的的正正常常运运行行创创造造环环境境和和提提供供条条件件的的内内核核程程序序应应该尽可能放在底层。该尽可能放在底层。1.3 1.3 操作系统的结构操作系统的结构3.3.客户客户/服务器(微内核)结构服务器(微内核)结构u客户客户/服务器结构的思想:将操作系统分成两大部分,服务器结构的思想:将操作系统分成两大部分,一一是运行在用户态并以是运行在用户态并以C/SC/S方式活动的进程方式活动
44、的进程;二是运行在核心二是运行在核心态的内核态的内核u运运行行在在核核心心态态的的内内核核把把该该消消息息传传给给服服务务器器;服服务务器器执执行行相相应应操操作作,再再通通过过内内核核用用消消息息把把结结果果返返回回给给用用户户。内内核核只只实实现现极极少少任任务务,主主要要起起信信息息验验证证、交交换换的的作作用用,因因而而,称称微微内内核核(Microkernel)(Microkernel),这这种种结结构构也也就就称称为为客客户户/服服务务器器与与微微内内核核结结构。构。1.3 1.3 操作系统的结构操作系统的结构3.3.客户客户/服务器(微内核)结构服务器(微内核)结构客户进程客户进
45、程进程服务器终端服务器文件服务器内存服务器。内核(消息转发站)内核(消息转发站)客户通过向服务器进程发送消息来获得服务客户通过向服务器进程发送消息来获得服务用户进程用户进程操作系统服务内容操作系统服务内容1.4 1.4 实例研究:实例研究:WindowsWindows和和LinuxLinux结构结构1.4.1 Windows Server 20031.4.1 Windows Server 2003的结构的结构l采用基于对象技术,提出了一种采用基于对象技术,提出了一种C/SC/S系统结构,该结构在纯系统结构,该结构在纯微内核结构的基础上做了扩展,融合了层次式结构和纯微内微内核结构的基础上做了扩展
46、,融合了层次式结构和纯微内核结构的特点。核结构的特点。l对操作系统性能影响很大的组件放在内核下运行,其他功能对操作系统性能影响很大的组件放在内核下运行,其他功能则在内核外实现。则在内核外实现。l主要优点是模块化程度高、灵活性大、便于维护、系统性能主要优点是模块化程度高、灵活性大、便于维护、系统性能好。好。1.4 1.4 实例研究:实例研究:WindowsWindows和和LinuxLinux结构结构系统线程NTDLL.DLLService.exeRPCSpooler事件日志服务进程任务管理器IE浏览器用户程序子系统DLL应用程序POSIXOS2WIN32环境子系统服务管理器安全验证Win登录会
47、话管理器系统进程核心态用户态Win32 UserGDI图形驱动器硬件抽象层(HAL)设备驱动程序内核对象管理器核心态可调用接口(执行程序API)系统服务调度进程I/O管理器文件缓存管理 进程线 程管理安全访问监视虚存管理局部过程调用注册表配置管理器电源管理器即插即用管理硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器)1.4 1.4 实例研究:实例研究:WindowsWindows和和LinuxLinux结构结构1.4.2 Linux1.4.2 Linux的结构模型的结构模型用户程序GNU工具与硬件无关的代码(可移植的)系统调用接口与硬件相关的代码(不可移植的)硬件二进制指令系统用户程序GNU工具系统调用接口硬件控制程序(不可移植的)硬件二进制指令系统文件子系统进程控制子系统编程工具包内核硬件(a)Linux系统结构粗略模型(b)Linux系统结构的详细模型重点概念和内容提示重点概念和内容提示n操作系统的概念、特点和功能操作系统的概念、特点和功能n多道程序设计多道程序设计n操作系统的基本类型:操作系统的基本类型:批处理系统批处理系统 分时系统分时系统 实时系统实时系统Thank You Very Much!
限制150内