OS的学习笔记(一)

本文探讨了并发编程中的互斥访问临界区问题,解释了如何避免饥饿现象,并详细阐述了进程的唤醒机制。同时,分析了FCFS调度算法对长作业和CPU繁忙型作业的有利影响,并指出SJF算法在平均周转时间上的优势。此外,还强调了异步执行中要考虑的所有可能情况。
摘要由CSDN通过智能技术生成

1.互斥访问临界区问题
拿到互斥访问临界区的题目;首先把代码分成进入区临界区 ,然后尝试当异步访问时候判断能否都通过进入区 到达临界区;其次,判断某个进程如果通过进入区但是他不访问临界区代码,另一个进程是否就没法通过进入区 来检查是否会发生饥饿。

2.关于进程唤醒
运行态进程需要等待事件或者IO时,该进程主动调用阻塞原语变为阻塞态;当发现者进程检测等待的事件结束时,调用唤醒原语把阻塞队列中第一个进程唤醒。V操作就是典型的发现者进程,把信号量加一后 检测该信号量是否大于零 如果小于等于零,就从阻塞队列中把第一个进程唤醒。

3.关于异步执行的程序问题
在这里插入图片描述
把所有可能的异步情况列出来,逐一判断结果。 注意语句二,当Y没有赋值,也就是没有执行语句三的时候,该条语句是作废的!!

4.FCFS算法有利于长作业有利于cpu繁忙型
有利于长作业的理解:假设长作业需要10秒短作业需要1秒,如果长作业先到,短作业晚一秒到,短作业的带权周转时间为10秒;而如果短作业先到,长作业晚一秒到,长作业的带权周转时间为1秒,所以有利于长作业。假设CPU繁忙型的需要8秒cpu,两秒IO;IO繁忙型则恰恰相反。如果IO繁忙型晚到一秒,带权周转时间为1.7秒 ,而如果cpu繁忙型晚到一秒,带权周转时间为1.1秒, 所以有利于cpu繁忙型。

5.sjf的平均周转时间一定是最短的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值