[关闭]
@WillireamAngel 2018-06-10T12:09:15.000000Z 字数 1230 阅读 854

进程和线程

操作系统


进程

基本概念

进程:独立功能程序在数据集合汇总的动态执行过程。
组成:程序,数据,进程控制块(PCB)(控制进程运行信息集合)
状态信息:代码、收据、状态寄存器、通用寄存器、进程占用系统资源
特征:动态,并发,独立性,特约性
进程信息:调度和状态信息,进程间通信,存储管理信息,进程所用资源,数据结构连接信息(链表、索引,进程队列)
进程标识信息,处理机现场保存,进程控制信息。

进程状态

进程控制

进程切换

上下文切换:切换前保存上下文(寄存器、CPU状态、内存地址空间),切换后恢复进程上下文,快速切换(10ms)

进程创建

Windows:createProcess
Unix:
--|fork:复制父进程所有变量和内存,复制父进程所有CPU寄存器,子进程fork返回值为0,父进程fork返回子进程标识符,子进程使用getpid()获取PID
--|exec:加载,重写(PID不变)

进程加载

exec加载一个新程序(argc,argv)启动参数,exec调用成功时,运行了不同的程序代码段、堆栈和栈等完全重写。

进程等待和退出

wait():系统调用用于父进程等待子进程结束,子进程通过exit()向父进程返回值,父进程通过wait()接受并处理返回值。
wait()系统调用:
(1)子进程存活,子进程调用exit(),唤醒父进程,将exit()返回值作为父进程wait返回值
(2)僵尸子进程时,wait()立即返回值
(3)无子进程,wait直接返回。

相关函数

有序退出:exit()系统调用功能
优先级控制:nice()
调度控制:ptrace()进程控制另一个进程执行
定时:sleep()定时器等待

线程

基本概念

线程:指令执行流状态,指令执行流最小单位,CPU调度基本单位
优点:多线程并发,共享地址空间和文件资源
缺点:线程崩溃

进程 vs 线程

(1)资源分配 vs CPU调度
(2)进程完整资源平台线程独享指令流执行资源
(3)线程具有就绪、等待、运行状态及转换
(4)线程:时间和空间开销小(并发执行)

线程分类

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注