r****o 发帖数: 1950 | 1 【 以下文字转载自 InterviewHackers 俱乐部 】
发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers
标 题: 问个今天被问道的OS问题。
发信站: BBS 未名空间站 (Tue Jun 1 15:22:32 2010, 美东)
今天面的,全都是OS问题,
有个问题是:
两个进程A,B, 进程A先运行,然后遇到一个中断,进行context switch,这时进程B开
始运行,当进程A执行完中断后,CPU会马上重新恢复运行A,还是继续运行B。
我说要看A,B的优先级,如果B的优先级高,A要等B的time slice执行完了才能运行。
Interviewer就问,如果A,B优先级一样呢?我对这个问题就没什么把握,我说A还是要
等B的time slice执行完了才能运行。
大家看我说的对不对? | P*******e 发帖数: 1353 | 2 还有这么个俱乐部阿,我也去参加
【在 r****o 的大作中提到】 : 【 以下文字转载自 InterviewHackers 俱乐部 】 : 发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers : 标 题: 问个今天被问道的OS问题。 : 发信站: BBS 未名空间站 (Tue Jun 1 15:22:32 2010, 美东) : 今天面的,全都是OS问题, : 有个问题是: : 两个进程A,B, 进程A先运行,然后遇到一个中断,进行context switch,这时进程B开 : 始运行,当进程A执行完中断后,CPU会马上重新恢复运行A,还是继续运行B。 : 我说要看A,B的优先级,如果B的优先级高,A要等B的time slice执行完了才能运行。 : Interviewer就问,如果A,B优先级一样呢?我对这个问题就没什么把握,我说A还是要
| m*****g 发帖数: 226 | 3 为何A的中断,会去运行B
【在 r****o 的大作中提到】 : 【 以下文字转载自 InterviewHackers 俱乐部 】 : 发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers : 标 题: 问个今天被问道的OS问题。 : 发信站: BBS 未名空间站 (Tue Jun 1 15:22:32 2010, 美东) : 今天面的,全都是OS问题, : 有个问题是: : 两个进程A,B, 进程A先运行,然后遇到一个中断,进行context switch,这时进程B开 : 始运行,当进程A执行完中断后,CPU会马上重新恢复运行A,还是继续运行B。 : 我说要看A,B的优先级,如果B的优先级高,A要等B的time slice执行完了才能运行。 : Interviewer就问,如果A,B优先级一样呢?我对这个问题就没什么把握,我说A还是要
| s******s 发帖数: 3694 | 4 有点不清楚的地方, 既然已经处于“中断”状态, Process B 如何“开始运行”?
中断处理结束后, Status Saving Register 保存的中断前指令将会付给 PC 继续运行
【在 r****o 的大作中提到】 : 【 以下文字转载自 InterviewHackers 俱乐部 】 : 发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers : 标 题: 问个今天被问道的OS问题。 : 发信站: BBS 未名空间站 (Tue Jun 1 15:22:32 2010, 美东) : 今天面的,全都是OS问题, : 有个问题是: : 两个进程A,B, 进程A先运行,然后遇到一个中断,进行context switch,这时进程B开 : 始运行,当进程A执行完中断后,CPU会马上重新恢复运行A,还是继续运行B。 : 我说要看A,B的优先级,如果B的优先级高,A要等B的time slice执行完了才能运行。 : Interviewer就问,如果A,B优先级一样呢?我对这个问题就没什么把握,我说A还是要
| m*****g 发帖数: 226 | 5 既然这样,跟中断似乎没什么关系亚
A
【在 r****o 的大作中提到】 : 【 以下文字转载自 InterviewHackers 俱乐部 】 : 发信人: roufoo (五经勤向窗前读), 信区: InterviewHackers : 标 题: 问个今天被问道的OS问题。 : 发信站: BBS 未名空间站 (Tue Jun 1 15:22:32 2010, 美东) : 今天面的,全都是OS问题, : 有个问题是: : 两个进程A,B, 进程A先运行,然后遇到一个中断,进行context switch,这时进程B开 : 始运行,当进程A执行完中断后,CPU会马上重新恢复运行A,还是继续运行B。 : 我说要看A,B的优先级,如果B的优先级高,A要等B的time slice执行完了才能运行。 : Interviewer就问,如果A,B优先级一样呢?我对这个问题就没什么把握,我说A还是要
| n*****0 发帖数: 133 | 6 应该是B吧
interrupt handler是在cpu当前的process A的instruction执行完之后才执行的,这时
process A已经算执行完了。
在interrupt处理完之后,就直接轮到process B执行。
如果是exception的话,就不一样了。exception 的handler是在cpu当前instruction执
行完之前执行的。 | s******s 发帖数: 3694 | 7 我猜啊,你也许把问题复杂化了 -:)
也许人家就问问中断的基本处理流程而已
【在 m*****g 的大作中提到】 : 既然这样,跟中断似乎没什么关系亚 : : A
| m*****g 发帖数: 226 | 8 比较可能就是那样吧
那里经常调用scheduler
【在 s******s 的大作中提到】 : 我猜啊,你也许把问题复杂化了 -:) : 也许人家就问问中断的基本处理流程而已
|
|