
linux内核
文章平均质量分 56
会笑的那双眼
喜欢那双会笑的眼
展开
-
Linux 0.11的软件加载和块设备数据读取:
页管理是通过内核中的mem_map数组进行管理的,表示对应物理页资源已被占用;缓冲块是内存和外存的转接层、mem_map是物理地址和线性地址之间的转接层;首先是文件读取过程:文件读取就是依据各个目录文件获取到目标文件的i节点编号,然后根据这个i节点编号得到需要的inode,该结构中包含目标文件数据所在的数据块位置,如果使用read或者write访问的时候,那么直接根据访问位置即可明确要访问位置然后触发页故障错误,将对应外存的页通过驱动加载到内存的缓冲块,然后访问缓冲区这样的操作;而对于一个可执行文原创 2021-09-14 11:46:17 · 184 阅读 · 0 评论 -
linux 0.11 系统调用过程
阿达原创 2021-06-06 13:01:56 · 240 阅读 · 0 评论 -
Linux 0.11分页管理
大声的原创 2021-06-05 22:14:38 · 285 阅读 · 0 评论 -
linux 0.11中的等待队列
qq原创 2021-06-04 23:35:16 · 127 阅读 · 0 评论 -
linux 0.11块设备读写逻辑
块设备读取,linux 0.11中有三种块设备:软盘、硬盘和内存虚拟盘,这里只描述整体架构逻辑,具体实际读取和硬件相关,而硬件操作只是大体理解,并不是太懂;首先,Linux中一切皆文件,而对于一个文件,整体操作无非就是open,增删修改、close:对于open,open就是基于根目录节点不断解析目录文件最终获取到目标i节点,然后使用一个操作系统中的i节点资源存储该i节点;对于一个已经open的i节点,读写就是两个系统调用,一个就是read,一个就是write,那么基于i节点中存储的信息即可判断原创 2021-06-04 23:24:14 · 348 阅读 · 0 评论 -
linux 0.11 init/main.c初始化部分
linux 0.11 init/main.c初始化部分原创 2021-06-04 15:14:18 · 713 阅读 · 5 评论 -
linux 0.11文件系统
暂空原创 2021-06-01 16:44:52 · 270 阅读 · 0 评论 -
关于linux 0.11 setup
首先,bootsect引导部分和setup初始化部分仅在系统加载初始期间使用,系统正常运行过程中zhelbootsect引导将setup(引导扇区后的4个扇区)加载到了0x90200后,原创 2021-05-30 19:59:26 · 124 阅读 · 0 评论 -
关于linux 0.11引导
PS:一开始看《操作系统设计与实现》的时候,看了几章,越看越迷茫,感觉太理论了,因此选择了另外一个角度,即《linux内核完全注释》,看完之后,对实际的内核数据管理有了一定的认知,但是太过...原创 2021-05-30 19:14:39 · 151 阅读 · 0 评论 -
关于Linux 0.00的理解
boot.s:首先,PC机上电后,80x86结构的CPU进入实模式,并从地址0xFFFF0开始执行代码,该部分代码为BIOS程序,他会从物理地址0开始初始化中断向量,此后他将引导扇区读入内存绝对地址0x7C00地址处,并跳转到这个地方,然后控制权限就移交给boot.s汇编程序,程序执行权限从start进入,jmpi指令后,会更新CS:EIP;此时CS为0x07C0,eip为0x0000;然后设置ds,ss段寄存器为cs段;接着进入load_system段:该段中首先利用BIOS中断int 0x13(原创 2021-05-26 17:34:29 · 352 阅读 · 0 评论