linux内核完全注释---学习札记--linux内核源代码目录结构
2011-05-27 10:50
417 查看
1. linux0.11 目录结构:
2. 内核初始化程序目录init
该目录中仅包含一个文件main.c。用于执行内核所有的初始化工作,然后移到用户模式创建新进程,并在控制台设备上运行shell 程序。
程序首先根据机器内存的多少对缓冲区内存容量进行分配,如果还设置了要使用虚拟盘,则在缓冲区内存后面也为它留下空间。之后就进行所有硬件的初始化工作,包括人工创建第一个任务(task 0),并设置了中断允许标志。在执行从核心态移到用户态之后,系统第一次调用创建进程函数fork(),创建出一个用于运行init()的进程,在该子进程中,系统将进行控制台环境设置,并且在生成一个子进程用来运行shell程序。
3. 内核程序主目录kernel
4. Makefile文件
Makefile 文件的主要作用是指示make 程序最终使用独立编译连接成的tools/目录中的build 执行程序将所有内核编译代码连接和合并成一个可运行的内核映像文件image。具体是对boot/中的bootsect.s、setup.s 使用8086 汇编器进行编译,分别生成各自的执行模块。再对源代码中的其它所有程序使用GNU 的编译器gcc/gas 进行编译,并连接成模块system。再用build 工具将这三块组合成一个内核映象文image.
5. 基本编译连接/组合结构
2. 内核初始化程序目录init
该目录中仅包含一个文件main.c。用于执行内核所有的初始化工作,然后移到用户模式创建新进程,并在控制台设备上运行shell 程序。
程序首先根据机器内存的多少对缓冲区内存容量进行分配,如果还设置了要使用虚拟盘,则在缓冲区内存后面也为它留下空间。之后就进行所有硬件的初始化工作,包括人工创建第一个任务(task 0),并设置了中断允许标志。在执行从核心态移到用户态之后,系统第一次调用创建进程函数fork(),创建出一个用于运行init()的进程,在该子进程中,系统将进行控制台环境设置,并且在生成一个子进程用来运行shell程序。
3. 内核程序主目录kernel
4. Makefile文件
Makefile 文件的主要作用是指示make 程序最终使用独立编译连接成的tools/目录中的build 执行程序将所有内核编译代码连接和合并成一个可运行的内核映像文件image。具体是对boot/中的bootsect.s、setup.s 使用8086 汇编器进行编译,分别生成各自的执行模块。再对源代码中的其它所有程序使用GNU 的编译器gcc/gas 进行编译,并连接成模块system。再用build 工具将这三块组合成一个内核映象文image.
5. 基本编译连接/组合结构
相关文章推荐
- 【Android学习札记】Android 目录结构
- 嵌入式 Linux内核源代码目录结构分析
- PX4代码学习系列博客(3)——px4固件目录结构和代码风格
- Linux内核源代码-目录结构
- Linux内核源代码目录结构
- u-boot 学习之源代码目录结构
- mybatis学习笔记(六)使用generator生成mybatis基础配置代码和目录结构
- mybatis学习笔记(六)使用generator生成mybatis基础配置代码和目录结构
- Linux内核源代码目录结构
- Linux内核源代码目录结构详解
- WebRTC代码走读(八):代码目录结构
- angularjs学习笔记二——代码结构简介
- [Github Star多的py代码鉴赏学习]目录下文件重命名脚本
- linux讨论之文件系统与目录结构与学习命令前奏
- Android应用开发学习总结(二)——新建项目与目录结构了解
- TP5学习基础二:目录结构、URL路由、数据操作
- java学习笔记 使用递归 将文件目录树形结构输出,递归删除目录 文件夹。
- Android开发学习之路--Android Studio项目目录结构简介
- linux目录结构及文件基本操作学习笔记
- tp5.0.11学习--目录结构