操作系统结构及应用01.ppt
《操作系统结构及应用01.ppt》由会员分享,可在线阅读,更多相关《操作系统结构及应用01.ppt(94页珍藏版)》请在三一办公上搜索。
1、2023/9/25,操作系统结构及应用编程,自动化工程学院刘珊,2023/9/25,2,主要内容,1、概述2、内存寻址3、进程4、内存管理5、中断和异常6、系统调用7、内核中的同步8、文件系统9、设备驱动,2023/9/25,3,第一章 操作系统概述,1.1 什么是操作系统?定义、功能、特征发展历程结构1.2 什么是Linux操作系统?1.3 Linux内核,2023/9/25,4,1.1 什么是操作系统?认识角度,操作系统,2023/9/25,5,1.1 什么是操作系统?从使用者的角度,打开计算机,首先跳入眼帘的是什么?要拷贝一个文件,具体的拷贝操作是谁完成的?你需要知道文件存放在何处吗?柱
2、面、磁道、扇区描述什么?数据的搬动过程怎样进行繁琐留给自己,简单留给用户 操作系统穿上华丽的外衣图形界面操作系统穿上朴素的外衣字符界面,2023/9/25,6,1.1 什么是操作系统?从程序开发者的角度,拷贝命令的C语言实现片断inf=open(“/floppy/TEST”,O_RDONLY,0);outf=open(“/mydir/test”,O_WRONLY,0600);dol=read(inf,buf,4096);write(outf,buf,l);while(l);close(outf);close(inf);,2023/9/25,7,1.1 什么是操作系统?从程序执行的角度,操作系统
3、是其它所有用户程序运行的基础。,#includemain()printf(“Hello worldn”),用户告诉操作系统执行test程序 操作系统通过文件名找到该程序 检查其类型,检查程序首部,找出代码和数据存放的地址文件系统找到第一个磁盘块 操作系统建立程序的执行环境 操作系统把程序从磁盘装入内存,并跳到程序开始处执行,该程序的执行过程简述如下:,操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备 操作系统将字符串送往输出设备窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射
4、电子束。你在屏幕上看到Hello world。,从中看到什么,2023/9/25,8,1.1 什么是操作系统?从设计者的角度,操作系统的设计目标是什么?尽可能地方便用户使用计算机 让各种软件资源和硬件资源高效而协调地运转起来。计算机的硬件资源和软件资源各指什么?假设在一台计算机上有三道程序同时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题?从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分 操作系统接口CPU管理内存管理设备管理文件管理,2023/9/25,9,1.1 什么是操作系统?从所处位置,2023/9/25,10,1.1 什么是操作系统?定义,操作系统是计算机系统中的
5、一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。,2023/9/25,11,1.1 什么是操作系统?功能,1提供用户接口 为方便用户使用计算机系统,操作系统提供两个级别的接口:(1)作业控制级接口(通常又称为命令接口):提供一组命令供用户直接或间接控制自己的作业作业:用户上机所作的一系列顺序相关的工作。一道作业由若干顺序相关的作业步构成。例如,我们上机编程要经历如下步骤:,2023/9/25,12,1.1
6、什么是操作系统?功能,(1)作业控制级接口以上作业的工作流程要由用户按自己的需求进行控制,因此要提供给用户控制作业工作流程的手段,这是由操作系统提供的,称为作业级接口。作业级接口由一组用户可直接使用控制作业运行的命令和命令解释器构成。该接口又可进一步分为联机用户接口和脱机用户接口。联机用户接口:由一组键盘字符命令(或鼠标命令)和命令解释器组成,使用户可以联机交互方式使用计算机。用户每次键入一个合法命令(解释器能执行的命令),启动一个作业步;一个作业步运行完毕后,再键入下一个命令名,启动下一个作业步。在一个作业步结束后,若发现错误,可以由用户修正错误,然后重新启动该作业步。用户可根据作业运行情况
7、随时进行作业步的调整。,2023/9/25,13,1.1 什么是操作系统?功能,(1)作业控制级接口脱机用户接口:操作命令的形式为作业控制语言,用户以脱机批处理方式使用计算机。用户对作业流程的控制意图是利用作业控制语言书写成一份作业说明书来表达的。上机时,用户将作业控制说明书交给系统,系统逐条解释执行说明书中的命令。在这种方式下,用户一旦提交了作业,作业流程就由操作系统根据作业控制说明书自动控制,用户无法干预该作业的运行。因此,用户必须事先设计好作业流程,还要预测作业运行过程中可能出现的错误,并给出发生错误时的处理方法。,2023/9/25,14,1.1 什么是操作系统?功能,1提供用户接口(
8、2)程序控制接口操作系统提供的程序级接口由一组系统功能调用命令以及完成这些命令的程序模块组成。为方便用户编程,提高编程效率,规范编程,操作系统提供了完成某些通用功能的程序提供用户在开发应用程序时调用。不同的操作系统提供了不同的系统功能调用以及调用方式。如DOS的系统功能调用主要是进行硬件驱动,以软中断INT 21H的方式提供。,2023/9/25,15,1.1 什么是操作系统?功能,(2)程序控制接口Windows中的系统功能调用要比DOS丰富,且层次要高,不只局限于硬件驱动,以用户可在编程语言中使用的应用编程接口函数的方式提供,称为APIApplication Programming Int
9、erface。使用Windows的API函数,可以提高编程效率,并规范Windows环境下的编程,如可开发具有统一风格的应用程序窗口界面,这会使得软件用户能很快熟悉该软件的窗口界面而不必重新学习。,2023/9/25,16,1.1 什么是操作系统?功能,2管理计算机资源(1)处理机管理处理机调度、进程控制、进程通信和同步(2)存储器管理内存分配、地址转换、内存保护和扩充(3)设备管理设备分配、缓冲管理、设备驱动(4)文件管理目录管理、文件操作和存取权限控制,2023/9/25,17,1.1 什么是操作系统?处理机管理的功能,处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理
10、。在多道程序环境下,处理机的分配和运行都是以进程为单位的,所以对处理机的管理可理解为对进程的管理。进程控制包括进程的创建、进程的撤消、控制进程在不同的状态间转换。进程控制的实现是通过若干条操作系统提供的进程控制原语和系统功能调用来实现的。对各个进程的运行进行协调有两种方式。(1)进程互斥方式。(2)进程同步方式。,2023/9/25,18,1.1 什么是操作系统?存储机管理的功能,内存分配主要任务是为每道程序分配内存空间,但要以存储器利用率最高、减少不可用的内存空间为准则,同时允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。操作系统在实施内存分配时可以采用静态分配方式和动
11、态分配方式。内存保护主要任务是确保每道用户程序在自己的内存空间中运行,互不干扰,也就是说绝不允许用户程序访问操作系统以及其他用户中的程序和数据。地址映射在多道程序设计环境下,地址空间中的逻辑地址和内存空间中的物理地址是不可能一致的,因此,存储器管理必须提供正确的地址映射功能。内存扩充由于物理内存的容量有限,有时难以满足用户的需要,存储器管理的任务之一就是在不增加物理内存的条件下,借助于虚拟内存技术从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多。,2023/9/25,19,1.1 什么是操作系统?设备管理的功能,操作系统设备管理的主要任务是完成用户提出的I/O请求,为用户分
12、配I/O设备;提高CPU和I/O设备的利用率;方便用户使用I/O设备。设备管理应具有以下功能。1.缓冲管理2.设备分配 3.设备处理 4.共享设备的分配与虚拟设备的分配。,2023/9/25,20,1.1 什么是操作系统?文件管理的功能,文件管理的主要任务是对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性。文件系统应具有对文件存储空间的管理、目录管理、文件的读写管理、文件的共享与保护等功能。1.文件存储空间的管理 其主要任务是为每个文件分配必要的外存空间,并依据一定的格式建立文件各逻辑块与物理块之间的对应关系,即构建文件的物理结构,为用户顺序或随机存取文件做好准备,从而尽量提高外
13、存的利用率,提高对文件的存取速度。,2023/9/25,21,1.1 什么是操作系统?文件管理的功能,2、目录管理 目录管理的主要任务是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现按名存取。另外,目录管理还应以链接方式实现文件的共享。3.文件的操作 文件的读写管理、文件的共享与保护等功能。除了上述功能之外,操作系统还要具备中断处理、错误处理等功能。操作系统的各功能之间并非是完全独立的,它们之间存在着相互依赖的关系。,2023/9/25,22,1.1 什么是操作系统?特征,并发性 在多道程序环境下,并发性是指两个或多个事件在同一时间间隔内发生,即宏观上有多道程序同时执行,而微观
14、上,在单处理机系统中每一个时刻仅能执行一道程序。共享性 共享是指系统中的资源可供多个并发执行的进程使用。虚拟性 指通过某种技术把一个物理实体变成若干个逻辑上的对应物。异步性 也称不确定性,是指在多道程序环境下,允许多个进程并发执行,由于资源的限制,进程的执行不是“一气呵成”的,是“走走停停”的。,2023/9/25,23,1.1 什么是操作系统?发展历程,单道批处理系统多道批处理系统分时系统实时系统网络操作系统通用操作系统分布式操作系统嵌入式操作系统,2023/9/25,24,1.1 什么是操作系统?发展历程,单道批处理系统,2023/9/25,25,1.1 什么是操作系统?单道批处理系统,单
15、道批处理系统的特征(1)自动性。(2)顺序性。(3)单道性。(4)存储器保护。单道批处理系统的缺点:一次仅能运行一个作业,这对于价格昂贵的计算机系统来说,只有一个部件工作,其余部件均处于闲置状态,资源利用率很低。,2023/9/25,26,1.1 什么是操作系统?发展历程,t,k,多道批处理系统,2023/9/25,27,1.1 什么是操作系统?多道批处理系统,在批处理系统中引入多道程序设计后,具有以下特征:(1)多道性。(2)并行性。(3)串行性。(4)无序性。(5)调度性。(6)系统开销小。多道批处理系统的缺点是:用户没有交互能力,用户一旦把作提交给系统后就失去了对自己作业的控制,系统将根
16、据作业说明书来控制作业的执行,这对程序的修改和调试是非常不便的。作业的平均周转时间长,由于作业要排队,依次进行处理,因而周转时间较长。特别对于排在队尾作业其运行请求会被长期推迟响应。,2023/9/25,28,1.1 什么是操作系统?发展历程,分时系统分时操作系统是在批处理系统的基础上,采用分时技术提出的一种新型的操作系统。分时系统把处理机的运行时间分成多个很短的时间片,按照时间片轮流把处理机分配给每一个联机用户。配置了分时操作系统的计算机采用主从式多终端的计算机体系结构,一台主机连接着多个带有显示器、键盘及控制器的本地或远程终端,每个用户可以通过终端以交互方式向系统发出命令,共享系统资源,请
17、求完成某项工作,系统则分析从终端设备发来的命令,完成用户提出的需求,之后,用户又根据系统提供的运行结果,向系统提出下一步请求,就这样重复上述交互会话过程,直到用户完成预计的全部工作为止。,2023/9/25,29,1.1 什么是操作系统?发展历程,分时系统其特征为:1.交互性2.及时性3.独占性4.同时性(多路性),2023/9/25,30,1.1 什么是操作系统?发展历程,实时系统对外来信息进行快速处理,在允许的时间范围之内做出响应。实时系统按其使用方式不同可以分为两类:实时控制系统和实时信息处理系统。实时控制系统指微型计算机在实时过程控制和提供环境监督中的应用。过程控制系统是从传感器获得输
18、入的数字或模拟信息进行分析处理后,激发一个活动信号,从而改变可控过程,以达到控制的目的。,2023/9/25,31,1.1 什么是操作系统?发展历程,实时系统实时信息处理系统的主要特点是:1.实时响应2.整体性3.高可靠性和安全性,2023/9/25,32,1.1 什么是操作系统?发展历程,网络操作系统可以看作是在网络环境下工作的操作系统软件,可简单地定义为管理整个网络资源和方便网络用户的软件集合。网络操作系统是计算机网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。建立在服务器主机操作系统基础上,管理网络通信和资源
19、共享,协调各主机上的任务运行,并向用户提供统一、有效的网络接口。,2023/9/25,33,1.1 什么是操作系统?发展历程,网络操作系统网络操作系统具有网络通信、资源管理、网络服务、网络管理和相互操作能力等功能。网络操作系统运行在称为服务器的计算机上,并由联网的计算机用户(这类用户称为客户)共享,这就是网络操作系统的客户机/服务器(C/S)模式,该模式具有分布处理和集中控制的特征。网络操作系统的另一种工作模式是具有分布处理特征的对等模式,其中各个客户机可以看作是访问其他站点(服务器)的客户,也可看作是向其他站点(客户)提供服务的服务器。即网络服务和控制功能分布于各个站点上,各个站点(客户)是
20、对等关系。,2023/9/25,34,1.1 什么是操作系统?发展历程,通用操作系统(Linux,Windows XP)同时具有多道批处理、分时或实时处理功能,或者其中两种以上功能的系统分布式操作系统一方面强调分布式计算和处理,另一方面强调在物理上跨越不同计算机,逻辑上紧密耦合,构成统一完整的系统平台嵌入式操作系统(智能家电)随着计算机向微型化和专业化方向发展而出现,2023/9/25,35,1.1 什么是操作系统?硬件角度下的操作系统发展轨迹,2023/9/25,36,1.1 什么是操作系统?硬件角度下的操作系统发展分析,在硬件的性价比较低的时候,操作系统设计追求什么?在硬件性价比越来越高后
21、,操作系统的设计开始追求的目标是什么?计算机开始普及后,操作系统的设计开始追求?从第三代到第四代计算机,操作系统的发展逐渐摆脱追随硬件发展的状况,形成自己的理论体系进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系统结构并没有变化,只是各功能模块得以进一步完善。,2023/9/25,37,1.1 什么是操作系统?软件角度下的操作系统发展轨迹,2023/9/25,38,1.1 什么是操作系统?软件角度下的操作系统发展分析,程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展,从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。至今操作系统
22、对于是否需要彻底对象化(即微内核化),还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。人机交互技术主要是为用户考虑,这是对操作系统设计进行的变革。以Linux为代表的开源软件的出现,打破了带有神秘色彩的传统的封闭式开发模式。,2023/9/25,39,1.1 什么是操作系统?逻辑结构,操作系统的逻辑结构,2023/9/25,40,1.1 什么是操作系统?体系结构,操作系统的体系结构简单结构单体内核结构层次结构全序结构半序结构微内核结构外核结构,2023/9/25,41,1.1 什么是操作系统?体系结构,简单结构,2023/9/25,42,1.1 什么是操作系统?体系结构,简单结构没有清晰
23、的整体结构,系统各个部件混杂在一起,宏观结构模糊。MS-DOS是一个很好的例子,其设计目标是在比较有限的硬件资源上运行比较有限的应用程序,模块之间的相对独立性几乎被忽略。其他简单结构操作系统:PalmOS 5以前的PalmOS,很多小型嵌入式操作系统,2023/9/25,43,1.1 什么是操作系统?体系结构,单体内核结构,API,2023/9/25,44,1.1 什么是操作系统?体系结构,单体内核结构(模块结构)通过一种系统调用的API机制对外层用户程序提供服务。模块之间直接调用函数,除了函数调用的开销外,没有额外开销。庞大的操作系统有数以千计的函数,复杂的调用关系势必导致操作系统维护的困难
24、将整个内核按照功能的不同,结构化为若干模块:文件管理模块、设备驱动模块、内存管理模块、CPU调度模块以及网络协议处理等模块。模块之间定义以函数调用形式提供的通信接口。典型代表:Unix、Linux、Windows NT/XP,2023/9/25,45,1.1 什么是操作系统?体系结构,层次结构,2023/9/25,46,1.1 什么是操作系统?体系结构,层次结构层次结构的操作系统中,系统由若干层构成,每层构建在其下一层之上。每层的构造采用类似于抽象数据类型的设计方法,包含若干数据和操作。所有层内的数据以及部分层内的操作对其他层不可见。每层均公布一定的操作接口以供其他层调用,这些接口是外层访问该
25、层唯一的途径。层与层之间的调用关系严格遵守调用规则,每层只能访问其下层所提供的服务。,2023/9/25,47,1.1 什么是操作系统?体系结构,全序结构,THE,2023/9/25,48,1.1 什么是操作系统?体系结构,半序结构,SUE,2023/9/25,49,1.1 什么是操作系统?体系结构,全序结构理想的层次结构不仅是单向依赖的,而且每层之间也是相互独立的。这种结构称为全序的,THE系统就是一个全序层次结构操作系统。但全序结构在实际实现时,特别是大型操作系统中,建立全序结构很困难,无法完全消除循环调用。半序结构半序结构在各层之间是单向依赖的,但在某些层内允许模块之间有循环关系。如:多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 结构 应用 01
链接地址:https://www.31ppt.com/p-6106985.html