




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统教程(第4版)第一章 操作系统概论,第一章 操作系统概论,1.1 操作系统概观 1.2 操作系统的形成和发展 1.3 操作系统提供的服务和用户接口 1.4 操作系统结构和运行模型 1.5 流行操作系统简介,1.1操作系统概观,1.1.1 操作系统的定义和目标 1.1.2 操作系统的资源管理技术 1.1.3 操作系统的作用与功能 1.1.4 操作系统的主要特性,What is Operating System,Operating System is a program that is executed in the computer hardware. (just as ordinary
2、 software) A program that controls the execution of application programs A program that manages the resources of computer system An interface between applications and hardware 操作系统是计算机系统最基础的系统软件,它管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境,Computer System Structure,Computer system can be divi
3、ded into four components Hardware provides basic computing resources CPU, memory, I/O devices Operating system Controls and coordinates use of hardware among various applications and users Application programs define the ways in which the system resources are used to solve the computing problems of
4、the users Word processors, compilers, web browsers, database systems, video games Users People, machines, other computers,What is an Operating System?,A program that manages the computer hardware and A program that acts as an intermediary between the user of a computer and the computer hardware. Ope
5、rating system goals: Execute user programs and make solving user problems easier Make the computer system convenient to use Use the computer hardware efficiently,What is an Operating System?,A program that controls the execution of application programs and acts an interface between applications and
6、the computer hardware. Three objectives: Convenience Efficiency Ability to evolve,What is an Operating System?,a software layer between the hardware and the application programs/users that provides a virtual machine interface: easy and safe a resource manager that allows programs/users to share the
7、hardware resources: fair and efficient,hardware,operating system,application (user),计算机系统的层次结构,用户n,用户4,用户3,用户2,用户1,计算机硬件,我国的表现很薄弱,操作系统与支撑软件及应用软件的区别,程序意图不同; 操作系统是软件系统的核心,是各种软件的基础运行平台; 通用操作系统提供共性功能支持,与硬件相关但和应用领域无关; 支撑软件及应用软件不能直接而只能通过操作系统来使用计算机系统的物理资源。,操作系统的主要目标,方便用户使用 OS通过提供用户与计算机之间的友善接口来方便用户使用。 扩大机器功
8、能 OS通过扩充改造硬件设施和机器功能为用户提供各种服务, /也可能通过软件的方式实现本来应该由硬件实现而没有实现的功能。 管理系统资源 管理软件硬件资源,使之得到充分利用 提高系统效率 合理组织计算机工作流程,改进系统性能和效率 构筑开放环境 遵循有关国际标准来设计和构造一个开放环境,遵循有关国际工业标准和开放系统标准(如POSIX);支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和可互操作性。,What are the three main purposes of an operating system?, To provide an environment for
9、a computer user to execute programs on computer hardware in a convenient and efficient manner. To allocate the separate resources of the computer as needed to solve the problem given. The allocation process should be as fair and efficient as possible. As a control program it serves two major functio
10、ns: (1) supervision of the execution of user programs to prevent errors and improper use of the computer, and (2) management of the operation and control of I/O devices.,1.1.2 操作系统的资源管理技术,资源复用 (解决物理资源数量不足 ),资源虚化 (解决物理资源数量不足 , 提高服务的能力和水平 ),资源抽象 (处理系统的复杂性, 解决资源的易用性),资源管理技术,1)资源复用,(1)空分复用共享 -该资源可进一步分割成
11、更多和更小的单位供进程使用 。 (2)时分复用共享-并不把资源进一步分割成更小的单位,进程可在一个时间段内独占使用整个物理资源。,时分复用共享分类,时分独占式-进程获得时分独占式资源后,对资源执行多个操作,通常使用一个完整的周期后才会释放。 时分共享式-时分共享式资源指进程占用该类资源使用后,很可能随时被剥夺,被另一个进程抢占使用。,2) 资源虚化,是对资源进行转化、模拟或整合,把物理上的一个资源变成逻辑上的多个对应物的一类技术。 空分复用分割实际存在的物理资源,虚化实现虚构假想的虚拟同类资源。 虚化的例子虚拟设备、虚拟存储器、虚拟屏幕(终端)、虚拟信道 。,3) 资源抽象,资源抽象用于处理系
12、统的复杂性,重点解决资源的易用性。 资源抽象指通过创建软件来屏蔽硬件资源物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术。 单级资源抽象与多级资源抽象。,单级资源抽象,一个简单的抽象,可用系统调用write( )打包: void write(char *block,int length,int device,int track, int sector) load(block,length,device); /*把指定长度信息块拷贝到磁盘缓存*/ seek(device,track); /*控制移动磁头到指定磁道*/ out(device,sector); /*数据写入指定扇区*/
13、 ,多级资源抽象,一个更高层次抽象是由操作系统提供文件系统,借助于C语言stdio库,通过文件名读写磁盘, int fprintf(fileID,”%s”,datum) write( ); write( )系统调用对机器指令进行抽象,库函数fprintf( )对write( )又做进一步抽象,抽象层次越高,使用越方便。,4) 组合使用抽象和虚化技术,对于一类资源,操作系统往往同时实施抽象和虚化技术。 例1,为打印机既配置“打印函数”(设备驱动程序),又实施虚拟设备,通过打印函数抽象隐蔽打印机动作细节,实施SPOOLing虚化“扩充”物理打印机数量。 例2,窗口软件是对物理终端的虚化和抽象,能为
14、用户提供虚拟终端和方便的I/O服务。,2 操作系统中最基础的抽象,进程抽象-是对已进入主存正在运行的程序在处理器上操作的状态集的抽象 。 虚存抽象-是对物理主存的抽象,进程可获得一个硕大的连续地址空间来存放可执行程序和数据,可使用虚拟地址来引用物理主存单元。 文件抽象-是对设备(磁盘)的抽象 。,操作系统的三个基础抽象,OS中最基础的三个抽象,文件抽象是操作系统对磁盘设备的多层次抽象,第一层抽象,从磁盘到分区。 第二层抽象,从分区到扇区。 第三层抽象,从扇区到簇。 第四层抽象,从簇到文件系统分区。,Moving-head Disk Mechanism,操作系统最基础抽象小结,文件抽象,虚存抽象
15、,进程抽象,处理器,主存,设备,文件是对设备的抽象;虚存是对主存和设备的抽象;进程则是对处理器、主存和设备的抽象,3 虚拟计算机(1),什么是虚拟计算机? 什么是操作系统虚拟机? 操作系统虚拟机的组成: 1) 虚处理器 2) 虚拟主存 3) 虚拟辅存 4) 虚拟设备,虚拟计算机(2),操作系统 资源管理(复用、虚化、抽象),进程Pn,进程P1,虚处理器特点(3),(1)虚处理器没有中断,进程的设计者不再需要有硬件中断的概念,通常进程执行中无需处理中断; (2)每个进程都有自己的虚处理器,用以实现多进程的并发执行; (3)虚处理器为进程提供功能强大的指令系统,即由机器非特权指令和系统调用所组成的
16、新指令系统集。 安全 进程使用系统调用可做:创建新进程(虚拟机),与其他进程(虚拟机)通信,申请资源,操作文件,及执行I/O操作等工作。,虚拟主存特点(4),虚拟主存是从0开始的连续数字命名的单元序列,由操作系统分割物理主存,分配给虚拟机使用,同时各虚拟机分得的主存空间相互隔离且互不干扰,虚拟主存让进程在获取和使用主存信息时觉得自己拥有整个计算机的主存。 虚拟存储器避免在主存和磁盘之间来回拷贝整个进程地址空间,当运行进程需要信息或信息被更新时,系统在主存与磁盘之间自动地传输当前计算涉及到的一小部分数据。,虚拟辅存特点(5),辅存(磁盘)为信息提供持久性存储,通过空分复用把辅存空间分配给进程使用
17、,有的空间用作主存的扩充,有的空间存放文件,信息以文件为单位被物理地存储在磁盘上。 文件中的字节流被映射到设备的物理块中,进程可通过文件系统调用或映射文件I/O对文件信息进行存储、检索和处理。 操作系统也可提供多个虚拟盘,按需分割物理磁盘的若干磁道,除了容量外,其它各个方面与物理磁盘相同。,虚拟设备特点(6),SPOOLing和文件系统为每台虚拟机提供虚拟读入机和虚拟打印机,分时用户的终端提供虚拟机操作员控制台。 虚拟机的I/O操作与物理计算机的I/O操作完全不同,物理设备接口复杂,物理I/O需要了解设备硬件特性并执行一系列低层动作。故为每类物理设备编写实现信息I/O的设备驱动程序供应用程序调
18、用,以此来抽象物理设备,屏蔽相关细节,执行低层操作。 进程执行I/O实质上是调用相应设备的设备驱动程序,既简单又方便。,Operating System Function,OS is a resource allocator Manages all resources Decides between conflicting requests for efficient and fair resource use OS is a control program Controls execution of programs to prevent errors and improper use of
19、 the computer OS is a virtual machine OS is an interface between applications and the computer hardware.,How Does an OS Work?,receives requests from the application: system calls process the requests: may issue commands to hardware handles hardware interrupts: may upcall the application OS complexit
20、y: synchronous calls + asynchronous events,hardware,OS,application (user),system calls,upcalls,commands,interrupts,hardware independent,hardware dependent,1.1.3操作系统的作用与功能,操作系统的作用 OS作为用户接口和服务提供者 OS作为作为扩展机或虚拟机 OS作为资源管理者和控制者 OS作为程序执行的控制者和协调者,操作系统既是“管理员”,又是“服务员”,对内作为“管理员”,做好计算机系统软硬件资源的管理和调度、程序执行控制与协调,提高
21、系统效率和资源利用率; 对外作为“服务员”,是用户与硬件的接口和人机界面,为用户提供最友善的运行环境和最佳的服务,操作系统在管理好资源的基础上,向外提供强有力的服务,所以,资源管理是操作系统的一项主要任务。,OS作为用户接口和服务提供者,操作系统提供友善的人机接口,使得用户能够方便、可靠、安全、高效地使用硬件和运行应用程序; 操作系统对计算机硬件进行改造和扩充,为用户提供强有力的各种服务 ;,OS作为扩展机或虚拟机,在计算机裸机上加上操作系统来组成整个计算机系统, 操作系统把硬件的复杂性与用户隔离开来 , 操作系统与硬件组成一台功能显著增强,使用更加方便,安全可靠性更好的扩展机器或虚拟机 。,
22、OS作为程序执行的控制者和协调者,进程是支持程序执行的一种系统机制, OS 需要提供机制,解决并发进程执行时产生的互斥、同步、通信和死锁问题。,操作系统作为计算机系统的资源管理者(1),操作系统中,能分配给用户使用的硬件和软件设施总称为资源,包括两类:硬件资源和信息资源。 硬件资源又分:处理器、存储器、I/O设备等; 信息资源又分:程序和数据等。,操作系统作为计算机系统的资源管理者(2),也可把操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。,操作系统作为计算机系统的资源管理者(3),操作系统的重要任务之一(1) 对资源进行抽象研究,找出各种资源共性和个性,有序地
23、管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;,操作系统作为计算机系统的资源管理者(4),操作系统的重要任务之一(2) 研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而,使得计算机系统的效率有很大提高。,操作系统的功能,处理机管理 存储管理 设备管理 文件管理 网络与通信管理 用户接口,处理机管理,(1)进程控制和管理; (2)进程同步和互斥; (3)进程通信; (4)进程死锁; (5)线程控制和管理; (6)处理器调度,又分高级调度,中级调度和低级调度。,存储管理,(1)
24、主存分配与去配 ; (2)地址转换与存储保护; (3)主存共享 ; (4)存储扩充 。,设备管理,(1)提供设备中断处理; (2)提供缓冲区管理; (3)提供设备独立性,实现逻辑设备到物理设备之间的映射; (4)设备的分配和回收; (5)实现共享型设备的驱动调度; (6)实现虚拟设备。,文件管理,(1)提供文件的逻辑组织方法; (2)提供文件的物理组织方法; (3)提供文件的存取和使用方法; (4)实现文件的目录管理; (5)实现文件的共享和安全性控制; (6)实现文件的存储空间管理。,网络与通信管理,(1)网络资源管理; (2)数据通信管理; (3)网络管理。,1.1.4操作系统的主要特性,
25、第一个特性-并发性 第二个特性-共享性 第三个特性-异步性(随机性),操作系统中的并发性(1),并发性-指两个或两个以上的事件或活动在同一时间间隔内发生 发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率,并发性使系统变得复杂化 如何从一个活动切换到另一个活动? 怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务? 怎样协调多个活动对资源的竞争? 如何保证每个活动的资源不被其它进程侵犯? 多个活动共享文件数据时,如何保证数据的一致性?,操作系统中的并发性(2),操作系统中的并发性(3),采用并发技术的系统称多
26、任务系统 并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。 并发技术的本质思想是:当一个程序发生事件(如等待I/O)时让出其占用的CPU而由另一个程序运行。 结论:实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术,操作系统中的并发性(4),并行性指-指两个或两个以上的事件或活动在同一时刻发生 并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。 并行性是并发性的特例,而并发性是并行性的扩展。,操作系统中的共享性,共享指操作系统中的资源可被多个并发执行的进程所使用 : 透明资源共享
27、:资源隔离与授权访问 显式资源共享:临界资源与独占访问 与共享性有关的问题:资源分配、信息保护、存取控制等,必须要妥善解决好。,操作系统中的异步性(1),操作系统中的异步性处处可见 : (1)进程何时执行?何时暂停?怎样的速度向前推进?都是异步(随机)的。 (2)作业到达系统的类型和时间是随机的; (3)操作员发出命令或按按钮的时刻是随机的; (4)程序运行发生错误或异常的时刻是随机的; (5)各种各样硬件和软件中断事件发生的时刻是随机的,操作系统中的异步性(2),异步性给系统带来潜在危险,有可能导致与时间有关的错误。 操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随
28、机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。,1.2 操作系统的发展和形成,1.2.1 人工操作阶段 1.2.2管理程序阶段 1.2.3多道程序设计与操作系统的形成 1.2.4 操作系统的分类,1.2.1 人工操作阶段算题过程,人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机 汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带 执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带 通过引导程序把装在输入机上的目标程序读入计算机 启动目标程序执行,从输入机上读入人工装好的数据卡或数据带 产生计算结果,执行结果从打印机上或卡片机上输出
29、,人工操作阶段的缺点,用户上机独占全机资源,造成资源利用率不高,系统效率低下 手工操作多,浪费处理机时间,也极易发生差错 数据的输入,程序的执行、结果的输出均联机进行,从上机到下机的时间拉得非常长,1.2.2管理程序阶段(1),工作流程如下: 操作员集中一批用户提交的作业,由管理程序将作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入主存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到主存执行,.,管理程序阶段(2) 管理程序主存组织,管理程序阶段(3),管理程序的主要功能: 自动控制和处理作业流
30、 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能,工业化的硬件与OS产品,IBM 巨型机/大型机/中型机/小型机,1980年,CRAY 巨型机,DEC 小型机,苏联,法语 世界,MAC 微型机,独立发展的UNIX,IBM PC PC DOS PS2/OS2,PC 与 开 放 结 构,MS-DOS/MS-WINDOWS,INTEL,HP/DELL,HP/DEC /COMPAQ,SUN,小 型 机 服 务 器,HP/DELL,HP/DEC /COMPAQ,UNIX,IBM,各种硬件,大 型 机 巨 型 机,IBM,机群,UNIX/专用,各种硬件,i
31、OS/Android/黑莓/Windows Phone,1.2.3多道程序设计与操作系统形成1.多道程序设计的概念,中断与通道 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法 从宏观上看: 从微观上看: 引入多道程序设计技术的目的:,Multi-programming,单道算题工作,78,输入机,处理器,磁带机,130,150,228,280,300,378,430,450,时 间,处理器利用率:52/(78+52+20)35%,98,98,P1,P1,P1,Multi-programming ,两道程序同时工作,处理器利用率: (52+42)/(78+52+
32、20)63%,78,输入机,处理器,磁带机,130,150,228,280,300,378,430,450,时 间,磁带机,打印机,20,62,170,320,P2,P1,P2,P1,P2,P1,多道程序设计的效果(2),采用多道程序设计提高了系统效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。,多道程序设计与操作系统形成2多道程序设计的道数问题,程序等待I/O操作的时间占其运行时间的比例为p,当主存中有n道程序时,所有程序都等待I/O的概率是pn,那么, CPU利用率=1-pn n称多道程序的道数
33、或度数,可见CPU的利用率是n的函数,多道提高效率的例子,假设计算机有1MB主存,操作系统占用200KB,其余空间允许四道程序共享。 若80%时间用于I/O等待,则忽略操作系统开销时, CPU利用率=1-(0.8)4=59%。 当增加1MB主存后,多道程序可从四道增加到九道, CPU利用率=1-(0.8)9=87%, 第二个1MB主存可增加五道程序,能提高47%的CPU利用率。,多道程序设计与操作系统形成多道程序设计的优点与缺点,优点 提高了CPU的利用率 提高了主存和I/O设备的利用率 改进了系统的吞吐率 充分发挥了系统的并行性 其主要缺点是:单个 作业周转时间延长,多道程序设计与操作系统形
34、成3 多道程序设计系统与多重处理系统,多重处理系统是指配置了多个物理CPU,能真正同时执行多道程序的系统。要有效地使用多重处理系统,必须采用多道程序设计技术;反过来,多道程序设计不一定要求有多重处理系统支持。,多道程序设计与操作系统形成,实现多道程序设计必须解决三个问题: 存储保护与程序浮动; 处理器的管理和调度; 系统资源的管理和调度。,多道程序设计与操作系统形成,操作系统资源管理水平和操作自动化程度进一步提高,表现在: 1 实现了计算机操作过程自动化。 2 提高资源利用率。 3 提供虚存管理功能。 4 支持分时操作。 5 文件管理功能有改进。 6 多道程序设计趋于完善。,1.2.4操作系统
35、的发展与分类,三种基本的操作系统类型: 1 批处理操作系统 2 分时操作系统 3 实时操作系统,批处理操作系统,何谓“批”?作业流与批处理 批处理操作系统(Batch OS) 批处理操作系统IBM DOS/VS、DOS/VSE 批处理系统的主要特征: 用户脱机工作 成批处理作业 多道程序运行 作业周转时间长,分时操作系统,为什么要有分时操作系统? 分时操作系统 (Time Sharing Operating System) 分时操作系统CTSS、TSS、Multics、UNIX 分时系统的特征 同时性 独立性 及时性 交互性,分时与批处理操作系统的区别,目标不同 适应作业的性质不同 资源使用率
36、不同 作业控制方式不同,实时操作系统(1),三种典型的实时系统: 过程控制系统(生产过程控制) 信息查询系统(情报检索) 事务处理系统(银行业务) VxWorks C/OS-II,实时操作系统(2),实时操作系统(Real Time OS) 处理流程: 数据采集 加工处理: 操作控制: 反馈处理:,操作系统的进一步发展,操作系统发展的主要动力: 1 器件快速更新换代。 2 计算体系结构不断发展。 3 提高计算机系统资源利用率的需要。 4 让用户使用计算机越来越方便的需要。 5 满足用户新要求,提供给用户新服务。,微机操作系统,新一代微机操作系统 具有以下功能:GUI、多用户和多任务、虚拟存储管
37、理、网络通信支持、数据库支持、多媒体支持、应用编程支持API 具有以下特点: (1)开放性 (2)通用性 (3)高性能 (4)采用微内核结构,并行操作系统,计算机的应用每前进一步都要求增加计算机的处理能力。为达到极高性能,除提高元器件速度外,必须改进计算机系统结构,这主要采用增加同一时间间隔内的操作数量,通过并行处理技术,研究并行计算机。,网络操作系统,网络操作系统(Network Operating System) UNIX, Netware, Windows 网络操作系统应该具有的功能: 1 网络通信 2 资源管理 3 网络管理 4 网络服务,分布式操作系统,分布式计算机系统由多台分散的计
38、算机经互连网络连接而成, 具备四项基本功能 1 进程通信 2 资源共享 3 并行计算 4 网络管理 分布式操作系统与单机集中式操作系统的主要区别在于: 资源管理 进程通信: 系统结构:,嵌入式操作系统(1), 3C:计算机是贯穿社会信息化的核心技术,网络和通信是社会信息化赖以存在的基础设施,电子消费产品是人与社会信息化的主要接口。 嵌入式(计算机)系统的应用环境带来了对嵌入式系统软件 (embedded software)的要求 移动计算 mobile computing 普适计算, pervasive/ubiquitous computing 物联网 Internet of Things,
39、CPS,嵌入式操作系统(2),嵌入式OS指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件 嵌入式OS具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能,功能强大的还提供图形界面、通信协议、小型浏览器等设施,嵌入式操作系统特征,微型化: 可定制: 实时性: 可靠性: 易移植性: 开发环境:,嵌入式操作系统实例(1),VxWorks是美国Wind River公司开发的嵌入式实时操作系统,可靠性高、性能卓越、界面友好,广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,在美国的F-16、FA-18
40、战斗机、B-2隐形轰炸机、爱国者导弹,和火星探测器(97年4月在火星表面登陆)上使用。,嵌入式操作系统实例(2),Windows CE是微软开发的,用于通信、娱乐和移动式计算设备的操作系统(平台) ,它是微软“维纳斯” 计划的核心。CE是具有开放性的,32位多任务、多线程嵌入式操作系统。 Personal Java是SUN公司开发的用于家庭、办公室和移动信息电器创建连网应用的Java应用环境,适宜更新换代快的信息电器的应用开发。,嵌入式操作系统实例(3),Google Android 资助南京大学软件学院建立Android实验室 iPhone OS Windows Phone Ubuntu f
41、or Phone BlackBerry Meego (英特尔与诺基亚联合) Nokia Symbian (没落了) Windows Mobile ,1.3操作系统提供的服务和用户接口,1.3.1 基本服务和用户接口 1.3.2 程序接口与系统调用 1.3.3 作业接口与操作命令,1.3.1操作系统提供的基本服务,创建程序 执行程序 数据I/O 信息存取 通信服务 错误检测和处理 还具有另外一些功能:资源分配,统计, 保护。,1.3.2程序接口与系统调用,系统调用 (程序接口),系统程序 (作业接口),操作系统提供的程序接口(1),什么是系统调用? 系统调用的作用? 系统调用是应用程序获得操作系
42、统服务的唯一途径。 内核的主体是系统调用的集合,内核可以看成是特殊的公共子程序。,安全性、为了保护 内核空间和用户空间,什么是系统调用?(2),操作系统的功能通过一组称为系统调用(system call)的接口呈现给用户,内核提供一系列实现预定功能的内核函数,系统调用把应用程序的请求传达给内核,内核调用对应的内核函数完成请求所需处理后,再将处理结果返回给应用程序。,系统调用的作用(3),系统调用是一种中介角色,把用户与硬件隔离开来,应用程序通过系统调用才能请求系统服务和使用系统资源, 其作用有: 一是内核可基于权限和规则对资源访问进行裁决,保证系统的安全性; 二是系统调用封装资源抽象,提供一致
43、性接口,避免用户使用资源时可能发生的错误,且使编程方便效率高。,操作系统提供的程序接口(4),应用程序能直接使用系统调用吗? 一是接口复杂使用颇为困难,二是应用软件跨平台移植性受到很大限制。 POSIX (Portable Operating System Interface for Computer Environment)标准 遵循此标准,那么应用程序在这些操作系统之间具有可移植性,UNIX/Linux遵循POSIX标准,所以它们是POSIX兼容的操作系统。 把系统调用封装成API和库函数 库函数和系统调用,98,API的实现,API由对应封装函数(库函数)定义与实现。 库函数与系统调用一
44、一对应(如open( ) 库函数需要调用多个系统调用。 库函数需要调用系统调用,但仅是其部分工作(如fprintf( )。 库函数与系统调用无关(如strcpy( ) )。 Windows的API与UNIX/Linux的系统调用。 UNIX7-50个,SVR4-120个,Linux-200多个系统调用。 Windows的API有几千个。,99,系统调用的形式,应用程序(C程序)执行写操作 , rw=write(fd,buf,count) 该库函数编译后形成系统调用 , trap 4 参数1 参数2 参数3 执行trap时,经中断系统从用户态进入内核,找到write( )入口地址执行,服务结束后
45、控制返回发出系统调用的程序。,100,库函数与系统调用的联系和差别,从应用程序使用角度来看,库函数与系统调用没有差别。从实现的角度来看,两者有重大区别。 使用库函数的好处是隐藏访管指令细节,使系统调用更像函数调用,对用户隐蔽系统调用,使得在改动内核时不影响应用程序的正确性。 库函数属于应用程序,在用户态运行,系统调用属系统程序,在核心态运行,如果需要的话,用户可以替换库函数,但是通常却不能替换系统调用。,操作系统提供的程序接口(5)应用程序、库函数、系统调用的调用关系链,操作系统提供的用户接口(6) UNIX/Linux系统程序、库函数、系统调用分层关系,系统调用的分类,(1)进程和作业管理:
46、 (2)文件操作: (3)设备管理: (4)主存管理: (5)信息维护: (6)通信:,Win32 API和UNIX/Linux系统调用对应关系,系统调用的实现要点,一. 是编写系统调用处理内核函数; 二. 是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理内核函数,有的系统还包含系统调用自带参数的个数; 三. 是陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。,两个空间与模式切换,A0,SUB0,SUB1,SUBi,SUBn,A1,Ai,An,A0,A1,Ai,An,系统调用的处理过程,System Call,用户程序,系统调用处理子程序,取系统功能号 找入口
47、地址表 相应入口地址,结束处理 恢复现场,保护CPU现场,自陷指令,系统调用陷入机构,入口地址表,Linux系统调用执行流程,应用程序,int main( ) read( ); ,C库展开,int read int $0 x80; ,中断处理,entry (system_call) push %eax; SAVE_ALL call sys_read3 entry(ret_from_sys_call) restore all; ,内核函数,asmlinkage long ss_read3( ) return ,用户态,核心态,系统调用的参数传递,一是由访管指令或自陷指令自带参数, 直接参数 间接
48、参数 二是通过CPU的通用寄存器传递参数,或 在主存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递。 三是在主存中开辟专用堆栈区域传递参数。,系统调用与函数调用的区别,1)调用形式和实现方式不同。 函数调用其转向地址是固定不变的,但系统调用中不包含内核服务函数入口,仅仅提供功能号,按功能号调用; 函数调用是在用户态运行的,仅能访问用户栈; 系统调用要通过中断机制,从用户态转变到核心态,内核服务函数在核心态执行,并访问栈心栈。 2)被调用代码的位置不同。 3)提供方式不同。,系统调用与函数调用的区别,1)调用形式和实现方式不同。 2)被调用代码的位置不同。 函数调用是静态调用,调用程序
49、和被调用代码在同一程序内,经过链接后作为目标代码的一部份,这是用户级程序。当函数升级或修改时,必须重新编译链接; 而系统调用是动态调用,系统调用的服务代码在操作系统中,是系统级程序; 系统调用处理代码升级或修改时,与调用程序无关,而且,调用程序的长度也大大缩短,能减少占用的存储空间。 3)提供方式不同。,系统调用与函数调用的区别,1)调用形式和实现方式不同。 2)被调用代码的位置不同。 3)提供方式不同。 函数往往由语言提供,不同语言提供的函数功能、种类与数量可以不同; 系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变。,1.3.3作业接口与操作命令,操作接口又
50、称作业级接口,是操作系统为用户操作控制计算机工作和提供服务的手段集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制语言(命令)等来实现 作业控制方式 联机作业控制方式与作业控制语言 脱机作业控制方式与操作控制命令,联机用户接口操作控制命令,命令行方式 批命令方式 图形化方式,脱机用户接口作业控制语言,批处理接口:作业控制语言JCL( Job Control Language)。 用户使用JCL语句,把运行意图(需要对作业进行的控制和干预)写在作业说明书上,将作业连同作业说明书一起提交给系统。 批处理作业的调度执行过程,系统调用JCL语句处理程序或命令解释程序。,IBM 370使用
51、JCL处理批作业的例子,/ HAROLD JOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=B / COMP EXEC PGM=IEYFORT / SYSPRINT DD SYSOUT=A / SYSLIN DD DSNAME=SYSL,DISP=OLD,VOLUME=SER=123 / SYSIN DD* /* / GO EXEC PGM=FORTLINK / SYSPRINT DD SYSOUT=A / FTOTF001 DD UNIT=SYSCP / GO SYSIN DD* /* /,实用程序 (1),实用程序(Utilities)又称支撑程序 ,虽非操作系统的核心,但却必不可少,为用户程序的开发、调试、执行、和维护解决带有共性的问题或执行公共操作, 操作系统以外部操作命令形式向用户提供系统程序。它的功能和性能很大程度上反映了操作系统的功能和性能。,实用程序(2),支撑程序的分类: 文件管理 状态信息 程序设计语言支持 程序的装入和执行支持 通信 其它软件工具,1.4 操作系统结构和运行模型,1.4.1 操作系统的构件和结构 1.4.2 操作系统的运行模型 1.4.3 Windows 2003客户/服务器结构,1.4.1 操作系统构件和结构,操作系统设计呈现出以下特征: 复杂程度高, 生成周期长, 正确性难保证 。 操作系统结构设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司保安合同样本
- 共贷协议合同样本
- 个人授课合同样本
- 企业代建合同样本
- 亚马逊注册兼职合同样本
- 代售合同样本
- 乳鸽生产销售合同样本
- 共享收益合同标准文本
- 个人借款还款合同样本
- 关于分配土地合同样本
- 债权法学习通超星期末考试答案章节答案2024年
- 安全生产标准化基本规范评分表
- 《Linux网络操作系统实用教程(CentOS8)第2版》全套教学课件
- 2015年919公务员联考《申论》政法干警河北卷及参考答案
- 幼儿园中班语言散文欣赏《芽》课件
- 汽轮发电机组轴系扭振在线监测、分析与保护系统研究
- 期中测试卷(1-4单元)(试题)-2023-2024学年六年级下册数学苏教版
- 医务人员不良执业行为记分管理制度
- 高中数学奥赛辅导教材(共十讲)
- 苏科版八年级数学下册常考点微专题提分精练难点特训(四)选填压轴50道(原卷版+解析)
- 《竞争对手的分析》课件
评论
0/150
提交评论