多线程技术:执行一个应用程序的进程,划分成可以同时进行的线程;
进程:一个和多个线程和相关资源的集合;
线程:可分派的工作单元,包过处理器上下文环境和栈中的自己 的数据区域
进程映象:程序 数据 栈和属性的集合;
进程映象的元素:用户程序,用户数据 ,系统栈(保存参数,过程调用地址,系统调用地址),进程控制块
进程控制块分成三类:进程标志信息
:处理器状态信息
: 进程控制信息
进程的创建过程:给进程分配一个唯一的进程标志符
2:给进程分配空间
3:初始化进程控制块
4:设置正确的链接:操作系统把调度列队保存成链表,然后把新建的的进程放置在就绪或者挂起/就绪链表中
5:创建或扩充其他数据结构:操作系统可能为每一个进程保存着一个记账文件,可用于编制账单和进行性能评估
进程的切换分为:中断和陷阱
中断:当前正在运行的无关的某种类型的外部事件产生,使CPU的控制权发生转移
陷阱:由当前正在运行的进程所产生的错误或者异常是CPU的控制权发生转移;
进程切换的原因:时钟中断
:I/O中断
:内存失效:处理器访问一个虚拟内存地址,且此地址不在内存单元中,操作系统必须从外存的块中调入内存,在发出内存块的I/O请求之后,操作系统可能会进行一次进程切换,以恢复内一个进程的执行,发生内存失效的进程被至于阻塞态,,当想要的内存块调入内存中时,该进程被置于就绪态。
进程切换需要保存的上下文包过什么:中断可能改变的信息和恢复中断可能恢复的信息
大多数操作系统中中断的发生并不伴随的进程的切换