操作系统精髓与设计原理--进程控制

进程创建:

1.给新进程分配一个唯一的进程号

(主进程表中增加一个新项目,表中的每个项目指向一个进程)


2.给进程分配空间


3.初始化进程控制块


4.设置正确的连接


5.创建或扩充其他数据结构


进程切换:

三种有可能发生进程切换使得把控制权交给操作系统的事件:

(1)中断            当前指令的外部执行          对异步外部事件的反应

(2)陷阱            与当前指令的执行相关      处理一个错误或异常条件

(3)系统调用      显式请求                          调用操作系统函数


进程切换的步骤

1.保存处理器上下文,包括程序计数器和其他寄存器

2.更新当前处于运行态的进程的进程执行块。

3.把进程的进程控制块移到相应的队列

4.选择另一个进程执行

5.更新所选择的进程的进程控制块,包括把进程的状态变为运行态。

6.更新内存管理的数据结构,这取决于如何管理地址的转换

7.回复处理器在被选择的进程最近一次切换出运行态时的上下文,这可以通过载入程序计数器和其他寄存器以前的值来实现。


UNIX中的进程由三部分组成

(1)用户上下文p106(129)详细介绍

(2)寄存器上下文

(3)系统级上下文


进程控制:

当一个进程产生一个fork请求时,操作系统执行以下功能:

1.为新进程在进程表中分配一个空项

2.为子进程赋一个唯一的进程标识号

3.做一个父进程上下文的逻辑副本,不包括共享内存区

4.增加父进程拥有的所有文件的计数器,以表示有一个另外的进程现在拥有这些文件

5.把子进程置为就绪态

6.向父进程返回子进程的进程号对子进程返回0


内核操作结束后进行以下三步之一

1.在父进程中继续执行

2.处理器控制权转交给子进程。

3.控制权转交给另一个进程,父子进程都置于就绪态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值