操作系统第二章复习

博客展示了操作系统第二章的思路图,有助于复习操作系统第二章相关知识,聚焦信息技术领域中操作系统方面内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作系统第二章思路图



### 计算机操作系统第二章复习题解析 #### 关于进程的状态转换 当某个进程因需要从磁盘读取数据而进入等待状态时,在系统完成所需的数据读取操作后,该进程会从阻塞态转变为就绪态。这意味着它已准备好执行,但尚未被调度到CPU上运行[^2]。 #### 同步与互斥机制下的信号量应用 在利用信号量处理同步和互斥问题的过程中,假设P、V操作所使用的信号量S起始值设定为3,现其数值降至-2,则表明此刻存在5个试图访问临界区的进程,其中仅有3个能够成功获取资源并继续执行,其余2个则需等候,因此共有2个等待中的进程[^3]。 #### 多核环境下的进程运行情况分析 对于拥有4个核心的处理器而言,如果当前系统中共计有5个活动进程,那么理论上至少可以有一个或者零个进程处于实际运行之中。这是因为即便所有的四个核心都被占用,仍可能存在一个额外的进程暂时无法获得计算资源从而保持在队列里待命。所以选项A——即可能完全没有进程正在运行的情况是可以成立的[^4]。 ```python # 示例代码展示如何模拟简单的PV操作实现基本的同步控制逻辑 class Semaphore: def __init__(self, value=0): self.value = value def P(self): """申请资源""" while self.value <= 0: pass # 假设这里实现了某种挂起机制 self.value -= 1 def V(self): """释放资源""" self.value += 1 semaphore_example = Semaphore(3) def process_action(): semaphore_example.P() try: # 执行关键区域内的任务... print("Executing critical section.") finally: semaphore_example.V() for _ in range(7): process_action() # 可能会有部分调用在此处发生阻塞直到其他线程释放资源 ``` 上述Python伪代码片段展示了通过类定义来模仿经典的操作系统级原语`P()`(Proberen尝试)和`V()`(Verhogen增加),用于演示多个并发进程中对共享资源的竞争行为及其管理方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值