(1)进程和线程
进程代表:内存,cpu
线程代表:程序代码
(2)进程描述符:
表述当前进程的相关信息:试想一下,当内核进行调度的时候,要保存程序的状态,而这个状态就实在进程描述符中的
如何获得进程描述符呢:
很简单吗:去内核里面拿吗
movl
$0xffffe000 ,%ecx
andl
%esp,%ecx
movl
(%ecx),p
其中p就是当前进程描述符的指针
(3)进程切换:
物理上下文
:当前程序运行的所有寄存器,内存的组成的
历程:定时器终端 -----》响应终端函数--------》在中断函数中对esp等寄存器中的值进行修改-------》根据pc的值开始取指令执行
(4)进程/线程的创建
fork
从父亲那里获取执行所必要的数据结构,如运行是的栈啊(最重要的是自己要执行的函数)