@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调度基本单位
优点:多线程并发,共享地址空间和文件资源
缺点:线程崩溃
(1)资源分配 vs CPU调度
(2)进程完整资源平台线程独享指令流执行资源
(3)线程具有就绪、等待、运行状态及转换
(4)线程:时间和空间开销小(并发执行)