操作系统概念阅读笔记3

进程

本文总阅读量
Posted by Xiaoxi on January 10, 2016

#操作系统概念阅读笔记3 ##进程


###进程概念

  • 进程是操作系统对一个正在运行程序的抽象,是一个执行中的程序的实例,它提供一个独立的逻辑控制流与一个私有的地址空间。
  • 独立的逻辑控制流:它提供一个假象,好像我们的程序独占的使用处理器
  • 私有的地址空间:它提供一个假象,好像我们程序独占的使用存储器系统
  • 进程是孤立的,互相不共享状态,但它们可以彼此通信。
  • 进程用进程控制块(PCB)来表示 程序本身不是进程;程序只是被动实体,而进程是活动实体。

###进程状态

  1. 新的:进程正在被创建
  2. 运行:指令正在被执行
  3. 等待:进程等待某个事件的发生(如等待i/o读取)
  4. 就绪:进程等待分配CPU
  5. 终止:进程完成执行

进程状态图


###进程控制块

image

包括:

  1. 进程状态(标志前面5个状态)
  2. 程序计数器(下个指令地址)
  3. CPU寄存器(累加器 索引寄存器 堆栈指针 通用寄存器和其他条件码信息寄存器)
  4. CPU调度信息:进程优先级 调度队列的指针和其他调度参数

image

  1. 内存管理信息:基址和界限寄存器 页表或段表
  2. 记账信息:CPU时间 实际使用时间 时间界限 记账数据 作业 进程数量
  3. I/O 分配给进程的I/O设备列表 打开的文件列表

###上下文切换 通过执行一个状态保存来保存CPU当前状态,之后执行一个状态恢复重现开始运行


###典型题目 ####3.1 论述短期,中期和长期调度之间的区别.

  • a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。
  • b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。
  • c.长期调度(作业调度程序):确定哪些作业调入内存以执行.

它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。(越短调度频率需要越高,不然效率就很低)

####3.2 问:描述一下内核在两个进程间进行上下文功换的动作.
答案:

  • 总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。
  • (书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态