由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个priority inversion 的题目, wiki跟书上不一样
相关主题
面试跟c++multithreading有关的工作,都会被问哪些问题啊?EE公司 要coding 背景的职位该怎么准备?
Emergency.... Got this letter from HR求问一个题,nested mutex的实现
L 电面B 家 电话题 C++
发面经, 求祝福发个Qualcomm的onsite的面经吧
Bloomberg电面面经qualcomm 新鲜电面面经
Deadlock in Java请教个题目
Failed B Phone Interview...G家经历
新鲜电面经新鲜A家电面……请问设计题怎么算回答得好?
相关话题的讨论汇总
话题: priority话题: process话题: inversion话题: region话题: critical
进入JobHunting版参与讨论
1 (共1页)
z****i
发帖数: 245
1
在Operating.Systems.Design.and.Implementation书上, 2.2.4 有一段话
Consider a computer with two processes, H, with high priority and L, with
low priority, which share a critical region. The scheduling rules are such
that H is run whenever it is in ready state. At a certain moment, with L in
its critical region, H becomes ready to run (e.g., an I/O operation
completes). H now begins busy waiting, but since L is never scheduled while
H is running, L never gets the chance to leave its critical region, so H
loops forever. This situation is sometimes referred to as the priority
inversion problem.
所以这是两个process的情况
http://en.wikipedia.org/wiki/Priority_inversion
wiki上是3个process的情况
到底哪个是对的? 谢谢 面试的时候碰到了,答了课上学的2个process的,对方说错
了。
Ps:回来查书,可不可以给那两个面试官发信,说我答的是课本上的答案?
s********k
发帖数: 6180
2
本来这个就和OS的implementation有关吧,3个那个是当年vxworks出问题的经典问题,
两个这个更像一个deadlock的问题,比如H拿不到所有的resource(L的mutex)其实就
不应该run。

in
while

【在 z****i 的大作中提到】
: 在Operating.Systems.Design.and.Implementation书上, 2.2.4 有一段话
: Consider a computer with two processes, H, with high priority and L, with
: low priority, which share a critical region. The scheduling rules are such
: that H is run whenever it is in ready state. At a certain moment, with L in
: its critical region, H becomes ready to run (e.g., an I/O operation
: completes). H now begins busy waiting, but since L is never scheduled while
: H is running, L never gets the chance to leave its critical region, so H
: loops forever. This situation is sometimes referred to as the priority
: inversion problem.
: 所以这是两个process的情况

l******d
发帖数: 530
3
这书上讲的情况不大对“H now begins busy waiting”,H不一定是busy waiting,跟
os实现有关。大多数priority inversion的概念都是有3个priority level的,low
priority得到high priority想要的resource,但是一直被其它medium priority的抢占。
btw,这是啥方向的面试题,感觉像是real-time system的
z****i
发帖数: 245
4
这本书是Andrew S Tanenbaum的,也算经典了,题目是个简单的常见题目,realtime方
面的,我答的是两个process的,阿三面试官说错误,还两个面试官都面到了。

占。

【在 l******d 的大作中提到】
: 这书上讲的情况不大对“H now begins busy waiting”,H不一定是busy waiting,跟
: os实现有关。大多数priority inversion的概念都是有3个priority level的,low
: priority得到high priority想要的resource,但是一直被其它medium priority的抢占。
: btw,这是啥方向的面试题,感觉像是real-time system的

l******d
发帖数: 530
5
我猜Andrew S Tanenbaum在教科书里是为了简化用了2个process的情况。在real-time
community里priority inversion基本都是3个不同priority的process才出现的。
你是real-time方向的?这个方向的专业不是基本都要us citizenship吗

【在 z****i 的大作中提到】
: 这本书是Andrew S Tanenbaum的,也算经典了,题目是个简单的常见题目,realtime方
: 面的,我答的是两个process的,阿三面试官说错误,还两个面试官都面到了。
:
: 占。

s********k
发帖数: 6180
6
就像我前面说的,2个的情况更简单而且大多数应该被解决了,更像一个deadlock,一
个resource是priority,一个是mutex,结果两个process分别拿到一个resource。
2个的问题只要H process不busy waiting而是yield就解决了(或者priority
inheritance),这样L完了之后释放mutex然后H再run。
但是3个的问题H只是yield解决不了,L还是不能运行(因为middle一直在运行),所以
mutex不能释放,这样就只能priority inheritance才能解决。
所以我觉得3个应该才是最经典的问题

【在 z****i 的大作中提到】
: 这本书是Andrew S Tanenbaum的,也算经典了,题目是个简单的常见题目,realtime方
: 面的,我答的是两个process的,阿三面试官说错误,还两个面试官都面到了。
:
: 占。

z****i
发帖数: 245
7
可不可以给那两个面试官发信,说我答的是课本上的答案?
我也觉得是,如果是round robin, H process 会yield, 这个应该跟OS的scheduling
有关。

【在 s********k 的大作中提到】
: 就像我前面说的,2个的情况更简单而且大多数应该被解决了,更像一个deadlock,一
: 个resource是priority,一个是mutex,结果两个process分别拿到一个resource。
: 2个的问题只要H process不busy waiting而是yield就解决了(或者priority
: inheritance),这样L完了之后释放mutex然后H再run。
: 但是3个的问题H只是yield解决不了,L还是不能运行(因为middle一直在运行),所以
: mutex不能释放,这样就只能priority inheritance才能解决。
: 所以我觉得3个应该才是最经典的问题

1 (共1页)
进入JobHunting版参与讨论
相关主题
新鲜A家电面……请问设计题怎么算回答得好?Bloomberg电面面经
碰到面试官水平太差看不懂答案怎么办?Deadlock in Java
onsite scheduling没给面试官名单,要名单不好呢?Failed B Phone Interview...
G家面试scheduling会给面试官的名字嘛?新鲜电面经
面试跟c++multithreading有关的工作,都会被问哪些问题啊?EE公司 要coding 背景的职位该怎么准备?
Emergency.... Got this letter from HR求问一个题,nested mutex的实现
L 电面B 家 电话题 C++
发面经, 求祝福发个Qualcomm的onsite的面经吧
相关话题的讨论汇总
话题: priority话题: process话题: inversion话题: region话题: critical