io阻塞下线程切换问题分析

    本文分析Linux早期版本-Linux0.11  io阻塞下切换线程的问题。虽然现在Linux都4.X了,但是操作系统灵魂性的、基本性的东西不会轻易改变的。况且分析参天大树早期的小树芽比直接分析参天大树有趣、高效得多。这也是本人从MOOC网哈工大张治军老师的《操作系统》课上领悟到的。

    “学习操作系统就是要coding them...”所以选择一个能力范围内的Linux内核版本并coding them, Linux0.11是一个很好的选择。考虑到这是本人在csdn的第一篇博文,所以说了很多。。。下面开始正题吧。

     想到写这篇博文的主要动力是因为我在课程讨论区上看到一位同学发出的chat.

https://www.icourse163.org/learn/HIT-1002531008#/learn/forumdetail?pid=1005173138

他提到了几个问题,不外乎关于操作系统进程阻塞、进程切换问题。

对于他提出来一连串问题我总结了两点。

  1. 执行序列请求IO会引起中断?

  2. 一旦执行序列进入IO阻塞,那如何切换到其它执行序列?

备注:执行序列是一个通俗概念可指线程也可指进程。泛泛的说就是程序执行时在操作系统支持下给用户展示出实体的样子。

对于这两点:我使用代码加图示分析。

加入某应用打开power这个驱动并获取文件描述符power_fd

read(power_fd, &electric, 4);
sleep(1);
printf("e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值