-第2节:操作系统的特征

Posted Xy丶Promise

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-第2节:操作系统的特征相关的知识,希望对你有一定的参考价值。

操作系统的特征

并发

空降王道

并发: 指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。

​ 常考易混概念――并行: 指两个或多个事件在同一时刻同时发生

并行与并发的区别:

并行:同一时刻同时进行两个任务(就像你一边背单词一边聊天看电影);

并发:从宏观上看,在整个程序运行周期中程序在同时进行两个任务。微观上看,在某一时刻,程序最多正在进行一个任务。

  • 举例:假设小渣和老渣每人有两个女朋友。任务1:和一号约会;任务2:和二号约会…

    并行就是两个同时约会;

    并发就是一号约完以后于此同时开始二号的约会任务。

操作系统的并发性

空降王道

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行,也就是刚刚所提到的并发执行。(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)

当今的计算机,一般都是多核CPU,比如Intel的第八代i3处理器就是4核CPU,虽然这意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少。当代人使用计算机绝对有4个以上的程序需要同时工作。

事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的

共享

空降王道

共享又称资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

共享(资源共享)又分有两种方式:互斥共享与同时共享

  • 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源;

    举例:

    ​ 互斥共享方式: 使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。计算机系统中的大多数物理设备,以及某些软件中所用的栈空间、变量和表格,都属于临界资源,只允许一个进程使用。

    理解:

    ​ 互斥共享是指当资源被一个进程A占用时,其他想用使用该资源的进程B就只能等待,只有进程A使用完该资源后,进程B才能够使用该资源,这种共享方式就叫做互斥式共享,把这种资源叫做临界资源或独占资源。如打印机就属于临界资源。

  • 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

    举例:

    ​ 同时共享方式: 使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

    所谓的“同时”往往是宏观上的同时访问,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。但有时候在微观上也是同时在访问运行的,例如你在玩游戏的时候,后台正在播放音乐,你会发现游戏声音与音乐是同时发出的,这就说明这两个进程正在同时使用扬声器设备,具体还需要结合实际。

并发与共享的关系

空降王道

并发性:计算机系统中同时存在着多个运行着的程序。
共享性:系统中的资源可供内存中多个并发执行的进程共同使用。

通过上面的例子来看并发与共享之间的关系:

使用QQ发送文件A,同时使用微信发送文件B

  • 两个进程正在并袋执行(并发性);

    如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的。

  • 需要共享地访问硬盘资源(共享性);

    如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

综上所述,并发和共享是互为存在条件的。

虚拟

空降王道

虚拟是指 把一个物理上的实体 变为 若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

理解:内存资源的共享、并发机制;

时分复用技术

时分复用技术即分时使用技术,可以用来实现虚拟处理机、虚拟设备等,用来提高资源的利用率。

时分复用技术又分有两种技术:虚拟处理机技术与虚拟设备技术

  • 虚拟处理器技术:虚拟处理机技术借助多道程序设计技术,即为每一个程序建立一个进程,让多个程序并发执行,从而达到分时使用一台计算机,这台计算机能够同时为多个用户服务,使得每个终端用户都认为有一个处理器专门为他服务。微观上处理器在各个微小的时间段内交替着为各个进程服务。
    • 例如:一个单核CPU的计算机上同时打开6款软件,表面上用户看似有6个CPU同时为自己服务,实际上只有一个CPU在工作。
  • 虚拟设备技术:通过虚拟设备技术可以将一台物理I/O设备虚拟为多态逻辑上的I/O设备,并允许用户占用一台逻辑上的I/O设备,这样可以允许在一段时间内由一个用户访问的设备变为在一段时间内允许多个用户同时访问的共享设备
    • 例如:办公室内的打印机支持多台电脑同时连接与操作。

空分复用技术

空分复用技术是指利用空间的分割实现复用的一种方式。空分复用技术可以用来实现虚拟磁盘、虚拟存储等操作,以此实现提高资源利用率。

