收藏 分享(赏)

操作系统教程第四版(孙钟秀)全部课件.ppt

上传人:tangtianxu1 文档编号:2941438 上传时间:2018-09-30 格式:PPT 页数:966 大小:2.97MB
下载 相关 举报
操作系统教程第四版(孙钟秀)全部课件.ppt_第1页
第1页 / 共966页
操作系统教程第四版(孙钟秀)全部课件.ppt_第2页
第2页 / 共966页
操作系统教程第四版(孙钟秀)全部课件.ppt_第3页
第3页 / 共966页
操作系统教程第四版(孙钟秀)全部课件.ppt_第4页
第4页 / 共966页
操作系统教程第四版(孙钟秀)全部课件.ppt_第5页
第5页 / 共966页
点击查看更多>>
资源描述

1、第1章 操作系统概论,主要内容 1.1 操作系统概观 1.2 操作系统的形成和发展 1.3 操作系统提供的服务和用户接口 1.4 操作系统结构和运行模型 1.5 流行操作系统简介,1,1.1 操作系统概观,1.1.1 操作系统的定义和目标 1.1.2 操作系统的资源管理技术 1.1.3 操作系统的作用与功能 1.1.4 操作系统的主要特性,2,1.1.1 操作系统的定义和目标,操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的最基本的一种系统软件。,3,操作系统的主要目标,方便用户使用 扩充机器功能 管理系统资源 提

2、高系统效率 构筑开放环境,4,计算机系统的层次结构(1),5,计算机系统的层次结构(2),硬件层 提供基本的可计算性资源,如处理器、寄存器、存储器及各种I/O设备。 操作系统层 负责管理和控制计算机硬件并对其做首次扩充和改造。 系统程序层(支撑软件层) 利用系统所提供的扩展指令集,实现编译、汇编等实用程序,支持应用软件的开发和运行。 应用层 解决用户特定的或不同应用所需要的信息处理问题。,6,操作系统与支撑软件及应用软件的区别,程序意图不同,操作系统有权分配资源,而其它程序只能使用资源; 操作系统是软件系统的核心,是各种软件的基础运行平台; 通用操作系统提供共性功能支持,与硬件相关但和应用领域

3、无关; 支撑软件及应用软件不能直接而只能通过操作系统来使用计算机系统的物理资源。,7,1.1.2 操作系统的资源管理技术,8,1)资源复用,(1)空分复用共享 -该资源可进一步分割成更多和更小的单位供进程使用。如内存、磁盘。 (2)时分复用共享-并不把资源进一步分割成更小的单位,进程可在一个时间片内独占使用整个物理资源。如处理器。,9,2) 资源虚化,是对资源进行转化、模拟或整合,把物理上的一个资源变成逻辑上的多个对应物的一类技术。 虚化的例子虚拟设备、虚拟存储器、虚拟屏幕(终端)、虚拟信道 、虚拟文件 。,10,3) 资源抽象,资源抽象用于处理系统的复杂性,重点解决资源的易用性。 资源抽象指

4、通过创建软件来屏蔽硬件资源物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术。 单级资源抽象与多级资源抽象。,11,4) 组合使用抽象和虚化技术,对于一类资源,操作系统往往同时实施抽象和虚化技术。 例1,为打印机既配置“打印函数”(设备驱动程序),又实施虚拟设备,通过打印函数抽象隐蔽打印机动作细节,实施SPOOLing虚化“扩充”物理打印机数量。 例2,窗口软件是对物理终端的虚化和抽象,能为用户提供虚拟终端和方便的I/O服务。,12,2.操作系统中的基础抽象,进程抽象 是对已进入主存正在运行的程序在处理器上操作的状态集的抽象。 虚存抽象 是对物理主存的抽象,进程可获得一个硕大的连续

