制作Linux内核
《linux内核简介》
<linux系统架构>
系统架构

用户部分:
应用程序:GNU C 库
内核部分:系统调用接口、内核、体系结构相关代码(与硬件相关的代码)
划分原因:不同的运行空间所能访问的寄存器,访问的设备是不一样,其目的就是为了保护操作系统
两种状态的转换:系统调用和硬件中断可以完成两种模式的转换
内核架构
system call interface(SCI)系统调用接口:resd(),write(),open()
process management(MM)进程管理:进程的创建,进程删除,进程调度
virtual file system(VFS):虚拟文件
memory managment(MM):内存管理 :内存分配,内存的回收
network stack:网络协议栈,主要负责实现网络协议
arch(Architecture):体系结构代码,就是和cpu密切相关的代码
device drivers:设备驱动程序
《linxu 源代码》
<源代码下载>
<目录结构>

arch:arch 是archticture 的缩写,里面包含内核所支持的美中CPU结构体系,没给CPU 的子目录又包括boot ,mm ,kernel 等子目录,即系统引导,内存管理,系统调用
documentation :内核文档,存放驱动使用方法,内存更新记录
driver :驱动程序
include:内核所需要的头文件,与平台无关的文件放在include/linux 子目录下,与平台相关的头文件则放在相应的子目录中。
fs:file system .存放各种文件系统实现代码,每个子目录存放一个对应的文件系统 的实现代码,公用的源程序用于实现虚拟文件系统(vfs)
net: 网路协议实现代码(注意:不是网卡驱动)
<.source insight>
1)创建新工程(注意:在那个盘创建文件就需要将将要阅读的源代码放在该盘,否者找不到,同时注意勾选添加配置文件选项)
1)添加源代码,将需要添加的文件添加好以后,点击同步按钮(注意:该按钮有点像书)
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
制作Linux内核的更多相关文章
- 制作linux内核安装包
实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件 ...
- Linux内核调试方法总结【转】
转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...
- 【转】Linux内核调试方法总结
目录[-] 一 调试前的准备 二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG_ON() 2 dump_sta ...
- Linux内核调试方法总结
Linux内核调试方法总结 一 调试前的准备 二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG_ON() 2 ...
- 嵌入式Linux内核制作【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...
- 内核移植和文件系统制作(2):linux内核最小系统和initramfs文件系统
linux内核最小系统,使用内核版本:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.1.tar.bz2 1,FL2440板子的基本硬件: ...
- [国嵌攻略][100][嵌入式Linux内核制作]
Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...
- 嵌入式linux内核制作、根文件系统制作
嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...
- 嵌入式linux内核和根目录制作
系统组成:Bootloader, Boot parameters, Kernel, Root filesystem嵌入式linux系统有linux内核与根文件系统两部分构成,两者缺一不可. 内核制作: ...
随机推荐
- 17、enum简介
enum简介 在日常开发中可能有一些东西是固定的,比如一年只有4个季节,春夏秋冬.我们可以自己定义一个类里面存放这4个季节.在jdk5之后,引入了枚举(enum)的概念,可以通过enum去定义这四个季 ...
- Python概念-Item系列(林海峰教的)
这个Item系列是egon老师自创的,个人还是可以接受这种文化底蕴的,所以直接拿来用,也是毫无违和感的 所谓Attr系列,其实是__setattr__,__delattr__,__getattr__ ...
- JS合并单元格
在Web中经常需要合并单元格,例如对于下面一个表格: <!DOCTYPE html> <html> <head> <meta charset="UT ...
- 39 - 同步-异步-IO多路复用
目录 1 同步与异步 2 阻塞与非阻塞 3 什么是IO 3.1 内核态用户态 3.2 IO两个阶段 3.3 IO模型 3.3.1 同步阻塞IO 3.3.2 同步非阻塞IO 3.3.3 IO多路复用 3 ...
- 【HASPDOG】卸载
rpm -qa | grep aksusdb rpm -e aksusdb... rm -rf /var/hasplm
- socket系统调用
SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol) { int retval; struct socket *sock; in ...
- spring boot 测试用例
junit 是一个面向于研发人员使用的轻量的测试模块,适合做单元测试.而testng百度后发现更强大,可以做功能测试,但对于我这种RD,貌似junit足沟了呢! java Mock PowerMock ...
- shell脚本练习题->1
猜随机数的大小 描述: 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个0-100的数字)一样时,直接退出,否则让用户一直输入:并且提示用户输入的数字比预设数字大或者小 分析: 1:随机数字 ...
- pyquery学习笔记
很早就听说了pyquery的强大.写了个简单的测试程序实验下. 思路是找个动态网页,先用PhantomJS加载,然后用PYQUERY解析. 1.随便找了个带表格的股票网页,里面有大量的股票数据,测试的 ...
- Docker - CentOS安装Docker
如果要在CentOS下安装Docker容器,必须是CentOS 7 (64-bit).CentOS 6.5 (64-bit) 或更高的版本,并要求 CentOS 系统内核高于 3.10. uname ...