CoderMrWu

生活诚可期,爱情价更高!

我们常用的操作系统有哪些特征呢?

该文章转载于自考库,如果侵权,请联系删除!

操作系统的特征
作为一种系统软件,操作系统有着与其他软件相比所不同的特征。
1、并发性
并发性是指在计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同 时向前推进。进一步分析,计算机程序的并发性体现在如下具体两个方面:用户程序与用户程序之间并发执行;用户程序与操作系统程序之间并发执行
实际上,从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在处理器上 运行的。在多处理器系统的环境中,多个程序的并发特征,不仅在宏观上是并发的,而且在微观上,即在处理器一级上,程序也是并发执行的。而在分布式系统中,多个计算机的并 存,使得程序的并发特征得到了更充分的体现,因为在每个计算机上都可以有程序执行,它 们共同构造了程序并发执行的图景。
我们在这里的讨论中使用了两个相似的概念:并行性以及并发性。应该说,这两个概念是有区别的。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概 念,即在物理上这些事件是同时发生的。而并发性是指两个或者多个事件在同一时间间隔内发生,它是一个较为宏观的概念,与所使用的时间间隔相对应的、有某种程度的统计意义。 换句话说,这里并行的若干个事件一定是并发的,反之则不真。在单处理器系统中,多个程序的并发执行不具有任何的并行性,因为它们在微观上确实是顺序执行的,没有任何两条指 令是并行执行的。
2、共享性
共享性是指操作系统程序与多个用户程序共用系统中的各种资源。这种共享性是在操作 系统控制下实现的。资源的共享性主要针对计算机系统中的如下几项重要资源。
中央处理器。中央处理器是所有程序都必须使用的最重要的资源,操作系统必须采用恰 当的调度策略,对多个并发程序分配处理器资源。
内存储器。任何一个程序必须首先调入内存之后才能执行。管理内存的公共使用是操作 系统的重要功能之一。
外存储器。外存储器主要用于保存各种程序和数据。这些程序和数据一般以文件的形式 存储在外存储器上。外存储器有各种类型,如硬盘、软盘、磁带、可读写光盘等,这些外存 储器都是为所有的程序和数据共享的,操作系统同样必须对外存储器的共享进行管理,并且 保证在外存储器中所有程序和数据的完整性和正确性。
外部设备。我们知道计算机系统中的外部设备是供所有的用户使用的,这些用户包括操 作系统、系统用户(如管理员)和普通用户。操作系统必须对这些用户对外部设备的使用 要求做出管理,使所有的外部设备能够按照一定的策略被全部用户所共享。
在计算机系统中,对资源的共享一般有两种形式:互斥共享和同时共享
1)互斥共享。系统中的有些资源比如打印机、磁带机、扫描仪等,虽然可以供多个用 户程序同时使用,但是在一段特定的时间内只能由某一个用户程序使用。当这个资源正在被使用的时候,其他请求该资源的程序必须等待,并且在这个资源被使用完了以后才由操作系 统根据一定的策略再选择一个用户程序占有该资源。通常把这样的资源称为临界资源。许多 操作系统维护的重要系统数据都是临界资源,它们都要求被互斥共享。
2)同时共享。系统中还有一类资源,它们在同一段时间内可以被多个程序同时访问。 需要说明的一点是这种同时访问是指宏观上的同时,微观上这些程序访问这个资源有可能还 是交替进行的,而且它们交替访问这个资源的顺序对访问结果没有什么影响。一个典型的可 以同时共享的资源就是硬盘,当然,那些可以重入的操作系统代码也是可以被同时共享的。
3、随机性
操作系统的运行是在一种随机的环境下进行的。这种随机环境的含义是,操作系统不能对所运行的程序的行为以及硬件设备的情况做出任何事先的假定。显然,一个设备可能在任 何时候向处理器发出中断请求,而用户提交的、运行着的程序要做什么事情也无法事先知 道。因而一般来说操作系统正处于什么样的状态之中是无法确切知道的,这就是随机性的含义。但是,随机性并不意味着操作系统不能很好地控制资源的使用和程序的运行,随机性突 出强调了在进行操作系统的设计与实现时要充分考虑各种各样的可能性。操作系统本身应该 稳定、可靠、安全、高效,实现程序并发和资源共享的目的。
四、研究操作系统的观点
我们已经知道,操作系统是计算机系统中的一个极为重要的部分,担负着非常重大的职 责,可以说操作系统身兼数职。要理解操作系统,有必要深人地了解和认识操作系统的本 质,即操作系统究竟是什么。
对操作系统本质的不同看法,会影响操作系统的设计思想。本节介绍研究操作系统的几 种观点。
1、软件的观点
从软件的观点来看,操作系统是一种大型软件系统,它是多种功能程序的集合。作为一 种大型软件系统,操作系统有软件的外在特性和内在特性。
所谓操作系统的软件外在特性是指,操作系统是一种软件,它的外部表现形式,即它的 操作命令定义集和它的界面,完全确定了操作系统这个软件的使用方式。比如,操作系统的 各种命令、各种系统调用及其语法定义等。从操作系统的使用界面上,即从操作系统的各种 命令、系统调用及其语法定义等方面学习和研究操作系统,我们才能从软件的外部特征上把 握住操作系统的性能。
所谓操作系统的软件内在特性是指,操作系统既然是一种软件,它就具有一般软件的结 构特点。然而这种软件又不是一般的应用软件,它具有一般应用软件所不具备的特殊结构。 因此,学习和研究操作系统时就需要研讨其软件结构上的特点,从而更好地把握住操作系统 的内部结构特点。比如,操作系统是直接同硬件打交道的,那么操作系统中同硬件交互的软 件是如何组成的,每个组成部分的功能作用和各部分之间的关系等,都是需要研究的。
2、资源管理的观点
在计算机系统中的硬件和软件资源可以分成以下几部分:中央处理器(CPU)、存储器 (内存和外存)、外部设备和信息(文件)。现代计算机系统支持多个用户、多道作业,那 么,面对众多的用户程序、作业争夺处理器、存储器、设备和共享软件资源,如何协调这些 用户程序和作业呢?如何有条不紊地进行资源分配呢?
操作系统就是负责登记谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了 谁对资源的要求,以及收回哪些不再使用的资源等。操作系统要提供一些机制去协调程序间 的竞争与同步,提供机制对资源进行合理使用,施加保护,以及采取虚拟技术来“扩充” 资源等。图1-2示意了操作系统管理的基本资源。
3、进程的观点
这里简单叙述一下什么是进程,进程可以看作运行中的程序,在以后的章节中将会详细讨论。采用进程的观点,则把操作系统看作由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成。每个进程都完成某一特定任务,任务可以来自用户提交的作业, 也可来自操作系统(如控制用户作业的运行、处理某个设备的输入/输出……)。可见,进程可以把进程分为用户进程和系统进程两大类,而操作系统则控制和协调这些进程的运行
采用进程的观点时,侧重于分析系统各部分的并行工作,研究处理各项管理任务的分割以及这些管理任务相互之间的关系。进程在共享资源时所产生的竞争问题,通过进程之间的通信来解决。
4、虚机器的观点
在操作系统的支持下,用户不需要直接使用硬件机器(称为裸机),而是通过操作系统 提供的各种手段来控制和使用计算机。操作系统把原来的计算机(裸机)扩充成为功能强、 使用方便的计算机系统,我们把这种计算机系统称为虛拟计算机,而把操作系统的全部功 能,包括系统调用、命令、作业控制语言等,统称为操作系统虚机器
虚机器的观点是从系统功能分解的角度出发,考虑操作系统的结构。这种观点将操作系 统的功能分成若干个层次,每一层次完成特定的功能,从而构成一个虚机器,并为上一层次 提供支持,构成它的运行环境。通过逐个层次的功能扩充最终完成整个操作系统虚机器的构 造,向用户提供各种服务,完成用户的作业要求。
5、服务提供者观点
操作系统提供了一系列的功能和便利的工作环境为用户服务,所以可以把操作系统看作是服务提供者。从用户的角度,站在操作系统之外观察操作系统,则可以认为该服务提供者 为用户提供了比裸机功能更强、服务质量更高、更方便的灵活的虚拟机器。为了用户使用上 的便利,该服务提供者提供了一组功能强大的、方便、易用的广义指令(称为系统调用)。
五、操作系统的功能
我们已经知道,操作系统在计算机系统中具有非常重要的地位,承担着计算机系统中全 部的管理功能。按照资源管理的观点,操作系统的这些功能主要可以分为进程管理(处理 器管理)、存储管理、文件管理、作业管理和设备管理。下面分别对它们进行简要的分析介绍。
1、进程管理
进程管理的实质是对中央处理器进行管理,所以进程管理往往又被称为处理器管理。处理器是计算机系统中最宝贵的硬件资源,为了提高处理器的利用率,现代操作系统都采用了多道程序技术。如果一个程序因等待某一条件而不能运行下去时,就把处理器占用权转交给另一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占处理器。为了描述多道程序的并发执行,就要引入进程的概念。通过对进程的管理协调多道程序之间的关系,解决有关处理器分配调度策略、分配的实施和回收等问题,以使处理器资源得到最充分的利用。
由于操作系统对处理器管理策略的不同,操作系统对其作业的处理方式也就不同,例如有批处理方式、分时处理方式和实时处理方式等,从而有各种不同性质的操作系统呈现在用户面前。
进程管理主要包括进程控制、进程同步、进程间通信和进程调度等几方面的内容,其中进程控制主要处理进程的创建、状态转换、进程撤销以及相关的进程资源的分配与回收等事物;进程同步主要处理进程之间的关系,包括进程的同步和互斥;进程间通信主要处理相互协作进程之间信息的交换问题;而进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它。下面分别叙述进程管理的主要内容。
(1)进程控制
在多道程序环境下,进程是操作系统进行资源分配的单位。在进程创建时,系统要为进程分配各种资源,例如内存、外设等;在进程退出的时候,系统要从进程空间中回收被分配给它的资源。进程控制的主要任务就是创建进程、撤销结束的进程以及控制进程运行时候的各种状态转换
(2)进程同步
多个进程的执行是并发的,它们以异步的方式运行,它的执行进度也是不可预知的。为了使多个进程可以有条不紊地运行,操作系统要提供进程同步机制,以协调进程的执行。一般有两种协调方式:互斥和同步。互斥是指多个进程对临界资源访问时采用互斥的形式;同步则是在相互协作共同完成任务的进程之间,用同步机制协调它们之间的执行顺序。
最简单的实现互斥的方法就是给资源加锁,并提供操纵锁变量的原语。包括开锁和关锁原语。所谓原语就是指具有某种功能、运行时有“原子性”的小段程序。原子性保证这段程序要么全部被执行,要么全部不起作用,即这一操作不可以被进一步分割或者打断,如同人们一度认为原子是物质的最小单位,不可再分割一样。有关进程同步与互斥等内容在后面的章节中将详细讲述。
(3)进程间通信
进程间通信主要发生在相互协作的进程之间。既然需要协作,那么协作的进程之间,就存在着信息或数据的交换。由操作系统提供的进程间通信机制是协作的进程之间相互交换数据和消息的手段。一个比较典型的例子是通过网络的在线流式媒体播放。流式媒体源获取线程(线程是现代操作系统中处理器时间分配的基本单位,它代表一个指令的执行流及执行的上下文环境,一个进程可以包含多个线程,这个概念将在后面的章节中详细描述)负责将媒体数据从远端的服务站点下载到本地的数据缓存中;流媒体的播放线程负责将缓存中的数据作流媒体数据分离(视频流和音频流)和解码,还原成实际的图像帧和声音数据;然后渲染线程将把前面的数据送往显示设备和声音设备。整个播放过程中,为了保证播放的流畅,这三个线程的执行是有一定关系的,原始数据获取的速度要比解码的速度快,解码又要和渲染输出的速度匹配。这种执行速度的协调以及数据在不同线程之间的传递就需要进程间通信和进程同步机制来共同保证。
(4)调度
调度又称为处理器调度,通常包括线程调度、进程调度和作业调度等。进程(线程)调度的任务就是从进程(线程)的就绪队列中按照一定的算法挑选出一个将处理器资源分配给它,并准备好特定的执行上下文让它执行起来。作业调度的基本任务则是从作业后备队列中按照一定的算法挑出若干个作业,并依照作业说明书为它们分配一定的资源,把它们装入内存并为每个作业建立相应的进程。
2、存储管理
存储管理的任务是管理计算机内存的资源。在当代计算机系统中,计算机内存空间越来越大,虽然内存空间可以扩充,但是内存空间再大也跟不上运行程序对内存空间的巨大需求。而且内存空间还受到处理器寻址能力的限制,内存的容量不能无限扩充。
概括地说,存储管理有三个方面的任务。首先,当多个程序共享有限的内存资源时,要考虑如何为多个程序分配有限的内存空间;其次,存储在内存中的多个程序和数据应该彼此隔离、互不侵扰;第三,解决内存扩充的问题,即将内存和外存结合起来管理,为用户提供个容量比实际内存大得多的虚拟存储器。下面分别就这三项存储管理功能做进一步的 叙述。
(1)内存的分配与回收
操作系统要为每个进程分配内存空间,在分配的过程中还要尽可能提高内存资源的使用效能。对于已经退出运行的进程所占据的内存空间,操作系统还要把它们加以回收,重新使用。人们在使用计算机时经常会发现,原本很大的内存在使用一段时间以后,似乎丢失了部分空间,仔细检查会看到在空间使用图中,有一大堆空间碎片。这种现象,就是内存的分配与回收算法中的缺陷造成的。可见内存的分配与回收对计算机系统有效运行的影响是很大的。
(2)存储保护
由于内存是供多个程序共享的,从理论上讲,每个程序都应该在分配给自己的内存区中运行。但是,从实际上看,必须考虑某个程序可能发生越界的情况。这是因为,首先,程序自身可能存在一些错误或隐患,造成程序的突然越界运行,不仅自身发生问题,而且影响或破坏了其他用户程序的运行。如果发生故障的程序越界到操作系统运行的内存空间,那么受到危害将更加严重,整个计算机系统有可能崩溃。其次,如果某个程序具有恶意,比如是病毒程序,或者是外界的入侵程序,那么就更有必要防止它们危害其他用户和整个计算机系统了。
在现代的计算机系统中,通常提供有硬件实现的存储保护机制,操作系统则利用这一机制实现进程的地址保护。
(3)内存扩充
我们已经知道物理内存的大小总是有限的,各种程序对运行空间的需求经常超过实际内存的大小。内存扩充功能就是借助于虚拟存储技术在逻辑上增加进程运行空间的大小,这个大小比实际的物理内存要大得多。
在虚拟存储技术中,操作系统通常将地址空间划分为4KB大小的页面,并且以页面为单位进行存储空间的调度。进程所需的总页面数所对应的空间可以超出实际物理空间。
但是操作系统只把正在使用的页面保持在内存中或把即将使用的页面调入到内存中,而将不用的页面调换到外存上,用户感受不到实际内存对使用空间的限制,仿佛有一虚拟的大容量内存存在。当然,系统要实现这一机制,必须提供请求页面调入的功能和页面置换的功能。
3、文件管理
在计算机系统中的信息资源(如程序和数据)是以文件的形式存储在外存储器(如磁盘、磁带)上的,需要时再把它们装入内存。操作系统一般都提供具有强大功能的文件系统。文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。
(1)文件存储空间的管理
任何文件存储在外存储器上,都需要以某种形式占据外存储器的空间。文件系统的一个很重要的功能就是为每个文件分配一定的外存空间,并且尽可能提高外存空间的利用率和文件访问的效能。文件系统设置专门的数据结构纪录文件存储空间的使用情况。为了提高空间利用率,存储空间的分配通常采用离散分配方式,以512B或者几KB的块为基本单位进行分配。
(2)目录管理
目录管理的主要任务就是给出组织文件的方法,它为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取。
(3)文件系统的安全性
安全性包括文件的读写权限管理以及存取控制,用以防止未经核准的用户存取文件,防止越权访问文件,防止使用不正确的方式访问文件。
4、设备管理
在现代计算机系统中,通常存在着大量的外部设备,从键盘、鼠标、显示器到彩色打印机、数字音响设备和DVD等。这些外部设备的种类繁多,功能差异很大。如果要求每个用户亲自对连接到计算机系统中的各种不同的外部设备进行控制操作,实际是行不通的。
操作系统应该向用户提供设备管理。这里的设备管理是指计算机系统中除了处理器和内存以外的所有输入、输出设备的管理。由操作系统的设备管理功能负责外部设备的分配、启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以方便地通过操作系统提供的设备管理手段,对设备进行操作
在操作系统中,为了提高设备的使用效率和整个系统的运行速度,需要采用一系列的技术,包括中断技术、通道技术、虚拟设备技术和缓冲技术等,尽可能发挥设备和主机的并行工作能力。此外,设备管理应为用户提供一个良好的界面,使用户不必涉及具体设备的物理特性即可方便灵活地使用这些设备。
除此之外,操作系统还要具备中断处理、错误处理等功能。操作系统的各功能之间并非是完全独立的,它们之间存在着相互依赖的关系。
5、用户接口
除了上述五项功能之外,操作系统还应该向用户提供使用它自己的手段,这就是用户与计算机系统之间的接口。
从用户的观点来看,操作系统是用户与计算机系统之间的接口。因此,接口管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行。

点赞