5、地址空间来存放可执行程序和数据,可使用虚拟地址来引用物理主存单元。 文件抽象 是对磁盘之类存储设备的抽象。,13,文件抽象是操作系统对磁盘设备的多层次抽象,第一层抽象,从磁盘到分区。 第二层抽象,从分区到扇区。 第三层抽象,从扇区到簇。 第四层抽象,从簇到文件系统分区。,14,操作系统最基础抽象小结,15,3.虚拟计算机,什么是虚拟计算机? 虚拟计算机是一台抽象计算机,它在硬件的基础上由软件来实现,并且与物理计算机一样,具有指令集及可用的存储空间。 什么是操作系统虚拟机? 如果某台机器上配有操作系统,对于用户来说,就是一台以操作系统语言(系统调用)为机器语言的操作系统虚拟机。 操作系统虚拟机的

6、组成: 1) 虚处理器 2) 虚拟主存 3) 虚拟辅存 4) 虚拟设备,16,虚拟计算机,17,1.1.3 操作系统的作用与功能,操作系统的作用:对内是“管理员”,对外是“服务员”: OS作为用户接口和服务提供者 OS作为作为扩展机或虚拟机 OS作为资源管理者和控制者,18,OS作为用户接口和服务提供者,操作系统提供友善的人机接口,使得用户能够方便、可靠、安全、高效地使用硬件和运行应用程序; 操作系统对计算机硬件进行改造和扩充,为用户提供强有力的各种服务 ;,19,OS作为扩展机或虚拟机,在计算机裸机上加上操作系统来组成整个计算机系统; 操作系统把硬件的复杂性与用户隔离开来; 操作系统与硬件组

7、成一台功能显著增强,使用更加方便,安全可靠性更好的扩展机器或虚拟机。,20,操作系统作为计算机系统的资源管理者(1),操作系统中,能分配给用户使用的硬件和软件设施总称为资源,包括两类:硬件资源和信息资源。 硬件资源又分:处理器、存储器、I/O设备等; 信息资源又分:程序和数据等。 也可把操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。,21,操作系统作为计算机系统的资源管理者(2),操作系统的重要任务之一 对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲

8、突; 研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而,使得计算机系统的效率有很大提高。,22,操作系统的功能,处理机管理 存储管理 设备管理 文件管理 网络与通信管理 用户接口,23,处理机管理,(1)进程控制和管理; (2)进程同步和互斥; (3)进程通信; (4)进程死锁; (5)线程控制和管理; (6)处理器调度,又分高级调度,中级调度和低级调度。,24,存储管理,(1)主存分配 ; (2)地址转换与存储保护; (3)主存共享 ; (4)存储扩充 。,25,设备管理,(1)提供设备中断处理; (2)提供缓冲区管理; (3)提供设备独

9、立性,实现逻辑设备到物理设备之间的映射; (4)设备的分配和回收; (5)实现共享型设备的驱动调度; (6)实现虚拟设备。,26,文件管理,(1)提供文件的逻辑组织方法; (2)提供文件的物理组织方法; (3)提供文件的存取和使用方法; (4)实现文件的目录管理; (5)实现文件的共享和安全性控制; (6)实现文件的存储空间管理。,27,网络与通信管理,(1)网络资源管理; (2)数据通信管理; (3)网络管理。,用户接口,(1)程序接口; (2)操作接口。,28,1.1.4 操作系统的主要特性,第一个特性-并发性 第二个特性-共享性 第三个特性-异步性,29,操作系统中的并发性(1),并发性

10、-指两个或两个以上的事件或活动在同一时间间隔内发生。 发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率。,30,并发性使系统变得复杂化: 如何从一个活动切换到另一个活动? 怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务? 怎样协调多个活动对资源的竞争? 如何保证每个活动的资源不被其它进程侵犯? 多个活动共享文件数据时,如何保证数据的一致性?,操作系统中的并发性(2),31,采用并发技术的系统称多任务系统。 并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资

11、源强制行使多用户共享以提高效率。 结论:实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术。,操作系统中的并发性(3),32,并行性-两个或两个以上的事件或活动在同一时刻发生 并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。 并行性是并发性的特例,而并发性是并行性的扩展。,操作系统中的并发性(4),33,操作系统中的共享性,共享指操作系统中的资源可被多个并发执行的进程所使用 : 透明资源共享:资源隔离与授权访问 显式资源共享:临界资源与独占访问 与共享性有关的问题:资源分配、信息保护、存取控制等,必须要妥善解决好。,34,操作系统中的异步性(1),操作系统中

