电子工业出版社独家提供,严禁转载!
第一章 操作系统概述
随着计算机的发展,计算机系统的硬件和软件资源越来越丰富。为了提高这些资源的利用率和增强系统的处理能力,出现了相应的操作管理程序,作为用户与计算机之间的接口。操作系统(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.不确定性
在操作系统中,由于运行环境的影响,程序的运行时间、运行顺序及同一程序或数据的多次运行结果等均具有不确定性。不确定性有两种含义:程序执行结果是不确定的,即对同一程序,使用相同的输入,在相同的环境下运行,却可能获得完全不同的结果,即程序是不可再现的。多道程序环境下,程序的执行是以异步方式进行的。换言之,每个程序在何时执行、多个程序间的执行顺序,以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。例如,作业到达系统的类型和时间是不确定的;操作员发出命令或按按钮的时刻是不确定的;程序运行发生错误或异常的时刻是不确定的;各种各样硬件和软件中断事件发生的时刻是不确定的,等等。
· | 2022考研复试联系导师有哪些注意事 | 04-28 |
· | 2022考研复试面试常见问题 | 04-28 |
· | 2022年考研复试面试回答提问方法有 | 04-28 |
· | 2022考研复试怎么缓解缓解焦虑心态 | 04-27 |
· | 2022年考研复试的诀窍介绍 | 04-27 |
· | 2022年考研复试英语如何准备 | 04-26 |
· | 2022年考研复试英语口语常见句式 | 04-26 |
· | 2022年考研复试的四个细节 | 04-26 |
· | 2022考研复试准备:与导师及时交流 | 04-26 |
· | 2022考研复试面试的综合技巧 | 04-26 |