2、操作系统特征
2.1、并发
- 并发:两个或多个事件在
同一时间间隔内
发生,这些事件在宏观
上是同时发生的,在微观
上是交替发生
的,操作系统的并发性指系统中同时存在着多个运行的程序
。 - 并行:指
两个或者多个事件
在同一时刻同时发生
。 - 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)。
- 操作系统是伴随着
“多道程序技术出现的”
,因此操作系统和并发是一同诞生的
。 - 在如今的计算机中,一般都是多核cpu的,即在同一时刻可以并行执行多个程序,大多计算机是8核的,可以在同一时刻并行执行8个程序,但是事实上我们计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少。
- 多道程序设计:是指在计算机内存中
同时存放几道相互独立的程序
,使它们在管理程序控制之下
,相互穿插的运行
。两个或两个以上
程序在计算机系统中同处于开始到结束之间的状态
。这就称为多道程序设计。多道程序技术运行的特征:多道、宏观上并行、微观上串行。
2.2、共享
-
资源共享即共享,是指系统中的资源可以
为内存中多个并发执行的进程共同使用
。 -
共享分为互斥共享和同时共享
2.1. 互斥共享:计算机中的某个资源在一段时间内只能允许一个进程访问
,别的进程没有使用权。- 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
举例
:qq和微信同时申请视频,但是在同一个时段内,摄像头只能分给一个进程(要么qq,要么微信)。
2.2. 同时共享:计算机中的某个资源在在一段时间内
可以"同时"允许多个进程访问
。- 同时共享通常要求一个请求分为
几个时间片段间隔
的完成,即交替进行
,“分时共享”。 举例
:比如QQ在发送文件A,微信在发送文件B,宏观
上两个进程A和B都在访问磁盘读取文件并且发送,对用户来说看起来是同时进行的;微观
上两个进程A和B是交替进行访问磁盘的
,只是时间太短,只是因为cpu处理速度太快,所以我们感觉不到。- 注:有时候多个进程可能
真的是在同时进行资源访问
,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见。 - 上面的发送文件的例子,说明了两个问题:
- 两个进程正在并发执行(并发性)
- 需要共享访问磁盘资源 (共享性)
2.3、虚拟
- 虚拟是把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实际存在的;而逻辑上对应物(后者)是虚的,是用户感觉到的。
- 虚拟技术:用于实现虚拟的技术。
2.1、空分复用技术:如虚拟存储器
2.2、时分复用技术:如处理器的分时共享
2.4、异步
- 多道程序环境允许多个程序并发执行,但由于资源有限(如cpu只有一个),进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
- 比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进。
- 显然,如果失去了并发性,那么系统只能串行地处理各个进程,每个进程的执行会一直执行下去。
只有系统拥有并发性,这才有可能导致异步性
。
总结:并发和共享互为存在条件的,没有并发和共享就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。