12、的异步性处处可见 : (1)进程何时执行?何时暂停?怎样的速度向前推进?都是异步(随机)的。 (2)作业到达系统的类型和时间是随机的; (3)操作员发出命令或按按钮的时刻是随机的; (4)程序运行发生错误或异常的时刻是随机的; (5)各种各样硬件和软件中断事件发生的时刻是随机的。,35,操作系统中的异步性(2),异步性给系统带来潜在危险,有可能导致与时间有关的错误。 操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。,36,1.2 操作系统的发展和形成,1.2.1 人工操作阶段 1.2.2 管理程序阶段 1.

13、2.3 多道程序设计与操作系统的形成 1.2.4 操作系统的分类,37,1.2.1 人工操作阶段,人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机 汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带 执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带 通过引导程序把装在输入机上的目标程序读入计算机 启动目标程序执行,从输入机上读入人工装好的数据卡或数据带 产生计算结果,执行结果从打印机上或卡片机上输出,38,人工操作阶段的缺点,用户上机独占全机资源,造成资源利用率不高,系统效率低下 手工操作多,浪费处理机时间,也极易发生差错 数据的输入,程序的执

14、行、结果的输出均联机进行,从上机到下机的时间拉得非常长,39,1.2.2 管理程序阶段(1),工作流程如下:操作员集中一批用户提交的作业,由管理程序将作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入主存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到主存执行,40,管理程序阶段(2),管理程序的主存组织,41,管理程序阶段(3),管理程序的主要功能: 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库函数和程序装配功能 提供简单的文件管理功能,42,管理程序阶段(4)

15、程序算题过程,43,1.2.3 多道程序设计与操作系统形成,1. 多道程序设计的概念 中断与通道 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法 从宏观上看是并行的 从微观上看是串行的 引入多道程序设计技术的目的:可以提高CPU的利用率,充分发挥计算机硬件的并行性。,44,多道程序设计例(1),单道算题运行时处理器的使用效率52 /(78十52十20) 35%,45,多道程序设计例(2),两道算题运行时处理器的使用效率 (52+42)/ 150 63,46,多道程序设计的效果,采用多道程序设计提高了系统效率,即增长了单位时间的算题量,但对每道程序来说,却延长了

16、计算时间。 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。,47,2.多道程序设计的道数问题,程序等待I/O操作的时间占其运行时间的比例为p,当主存中有n道程序时,所有程序都等待I/O的概率是pn,那么, CPU利用率=1-pnn称为多道程序的道数或度数,可见CPU的利用率是n的函数。,48,多道程序设计的优点与缺点,提高了CPU的利用率 提高了主存和I/O设备的利用率 改进了系统的吞吐率 充分发挥了系统的并行性其主要缺点是: 作业周转时间延长,49,3.多道程序设计系统与多重处理系统,多重处理系统是指配置了多个物理CPU,能真正同时执行多道程序的系统。要有效地使用

17、多重处理系统,必须采用多道程序设计技术;反过来,多道程序设计不一定要求有多重处理系统支持。,实现多道程序设计必须解决三个问题: 存储保护与程序浮动; 处理器的管理和调度; 系统资源的管理和调度。,50,操作系统资源管理水平和操作自动化程度进一步提高,表现在: (1) 实现了计算机操作过程自动化。 (2) 资源管理水平有了提高。 (3) 提供虚存管理功能。 (4) 支持分时操作。 (5) 文件管理功能有改进。 (6) 多道程序设计趋于完善。,51,1.2.4 操作系统的发展与分类,三种基本的操作系统类型: (1)批处理操作系统 (2)分时操作系统 (3)实时操作系统,52,批处理操作系统,何谓“

18、批”?作业流与批处理 作业是把程序、数据连同作业说明书组织起来的任务单位; 批处理是把批中的作业预先输入作业队列,由操作系统按照作业说明书的要求来调度和控制作业的执行。 批处理操作系统(Batch OS) 采用批处理方式工作的操作系统 批处理系统的主要特征: 用户脱机工作 成批处理作业 多道程序运行 作业周转时间长,53,分时操作系统,为什么要有分时操作系统? 批处理用户不能干预自己程序的运行,无法得知程序的运行情况,不利于程序调试和排错。 分时操作系统 (Time Sharing Operating System) 允许多个联机用户同时使用一个计算机系统进行交互式计算的操作系统。 分时系统的

