第一章 计算机系统概述(1)

一个人几乎可以在任何他怀有无限热忱的事情上成功。 ——查理斯·史考伯

 

目录

 

1.1 操作系统的基本概念

知识框架

1.1.1 操作系统的概念

1.1.2 操作系统的特征

1.1.3 操作系统的目标和功能

1.1.4 习题

总结


1.1 操作系统的基本概念

说到操作系统,就想到了在数据结构链表那里举的一个小吃街的例子,警卫或者称为保安,来管理小吃街,同时协调机动车,我

们也能和警卫进行交流,这是生活中的现象,抽象到计算机的世界里面,我想可以和操作系统有一些联系。

大多数人在用的包括Windows系统与安卓系统、iOS系统、以及在服务器领域占有优势的linux系统,操作系统本身是一个系统软

件,只不过它能协调计算机的资源,包括硬件资源和软件资源。我们日常使用操作系统就是使用交互方式,通过鼠标的点击,来实现

不同的功能。操作系统运行于硬件之上,而应用程序运行于操作系统之上。下面这幅图会有更直观的印象。

 Linux系统架构图

知识框架

    我个人比较喜欢这些框架学习方法,可以养成总体观念,慢慢构建我们的知识树。下面的字体有些斜,权当是活动脖子了

1.1.1 操作系统的概念

 计算机系统从下到上可分为四个层次:硬件、操作系统、应用程序和用户。

层次 组成 功能
用户 学生、上班人员、科研人员等等 使用计算机
应用程序 web浏览器、通信软件、词典、音乐播放器等等 直接面向用户,提供用户所需的功能
操作系统 一个大型软件 协调应用程序使用硬件资源,为用户或应用程序提供接口
硬件 中央处理器、固态硬盘、内存条、显卡等等 是整个计算机系统的基础,提供计算、存储等服务

 综上所述,操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工

作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。计算机操作系统是随着计算机研究和应用的发展逐步形成

并发展起来的,它是计算机系统中最基本的系统软件。
 

1.1.2 操作系统的特征

特征则是某一类事物外在的表现,让我们形成直观的印象,类似于标签,一说到这些印象就会联想到这一类事物。

操作系统的基本特征包括并发、共享、虚拟和异步。

1.并发

 并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,注意这些程序

只是同时存在,而不是同时占用系统资源。(在单处理机环境下),在操作系统中引入进程的目的是使程序能并发执行。

拿博主小时候的例子来说,经常和小伙伴跑着玩,难免弄得脸上手上都是土,就要排着队洗脸。这里假设只有一个水龙头,我们

每个小伙伴对应于计算机中一道程序。规定一个人只能洗两分钟,所以我两分钟洗完后,下一个小伙伴接着洗两分钟,然后再下一

个,直到所有的小伙伴都洗完。这就是并发的例子,最重要的是时间间隔的概念,我们每个小伙伴必须等两分钟这个时间间隔后才能

洗脸(第一个小伙伴除外)。在任一时刻只有一个小伙伴在洗脸。操作系统的并发性也是通过分时来实现的(俗话说轮流)

 这里还有一个并行的概念,所谓并行则是两个或多个事件在同一时刻发生,时刻就是一个时间点。继续上面的例子,假如有两个水龙

头,我和小伙伴们就可以分成两队,这样洗脸的速度会大大加快,并且,在任一时刻都有两个小伙伴在洗脸。计算机的并行性需要相

关硬件的支持(我们都加了一个水龙头),如多流水线或多处理机硬件环境。

2.共享

共享就是共同享有某些资源的使用权。是指系统中的资源可供内存中多个并发执行的进程共同使用,共享可分为互斥共享方式和同时

访问方式

(1)互斥共享方式

典型的例子则是打印机,不可能一个打印机同时打印所有用户的资料,这样会造成混乱。在打印店里我们必须等没有人打印室我们才

能使用打印机进行打印。应规定一段时间内只允许一个进程访问该资源。简单地说,进程是程序的一部分,程序运行的时候会产生进

程。我们后续章节会详细介绍进程。

访问资源时必须先看有没有其它进程使用,没有使用自己则能使用,否则必须等待,直到前面的进程不使用时,自己才能使用,

我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的

大多数物理设备及某些软件中所用的栈、变量和表格,都属于临界资源,它们都要求被互斥地共享。
 

(2)同时访问方式

       这一类资源允许在一段时间内由多个进程同时访问。这里所说的同时通常是宏观上的,而在微观上,这些进程可能是交替的对该

资源进行访问即“分时共享”。典型的资源是磁盘设备。

       注意,互斥共享是必须某个进程使用完毕,完成自己所有的任务后,后一个进程才能访问该资源。

       而同时访问是指进程之间交替访问,把一个大任务分成若干个小任务,每个进程在轮到自己使用资源时,完成一个小任务后就释

放对该资源的使用权,交给后一个进程使用。效果与连续完成相同。

并发和共享是操作系统两个最基本的特征,两者之间相互依存。

资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题:
 

若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。

3.虚拟

虚拟就是客观在并不存在,依赖于宿主环境,但让用户感觉到似乎存在,比如虚拟机,虚拟一台电脑,但是还是使用的宿主机的资

