进程-线程-协程
分时操作系统,CPU时间分片。
进程
os的一个重要功能:进程管理。
编写好的代码放在磁盘上叫做程序,运行之后os从磁盘加载后分配内存和初始化数据结构之后的实例叫做process。内存分配以页为单位,不够会报缺页异常,os会再次分配页给进程。
os给进程分配的是虚拟地址,虚拟地址和物理地址之间有映射关系。一旦物理内存不够用就会把数据放到虚拟内存swap中,swap本质是磁盘。所以一旦数据存入swap中就代表着物理内存不够用了。
一般进程和进程之间是独立的,互不影响。要相互影响必须进程自己开放端口。
线程
如果只有进程的话,当一个进程遇到IO的时候就会被堵塞,堵塞之后无法执行其他的指令。而一个进程可以有多个线程,当一个线程IO被堵塞了,还有其他线程可以执行指令。线程的出现就是为了增加进程的并发能力。
线程运行的最小单位。线程出现后,进程就成为了一种资源管理工具。
每个线程在进程中都有自己独立的内存资源,一般是栈。一般线程可以共享进程的资源。
线程状态机
状态
说明
就绪
线程可以被运行,等待被调度
运行
线程正在CPU上运行
阻塞
等待外部事件而无法运行
终止
运行完毕,取消,退出

最后更新于