《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 源代码》

<源代码下载>

www.kernel.org

<目录结构>

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内核的更多相关文章

  1. 制作linux内核安装包

    实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件  ...

  2. Linux内核调试方法总结【转】

    转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...

  3. 【转】Linux内核调试方法总结

    目录[-] 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2  dump_sta ...

  4. Linux内核调试方法总结

    Linux内核调试方法总结 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2   ...

  5. 嵌入式Linux内核制作【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...

  6. 内核移植和文件系统制作(2):linux内核最小系统和initramfs文件系统

    linux内核最小系统,使用内核版本:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.1.tar.bz2 1,FL2440板子的基本硬件: ...

  7. [国嵌攻略][100][嵌入式Linux内核制作]

    Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...

  8. 嵌入式linux内核制作、根文件系统制作

    嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...

  9. 嵌入式linux内核和根目录制作

    系统组成:Bootloader, Boot parameters, Kernel, Root filesystem嵌入式linux系统有linux内核与根文件系统两部分构成,两者缺一不可. 内核制作: ...

随机推荐

  1. webpack详解

    webpack是现代前端开发中最火的模块打包工具,只需要通过简单的配置,便可以完成模块的加载和打包.那它是怎么做到通过对一些插件的配置,便可以轻松实现对代码的构建呢? webpack的配置 const ...

  2. yii验证系统学习记录,基于yiicms(二)

    /** * Validates the specified object. * @param \yii\base\Model $model the data model being validated ...

  3. Vue模板语法总结

    文本 数据绑定最常见的方式就是使用"Mustache"语法(两个大括号{{ }})的文本插值 <span>Message: {{ msg }}</span> ...

  4. jumpserver安装教程

    centos7系统一步一步安装jumpserver 参照官方文档,查找了百度所有的文档,基本上都是按照官方的文档操作的 官方文档点我-> 安装jumpserver需注意: 1:网络环境要好,有的 ...

  5. No.4 selenium学习之路之iframe

    查看iframe: 1.top window ——可以直接进行定位

  6. Spring框架(管理事务)

    Spring底层使用Transaction事物模板来进行操作.具体操作: 1.service 需要获得 TransactionTemplate 2.spring 配置模板,并注入给service 3. ...

  7. 最近公共祖先(LCA)模板

    以下转自:https://www.cnblogs.com/JVxie/p/4854719.html 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖 ...

  8. performance 判断页面是以哪种方式进入的

    if (window.performance) { console.info("window.performance is supported"); console.log(per ...

  9. 查找sqlserver数据库中,查询某值所表名和字段名

    有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,通过一个存储过程实现的.只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名. 前提是要将这个存储过程放在所查询的数据库. CR ...

  10. NSPredicate用法总结(Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取)

    简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPred ...