Advanced OS
Icoding_F2014
相信代码可以变化世界
展开
-
bread 块设备读取函数解析(1)
引言bread 块设备读取函数,顾名思义就是读取块设备内容的函数,这个函数的第一次调用是在main函数里面进程1的init()函数里面,sys_setup函数调用的。第一次调用主要是为了读取硬盘上的第一个扇区的内容,因为第一个扇区有着分区表等重要信息。bread的技术路线特别长,可以说它操作系统里面的缓冲区,请求项,驱动等多个版本都结合起来,想要充分理解整个函数,是十分需要耐心的。OK,L...原创 2018-11-14 21:06:10 · 2154 阅读 · 0 评论 -
linux-0.12源码分析——缓冲区等待队列(栈)sleep_on+wake_up分析
今天,我们来看一个有趣的东西,那就是中当有多个进程去读或写同一个文件,然后被这个文件对应的同一个缓冲区阻塞时,linux-0.12是如何把这些进程给阻塞起来,同时又是如何把被阻塞的进程一一唤醒。从一个奇怪的地方说起我们来看buffer-head的结构include\linux\fs.hstruct buffer_head { char * b_data; /* pointer to ...原创 2019-05-12 13:12:29 · 691 阅读 · 7 评论