进程举例 进程上下文 是进程执行活动全过程的静态描述。 包括:程序地址空间的内容、硬件R的内容及与该进程有关的核心数据结构组成 R、指令代码段、数据段、各种堆栈的值和PCB块 UNIX上下文: 用户级上下文 寄存器级上下文 系统级上下文 进程组成 进程=PCB+程序(代码+数据) 阻塞原语 唤醒原语 注意 挂起和阻塞的区别 激活和唤醒的区别 进程同步举例 使用互斥区的原则 前提:任何进程无权停止其他进程的运行 进程之间相对运行速度无硬性规定 进程互斥的解决有两种做法: 由竞争各方平等协商 引入进程管理者,由管理者来协调竞争各方对互斥资源的使用 具体方法: 硬件:当一个进程进入临界区,就屏蔽所有中断(成本高) 软件:用编程解决但往往忙等待。 Wmutex=1;rcount=n; 读者 Swait(recount,1,1; wmutex,1,0); 读 Ssignal(rcount,1); 关于信号量的注意事项 信号量必须置一次且只能置一次初值 初值不能为负数 只能被P、V原语操作 进程应该先申请资源信号量,再申请互斥信号量,顺序不能颠倒,而signal则不必这样。 对任何信号量的wait和singal操作必须配对 同一进程中的多对wait和singal只能嵌套不能交叉 对同一信号量的wait和singal可以不在同一个进程中 Wait和signal不能颠倒顺序,wait在前s
原创力文档

文档评论(0)