19、特征 同时性 独立性 及时性 交互性,54,分时与批处理操作系统的区别,目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同,55,实时操作系统(1),三种典型的实时系统: 过程控制系统(生产过程控制) 信息查询系统(情报检索) 事务处理系统(银行业务),56,实时操作系统(2),实时操作系统(Real Time OS) 处理流程 数据采集 加工处理 操作控制 反馈处理,57,操作系统的进一步发展,操作系统发展的主要动力: (1)器件快速更新换代。 (2)计算体系结构不断发展。 (3)提高计算机系统资源利用率的需要。 (4)让用户使用计算机越来越方便的需要。 (5)满足用户新要求,提

20、供给用户新服务。,58,微机操作系统,新一代微机操作系统 具有以下功能:GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API 具有以下特点:(1)开放性 (2)通用性(3)高性能 (4)采用微内核结构,59,并行操作系统,计算机的应用每前进一步都要求增加计算机的处理能力。为达到极高性能,除提高元器件速度外,必须改进计算机系统结构,这主要采用增加同一时间间隔内的操作数量,通过并行处理技术,研究并行计算机。,60,网络操作系统,网络操作系统(Network Operating System) 网络操作系统应该具有的功能:(1)网络通信(2)资源管理(3)网

21、络管理(4)网络服务,61,分布式操作系统,分布式计算机系统由多台分散的计算机经互连网络连接而成, 具备四项基本功能: (1)进程通信 (2)资源共享 (3)并行计算 (4)网络管理 分布式操作系统与单机集中式操作系统的主要区别在于: (1)资源管理 (2)进程通信: (3)系统结构:,62,嵌入式操作系统(1),3C(computer, communication, consumer electronics) 计算机是贯穿社会信息化的核心技术,网络和通信是社会信息化赖以存在的基础设施,电子消费产品是人与社会信息化的主要接口。 嵌入式(计算机)系统的应用环境带来了对嵌入式系统软件 (embed

22、ded software)的要求。,63,嵌入式操作系统(2),嵌入式OS指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件 嵌入式OS具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能,功能强大的还提供图形界面、通信协议、小型浏览器等设施,64,嵌入式操作系统特征,微型化 可定制 实时性 可靠性 易移植性,65,嵌入式操作系统实例(1),VxWorks是美国Wind River公司开发的嵌入式实时操作系统,可靠性高、性能卓越、界面友好,广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,在美

23、国的F-16、FA-18战斗机、B-2隐形轰炸机、爱国者导弹,和火星探测器(97年4月在火星表面登陆)上使用。,66,嵌入式操作系统实例(2),Windows CE是微软开发的,用于通信、娱乐和移动式计算设备的操作系统(平台) ,它是微软“维纳斯” 计划的核心。CE是具有开放性的,32位多任务、多线程嵌入式操作系统。 Personal Java是SUN公司开发的用于家庭、办公室和移动信息电器创建连网应用的Java应用环境,适宜更新换代快的信息电器的应用开发。,67,1.3 操作系统提供的服务和用户接口,1.3.1 基本服务和用户接口 1.3.2 程序接口与系统调用 1.3.3 作业接口与操作命

24、令,68,1.3.1 操作系统提供的基本服务,创建程序 执行程序 数据I/O 信息存取 通信服务 错误检测和处理 还具有另外一些功能:资源分配,统计,保护。,69,1.3.2 程序接口与系统调用,70,操作系统提供的程序接口(1),什么是系统调用? 系统调用把应用程序的请求传送至内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序。 系统调用的作用? 内核可以基于权限和规则对资源访问进行裁决,保证系统的安全性; 对资源进行抽象,提供一致性接口,避免用户在使用资源时发生错误,使编程效率提高。 系统调用是应用程序获得操作系统服务的唯一途径。 内核的主体是系统调用的集合,内核可以看成是特

