2011考研专业复习指导:计算机考研操作系统知识点(1)
随着计算机的发展,计算机系统的硬件和软件资源越来越丰富。为了提高这些资源的利用率和增强系统的处理能力,出现了相应的操作管理程序,作为用户与计算机之间的接口。操作系统(Operating System,OS)是计算机系统中最重要、最基本的系统软件,位于硬件和用户之间。一方面,它能向用户提供接口,方便用户使用计算机;另一方面,它能管理计算机软、硬件资源,以便合理充分地利用它们。根据考试大纲要求,本章要求考生掌握以下知识点:
(1)操作系统的概念、特征、功能和提供的服务;
(2)操作系统的发展与分类;
(3)操作系统的运行环境。
1.1 操作系统的基本概念
操作系统的出现、使用和发展是近四十余年来计算机软件的一个重大进步,它的出现为人们使用各种各样的计算机奠定了重要基础。
1.1.1 操作系统概念
计算机发展到今天,从个人机到巨型机,无一例外都配置一种或多种操作系统,操作系统已经成为现代计算机系统不可分割的重要组成部分,它为人们建立各种各样的应用环境奠定了重要基础。计算机系统包括硬件和软件两个组成部分。硬件是所有软件运行的物质基础,软件能充分发挥硬件潜能和扩充硬件功能,完成各种系统及应用任务,两者互相促进、相辅相成、缺一不可。图1-1给出了一个计算机系统的软、硬件层次结构。
硬件层提供了基本的可计算性资源,包括处理器、寄存器、存储器,以及各种I/O设施和设备,是操作系统和上层软件赖以工作的基础。操作系统层通常是最靠近硬件的软件层,对计算机硬件作首次扩充和改造,主要完成资源的调度和分配、信息的存取和保护、并发活动的协调和控制等许多工作。操作系统是上层其他软件运行的基础,为编译程序和数据库管理系统等系统程序的设计者提供了有力支撑。系统程序层的工作基础建立在操作系统改造和扩充过的机器上,利用操作系统提供的扩展指令集,可以较为容易地实现各种各样的语言处理程序、数据库管理系统和其他系统程序。此外,还提供种类繁多的实用程序,如连接装配程序、库管理程序、诊断排错程序、分类/合并程序等供用户使用。应用程序层解决用户特定的或不同应用需要的问题,应用程序开发者借助于程序设计语言来表达应用问题,开发各种应用程序,既快捷又方便。而最终用户则通过应用程序与计算机系统交互来解决他的应用问题。
图1-1 计算机系统的软、硬件层次结构
计算机系统由硬件、软件和数据组成。在计算机系统的运行中,操作系统提供了利用这些资源的合理途径。操作系统与政府十分相似。像一个政府,其本身并不能做什么。操作系统仅仅提供了一个环境,其他程序可以在此做有用的工作。我们可以从两个视角来研究操作系统:资源视角和用户视角。
从资源管理的角度来看,操作系统是计算机系统中的资源管理器,负责对系统的硬、软件资源实施有效的控制和管理,提高系统资源的利用率。
从方便用户使用的角度看,操作系统是一台虚拟机,是对计算机硬件的首次扩充,隐藏了硬件操作细节,使用户与硬件细节隔离,从而方便用户使用。
尽管操作系统尚未有一个严格的定义,但一般认为:
操作系统是控制和管理计算机软、硬件资源,以尽量合理有效的方法组织多个用户共享多种资源的程序集合。
1.1.2 操作系统特征
一般操作系统具有以下4个基本特征。
1.并发性
并发性(Concurrence)是指两个或两个以上的事件或活动在同一时间间隔内发生。系统内部具有并发机制,能协调多个终端用户同时使用计算机和资源,能控制多道程序同时运行。
在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上(即在多个CPU 上)也是并发的,又称并行的。并行性(Parallelism)是指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同的CPU上同时执行。而在分布式系统中,多台计算机的并存使程序的并发性得到了更充分的发挥。但在单处理机系统中,每一个时刻CPU仅能执行一道程序,故微观上这些程序是在交替运行的。
可见并行性是并发性的特例,而并发性是并行性的扩展。
2.共享性
共享性是操作系统的另一个重要特性。共享是指操作系统中的资源(包括硬件资源和软件资源)可被多个并发执行的进程共同使用,而不是被一个进程所独占。共享的方式可以分成两种:
第一种是互斥访问。系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源,即要求互相排斥地使用这些资源。当一个进程还在使用该资源时,其他欲访问该资源的进程必须等待,仅当该进程访问完毕并释放资源后,才允许另一进程对该资源访问;
第二种是同时访问。系统中还有许多资源,允许同一时间内多个进程对它们进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘,可重入程序也可被同时访问。
与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。
并发性和共享性相辅相成,是操作系统的两个最基本的特征,两者之间互为存在条件。一方面,资源的共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,也必然影响到程序的并发执行,甚至根本无法并发执行。
3.虚拟性
虚拟性是指操作系统中的一种管理技术,它把一个物理上的实体映射为若干个逻辑上的对应物。前者是实际存在的,后者是虚幻的,只是用户的一种感觉。采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。例如,Spooling技术可把物理上的一****占设备变成逻辑上的多台虚拟设备;窗口技术可把一个物理屏幕变成逻辑上的多个虚拟屏幕;IBM的VM技术把物理上的一台计算机变成逻辑上的多台计算机。虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个存储器(虚存)。
4.不确定性
在操作系统中,由于运行环境的影响,程序的运行时间、运行顺序及同一程序或数据的多次运行结果等均具有不确定性。不确定性有两种含义:程序执行结果是不确定的,即对同一程序,使用相同的输入,在相同的环境下运行,却可能获得完全不同的结果,即程序是不可再现的。多道程序环境下,程序的执行是以异步方式进行的。换言之,每个程序在何时执行、多个程序间的执行顺序,以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。例如,作业到达系统的类型和时间是不确定的;操作员发出命令或按按钮的时刻是不确定的;程序运行发生错误或异常的时刻是不确定的;各种各样硬件和软件中断事件发生的时刻是不确定的,等等。
1.1.3 操作系统的作用与功能
操作系统是用户与计算机硬件之间的接口。可以认为操作系统是对计算机硬件系统的第一次扩充,用户通过操作系统来使用计算机系统。换句话说,操作系统紧靠计算机硬件并在其基础上提供了许多新的设施和能力,从而,使得用户能够方便、可靠、安全、高效地操作计算机硬件和运行自己的程序。例如,改造各种硬件设施,使之更容易使用;提供原语和系统调用,扩展机器的指令系统;而这些功能到目前为止还难以由硬件直接实现。操作系统还合理地组织计算机的工作流程,协调各个部件有效工作,为用户提供一个良好的运行环境。经过操作系统改造和扩充过的计算机不但功能更强,使用也更为方便,用户可以直接调用操作系统提供的各种功能,而无须了解许多软硬件本身的细节,对于用户来讲操作系统便成为它与计算机硬件之间的一个接口。
操作系统为用户提供了虚拟计算机(Virtual Machine)。许多年以前,人们就认识到必须找到某种方法把硬件的复杂性与用户隔离开来,经过不断的探索和研究,目前采用的方法是在计算机裸机上加上一层又一层的软件来组成整个计算机系统;同时,为用户提供一个容易理解和便于程序设计的接口。在操作系统中,类似地把硬件细节隐藏并把它与用户隔离开来的情况非常普遍,如I/O管理软件、文件管理软件和窗口软件向用户提供了一个越来越方便的使用I/O 设备的方法。由此可见,每当在计算机上覆盖了一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。所以,当计算机上覆盖了操作系统后,可以扩展基本功能,为用户提供一台功能显著增强、使用更加方便、安全可靠性好、效率明显提高的机器,对用户来说好像可以使用的是一台与裸机不同的虚拟计算机。
操作系统是计算机系统的资源管理者。在计算机系统中,能分配给用户使用的各种硬件和软件设施总称为资源。资源包括两大类:硬件资源和信息资源。其中,硬件资源分为处理器、存储器、I/O 设备等;I/O设备又分为输入型设备、输出型设备和存储型设备;信息资源则分为程序和数据等。操作系统的重要任务之一是对资源进行抽象研究,找出各种资源的共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;研究使用资源的统一方法,为用户提供简单、有效的资源使用手段,最大限度地实现各类资源的共享,提高资源利用率,从而使得计算机系统的效率有很大提高。
操作系统是计算机系统的资源管理者,主要负责管理计算机系统中的软硬件资源,调度系统中各种资源的使用。具体地讲,其主要功能包括以下6种。
1.处理机管理
处理机管理的主要任务是对处理机的分配和运行实施有效的管理。在多道程序环境下,处理机的分配和运行是以进程为基本单位的。因此,对处理机的管理可归结为对进程的管理。进程管理应具有下述主要功能:
(1)进程控制:负责进程的创建、撤销及状态转换;
(2)进程同步:对并发执行的进程进行协调;
(3)进程通信:负责完成进程间的信息交换;
(4)进程调度:按一定算法进行处理机分配。
2.存储器管理
存储器管理的主要任务是对内存进行分配、保护和扩充,为多道程序运行提供有力的支撑,便于用户使用存储资源,提高存储空间的利用率。存储管理的主要功能包括:
(1)内存分配:按一定的分配策略为每道程序分配内存;
(2)存储共享:存储管理能让内存储器中的多个用户程序实现存储资源的共享,以提高存储器的利用率;
(3)内存保护:保证各程序在自己的内存区域内运行而不相互干扰;
(4)内存扩充:为允许大型作业或多作业的运行,必须借助虚拟存储技术来实现增加内存的效果。
3.设备管理
设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率,以及提供每种设备的设备驱动程序和中断处理程序,为用户隐蔽硬件细节、提供方便简单的设备使用方法。设备管理应具有下述功能:
(1)设备分配:根据一定的设备分配原则对设备进行分配。为了使设备与主机并行工作,常需采用缓冲技术和虚拟技术;
(2)设备传输控制:实现物理的输入/输出操作,即启动设备、中断处理、结束处理等;
(3)设备独立性:即用户向系统申请的设备与实际操作的设备无关。
4.文件管理
在现代计算机中,通常把程序和数据以文件形式存储在外存储器(又叫辅存储器)上,供用户使用;这样,外存储器上保存了大量文件,对这些文件如不能采取良好的管理方式,就会导致混乱或破坏,造成严重后果。为此,在操作系统中配置了文件管理,操作系统中负责文件管理的部分称为文件系统。其主要功能如下:
(1)文件存储空间的管理:负责对文件存储空间进行管理,包括存储空间的分配和回收等功能;
(2)目录管理:目录是为方便文件管理而设置的数据结构,它能提供按文件名存储的功能;
(3)文件操作管理:实现文件的操作,负责完成数据的读/写;
(4)文件保护:提供文件保护功能,防止文件遭到破坏。
5.网络与通信管理
计算机网络源于计算机与通信技术的结合,近20年来,从单机与终端之间的远程通信,到今天全世界成千上万台计算机联网工作,计算机网络的应用已十分广泛。联网操作系统至少应具有以下管理功能:
(1)网上资源管理功能。计算机网络的主要目的之一是共享资源,网络操作系统应实现网上资源的共享,管理用户应用程序对资源的访问,保证信息资源的安全性和完整性;
(2)数据通信管理功能。计算机联网后,节点之间可以互相传送数据,进行通信,通过通信软件,按照通信协议的规定,完成网络上计算机之间的信息传送;
(3)网络管理功能。包括故障管理、安全管理、性能管理、记账管理和配置管理等。
6.用户接口
为了使用户能灵活、方便地使用计算机和系统功能,操作系统还提供了一组友好的使用其功能的手段称用户接口。通常,操作系统为用户提供以下两种接口:命令接口和程序接口。
(1)命令接口:提供一组命令供用户直接或间接控制自己的作业,近年来出现的图形接口是命令接口的图形化。
(2)程序接口:提供一组系统调用,供用户程序和其他系统程序调用。
1.1.4 操作系统提供的服务
操作系统要为用户程序的执行提供一个良好的运行环境,因此,操作系统为程序和用户提供了一系列的操作系统服务,而且这些服务可使程序员更容易地完成他的工作。操作系统提供的服务类型主要有公共服务类型和系统调用的类型。
1.操作系统的公共服务类型
操作系统的公共服务类型主要有:程序执行,I/O操作,文件系统操作,资源分配,拥挤和保护,通信和差错检测。
2.系统调用的类型
系统调用的类型是根据操作系统所提供服务的功能来决定的。系统调用分为进程管理、设备管理、文件操作、信息维护及通信。