《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. <eq>标签

    链接:http://document.thinkphp.cn/manual_3_2.html#taglib <eq name="menu.id" value="1& ...

  2. 【leetcode 简单】 第六十五题 2的幂

    给定一个整数n,判断它是否为2的次方幂. 方法:2,4,8都是2的n次幂 任何整数乘以2,都相当于向左移动了一位,而2的0次幂为1,所以2的n次幂就是1向左移动n位.这样,2的幂的特征就是二进制表示只 ...

  3. 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)

    剧毒比赛,至少涨了分对吧.: ( [A]Left-handers, Right-handers and Ambidexters 题意: 有\(l\)个右撇子,\(r\)个左撇子,\(a\)个双手都惯用 ...

  4. .net HttpCrawler

    using HtmlAgilityPack; using System; using System.Collections.Generic; using System.Diagnostics; usi ...

  5. checkbox 全选和取消

    //全选 $("#checkall").click(function () { if (this.checked) { //如果当前点击的多选框被选中 $('input[type= ...

  6. Scala中“=>”用法及含义

    => has several meanings in Scala, all related to its mathematical meaning as implication. 1. In a ...

  7. laravel 中provider的理解和使用

    https://segmentfault.com/q/1010000004640866

  8. java 多线程总结篇4——锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制.Java提供了多种多线程锁机制的实现方式,常见的有synchronized.ReentrantLock.Semaphore. ...

  9. MySQL权限问题

    1.修改MySQL用户密码 .先来看一个PASSWORD()函数,MYSQL使用MD5加密 SELECT PASSWORD(‘root’); .使用mysql数据库,查看用户表 USE mysql; ...

  10. django使用RestFramework的Token认证

    今天实现的想法有点不正规: Django Rest framework的框架的认证,API都运行良好. 现在是要自己写一个function来实现用户的功能. 而不是用Rest 框架里的APIVIEW这 ...