同时,空分复用技术又分有两种技术:虚拟磁盘技术与虚拟存储器技术

  • 虚拟磁盘技术:通过虚拟磁盘技术可以将一个硬盘虚拟为多块虚拟磁盘,这样使用起来既安全又方便。
    • 例如:将一块硬盘划分为C、D、E、F等逻辑盘就是虚拟磁盘技术。
  • 虚拟存储器技术:利用存储器的空闲空间来存放程序,提高内存利用率。还可以通过虚拟存储器技术(实质上是时分复用技术)在逻辑上扩大存储器的容量,它可以使得一道程序通过时分复用技术在远小于它的内存空间中运行
    • 例如:一台电脑运行内存只有4G,而如果同时运行GTA5 - 4G运存消耗,QQ - 256MB运存消耗,微信 - 256MB运存消耗时,实际上系统使用了虚拟存储技术(虚拟内存)分时将程序加载运行,在每次只把用户程序上的一部分调入内存运行,运行完成后将该部分换出,将另一部分程序换入到内存,通过这样的置换功能,便实现了用户程序的各个部分分时的进入内存运行。在表面上系统只有4G内存空间,实际上似乎远远大于4G的内存。

该内容后面会有重点的讲解。

小结

通过上面的举例说明,我们谈到时间复用技术中能够让设备、进程同一时间段同时并发运行的虚拟存储器和虚拟设备技术,以及空分复用技术中将磁盘空间的划分、存储器资源共享的虚拟磁盘技术与虚拟存储器技术。它们都有一个特点,让硬件设备、进程更高效率的执行与并发。

显然,如果操作系统失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

异步

空降王道

异步是指,在多道程序环境下,允许多个程序并发执行但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

  • 举例:再用上面的老渣和两个女孩并发约会的例子。

    两个女孩分别有以下指令:

    • 一号的指令1:老渣陪我吃饭

    • 一号的指令2:老渣把心给我

    • 二号的指令1:老渣把心给我

    • 二号的指令2:老渣陪我吃饭

    老渣的心只有一颗,他能这样约:

    • 8:00 ~ 9:00 - 与一号吃饭;
    • 9:00 ~ 10:00 - 把心给一号;❤此时一号把老渣的心占用,占用期间线程堵塞,在归还这个资源以后老渣的心才能被其他人占用
    • 10:00 ~ 11:00 - 把心给二号;(此时心被一号给占用,所以此刻二号只能线程阻塞等到一号把心归还后,才能执行二号的指令;
    • 11:00 ~ 12:00 - 把心给二号

    还能这么约

    • 8:00 ~ 9:00 - 与一号吃饭;
    • 9:00 ~ 10:00 - 把心给二号;❤ 此时二号把老渣的心占用,占用期间线程堵塞,在归还这个资源以后老渣的心才能被其他人占用
    • 10:00 ~ 11:00 - 把心给一号;(线程阻塞等待,此时心被二号给占用,所以此刻一号只能原地线程阻塞等到二号把心归还;)
    • 11:00 ~ 12:00 - 与二号吃饭;

异步小结

根据上面的例子我们可以发现,与一、二号的约会任务相当于两个进程,而老渣相当于一个CPU在对这两个进程的指令进行执行,每个进程都有各自需要执行的指令。同时,老渣的心相当于有限的系统资源,由于可分配的资源有限,进程的执行不是一贯到底的,在这些进程推进的过程当中我们发现他们是以不可预知的速度,走走停停推进的。

显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能衍生异步性。

本节总结

空降王道

根据上面的学习:

我们通过大渣和小渣在约会的不同策略学习了并发与并行的区别;

同时我们通过QQ和微信同时发送文件的例子了解到并发和共享是互为存在的条件

根据上面的学习:

我们通过大渣和小渣在约会的不同策略学习了并发与并行的区别;

同时我们通过QQ和微信同时发送文件的例子了解到并发和共享是互为存在的条件

在后面我们了解到了虚拟和异步的概念与理解,我们知道没有并发就不会延伸出虚拟和异步,而并发和共享又是互为存在的条件,那么就可以说明没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

以上是关于-第2节:操作系统的特征的主要内容,如果未能解决你的问题,请参考以下文章

-第2节:操作系统的特征

操作系统—操作系统的四个特征

操作系统的特征

第3章 第5节 推荐系统的常用算法

RxJava系列6(从微观角度解读RxJava源码)

2022王道OS 1.1_2_操作系统的特征