0
点赞
收藏
分享

微信扫一扫

531_linux内核学习_sys_call.s文件分析


    

         打算用一阵子VS Code,看看是不是能够适应。单纯的看代码而不是编辑,我觉得VS Code获取还有一些好过emacs的优势。

         这次看的是sys_call.s,还是一个汇编代码,快速过一下。

531_linux内核学习_sys_call.s文件分析_linux

         包含了系统调度的底层功能,还包含了定时器的中断处理函数。除此之外,还有一些软盘的中断。这份代码中有信号的处理,这个是我有点没有考虑到的。但是新版本的系统中是不是还是这样,我也不是很清楚。如果都是这样,这个信号处理看起来还是一个移植性有点差的功能。

531_linux内核学习_sys_call.s文件分析_中断处理_02

         有一些状态的设计,看上去汇编代码的部分都是一些基础实现。

531_linux内核学习_sys_call.s文件分析_linux_03

         这里似乎涉及到调度器了,看起来这个似乎还是挺核心的模块。

531_linux内核学习_sys_call.s文件分析_系统调度_04

         这里是重新调度的处理。

531_linux内核学习_sys_call.s文件分析_linux_05

         这个是一个辅助处理的错误还是?

531_linux内核学习_sys_call.s文件分析_linux_06

         这个应该也是错误的处理,设备不可用。

531_linux内核学习_sys_call.s文件分析_linux_06

         这里是定时器中断,应该是8255之类的。我觉得现在的OS应该不再是使用这样定时器做设计的了吧?不然,这个调度设计也有点太粗糙了吧!

531_linux内核学习_sys_call.s文件分析_linux_08

         这个有点意外,软件的执行还有fork居然都是汇编级别的代码。

531_linux内核学习_sys_call.s文件分析_linux_09

         这是前面注释中提到的存储处理中的硬盘的处理。

531_linux内核学习_sys_call.s文件分析_系统调度_10

         这个是软盘的处理。

531_linux内核学习_sys_call.s文件分析_系统调度_11

         并行中断?跟中断嵌套是否有关?还是其他的概念?

         心里多少有点空落落的了,看了这么久的代码居然理解的东西依然这么少。我这第一遍粗略地泛读、浏览也不至于这么没收获吧?


举报

相关推荐

0 条评论