Linux内核特征:

1:内核组织形式为整体式结构

2:进程调度方式简单有效

3:支持内核进程(或称为守护进程)

4:支持多平台虚拟内存管理

5:虚拟文件系统

6:模块机制

7:增加了系统调用

8:面向对象

常见的系统数据结构

task_struct:代表一个进程数据结构形同一个task数组

mm_struck:代表进程的虚拟内存

inode:代表文件系统中的文件·目录等对应的索引节点(inode)

linux内核源码组织结构

Linux内核版本有三组数据:第一组代表主版本号,第二组数据表示是否稳定,偶数代表稳定,奇数为开发版本不稳定,第三组数据为错误修补次数

arch目录:不同平台的体系相关代码

block目录:块设备驱动

certs目录:与认证和签名相关的代码

crypto目录:内核常用 加密压缩算法

documentation:描述模块m功能和协议规范代码

Divers:驱动程序(USB总线,PCI总线,显卡驱动)

firmware:主要是一些二进制固件

fs:虚拟文件系统代码

include:内核源码依赖的大部分头文件

init:内核初始化代码,联系到内存各组件入口

ipc:进程间通信的实现,比如共享内存,信息量,匿名管道

kernel:内核核心代码,包括进程管理,IRQ,时间等

lib:C标准库的子集

mm:内存管理相关的实现

net:网络协议代码:TCP,IPV6,WiFi

samples:内核的实例代码

scripts:编译和配置内核的所需脚本

security:内核安全模型相关的代码

sound:声卡驱动源码

rools:与内核交互

usr:用户打包和用户压缩内核的实现源码

virt:/kvm虚拟化目录支持实现

COPYING:许可和授权信息

CREDITS:贡献者列表

Kbulid:内核设定脚本

MAINTAINERS:目前维护者列表

Makefile:编译内核的只要文件

REPORTING-UBUG:如何报告给开发者

内核代码是以 .c .h 作为扩展名

什么是进程

操作系统是硬件的使用层,提供了使用硬件的资源呢能力,进程是操作系统的使用层,提供了抽象出的资源层的能力

进程:是计算机中以运行的程序。进程本身不是基本的运行单位,而是线程的容器,程序本身只是指令,数据及其组织形式的描述,进程才是程序的真正运行实例

进程的四要素:

1:有一段程序代其执行

2:有进程专用的系统堆栈空间

3:在内核有 task_struck数据结构

4:有独立的存储空间,拥有专用的用户空间

如果具备前面的3条而不具备第四条就称为“线程”

如果完全没有用户空间就称为”内核线程“,如果共享用户空间就称为”用户线程“

原文地址:http://www.cnblogs.com/zyx-c/p/16814773.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性