”实时操作系统——非实时操作系统“ 的补充

“实时操作系统——非实时操作系统”,其实这种说法并不准确,下面是一些操作系统的基本知识。


2.4 计算机操作系统的分类
操作系统种类很多,也具有不同的特征,对操作系统的分类,可以基于不同的观点。
1. 从计算机体系结构的角度分类
        单机操作系统(单机单任务操作系统,单机多任务操作系统)。
        主从式多终端操作系统。
        多机多用户操作系统。
        网络操作系统。
        分布式操作系统。
2. 从操作系统工作的角度分类
        单用户系统。
        批处理系统。
        分时系统。
        实时系统。
3. 从操作系统设计的角度分类
        面向进程的操作系统。
        面向对象的操作系统。
针对信息管理和信息处理技术的发展,以下从操作系统工作的角度,简要介绍几种主要操作系统的类型。
2.4.1  单用户操作系统
单用户操作系统面对单一用户,所有资源均提供给单一用户使用,用户对系统有绝对的控制权。单用户操作系统是从早期的系统监控程序发展起来的,进而成为系统管理程序,再进一步发展为独立的操作系统。它是针对一台机器、一个用户的操作系统。
单用户操作系统在作业运行前,用户必须初始化所有硬件条件和环境(如寄存器状态、设备分配与状态等),设置必要的输入/输出设备,并将操作系统的一个核心部分常驻留在系统的主存储器中。然后,初始化后的系统装入并开始运行应用程序,运行完毕,系统又回到初始状态,以便下一用户能够工作,如图2-4所示。单用户操作系统是为独立用户服务的,多个用户只能分别操作,分别独占所有系统资源。  

 
图2-4 单用户操作系统
2.4.2 批处理操作系统
批处理系统一般分为两种概念,即单道批处理系统和多道批处理系统。它们都是成批处理或者顺序共享式系统,它允许多个用户以高速、非人工干预的方式进行成组作业工作和程序执行。批处理系统将作业成组(成批)提交给系统,由计算机顺序自动完成后再给出结果,从而减少了用户作业建立和打断的时间。
1. 单道批处理系统
单道批处理系统是在单用户操作系统的基础上发展起来的,其目的是减少员工操作,减少作业建立和结束的时间浪费。
在单道批处理系统中,所有用户的作业均交由操作员通过输入设备送入计算机,由操作员、控制台启动并控制计算机,监视作业运行,得到运行结果,交付用户。作业在整个执行过程中,不与用户发生任何关系,用户不能与作业交互作用,一旦作业出错则停止该作业,同时启动下一作业执行。而且,在输入/输出操作过程中,CPU处于等待状态。
单道批处理系统是早期计算机系统配置的一种操作系统类型,也具有简单的传统操作系统的资源管理功能模块。
作业管理完成命令的解释和作业的定序,即解释执行用户作业命令并决定作业的次序,依次将它们调入内存,将处理机分配给调入的作业使之运行,这种作业管理无须作业调度和进程调度,作业完成的顺序只与他们进入内存的顺序有关。存储管理对进入的作业分配所需的内存,并将作业中的多个程序模块装配成一个可执行的整体程序,然后投入运行。在整个运行过程中,内存中始终只有一道作业,只有当前一道作业运行完毕或者出现不能处理的异常情况时,才调入下一道作业进入内存运行。设备管理则根据命令来控制输入/输出设备的方向,即设备的启动、驱动和读写,处理来自设备的中断。同时,通过简单的文件管理进行系统中程序的保存与后援。
2. 多道批处理系统
多道批处理系统基于多道程序技术的应用,也就是说,在内存中可以同时存放多个用户作业(程序),允许这些作业在系统中交替运行。在多道批处理系统中,用户可以通过系统提供的各种功能,如作业控制语言、命令、程序等,将用户程序、数据等分别提交给系统,在外部存储设备上形成作业的后备等待队列。系统根据一定的调度原则从这些队列中选取若干作业调入内存。在内存中的这些作业按照多道方式组织它们的运行,某一道作业运行完毕或暂停运行,系统就调入新的作业,内存中始终存放多个作业,它们交替运行。这样,作业不断进入系统,又不断退出系统,形成源源不断的作业流,从而大大提高了系统的资源利用率和系统的吞吐率。多道批处理与单道批处理的主要区别在于:第一,在作业管理中必须有作业调度功能和进程调度功能。宏观上的作业调度是从外存上选择若干作业调入内存,微观的进程调度是从主流在内存的多个作业中选择一个,使它获得处理机并执行。第二,多道批处理在内存中可以同时存放多道作业,宏观上这些作业在同时进行,而每一时刻则只有一道作业在运行。而且作业完成的顺序与它们进入内存的顺序无严格的对应关系,后进入内存的程序可能先完成。
批处理系统的输入和输出是两个很重要的问题,早期采用穿孔卡片作为输入,控制台打印机作为输出。其中,采用间接存储缓冲(磁带卷)称为脱机方式(off-line),采用直接存储缓冲(磁盘)称为联机方式(on-line),典型的是Spooling方式。
批处理系统的主要优点是系统的吞吐量大,资源利用率高,操作系统的开销较小。它的缺点在于作业处理的平均周转时间较长,用户交互能力较弱等。在现代操作系统中,已经没有单一的批处理系统了,而是将批处理的概念和批处理的技术融合在现代操作系统中,成为一种不可缺少的功能服务模块。而且,现今的批处理也已经与传统的批处理有了较大的不同,已经从传统的单一的作业顺序执行、用户不能干预,发展到批处理系统可控的顺序执行和有限的用户干预,甚至具有了高级逻辑编程和控制的功能。UNIX操作系统中的Shell就是一个典型的例子。
2.4.3  分时操作系统
分时系统(Time Sharing System)也是一类多道程序系统,它基于主从式多终端的计算机体系结构。一台功能很强的主计算机(mainframe)可以连接多个终端(几十台、上百台终端),提供多个用户同时上机操作。每一个用户通过自己操作的终端,把用户作业送入主计算机,计算机也通过终端向各用户反馈其作业运行的情况。主计算机采用时间分片的方式(几分时)轮流地为各个终端上的用户服务,及时地对用户的服务请求予以响应。虽然物理上只有一台计算机,但是每一个用户都可以得到及时的服务响应,每一个用户都感觉到是一台计算机在专门为他服务,这就是分时系统。
分时系统中的分时概念不同于硬件设计中分时使用某个设备或部件,它是将主计算机CPU的运行时间分割成一个个长短相等(或者基本相等)的微小时间片,把这些时间片依次轮流地分配给各个终端用户的程序执行,每个用户程序仅仅在它获得的CPU时间片内执行。当时间片完结,用户又处于等待状态,此时CPU又在为另一个用户服务。用户程序就是这样断断续续,直到最终完成执行。虽然在微观上(微小时间片的数量级)用户程序的执行是断续的,作业运行是不连续的,但是在宏观上,用户的任何请求服务总能够及时得到响应。
分时系统具有如下基本特征。
1. 同时性
若干用户通过各自的终端同时使用一台计算机,从宏观上看,所有用户是在同一时间并行工作的,但从微观上看,各个用户是轮流使用计算机的。
2. 独立性
虽然多个用户通过多个终端同时使用一台计算机,但用户之间相互独立操作,互不干扰,由操作系统保证各个用户程序运行的完整性。
3. 及时性
系统保证对每一个用户的输入请求做出及时的响应,使用户感觉到是他自己在使用和控制计算机。
4. 交互性
系统通过终端完成用户与计算机系统的交互操作和对话,用户通过终端发出的命令和服务请求,系统通过终端向用户反馈信息。
分时系统也称为交互式系统,它与批处理系统有明显的区别也具有常规操作系统应有的功能模块。为确保分时系统的整体功能和实现多用户分时操作的特征,分时系统还需要考虑如下重要问题:
分时时间片的长短是一个重要问题,它将影响终端用户得到的及时响应。由于系统中的用户终端数是有限的,只要时间片的长短选择的适当,每一个终端用户从放弃CPU到下次再获得CPU的等待时间就不会很长,不会影响用户程序的执行和终端操作。如果时间片过长,用户等待时间将会延长,严重影响用户操作、思维和心理。而时间片过短,就会增加系统本身的开销。大量的时间浪费在程序切换、终端切换和内部管理上。
其次,用做分时系统主计算机的系统配置也将影响分时系统的性能,如果主机系统运行速度太慢,主存容量太小,I/O接口通道太窄,都会直接影响到终端用户的及时响应,影响到交互操作。此时,用户发出请求命令后迟迟得不到系统的响应,将会对系统的操作产生怀疑,甚至产生厌烦情绪。每增加一台终端,每开启一个用户,系统反应速度将会更慢。所以,主计算机的配置要求一定要能够满足分时操作系统的要求,硬件系统和软件系统的紧密配合才能更好的发挥分时操作系统的功能。
早期著名的分时操作系统是美国麻省理工学院研制的CTSS(Compatible Time-Sharing System)和MULTICS(Multiplexed Information and Computing Service)系统,以及稍后IBM公司推出的TSS/360分时系统。然而 ,流行最广的分时系统是UNIX,它完整有效地体现了分时系统的强大功能,在各个应用领域得到了广泛的应用。不过,目前的UNIX系统与早期的UNIX系统已经大不一样,遵循开放式系统的要求,UNIX系统在内核、功能模块布局、功能调用增加与扩展、网络通信与分布式操作方面得到了极大的发展,从早期以大型机作为宿主机,发展到可以在工作站、微型机和网络服务器上,并根据不同的领域,推出了各种强有力的版本。
2.4.4 实时操作系统
实时系统(Real Time System)是另一类特殊的多道程序系统,它主要应用于需要对外部事件进行及时响应并处理的领域。
什么是实时?实时含有立即、及时的意思。所以,对时间的响应是实时系统最关键的因素。实时系统是指系统对输入的及时响应,对输出的按需提供,无延迟的处理。换句话说,计算机能及时响应外部事件的请求,在规定的时间内完成事件的处理,并能控制所有实时设备和实时任务协调运行。
实时系统可以分为实时控制系统和实时信息系统,两者的主要区别一是服务对象,二是对响应时间的要求。
实时控制系统通常是以计算机为中心的过程控制系统,也称为计算机控制系统。它既用于生产过程中的自动控制,包括自动数据采集、生产过程监测、执行机构的自动控制等等。也可以用于监测制导性控制,如武器装备的制导、交通控制、自动驾驶与跟踪、导弹火箭与航空航天器的发射等。这样的控制系统根据控制的对象的不同,还可以分为开环控制和闭环控制。
实时信息系统通常指实时信息处理系统,它可以是主机型多终端的联机系统,也可以是远程在线(Online)式的信息服务系统,还可以是网络互联式的信息系统。作为信息处理的计算机接收终端用户或者远程终端用户发来的服务请求,系统分门别类地进行数据与信息的检索、查找和处理,并及时反馈给用户。实时信息系统的开发都是与具体的应用领域分不开的,例如,航空订票系统、情报检索系统、信息查询系统等。
实时系统具有如下的特征。
1. 及时性
实时系统的及时性是非常关键的,主要反映在对用户的响应时间要求上。对于实时信息系统,其对响应时间的要求类似于分时系统,是由操作者所能接受的等待时间来确定的,通常为秒级。对于实时控制系统,其对时间的响应要求是以控制对象所能接受的延迟来确定的,它可以是秒级,也可能短至毫秒、微秒级。
当然,响应时间的决定,既依赖于操作系统本身,也依赖于操作系统的宿主机的硬件的处理速度。
2. 交互性
实时系统的交互性根据应用对象的不同和应用要求的不同,对交互操作的方便性和交互操作的权限性有特殊的要求。由于实时系统绝大多数都是专用系统,所以对用户能进行的干预赋予了不同的权限,例如,实时控制系统在某些情况下不允许用户干预而实时信息系统只允许用户在授权范围内访问有关计算机资源。
3. 安全可靠性
这是实时系统最重要的设计目标之一。对实时控制系统,尤其是重大控制项目,如航天航空、核反应、药品与化学反应、武器控制等,任何疏忽都可能导致灾难性后果,必须考虑系统的容错机制。对实时信息系统,则要求数据与信息的完整性,要求经过计算机处理、查询并提供给用户的信息是及时的、有效的、完整的和可用的。
4. 多路性
实时系统也具有多路性。实时控制系统常具有现场多路采集、处理和控制执行机构的功能,实时信息系统则允许多个终端用户(或者远程终端用户)向系统提出服务要求,每一个用户都会得到独立的服务和响应。
早期著名的实时操作系统有PTOS等,而目前,随着计算机硬件处理能力的进一步加强,许多现代操作系统中已经具备了实时处理的能力,具有了实时时钟管理和实时处理功能模块。
现代操作系统的发展已经远远超出了上述所讨论的单一的、基本类型的操作系统,目前,一个操作系统既含有批处理,也具有分时处理和(或者)实时处理功能,这就是我们平常所称的通用操作系统。在通用操作系统中,往往把作业的调度分为前台(Foreground)和后台(Background),这里,前台与后台的含义是一个作业调度的优先级问题。位于前台的作业比位于后台的作业优先响应并处理,只有前台作业不需要使用处理机时,后台作业才能够得到处理机的控制权,一旦前台作业需要处理,后台作业要立即交出处理机控制权。可见,位于后台的作业是利用前台作业的空闲时间片来运行和处理的,位于前台的作业多是需要及时响应的、重要而关键的用户作业,如大量交互式请求作业;位于后台的作业多是无须或者很少用户直接干预的作业,如批量处理作业等。
2.4.5 网络操作系统 
随着社会的信息化,计算机技术、通信技术和信息处理技术蓬勃发展,产生了计算机信息网络的概念,而信息网络的物理基础则是计算机网络。
计算机网络的定义在第3章中将明确给出。网络系统软件中的重要一环是网络操作系统,有人也将它称为网络管理系统,它与传统的单机操作系统有所不同,它是建立在单机操作系统之上的一个开放式的软件系统,它面对的是各种不同的计算机系统的互连操作,面对不同的单机操作系统之间的资源共享、用户操作协调和与单机操作系统的交互,从而解决多个网络用户(甚至是全球远程的网络用户)之间争用共享资源的分配与管理。
2.4.6 分布式操作系统
大量的计算机通过网络被连接在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统。分布式操作系统的特征如下。
1. 统一性
即它是一个统一的操作系统。
2. 共享性
即所有的分布式系统中的资源是共享的。
3. 透明性
其含义是用户并不知道分布式系统是运行在多台计算机上,在用户眼里整个分布式系统中的许多计算机就像是一台计算机,对用户来讲是透明的。
4. 独立性
即处于分布式系统的多个主机都处于平等地位,在物理上独立。
分布式系统的优点是它的分布式。分布式系统可以以较低的成本获得较高的运算性能。分布式系统的另一个优点是它的可靠性。由于有多个独立的CPU系统,因此当一个CPU系统发生故障时,整个系统仍旧能够工作。对于高可靠的环境,如核电站等,分布式系统是有其用武之地的。
网络操作系统与分布式操作系统在概念上的主要区别是,网络操作系统可以构架于不同的操作系统之上,也就是说它可以在不同的本机操作系统上,通过网络协议实现网络资源的统一配置,在大范围内构成网络操作系统。在网络操作系统中并不要求对网络资源进行透明的访问,即需要指明资源位置与类型,对本地资源和异地资源访问区别对待。分布式比较强调单一性,它是由一种操作系统构架的。在这种操作系统中,网络的概念在应用层被淡化了。所有资源(本地的资源和异地的资源)都用同一方式管理与访问,用户不必关心资源在哪里,或者资源是怎样存储的。

