《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. 选择Memcached还是Redis?

    两者相似之处 Memcached与Redis都属于内存内.键值数据存储方案.它们都从属于数据管理解决方案中的NoSQL家族,而且都基于同样的键值数据模型.双方都选择将全部数据保存在内存当中,这自然也就 ...

  2. ASP.NET mvc下在Controller下action的跳转方式

    在ASP.NET mvc下,action有多种挑战方式: return RedirectToAction("Index");//一个参数时在本Controller下 如果Redir ...

  3. windebug常用命令

    使用~查看所有线程 切换到一号线程:~1s 查看所有线程的托管堆栈  ~* e!clrstack 怎么查看,当前线程下,变量的信息? 对于托管代码而言,最核心的命令就是!do(dump object的 ...

  4. boost::bind的使用

    最近在几经波折之后,终于对于boost::bind有点理解了.对于习惯了其他语言的人来说,boost::bind是个挺神奇的东西,它可以将你的方法适配成任何其他的方法.其实这得益于c++的模板以及操作 ...

  5. Centos6.5下搭建nagios详解

    一.LAMP环境部署 1.安装php 1.安装yum源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-releas ...

  6. PATH变量重复

    命令: export PATH=$(echo $PATH | tr : "\n"| sort | uniq | tr "\n" :) Code: awk -F: ...

  7. Linux内核跟踪之trace框架分析【转】

    转自:http://blog.chinaunix.net/uid-20543183-id-1930846.html   ---------------------------------------- ...

  8. 『实践』百度地图给map添加右键菜单(判断是否为marker)

      var map; var s;//经度 var w;//纬度 $(document).ready(function(){ $(".mune").load("jsp/c ...

  9. CSS锚伪类顺序需注意的几点

    CSS锚伪类有以下几种: a:link{color:pink} /*未访问的链接*/ a:visited{color:red} /*已访问的链接*/ a:hover{color:blue} /*鼠标移 ...

  10. pip install 升级时候 出现报asciii码错误的问题。

    原因是pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码.解决办法是: python目录 Python27\Lib\site-packages 建一个文件site ...