1.1.2 操作系统的特征(并发、共享、虚拟、异步)


  • 操作系统是一种系统软件,但与其它系统软件和应用软件有很大的不同,它有自己的特殊性,及基本特征。

image-20220621113917147

1.并发

  • 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的, 操作系统的并发性指系统中同时存在着多个运行的程序
  • 并行:两个或多个事件在同一时刻发生
  • 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)
  • 操作系统是伴随着“多道程序技术出现的”,因此操作系统和并发是一同诞生的
  • 在如今的计算机中,一般都是多核cpu的,即在同一时刻可以并行执行多个程序,比如我的计算机是8核的,我的计算机可以在同一时刻并行执行8个程序,但是事实上我们计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少。

image-20220621113943021

2.共享

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

(1)互斥共享

  • 计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权
  • 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
  • 举个例子:比如QQ和微信视频。同一段时间内摄像头只能分配给其中一个进程

(2)同时共享

  • 计算机中的某个资源在在一段时间内可以同时允许多个进程访问
  • 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”
  • 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行
  • 举个例子:比如QQ在发送文件A,微信在发送文件B,宏观上两个进程A和B都在访问磁盘,在我们看来是同时进行的,但是在微观上两个进程A和B是交替进行访问磁盘的,只是时间太短,cpu处理速度太快,我们感觉不到。
  • 注意:有时候多个进程可能真的是在同时进行资源访问,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见

(3)并发性和共享性互为存在条件

image-20220621114049741

3.虚拟

多道程序设计:是指在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计。多道程序技术运行的特征:多道、宏观上并行、微观上串行。

  • 虚拟是把一个物理上的实体变为若干逻辑上的对应物。

  • 物理实体(前者)是实际存在的;而后者是虚的,是用户感觉上的事务

  • 虚拟技术:用于实现虚拟的技术

  • 虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU

  • 虚拟存储器:从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器

  • 虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享,用户宏观上感觉是同时的,但实际上是微观交替访问同一台设备的

  • 操作系统的虚拟技术科归纳为:

    • 时分复用技术:如处理器的分时共享

    • 空间复用技术:如虚拟存储器

image-20220621114149683

4.异步

  • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
  • 比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进

Author: Liang Junyi
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Liang Junyi !
 Previous
1.2.1 操作系统的发展和分类(手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机) 1.2.1 操作系统的发展和分类(手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机)
1.2.1 操作系统的发展和分类(手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机)
Next 
1.1.1 操作系统的概念、功能和目标(系统资源的管理者、提供接口、作为扩充机器、虚拟机) 1.1.1 操作系统的概念、功能和目标(系统资源的管理者、提供接口、作为扩充机器、虚拟机)
1.1.1 操作系统的概念、功能和目标(系统资源的管理者、提供接口、作为扩充机器、虚拟机)
  TOC