第4讲计算机操作系统本讲内容计算机系统组成操作系统的演化主流操作系统文件路径用户界面计算机系统组成软件系统实用程序:编译程序、调试程序、连接装配程序。应用软件:专用软件包、用户开发程序硬件系统---裸机一台完全无软件的计算机系统;通过执行机器指令来实现计算和I/O功能如何使用?操作系统操作系统建立用户与计算机之间的接口而为裸机配置的系统软件(用户的角度);裸机上的第一层软件,由一系列的程序模块组成;一种资源管理程序(计算机系统设计者的角度).依据一定的策略对计算机的软硬资源进行分配、管理和调度,合理地组织计算机的工作流程,从而提高系统资源的利用效率。操作系统设计目标(1)有效性:有效管理和分配软、硬件资源及合理组织计算机工作流程来改善资源利用率、提高系统吞吐量;(2)方便性:优秀的用户界面和接口,更方便的使用计算机资源;(3)可扩充性:适应计算机硬件和体系结构的迅猛发展及其所对应的更高的功能和性能要求;(4)开放性:支持不同厂家与不同类型的计算机及其设备的网络化集成和协同工作,实现应用程序的可移植性和互操作性。操作系统的形成与发展顺序处理(手工操作阶段)简单的批处理系统多道批处理系统分时系统实时系统手工操作阶段计算机没有配置OS由程序员直接使用计算机硬件系统,将程序和数据送入计算机内存。按动启动按钮,计算机开始计算。简单的批处理系统(BATCHPROCESSSYSTEM)用户:不再直接与计算机打交道,而是将自己的作业(卡片叠或纸带)交给机房的操作员。操作员:将多个作业按序成批地放在一个输入设备上。监控程序自动启动输入设备将一个个作业读入到磁带上,再将一个个作业顺序装入内存,并控制作业的运行处理。从而实现了各作业之间的自动转接,提高了系统效率。输入作业的结构简单批处理的二种控制方式早期的联机批处理早期的脱机批处理早期的联机批处理作业的输入、计算和输出是在CPU直接控制下进行的。缺点:主机的速度在输入/输出过程中,降低为慢速外设的水平。大大降低了CPU的利用效率。为此,引入早期的脱机批处理方式。系统带应用带输出带输入带卫星机(外围机)打印机主机卡片输入机早期的脱机批处理早期脱机批处理的特点外围机(小型卫星机)代替主机完成作业的输入/输出工作。脱机输入技术:在外围机的控制下,预先把作业从低速输入设备输入到磁带上,当CPU需要时,再直接从磁带机高速输入到内存,减少了CPU等待输入的时间。早期脱机批处理的特点脱机输出技术CPU需要输出时,高速地把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出。主机与慢速外设可以并行工作多道批处理系统指在内存同时放若干道程序,使它们在系统中交叉运行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。特点:多道、宏观上并行(不同的作业分别在CPU和外设上执行)、微观上串行(在单CPU上交叉运行)。CPU主存通道I/O设备多道程序设计的结构模型[例]假设一个计算机系统有256k主存(不包含操作系统),一个磁盘、一个终端和一台打印机。三个作业分别被命名为JOB1、JOB2、JOB3。各作业运行时间分别为5分钟、15分钟和10分钟。它们对资源的具体使用情况。作业编号JOB1JOB2JOB3作业类型计算型I/O型I/O型占用主存50k100k80k需磁盘情况NONOYes需终端情况NOYesNO需打印机情况NONOYes运行所需时间5分钟15分钟10分钟作业1主要使用CPU;作业2主要使用终端(键盘和显示器);作业3主要使用磁盘和打印机。作业2和作业3需要较少CPU时间。三个作业对资源的使用情况•简单批处理时:作业按顺序执行。作业1运行5分钟完成,作业2等待5分钟后再用15分钟完成,作业3等待20分钟后开始执行,30分钟后三个作业全部完成。•多道批处理时:三个作业同时装入主存并运行。由于它们运行中几乎不同时使用同类资源,这三个作业在15分钟内将全部完成。整个系统处理效率明显提高。5分钟15分钟10分钟5分钟10分钟15分钟批处理系统问题:(1)用户不能直接控制作业运行(2)作业的周转时间太长。分时系统分时系统:多用户交互式系统。多个用户通过交互方式分享使用同一台计算机。一台分时计算机系统联有若干台远近终端,多个用户可以在各自的终端上以交互方式联机使用计算机。分时系统的特点同时性:若干个用户可同时使用计算机。独立性:每个用户占有一台终端,彼此独立操作,互不干扰。交互性:用户可通过终端与系统进行人机对话。及时性:用户的请求能在较短时间内得到响应。•分时系统的响应时间:是指用户发出终端命令到系统开始响应所需的时间。它是衡量分时系统的主要性能指标。•为了提高资源的利用,多道程序设计技术也应用到分时系统。实时系统•处理对象:作业处理系统是以作业为处理对象;实时系统是以随机发生的外部事件为处理对象。•主要应用:工业生产过程的自动控制;军事上的自动控制(如飞机运行和导弹发射等);民航的飞机票预订、查询(有关航班、航线、票价等);银行系统的借贷;情报信息检索等系统。实时系统的主要特征•实时性:以被处理信息或被控制过程能承受的延迟来确定。通常可能是秒的数量级,也可能是毫秒级、微秒级甚至毫微秒级。•高安全可靠性:实时系统控制和处理的对象往往是重要的经济和军事目标,而且又是现场直接控制处理。凡是重要的实时控制系统,往往采用双工机制。通用操作系统•操作系统的三个基本类型:批处理系统、分时系统和实时系统。•通用操作系统:一个系统兼有批量处理、分时处理和实时处理三者或其中两者的功能。[如]分时和批处理相结合,将分时任务作为前台任务,将批量处理作业作为后台任务,便是分时批量处理系统。通用操作系统不仅能满足用户的特殊要求,而且能提高资源的利用率,因此得到广泛应用。操作系统的功能作用•1.存储器管理的功能•2.处理器管理的功能•3.设备管理的功能•4.文件管理的功能•5.用户接口•6.网络与通信管理操作系统功能概述1.存储器管理功能存储器管理主要涉及:•内存分配内存分配的主要任务是为每道程序分配内存空间,但要以存储器利用率最高、减少不可用的内存空间为准则,同时允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。•内存保护内存保护的主要任务是确保每道用户程序在自己的内存空间中运行,互不干扰,也就是说绝不允许用户程序访问操作系统和其他用户的程序和数据。•地址映射一个应用程序经编译后,通常会形成若干个目标程序,这些目标程序再经过链接而形成可执行程序。•内存扩充由于物理内存的容量有限,难以满足用户的需要,存储器管理的任务就是在不增加物理内存的条件下,借助于虚拟内存技术从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多。操作系统功能概述2.处理器管理功能处理器管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。在多道程序环境下,处理机的分配和运行都是以进程为单位,所以对处理器的管理可理解为对进程的管理。进程管理主要包括:进程控制进程同步进程通信调度操作系统功能概述3.设备管理功能设备管理主要涉及:•缓冲管理为达到缓解CPU和I/O设备速度不匹配的矛盾,达到提高CPU和I/O设备利用率,提高系统吞吐量的目的,许多操作系统通过设置缓冲区的办法来实现。•设备分配设备分配的基本任务是根据用户的I/O请求,为他们分配所需的设备。如果在I/O设备和CPU之间还存在设备控制器和通道,则还需为分配出去的设备分配相应的控制器和通道。•设备处理设备处理程序又称设备驱动程序。其基本任务是实现CPU和设备控制器之间的通信。•设备独立性和虚拟设备用户向系统申请和使用的设备与实际操作的设备无关。操作系统功能概述4.文件管理功能文件管理主要涉及:•文件存储空间的管理•目录管理•文件的操作操作系统功能概述5.用户接口为了使用户能灵活、方便地使用计算机和系统功能,操作系统还提供了一组友好的使用其功能的手段称用户接口,它包括两大类:程序接口和操作接口。用户通过这些接口能方便地调用操作系统功能,有效地组织作业及其工作和处理流程,并使整个系统能高效地运行。操作系统功能概述用户接口(操作接口、程序接口)对对象操纵和管理的软件集合(处理机管理软件、存储器管理软件、设备管理软件、文件管理软件)操作系统对象(处理机、存储器、设备、文件)操作系统的逻辑结构操作系统功能概述6.网络与通信管理功能计算机网络源于计算机与通信技术的结合,从单机与终端之间的远程通信,到全世界成千上万台计算机联网工作,计算机网络的应用已十分广泛。联网操作系统至少具有以下管理功能:网上资源管理功能;数据通信管理功能;网络管理功能包括:故障管理安全管理性能管理记帐管理配置管理操作系统功能概述操作系统的组成•通常把组成操作系统程序的基本单位称作操作系统的构件。•1.内核现代操作系统中大都采用了进程的概念,为了解决系统的并发性、共享性和随机性,并使进程能协调地工作,系统必须有一个软件对硬件处理器及有关资源进行管理,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。•2.进程进程是描述静态程序动态执行过程的单位。程序的一次执行创建一个进程,程序运行完毕,进程结束。进程是进行并发程序设计的一个重要手段,进程能确切、动态地刻画计算机系统内部的并发性,更好地解决包括处理器和内存等系统资源的共享性。•3.线程线程是进程中一条执行路径,每个进程中允许有多个并行执行的路径,线程才是系统进行调度的独立单位。可以把线程也看作是一种构件,它是组成进程构件的更小的构件单位。操作系统功能概述处理器管理与进程调度进程调度进程的概念与属性•进程是现代操作系统的一个基本概念,是并发程序出现后出现的一个重要概念,它是指程序在一个数据集合上运行的过程,是系统进行资源分配和调度运行的一个独立单位,有时也称为活动、路径或任务。•进程,作为程序执行的过程,至少有两个方面的性质:一是它的活动性,即进程是动态变化的,且总有一个从创建到消亡的过程;二是它的并发性,即多道程序中每个进程的执行过程,总是与其他执行过程并发执行的。操作系统的运行•进程的状态和转换在计算机中,进程绝大多数情况下处于以下三种状态:•(1)运行状态:进程正在处理机上运行的状态,该进程已获得必要的资源,也获得了处理机,用户程序正在处理机上运行。•(2)阻塞状态:进程等待某种事件完成(例如,等待输入/输出操作的完成)而暂时不能运行的状态,处于该状态的进程不能参加竞争处理机,此时,即使分配给它处理机,它也不能运行。•(3)就绪状态:该进程运行所需的一切条件都得到满足,但因处理机资源个数少于进程个数,所以该进程不能运行,而必须等待分配处理机资源,一旦获得处理机就立即投入运行。操作系统的运行运行状态就绪状态阻塞状态进程因某事件(如等待I/O完成)变成阻塞状态某事件被解除(I/O完成)时间片已用完进程调度程序把处理器分配给进程(1)(2)(3)(4)典型的进程状态演变图操作系统的运行•进程的状态和转换•在具有挂起和激活的系统中,又增加了两种基本的进程状态:挂起就绪和挂起阻塞。•(1)挂起就绪:它是活动就绪进程由其自身或其他进程调用挂起原语而进入的一种状态。处于静止就绪状态的进程没有资格争用CPU,只有其他进程调用激活原语将其激活才行。•(2)挂起阻塞:它是活动阻塞进程由其自身或其他进程调用挂起原语而进入的一种状态。处于挂起阻塞状态的进程,在其挂起期间并不影响其等待事件的发生。下图是具有挂起和激活状态的进程状态变迁图。操作系统的运行运行态活动就绪活动阻塞进程因某事件(如等待I/O完成)变成阻塞状态某事件被解除(如I/O完成)时间片已用完进程调度程序把处理机分配给进程挂起阻塞挂起就绪挂起挂起激活激活某事件被解除(如I/O完成)创建具有静止状态的进程状态变迁图操作系统的运行进程控制处理器管理的一个主要工作是对进程的控制,进程控制是通过进程控制块来实现的。进程控制块PCB及组织方式(1)进程控制块PCB•进程控制块跟踪程序执行过程中的状态,