2.5 计算机操作系统的特征
2.5.1 并发性
并发是指在某一时间间隔内计算机系统中存在着多个程序活动。术语并发与并行是有区别的。并行是指在同一时刻计算机内有多个程序都在执行,这只有在多CPU的系统中才能实现。在单CPU的计算机系统中,多个程序是不可能同时执行的。并发是从宏观上(这种“宏观”也许不到一秒的时间)看多个程序的运行活动,这些程序在串行的、交错的运行,由操作系统负责这些程序之间的运行切换,人们从外部宏观上观察,有多个程序都在系统中运行。

2.5.2 共享性
共享是指多个程序或用户共享系统的软、硬件资源,共享首先处于经济方面的考虑,因为向每一个用户分别提供所有的资源是非常浪费的。共享可以提高各种系统设备和系统软件的使用效率。在合作开发某一项目时,同组用户共享软件和数据库可以大大提高开发效率和速度。
共享方式可以分为互斥共享和同时共享。互斥共享的设备有打印机、磁带机、绘图仪等,这些设备不允许两个作业同时访问,只有当一个作业使用完毕并释放了所占的资源后,才允许另一个作业访问。有些快速设备如磁盘,尽管也能允许多个作业串行的访问,但由于作业访问和释放该资源时间极短,在宏观上可看做允许多个作业同时访问,这类设备的共享方式也称为是同时共享。
2.5.3  虚拟性
操作系统向用户提供了比直接使用裸机简单方便得多的高级的抽象服务,从而为程序员隐藏了对硬件操作的复杂性,这就相当于在原先的物理计算机上覆盖了一至多层系统软件,将其改造成为一台功能更强大而且易于使用的扩展机或虚拟机。例如,分时系统就是把一个计算机系统虚拟为多台逻辑上独立、功能上相同的系统,SPOOLING系统可以将一台I/O设备虚拟为多台逻辑设备,或将一台互斥共享设备虚拟成同时共享设备。一条物理信道也可虚拟为具有很多“端口”的多个逻辑信道。
2.5.4 不确定性
不确定性指的是同样一个数据集的同一个程序在同样的计算机环境下运行,每次执行的顺序和所需的时间都不相同。产生这种现象的原因是由于多道程序下的操作系统内部的活动是极其复杂的,这些活动之间又有错综复杂的联系。系统内活跃作业数量的变化及它们之间复杂的联系、程序的输入/输出请求、从外部设备发出的中断等大量事件发生的时间都是不可预测的,外部设备的速度也存在细微的不确定的变化,因此,作业就在不可预测的次序中前进,即程序执行过程是不可预测的。
操作系统的不确定性不是指程序执行结果的不确定。程序执行结果不确定性的原因往往是由于程序设计本身的错误或由于各程序之间的配合不当而引起的。由于这些结果的不确定又是在操作系统复杂的不确定性环境下发生的,使得程序每次执行情况不易复现,更增加了程序调试排错的困难。
从另一方面来说,操作系统是一个极其庞大、复杂的软件系统,它也不会是十全十美的。在某些特殊情况下,一些较为隐蔽的问题可能暴露出来,这种错误同样也不易复现和难以调试。这好比城市的交通,由于受到不可预测的因素的影响,交通事故也是不可能复现的一样。一个大型的操作系统在经过测试和交付用户使用以后,还可能隐含有几百上千个潜在的缺陷(Bug),操作系统的这种缺陷往往需要几年、十几年的维护时间来修复,并且也很难彻底消除。
                                            2.6 计算机操作系统的功能
