社区
Windows Server
帖子详情
小小 问题 前辈 指教??
slzmiaoer
2003-08-25 08:03:54
原语操作:是指 一组操作 要么全做 要么全不做,是一组不可分割的操作。
就 我的理解 只有 单一的一条指令 才能 做到要么全做 要么不做
操作系统 是怎样实现 原语操作的呢 ??
谢谢 指教
...全文
66
3
打赏
收藏
小小 问题 前辈 指教??
原语操作:是指 一组操作 要么全做 要么全不做,是一组不可分割的操作。 就 我的理解 只有 单一的一条指令 才能 做到要么全做 要么不做 操作系统 是怎样实现 原语操作的呢 ?? 谢谢 指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
slzmiaoer
2003-08-26
打赏
举报
回复
我 问的是
操作系统 实现 原语操作的 原理
是不是 原语操作中 把 时钟中断 等 中断全部 屏蔽掉
就 实现了 其 操作的 不可打断性??
ceocio
2003-08-26
打赏
举报
回复
创建原语
进程可借助创建原语建立一个子进程,创建进程的主要操作过程是:
(1)申请一个空闲的PCB;
(2)为新进程分配资源;
(3)将新进程的PCB初始化;
(4)将新进程加到就绪队列中
撤销原语
一个进程在完成其任务后,应将该进程撤销,以便释放出它所占用的资源,撤销原语一般由其父进程或祖先发出,不会自己撤销自己。一旦系统中出现要求终止进程的事件后,便调用进程终止原语。终止进程的主要操作过程是:
(1)从系统的PCB表中找到指定进程的PCB。若它正处于运行态,则立即中止该进程的运行;
(2)回收该进程所占用的全部资源;
(3)若该进程还有子孙进程,则还要终止其所有子孙进程,回收它们所占用的全部资源;
(4)释放被终止进程的PCB,并从原来队列中摘走。
阻塞原语
正在运行的进程因等待某事件发生,只能转变为阻塞态,等待相应事件出现后再把它唤醒。
正在运行的进程通过调用阻塞原语主动地把自己阻塞。进程阻塞的过程如下:
(1)立即停止当前进程的执行;
(2)将现行进程的CPU现场送到该进程的PCB现场保护区中保存起来,以便将来重新运行时恢复此时的现场;
(3)把该进程PCB中的现行状态由“运行”改为阻塞,把它插入到具有相同事件的阻塞队列中;
(4)然后转到进程调度程序,重新从就绪队列中挑选一个合适进程投入运行。
唤醒原语
当被阻塞进程所等待的事件出现时,则由另外的与被阻塞进程相关的进程调用唤醒原语,将等待该事件的进程唤醒。可见,被阻塞进程不能唤醒自己。
唤醒原语的主要操作过程是:
(1)首先把被阻塞进程从相应的阻塞队列中摘下;
(2)将现行状态改为就绪态,然后把该进程插入到就绪队列中;
(3)如果被唤醒进程比运行进程有更高的优先级,则设置重新调度标志。
阻塞原语与唤醒原语恰好是一对相反的原语:调用前者是自己去睡眠,调用后者是把“别人”唤醒。使用时也要成对,前边有睡的,后边要有叫醒的。否则,前者就要“长眠”了。
挂起原语
当需要把某进程置于挂起就绪状态或挂起阻塞状态时,可调用挂起原语。调用挂起原语的进程只能挂起它自己或它的子孙。
激活原语(解除挂起)
激活原语将处于静止状态的进程变为活动状态。一个进程只能将自己的子孙进程解挂。一个进程可以将自己挂起,却不能将自己解挂。
ceocio
2003-08-26
打赏
举报
回复
所谓原语:是机器指令的延伸,往往是为完成某些特定的功能而编制的一段系统程序。为保证操作的正确性,在许多机器中规定,执行原语操作时,要屏蔽中断,以保证其操作的不可分割性。
广东电信项目个人总结
想想第一次写博客的时候还是在学校准备比赛,写了写简单的算法。 现在已经工作一年半了,实现了从学校出来要当一个...下面就个人理解来谈一谈对编程的认识,还望各位
前辈
批评
指教
。 首先是整体架构个人认为一个...
企业级Java Web开发注意的若干
问题
或建议
由于本人经历还比较有限,难免有叙述不正确或有待谈论的地方还烦请各位
前辈
多多
指教
,在下先谢过各位啦。1在实际工作中,至少在很多传统行业的Web开发的架构层面上,很多有用的互联网技术或架构很可能用不上的。尽管...
Objective-C学习资料准备
第一天来到公司报到,设备还没有领来。旁边的小伙伴问我:你是做...希望通过CSDN博客激励我坚持下来,希望能把自己一点
小小
的收获分享给刚开始学习的小伙伴,也希望得到博友们的
指教
,多谢啦。 下面开始了揭开神秘的i
如何从零开始写一个操作系统?
看了这个:从零开始写一个简单的操作系统 求
指教
。 关注者 4,787 被浏览 352,884 关注
问题
写回答 邀请回答 3 条评论 分享 37 个回答 默认排序 知乎用户 751 人赞...
小小
的一步
这是鄙人学习c++路上的一小步,以此来记录学习路上的点点滴滴。以后尽力把自己学习中...希望读到的
前辈
不吝
指教
。这是新的征程,一定要坚持走下去。 记录于2014年11月4日,以此督促自己上进。
Windows Server
6,850
社区成员
178,035
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章