25、殊的公共子程序。,71,操作系统提供的程序接口(2),POSIX标准 专门规定了内核的系统调用接口标准,操作系统若遵循此标准,应用程序就具有可移植性。 API和库函数 API是UNIX/Linux在标准C函数库中,将系统调用封装,使得应用程序能够直接使用的一种机制。 库函数和系统调用 一个API可能用到一个或多个系统调用 若干API可能封装相同的系统调用 也可能与系统调用无关(如strcpy()),72,操作系统提供的程序接口(3),应用程序、库函数、系统调用的调用关系链,73,操作系统提供的程序接口(4),UNIX/Linux系统程序、库函数、系统调用分层关系,74,操作系统提供的操作接口,

26、操作接口又称作业级接口,操作系统为用户提供的操作控制计算机工作和提供服务手段的集合,通常有操作控制命令、图形操作界面(命令)、以及批处理系统提供的作业控制语言(命令)等等。,75,系统调用的分类,(1)进程和作业管理 (2)文件操作 (3)设备管理 (4)主存管理 (5)信息维护 (6)进程通信,76,系统调用的实现要点,编写系统调用处理程序; 设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数; 陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。,77,系统调用的处理过程,System Call,用户程序,系统调用处理子程

27、序,取系统功能号 找入口地址表 相应入口地址,结束处理 恢复现场,A0,A1,Ai,An,保护CPU现场,陷入指令,系统调用陷入机构,入口地址表,78,系统调用的参数传递,一是由访管指令或陷入指令自带参数,直接参数间接参数 二是通过CPU的通用寄存器传递参数,或在主存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递。 三是在主存中开辟专用堆栈区域传递参数。,79,系统调用与函数调用的区别,调用形式和实现方式不同。 函数调用转向的地址固定,而系统调用按功能号进行; 函数调用在用户态执行,只能访问用户栈,系统调用在核心态执行,访问核心栈。 被调用代码的位置不同。 函数调用是静态的,调用程序

28、和被调用代码处于同一程序内; 系统调用是动态的,系统调用的代码位于操作系统中。 提供方式不同。 函数由编程语言提供; 系统调用由操作系统提供。,80,1.3.3 作业接口与操作命令,操作接口又称作业级接口,是操作系统为用户操作控制计算机工作和提供服务的手段集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制语言(命令)等来实现 1、作业控制方式 联机作业控制方式与作业控制语言 脱机作业控制方式与操作控制命令,81,联机用户接口操作控制命令,命令行方式 批命令方式 图形化方式,82,脱机用户接口作业控制语言,批处理接口:作业控制语言JCL( Job Control Language)