源。

操作系统利用虚拟技术来实现虚拟处理器、虚拟内存、虚拟外部设备等等。

①虚拟处理器采用多道程序设计技术,让多道程序并发执行,分时使用处理器,但每个用户都感觉有专门的处理器供自己使用。

如下图的每个结点分时使用核心来为自己服务。

②虚拟存储器就是把一台机器的物理存储器变成虚拟存储器,逻辑上扩大了存储器的容量,用户使用起来可以并发运行多道程序,但

其实物理存储并没有改变。这里用到了程序的局部性原理,即一个程序的运行成功只需要该程序的某一部分,我们只要把该部分装进

内存(RAM),其余部分则留在硬盘(DISK),这样,另一个程序也按照上述操作可以被装进内存,逻辑上扩大了存储器的容量。

③还可采用虚拟设备技术将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,使原来仅允许

在-段时间内 由一一个用户访问的设备(即临界资源)变为在一段时间内允许多个用户同时访问的共享设备。

因此,操作系统的虚拟技术可归纳为  :时分复用技术,如处理器的分时共享:   空分复用技术,如虚拟存储器。
 

4.异步

       多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度

向前推进,这就是进程的异步性。异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变

量的访问顺序不当会导致程序出错一样)。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。
 


1.1.3 操作系统的目标和功能

为了给多道程序提供良好的运行环境,操作系统应具有以下几方面的功能:处理机管理、存储器管理、设备管理和文件管理。为了

方便用户使用操作系统,还必须向用户提供接口。同时,操作系统可用来扩充机器,以提供更方便的服务、更高的资源利用率。我们

用一个直观的例子来理解这种情况。例如,用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机、存储器、设备、

文件几个部件构成),工人有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理:同时,工人必须接收雇主的

命令,这就是“接口”:有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”。


 

(1)操作系统作为计算机系统资源的管理者


①处理机管理


在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。并发是指

在计算机内同时运行多个进程,因此进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要的任务。

进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。


②存储器管理


存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配、地址映射、内存

保护与共享和内存扩充等功能。


③文件管理


计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录

管理及文件读写管理和保护等。


④设备管理


设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理

和虚拟设备等功能。

这些工作都由“工人”负责,“雇主”无须关注。


 

(2)操作系统作为用户与计算机硬件系统之间的接口


为方便用户使用计算机,操作系统还提供了用户接口。操作系统提供的接口主要分为两类:一类是命 令接口,用户利用这些操作命令来

组织和控制作业的执行:另一类是程序接口,编程人员可以使用它们来请求操作系统服务


①命令接口


       使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联

机命令接口和脱机命令接口。联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户

通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由

命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。脱机命令

接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令(或作业控制语句)组成。脱机用户不能直接干预作业的运行,而

应事先用相应的作业控制命令写成一份作业操作说明书,连同作业起提交给系统。 系统调度到该作业时,由系统中的命令解释程序逐

条解释执行作业说明书上的命令或作业控制语句,从而间接地控制作业的运行。

联机命令接口可以这样理解:“雇主”说-句话,“工人”做一件事,并做出反馈,这就强调了交互性。


脱机命令接口可以这样理解:“雇主”把要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事。这就是批处理。


②程序接口


 程序接口由一组系统调用命令(简称系统调用,也称广义指令)组成。用户通过在程序中使用这些系统调用命令来请求操作系统为其

提供服务。用户在程序中可以直接使用这组系统调用命令向系统提出各种服务要求,如使用各种外部设备、进行有关磁盘文件的操

作、申请分配和回收内存及其他各种控制要求。


当前最为流行的是图形用户界面(GUI),即图形接口,用户通过鼠标和键盘,在图形界面上单击或使用快捷键,就能很方便地使用操作系

统。有些系统提供了上述三种接口,但GUI最终是通过调用程序接口实现的。严格地说,GUI 图形接口不是操作系统的一部分,但图

形接口所调用的系统调用命令是操作系统的-部分。

(3)操作系统用作扩充机器


没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造

的计算机。裸机在最里层,其外面是操作系统。操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更

强、使用更方便的机器:因此,我们通常把覆盖了软件的机器称为扩充机器或虚拟机。“工人”操作机器,机器就有更大的作用,于是

“工人”便成了“扩充机器”。
 

1.1.4 习题

①现代操作系统中最基本的两个特征是(B)

A 并发和不确定                          B  并发和共享

C  并发和虚拟                             D  虚拟和不确定

②系统调用的目的是(A)

A 请求系统服务              B  中止系统服务

C  申请系统资源             D  释放系统资源

解析:用户程序只能通过系统调用来请求内核为其服务,间接使用各种资源。

③下列关于并发行的叙述中。正确的是(C)

A.并发性是指若干事件在同一时刻发生


B.并发性是指若干事件在不同时刻发生


C.并发性是指若干事件在同一时间间隔内发生


D.并发性是指若干事件在不同时间间隔内发生
 

解析:并发性是指若干事件在同一时间间隔内发生 ;并行则是两个或多个事件在同一时刻发生

总结

猜你喜欢

转载自blog.csdn.net/xiaohaiguang/article/details/106530112