#操作系统概念阅读笔记3 ##进程
###进程概念
- 进程是操作系统对一个正在运行程序的抽象,是一个执行中的程序的实例,它提供一个独立的逻辑控制流与一个私有的地址空间。
- 独立的逻辑控制流:它提供一个假象,好像我们的程序独占的使用处理器
- 私有的地址空间:它提供一个假象,好像我们程序独占的使用存储器系统
- 进程是孤立的,互相不共享状态,但它们可以彼此通信。
- 进程用进程控制块(PCB)来表示 程序本身不是进程;程序只是被动实体,而进程是活动实体。
###进程状态
- 新的:进程正在被创建
- 运行:指令正在被执行
- 等待:进程等待某个事件的发生(如等待i/o读取)
- 就绪:进程等待分配CPU
- 终止:进程完成执行
###进程控制块
包括:
- 进程状态(标志前面5个状态)
- 程序计数器(下个指令地址)
- CPU寄存器(累加器 索引寄存器 堆栈指针 通用寄存器和其他条件码信息寄存器)
- CPU调度信息:进程优先级 调度队列的指针和其他调度参数
- 内存管理信息:基址和界限寄存器 页表或段表
- 记账信息:CPU时间 实际使用时间 时间界限 记账数据 作业 进程数量
- I/O 分配给进程的I/O设备列表 打开的文件列表
###上下文切换 通过执行一个状态保存来保存CPU当前状态,之后执行一个状态恢复重现开始运行
###典型题目 ####3.1 论述短期,中期和长期调度之间的区别.
- a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。
- b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。
- c.长期调度(作业调度程序):确定哪些作业调入内存以执行.
它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。(越短调度频率需要越高,不然效率就很低)
####3.2
问:描述一下内核在两个进程间进行上下文功换的动作.
答案:
- 总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。
- (书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态