29、。 用户使用JCL语句,把运行意图(需要对作业进行的控制和干予)写在作业说明书上,将作业连同作业说明书一起提交给系统。 批处理作业的调度执行过程,系统调用JCL语句处理程序或命令解释程序。,83,IBM 370 使用JCL 处理批作业的例子,/ HAROLD JOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=B / COMP EXEC PGM=IEYFORT / SYSPRINT DD SYSOUT=A / SYSIN DD/* /* / GO EXEC PGM=FORTLINK / SYSPRINT DD SYSOUT=A / FTOTF001 DD UNIT=S

30、YSCP / GO SYSIN DD/* /* /,84,2.命令解释程序,接收用户所输入的命令,并解释执行命令。 命令的实现方式: 命令的解释程序包含命令的执行代码,一旦收到命令后,便转向相应的命令处理代码执行; 由专门的“实用程序”实现,在执行时把命令所对应的命令处理文件装入主存。,85,3.支撑程序(1),支撑程序又称标准程序或实用程序(Utilities),虽非操作系统的核心,但却必不可少,为用户程序的开发、调试、执行、和维护解决带有共性的问题或执行公共操作。 操作系统以外部操作命令形式向用户提供实用程序。它的功能和性能很大程度上反映了操作系统的功能和性能。,86,支撑程序(2),支撑

31、程序的分类: 文件管理 状态信息 程序设计语言支持 程序的装入和执行支持 通信 其它软件工具,87,1.4 操作系统结构和运行模型,1.4.1 操作系统的构件和结构 1.4.2 操作系统的运行模型 1.4.3 Windows 2003客户/服务器结构,88,1.4.1 操作系统构件和结构,操作系统设计呈现出以下特征: 复杂程度高, 生成周期长, 正确性难保证 。 操作系统结构设计有三层含义: 研究操作系统整体结构,如功能如何分块,相互如何交互,及考虑构造它的过程和方法; 研究操作系统程序局部结构,包括数据结构和控制结构; 操作系统运行时的组织,如系统是否组织成进程或线程?在系统空间还是在用户空

32、间运行?,89,操作系统的构件,内核 进程 线程 类程 管程,90,1.操作系统的内核(1),1)什么是内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于核心态,具有访问硬件设备和所有主存空间的权限,是仅有的能够执行特权指令的程序。 2)内核分类:微内核和单内核(整体、分层)。 3)Linux是单内核操作系统 ,Mach是微内核操作系统 ,Windows2003是C/S结构操作系统。,91,操作系统的内核(2) Linux单内核结构,92,操作系统的内核(3) 微内核结构,93,操作系统的内核(4),微内核结构的实现思想(OS分成两部分

33、): 一是运行在核心态的内核,提供系统的基本功能; 二是运行在用户态并以客户服务器方式运行的进程层。 微内核结构的优点: 对进程的请求提供一致性接口; 具有较好的可扩充性和易改性; 可移植性好; 对分布式系统提供有力的支撑。,94,内核的基本功能,资源抽象 资源分配 资源共享,95,内核的基本属性,核是由中断驱动的 内核是不可抢占的 内核部分程序在屏蔽中断状态下执行 内核可以使用特权指令,96,内核是操作系统对裸机的第一次改造,内核和裸机组成的虚拟机具有以下特性: 虚拟机没有中断; 虚拟机为每个进程提供了一台虚拟处理器; 虚拟机为进程或模块提供了功能较强的指令系统。,虚拟机具有的特性,97,机

34、制与策略分离(1),在策略与机制分离的操作系统中,解决应用问题均可分成两部分: 提供及实现确定的功能(机制),常常将机制作为系统的可信软件来实现; 如何使用这些功能(策略),可在不可信的环境中定义策略。,98,机制与策略分离(2),例子:调度机制与调度策略的分离 机制与策略分离的原则:(1)机制由OS实现,策略留给用户完成;(2)机制放在底层,策略放在高层;(3)机制集中在少数模块,策略拟散布在多处。,99,2.进程,进程使得操作系统的结构变得清晰: 一个进程到另一个进程的控制转移由进程调度机制来统一管理; 进程之间的交互由通信及同步机制完成,提高了系统的安全性和可靠性。 3.线程 线程可看做

35、一种构件,是组成进程构件的更小的构件单位。 进程是资源分配的基本单位; 线程是系统调度的基本单位。,100,4.管程,管程是管理共享资源的一种同步机制,对管程的调用表示对共享资源的请求与释放。 管程可以被多个进程或管程嵌套调用,但是它们只能互斥的访问管程。 管程应包含条件变量,对进程进行挂起和释放。 5.类程 类程用于管理私有资源,只能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。,101,1.4.2 操作系统的运行模型,操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢? 从操作系统的运行方式来看,可分成:

36、1)非进程内核模型2)OS功能(函数)在用户进程内执行的模型 3)OS功能(函数)作为进程执行的模型,102,操作系统的运行模型(1) 1)非进程内核模型,103,操作系统运行模型(2) 2)OS功能在用户进程内执行的模型,104,操作系统的运行模型(3) 3)OS功能作为独立进程执行的模型,105,1.4.3 Windows2000/XP客户/服务器结构 结构简框,106,Windows2000/ XP客户/服务器结构(2),107,1.5 流行操作系统简介,1.5.1 Windows操作系统 1.5.2 UNIX操作系统家族 1.5.3 自由软件和Linux操作系统 1.5.4 IBM系列

37、操作系统 1.5.5 其他流行操作系统,108,1.5.1 Windows操作系统,(1) Windows操作系统概况 (2) Windows NT的技术特点 (3) Windows 2000/XP (4) Windows Server 2003Windows XP 64-Bit Edition (5) Windows CE,109,1.5.2 UNIX操作系统家族(1),1 雏形阶段 2 成型阶段 3 商业化阶段 4 标准化阶段,110,U N I X 操作系统 家族(2),111,UNIX操作系统(3),UNIX的体系结构 包含四个基本成分: 内核(Kernel) Shell 文件系统 公

38、用程序,112,UNIX操作系统(4),UNIX的主要特点(8个 P49) UNIX的发展趋势(标准) 计算机发展史上,没有哪个程序设计语言像C那样得到如此广泛的流行,也没有哪个操作系统像UNIX那样获得普遍的青睐和应用,对整个软件技术和软件产业都产生了深远的影响。 1983年Ritcchie和Thompson共同获得了ACM图灵奖和软件系统奖。,113,UNIX类操作系统,Solaris操作系统 FreeBSD操作系统,114,1.5.3 自由软件和Linux操作系统,商业软件 共享软件 自由软件 自由软件是指遵循通用公共许可证GPL(General public License)规则,保证

39、您有使用上的自由、获得源程序的自由,可以自己修改的自由,可以复制和推广的自由,也可以有收费的自由的一种软件 GNU的含义是GNU is not UNIX的意思,由自由软件的倡导者Richard stallman先生指导并启动的一个组织成立了自由软件基金会 GNU写出一套和UNIX兼容,但又是自由软件的UNIX系统,GNU 完成了大部分外围工作,包括外国命令gcc/ gcc+, shell等,最终Linux内核为GNU工程划上了一个完美句号,115,Linux操作系统,Linux是由芬兰藉科学家Linus Torvalds于1991年编写完成的操作系统内核。 许多人对Linux进行改进、扩充、完

40、善,做出 了关 键 性 贡 献。Linux由最初一个人写的原型变成在Internet上由无数志同道合的程序高手们参与的一场运动。 Linux操作系统的技术特点。,116,1.5.4 IBM系列操作系统,RS/6000系列UNIX服务器及SP结点群集计算机 ,运行AIX操作系统 S/390企业级服务器 ,运行OS/390、VM和DOS/VSE操作系统 Definity通用服务器,运行基于Intel的Windows NT、Netware等操作系统 AS/400服务器 首次采用64位RISC技术,运行OS400操作系统。 PC微型机,运行Windows9x、OS2、MS-DOS等操作系统。,117,

41、1.5.5 其它流行的操作系统,1.Mach操作系统 Mach的发展历史 Mach的设计目标 为建造其它操作系统提供基础; 支持大型稀疏地址空间; 允许对网络资源的透明访问; 从系统和应用两个方面开发并行性; 可移植。 Mach采用的主要技术 微内核机构 面向对象程序设计方法 多处理器调度 分页存储管理,118,2.Macintosh操作系统,美国Apple公司推出Macintosh机操作系统。MAC是全图形化界面和操作方式的鼻祖。由于它拥有全新的窗口系统、强有力的多媒体开发工具和操作简便的网络结构而风光一时 MAC操作系统的主要特点有1)采用面向对象技术;2)全图形化界面;3)虚拟存储管理技

42、术;4)应用程序间的相互通信;5)强有力的多媒体功能;6)简便的分布式网络支持;7)丰富的应用软件。,119,3.Netware操作系统,Netware是Novell公司开发的网络操作系统。具有高性能文件系统、支持DOS、OS/2、MAC、及UNIX文件格式;具有三级容错,可靠性高;安全保密性好;提供开放的开发环境。 Netware lite是廉价点对点NOS,支持25个用户,每个结点可作为对等机。Netware2.2是为小单位和工作组开发的NOS,满足工作组用户的各种需要 Netware3.1x是32位NOS,更能发挥高档PC的计算能力,支持用户可达256个,能支持DOS,Windows、M

43、acintosh、OS/2和UNIX工作站访问Netware服务器。 Netware4.xx是其NOS新版,增强了网络目录服务,支持用户数可达1000个。,120,4.MINIX操作系统,荷兰Vrije大学计算机系教授Andrew S. Tanenbavm开发一个与UNIX兼容,然而内核全新的操作系统。 Minix没有借用AT & T一行代码,学生可以通过它来剖析一个操作系统,研究其内部如何运作,其名称源于小UNIX,因为它非常简洁,短小,故称Minix Minix用C语言编写,着眼于可读性好,代码中加入数千行注释。可运行在IBM PC,Macintosh,Sparc,Amiga,Atari等

44、许多平台上 Minix恪守“Small is Beautiful”的原则,早期Minix没有硬盘就能运行。目前常用的是Minix2.0,具有多任务处理能力,可支持三个用户同时工作,支持TCP/IP,支持4GB主存。提供5个编辑器、200个实用程序,121,作业,P58 应用题1 P59 应用题7,122,第2章 处理器管理,主要内容 中央处理器 中断技术 进程及其实现 线程及其实现 Linux进程与线程 Windows2003进程与线程 处理器调度 处理器调度算法 Linux调度算法 Windows 2003调度算法,123,2.1 中央处理器,2.1.1 处理器 2.1.2 程序状态字寄存器

45、,124,2.1.1 处理器,1.单处理器和多处理器系统单处理器系统 顺序处理 流水线技术 发射体系结构,125,多处理器系统,共享存储(紧密耦合)多处理器系统 共享所有处理器且平等的访问同一个物理主存 主从式 对称式 分布存储(松散耦合)多处理器系统 每个处理器均拥有自己的主存,处理器之间通过网络相连,在需要时通过网络交换数据。 集群系统,126,2.寄存器(1),计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。 这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。,127,寄存器(2),通用寄存器- EAX,EBX,

46、ECX和EDX 指针及变址寄存器-ESP,EBP,ESI及EDI 段选择符寄存器-CS、DS、SS、ES 、FS、GS 指令指针寄存器和标志寄存器-EIP、EFLAGS 控制寄存器-CR0,CR1,CR2和CR3 外部设备使用的寄存器数据寄存器或缓冲区,状态寄存器,控制寄存器,128,3.特权指令与非特权指令(1),机器指令的集合称指令系统(1)数据处理类指令;(2)转移类指令;(3)数据传送类指令;(4)移位与字符串指令;(5)I/O类指令。,129,特权指令与非特权指令(2),从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两部分:特权指令和非特权指令。 特权指令是指只能提供

47、给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清主存、建立存储键,加载PSW等。,130,4.处理器状态,处理器怎么知道当前是操作系统还是一般用户程序在运行呢? 处理器状态标志 管理状态(特权状态、系统模式、特态或管态) 用户状态(目标状态、用户模式、常态或目态)。 处理器处于管理状态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力;处理器处于用户状态时,程序只能执行非特权指令 Intel x86的处理器状态有四种,支持4个保护级别,0级权限最高,3级权限最低,131,处理器状态的转换,用户态核心态 程序请求操作系统服务,执行系统调用; 在程序运行

48、时,产生中断或异常事件,运行程序被中断,转向中断处理程序或异常处理程序工作。 核心态用户态 特权指令(加载程序状态字),132,2.1.2 程序状态字寄存器(1),计算机如何知道当前处于何种工作状态?这时能否执行特权指令? 通常操作系统都引入程序状态字PSW(Program Status Word)来区别不同的处理器工作状态。 PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。 每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器。,133,程序状态字寄存器(2),PSW寄存器包括

49、以下内容: 程序基本状态:(1) 程序计数器;(2) 条件码;(3)处理器状态位。 中断码:保存程序执行时当前发生的中断事件。 中断屏蔽位:指明程序执行中发生中断事件时,是否响应出现的中断事件。,134,IBM360/370系列计算机程序状态字的基本格式,135,Intel x86程序状态字,Intel x86中,PSW由标志寄存器EFLAGS和指令指针寄存器EIP组成,均为32位。 EFLAGS的低16位称FLAGS,标志可划分为三组: 状态标志 控制标志 系统标志,136,2.2 中断技术,2.2.1 中断概念 2.2.2 中断源分类 2.2.3 中断和异常的响应及服务 2.2.4 中断事件处理 2.2.5 中断优先级和多重中断 2.2.6 Linux中断处理 2.2.7 Windows 2003中断处理,137,2.2.1 中断的概念,请求系统服务 实现并行工作 处理突发事件 满足实时要求都需要打断处理器正常的工作,为此,提出了中断概念。,138,中断的定义,中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报