操作系统的cpu分时共享技术
为什么我们日常的电脑既可以看视频,又可以浏览网页,又可以微信聊天等等同时运行?为什么我们日常的计算机4c或8c的可以处理数以百计或数以千计的计算任务呢?
1什么是cpu分时共享技术
操作系统的cpu分时共享技术---如果同时有很多进程在执行,操作系统会将cpu的执行时间分成很多份,进程按照某种策略轮流在cpu上运行。现在的cpu计算能力非常强大,虽然每个进程都只被执行了一小段时间,但是在外部看来就像是所有进程同时在执行,每个进程似乎都独占一个cpu。
类似的技术在网络中也有应用--分时复用(Time Division Multiplexing,TDM),是采用同一物理连接的不同时段来传输不同的信号,能达到多路传输的目的。在网络中应用于用一条线路传输多路数据。
2进程的三种状态
多个进程在外部看来是同时运行的,实际上进程是共享cpu的,并不是一直在cpu上运行,所以在某一时刻就有进程需要等待cpu运行。所以进程主要有三种状态:运行、就绪和阻塞。
状态 | 描述 |
---|---|
运行 | 当一个进程在cpu上运行时,则称进程出于运行状态;出于运行状态的进程数小于或等于cpu的数目 |
就绪 | 当一个进程获得了除cpu以外的一切所需资源,只要得到cpu即可运行,则称此进程为就绪状态 |
阻塞 | 也成为等待或睡眠状态,当一个进程正在等待某一事件的发生(例如等待I/O完成、等待锁)而暂时停止运行时,这时即使把cpu分给进程也无法运行,则称该进程为阻塞状态 |