1.1 操作系统的基本概念

1.1 操作系统的基本概念

知识图谱

思维导图

一、操作系统的概念

计算机系统自下而上大致可以分为四个部分:硬件、操作系统、应用程序和用户

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其它软件提供方便接口与环境的程序集合。操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介,是随着计算机研究和应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件

二、操作系统的特征

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

1. 并发(Concurrence)

并发指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能够并发执行。

注意并发(Concurrence)和并行(Parallelism)的区别:

  • 并发(Concurrence):一个处理器同时处理多个任务,指的是逻辑上的同时发生;
  • 并行(Parallelism):多个处理器或者是多核的处理器同时处理多个不同的任务,指的是物理上的同时发生。

2. 共享(Sharing)

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

互斥共享方式

系统中的某些资源,例如打印机,虽然可以供多个并发执行的进程使用,但是为了避免这个进程打印一点那个进程打印一点这种资源使用混乱的情况,操作系统规定在一段时间内只允许一个进程访问该资源。这种共享资源的方式就是互斥共享,这种一段时间内只允许一个进程访问的资源被称为临界资源或者独占资源

在进程 A 访问临界资源时,必须先向操作系统提出访问请求,若此时该资源空闲,则操作系统将该资源分配给进程 A 使用,此后其它进程想要访问该资源就必须等待,直到进程 A 访问完毕并释放该资源后其它进程才能访问该资源。

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

同时共享方式

计算机中的某个资源在在一段时间内可以同时允许多个进程访问,这种资源访问方式就称为同时共享。

扫描二维码关注公众号,回复: 12236144 查看本文章

同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”。因此这里的“同时”指的是宏观上的,在微观上依然是交替进行的。只是由于 CPU 执行速度很快,我们感觉不到交替罢了。

例如我们一边打游戏一边听歌的行为,游戏和音乐播放器是两个不同的进程,但是他们可以同时占用音频播放设备。因此我们才能够既听到音乐又听到游戏声音。

并发和共享式操作系统两个最基本的特征,两者之间互为存在的条件:

  • 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则不会存在资源共享的问题;
  • 若系统不能对资源共享实施有效的管理,则必将会影响到程序的并发执行。

3. 虚拟(Virtual)

虚拟是指把一个物理上的实体变为若干逻辑上的对应物体。物理实体是“实”的,是实际存在的;而对应物是“虚”的,是逻辑上构建出来的。用于实现虚拟的技术称为虚拟技术

操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等,包括现在使用的 Docker 和 K8S 同样是利用虚拟技术实现的。

多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态, 这些程序共享计算机系统资源。与之相对应的是单道程序,即在计算机内存中只允许一个的程序运行。

下面简单介绍以下几种虚拟技术:

  • **虚拟处理器技术:**它是通过多道程序设计,采用让多道程序并发执行的方法,分时使用一个处理器。虽然只有一个物理处理器,但是能同时为多个用户使用,让每个终端用户都感觉到有一个 CPU 在为自己服务。利用多道程序设计技术把一个物理上的 CPU 虚拟为多个逻辑上的虚拟 CPU,称为虚拟处理器;
  • 虚拟存储器技术:虚拟储存器技术可以把一台机器的物理存储器变为虚拟存储器,从而在逻辑上扩充物理存储器的容量。用户感觉到的存储器称之为虚拟存储器。例如电脑上安装了一个 8GB 的内存条,由于虚拟存储技术可以衍生出多个虚拟存储器,操作系统让每个进程都在虚拟存储器上运行,于是乎每个进程都感觉自己独占了 8GB 的内存,而实际上是他们共同使用那 8GB 的物理内存;
  • 虚拟设备技术:将一台物理 I/O 设备虚拟为多台逻辑上的 I/O 设备,并允许每个用户占用一台逻辑上的 I/O 设备。使原来仅允许在一段时间由一个用户访问的临界资源变成了一段时间内允许多个用户访问的共享资源。

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

4. 异步(Asynchronism)

多道程序环境允许多个程序并发执行,但是由于系统资源有限,进程的执行是走走停停的,它以不可预知的速度向前运行,这就是程序的异步性。

只有操作系统拥有并发性才会拥有异步性。

异步性使得操作系统运行在一种随机的环境下,可能会导致进程产生与时间有关的错误(例如对全局变量的访问不当会导致程序出现错误)。但是只要运行环境相同,操作系统必须保证运行结果相同。

三、操作系统的目标和功能

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

为了方便用户使用操作系统,还必须向用户提供接口

1. 计算机系统资源的管理者

(1)处理机管理

在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位。因而对处理机的管理实际上为对进程的管理。

进程管理主要包括:进程控制、进程同步、进程通信、死锁处理和处理机调度等

(2)存储器管理

存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率。

存储器管理主要包括:内存分配、地址映射、内存保护与共享和内存扩充等

(3)文件管理

计算机中的信息都是以文件形式存在的,操作系统中负责文件管理的部分称为文件系统

文件管理主要包括:存储空间的管理、目录的管理以及文件读写管理和保护等

(4)设备管理

设备管理的主要任务是完成用户的 I/O 请求,方便用户使用各种设备并提高设备的利用率。

设备管理主要包括:缓冲管理、设备分配、设备处理和虚拟设备等

2. 用户与计算机硬件系统之间的接口

为了方便用户使用计算机,操作系统还提供了用户接口。

操作系统提供的接口主要分为两类:命令接口,用户使用命令接口来组织和控制作业的执行;程序接口,程序员使用程序接口来请求操作系统服务。

(1)命令接口

使用命令接口进行作业控制的主要方式有两种:联机控制方式脱机控制方式。按照控制方式可以将命令接口分为联机命令接口脱机命令接口

联机命令接口

联机命令接口又称为交互式命令接口,适用于分时或者实时系统的接口。

用户通过控制台或者终端输入操作命令。

用户每输入一条命令,控制权就转交给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,等到完成功能后控制权再转交给用户。

脱机命令接口

脱机命令接口又称为批处理命令接口,适用于批处理系统。

它由一组作业控制命令组成。脱机用户不能直接干预程序的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给操作系统。系统调度到该作业时,由系统中的命令解释器逐步解释并执行作业操作说明书上的命令或者作业控制语句,从而间接的控制作业的运行。

例如将下面的程序保存为 .bat 后缀的文本,在 Windows 系统下运行就可以批量创建文件夹。这个 xxx.bat 程序就是一个作业操作说明书,里面的代码就是批处理命令:

md folder1 folder2 folder3

(2)程序接口

程序接口由一组系统调用命令(简称系统调用,也称广义接口)组成。

用户通过在程序中使用这些系统调用命令来请求操作系统为其提供服务,如使用外部设备、进行磁盘操作等。

当前最为流行的图形用户界面(GUI,即图形接口)并不是操作系统的一部分,但是图形接口调用的系统调用命令是操作系统的一部分。

3. 用作扩充器

没有任何软件支持的计算机称为裸机,它仅仅构成计算机系统的物质基础。

操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器。

因此我们通常把覆盖了软件的机器称为扩充机器或虚拟机

参考资料:王道考研——操作系统

猜你喜欢

转载自blog.csdn.net/qq_43580193/article/details/112849582