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条而不具备第四条就称为“线程”
如果完全没有用户空间就称为”内核线程“,如果共享用户空间就称为”用户线程“
标签:Linux1,代码,源码,线程,内核,进程,目录 From: https://www.cnblogs.com/zyx-c/p/16814773.html