操作系统--课堂问答笔记06

1.回忆上一节课的一些重要概念:就绪,阻塞/唤醒,挂起/激活,就绪挂起,阻塞挂起,就绪队列,阻塞队列,就绪挂起队列,阻塞挂起队列 。

就绪:进程处于万事俱备只欠东风(就差CPU的执行)的状态。已经为进程创建好了PCB,并放到就绪队列中排队,就等CPU资源就可以执行了。
PCB:进程控制块
阻塞:进程因为需要某个条件(如I/O)而暂时停止CPU的执行,
唤醒:把进程由阻塞变为就绪(之前的条件已经得到满足)
挂起:因内存空间不足而暂时把内存中的某个或某些进程调回外存(放到外存的对换区),
激活:把暂时调出内存的处于挂起状态的进程重新调入内存(内存空间能够满足要求)
就绪挂起:在外存就绪,经激活后到就绪队列等待CPU的执行
阻塞挂起:在外存等待条件(或事件的发生),经激活后到阻塞队列等待事件发生
队列:处于相同状态的进程按某种算法进行排队的队伍

2.PCB是一个数据结构,对应C语言中的一个struct,通过查看定义在struct中的成员,可否总结一下PCB的主要功能?引申问题,所有PCB的大小(当前内存空间)一样吗?

1)作为独立运行基本单位的标志,PCB中定义了一个进程标识符(进程唯一的身份证号码)
2)能实现间断性运行方式,PCB中定义了描述处理机状态(处理机状态信息)的成员,以便在该进程中断完成后重新执行时,能从断点继续执行。(解释:比如我们下载一个电影的时候,下了一半网断了,等到网来了以后继续从那一半处开始下载整个电影,而不必从头开始下载
3)提供进程管理所需要的信息
4)提供进程调度所需要的信息
5)实现与其他进程的同步与通信
引申问题:同一个系统中PCB的大小是一样的。
同一个系统中PCB占用的内存空间是一样的,用同一个struct定义。

3.如何理解原语?为什么创建/终止,阻塞/唤醒,挂起/激活要用到原语?

原语是由若干条指令组成的,用于完成一定功能的一个过程。具有不可分割性:即原语的执行必须是连续的,在执行过程中不允许被中断。
显然进程在创建/终止,阻塞/唤醒,挂起/激活的过程中,一旦开始就必须做完,不能半途而废,否则会造成系统问题。
创建进程不能创建到一半不做了,如果创建不成功那么之前所做的事情要全部撤销。

4.请举例有哪些临界资源?现实世界中还有哪些相同的事例?

表格中的某个单元格,CPU,打印机,键盘,程序中的共享变量这些是。
一次仅允许一个进程使用的共享资源称为临界资源。
现实世界的事例:买火车票时同一趟火车的剩余票数,…
为了保证各个进程对临界资源的互斥访问,则要加入同步机制(下一节的内容)

转自:https://blog.csdn.net/weixin_46218781/article/details/105270411

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值