2.6.1 CPU管理
CPU是整个计算机系统中的核心硬件资源。它的性能和使用情况对整个计算机系统的性能有关键的影响。CPU是较为昂贵的资源,它的速度一般比其他硬件设备的工作速度要快得多,其他设备的正常运行往往也离不开CPU。因此,有效的管理CPU,充分的利用CPU资源也是操作系统最重要的管理任务。
在多道程序的环境中,CPU分配的主要对象是进程,操作系统通过选择一个合适的进程占有CPU来实现对CPU的管理,因此,对CPU的管理归根结底就是对进程的管理。操作系统有关进程方面的管理任务很多,主要有进程调度、进程控制、进程同步与互斥、进程通信、死锁检测与处理等。
2.6.2 存储管理
存储器可以说是另一种最重要的系统资源,存储器对作业的重要程度就如同土地对于人类。一个作业要在CPU上运行,它的代码和数据就要全部或部分地驻在内存中。操作系统也要占相当大的内存空间。在多道程序系统中,并发运行的程序都要占有自己的内存空间,因此内存总是一种紧张的系统资源。存储管理的任务是对要运行的作业分配内存空间,当一个作业运行结束时要收回其所占用的内存空间。为了使并发运行的作业相互之间不受干涉,不能有意或无意地存取自己空间之外的存储区,从而干扰、破坏其他作业的运行,操作系统要对每一个作业的内存空间和系统内存空间实施保护。
在现代的计算机系统中,并发运行的作业越来越多,单个作业也越来越大。尽管近年来计算机的内存也在不断扩大,但是有限的内存还是不能满足系统中增长很快的并发作业对内存的需求。为了解决这个问题,让更多的作业在系统中并发运行,操作系统使用虚拟存储管理技术可向作业提供大于实际物理内存的存储空间。运行作业的一部分代码和数据可先装入内存,另一部分则驻在外存,当作业到达某个运行阶段需要访问这部分程序空间时,再将它们从外存调入内存。运行作业在内存部分和外存部分的交换还要涉及到地址交换技术。
2.6.3 设备管理
计算机系统的外围设备种类繁多、控制复杂、价格昂贵。相对CPU来说,外部设备运转速度比较慢。如何提高CPU和设备的并行性,充分利用各种设备资源,便于用户和程序对设备的操作和控制,长期以来一直是操作系统要解决的主要问题。
计算机设备大致可以分为字符块的设备和字符设备两大类型。主机与字符块设备之间每次传输一个“块”大小的数据,块大小一般为512字节、1024字节、2048字节或4096字节等。主要的块设备有硬盘、软盘、磁带和光盘等。主机与字符设备之间每次传输一个字节,常见的字符设备是终端、屏幕、打印机、绘图仪、串/并行口和通信口等。
为了提高CPU与外部设备运行的并行速度,CPU与设备进行数据传输时一般经过通道和控制器并利用中断进行。时钟是一种较为特殊的I/O设备,一般也把它归为字符设备。
设备管理主要任务有设备的分配和回收、设备的控制和信息传输技术及设备驱动。由于系统要支持众多各种各样的设备,而且各类设备的控制和信息传输操作差别极大,因此设备管理方面的系统代码在操作系统核心中占有相当大的部分。一般与各种设备密切相关的代码是由设备制造商或专门的软件生产商编制,以可卸装的形式植入操作系统的内核。
设备管理还涉及到以下两个部分:
虚拟设备管理。将一些独占的物理设备改造成共享的逻辑设备,以提高设备利用率和程序执行速度,也可以将一台物理设备虚拟成多台同类逻辑设备。
缓冲管理。管理设备与CPU交换信息时所用到的缓冲,以解决CPUI/O设备速度不匹配的问题。
2.6.4 文件管理
文件是计算机中信息的主要存放方式,也是用户存放在计算机中最重要的资源或财富。文件管理的主要目的是将文件长期地,有组织、有条理地存放在系统之中,并为用户和程序提供方便的建立、打开、关闭、撤销等存取接口,便于用户共享文件。文件管理的主要功能有文件存储空间的分配和回收、目录管理、文件的存取操作控制、文件的安全与维护、文件逻辑地址与物理地址的映像、文件系统的安装、卸除和检查等。
2.6.5 用户接口
配置操作系统的重要目的就是为了方便用户使用计算机。操作系统内核通过系统调用向应用程序提供了很友好的接口,方便用户程序对文件和目录的操作,申请和释放内存,对各类设备进行I/O操作,以及对进程进行控制。此外,操作系统还提供了命令级的接口,向用户提供了几百条程序命令,使用户方便地与系统交互。这些程序有的通过系统调用或系统调用的组合完成更为复杂的功能,有的不必与系统的核心交互,它们都极大地丰富了操作系统的软件宝库,方便交互用户操作文件和设备以及控制作业运行。
为了便于系统的维护、管理和便于用户利用命令界面自动地完成复杂的作业以及运行和控制任务,操作系统一般都提供作业运行控制或命令程序接口,典型的是UNIXShell程序。由于命令程序的基本执行单位是命令,故其一条语句所能完成的工作比若干条普通高级语言语句强得多。一些系统的自举过程主要是由命令程序完成的,这样也便于系统管理员通过修改这些程序来裁剪自己的系统配置。超级用户能利用命令文件自动的完成系统维护工作,普通用户也能利用命令文件进行软件设计与编制或进行大型软件系统的原型设计。
近年来图形用户界面发展得很快,如X WindowsWindows 3.xWindows 98Windows NT,以及Windows 2000等,这种以图形和菜单作为主要显示界面以及鼠标作为主要的输入方式受到了广大计算机用户的欢迎,并对计算机的普及起到了关键性的作用。
2.6.6 运行机制
操作系统在工作过程中,不断接收来自系统内部和外部的各种事件引起的中断,根据不同的情况和请求,进行宏观的作业调度和微观的进程调度,完成系统资源的监测、分配和回收。在这些过程中,它将不断地填写、改动、更新各个与任务和进程有关的表格,建立新的数据记录,使这些数据随时随地被记录并代表进程的各种不同状态。所以,操作系统的运行结构实际上是系统相关数据结构的反复不断地改动与更新。对这些数据结构与表格的处理所占用的计算机时间,叫做操作系统的开销,操作系统的开销是操作系统设计过程中要考虑的一个重要问题。操作系统中所使用的数据结构合理与否,关系到操作系统开销的大小。
操作系统的内部运行过程也是进程的状态不断变迁的过程。一个用户作业从外部提交给系统就等待调度,等待被装入内存。一旦作业被装入,根据不同情况会创建若干进程,并等待处理器的分配。一旦进程获得处理器就开始运行,运行中的进程要么正常运行结束而退出,要么被某个事件中断而暂时停止,而转去运行另一个进程,直到所有进程全部终止。操作系统不厌其烦地在这些状态之间切换,不断更新表格中的内容,完成进程的管理和调度。
对操作系统的运行的理解,读者必须要与顺序程序执行予以区别。顺序程序模块的执行顺序是可知的,而操作系统的任何一个程序模块在什么时候运行是未知的,它需要有许多因素来决定。
操作系统中的术语
Spooling 是一种虚拟设备技术,其核心思想是从一台共享设备(通常是高速,大量的磁盘)上模拟独占设备的操作,把一台低速独占设备改造为若干台可并行操作的虚拟设备,即把独占设备变成逻辑上的共享设备。
进程 程序处于一个执行环境中在一个数据机上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。
进程同步与互斥 两个或两个以上进程要协作完成一个任务,它们之间就要互相配合,需要与某些动作之间同步,即一个进程的某些动作与协作进程的某些动作之间在时序上要有一定的关系。如果协作进程的某些操作没有完成,那么进程就要在执行路径的某些点上等待这些操作的完成,之后才能继续执行下去。
而互斥是指在两个或两个以上的进程竞争某些同时只能被一个进程使用的资源情况下,进程互斥的使用这类资源。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值