linux0.11文件目录结构

Posted no code no life

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux0.11文件目录结构相关的知识,希望对你有一定的参考价值。

1.boot目录:主要功能是计算机上电后,引导内核启动,将代码加载到内存中,并做一些进入32位保护运行方式前的系统初始化工作。

  1.1.bootsect.s:程序是磁盘引导块程序。编译后会驻留在磁盘的第一个扇区中,PC上电ROM Bios自检后,将被BIOS加载到内存0x7C00处进行执行。

  1.2.setup.s:程序主要用于读取机器的硬件配置参数,并把内核模块system移动到适当内存位置处。

  1.3.head.s:程序会被编译连接在system模块的最前面,主要进行硬件设备的探测设置和内存管理页面的初始设置工作。

2.fs:linux的文件系统

  2.1.bitmap.c:包含处理inode和磁盘块位图的代码

    1.free_block():释放设备dev 上数据区中的逻辑块block。

    2.new_block():向设备dev 申请一个逻辑块(盘块,区块)。

  2.2.block_dev.c:块设备的读写方法

    1.block_write():向指定设备从给定偏移处写入指定长度字节数据。

    2.block_read():从指定设备和位置读入指定字节数的数据到高速缓冲中。

  2.3.buffer.c:用于实现缓冲区高速缓存功能。

  2.4.char_dev.c:字符设备的读写方法

  2.5.exec.c:装载程序

  2.6.fcntl.c:提供文件描述符的操作

  2.7.file_dev.c:文件的读写方法

  2.8.file_table.c:定义文件表数组(64 项)

  2.9.inode.c:管理文件系统中inode节点结构

  2.10.ioctl.c:用于设备输入输出操作

  2.11.namei.c:(对i节点的操作)

  2.12.open.c:文件属性的操作

  2.13.pipe.c:管道读写操作的实现

  2.14.read_write.c:文件读写的系统调用

  2.15.stat.c:文件状态

  2.16.super.c:超级块的资源控制,以及文件系统的操作

  2.17.truncate.c:对inode的操作,主要是释放文件设备空间

  2.18.Makefile:编译该路径下的的c文件为.o链接文件

3.include:主要存放头文件

  3.1.asm:与CPU体系结构相关的部分头文件

  3.2.linux:linux内核专用部分头文件

  3.3.sys:系统数据结构部分

4.init:内核初始化程序

  4.1.main.c

5.kernel:内核进程调度,信号处理,系统调用等程序

  5.1.blk_drv:块设备驱动程序

  5.2.chr_drv:字符设备驱动程序

  5.3.math:数学协处理器仿真处理程序

6.lib:内核库函数

7.mm:内存管理程序

8.tools:生成内核Image文件的工具程序

9.Makefile:编译辅助工具软件make的参数配置文件,linux目录下的这个Makefile还嵌套地调用了所有子目录中包含的Makefile文件

 

以上是关于linux0.11文件目录结构的主要内容,如果未能解决你的问题,请参考以下文章

Linux0.11内核剖析–内核体系结构 ©Fanwu

Linux0.11 根文件系统挂载

Linux0.11内核--进程调度分析之1.初始化

Linux0.11内核--内存管理之1.初始化

Linux0.11内核--内存管理之2.配合fork

linux0.11的0号进程详解