01Linux的基础

一、Linux内核的整体架构

1、宏内核

image-20220106230907344

2、微内核

image-20220106230937693

3、对比

(1)宏内核的优点:设计简洁,性能比较好

(2)微内核的优点:稳定性和实时性

二、Linux内核的体系架构

linux的内核体系架构如下:

image-20220106231325302

三、Linux内核的特征

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

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

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

4、支持多种平台的虚拟内存管理

5、虚拟文件系统

6、模块机制(使内核之间相互独立,方便模块的移植)

7、增加了系统调用

8、面向对象

1.Linux内核在系统中的位置

image-20220106235349598

2.Linux内核子系统之间的管理

image-20220106235520397

主要由五部分组成

3.系统数据结构

task_struct:代表一个进程数据结构指针形成一个task数组。

mm_struct:代表进程的虚拟内存。

indoe:代表虚拟文件系统中的文件、目录等对应的索引节点

四、Linux内核源代码目录组织结构

版本分为稳定版本和开发版本两种,Linux内核版本号由3组数字组成,第一组数字:目前发布的内核主版本;第二组数字:偶数表示稳定版本,奇数表示开发版本;第三组数字:错误修补次数。

1.目录结构

image-20220107000110927

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

block:块设备驱动

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

crypto:内核常用加密、压缩算法等代码

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

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

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

fs:虚拟文件系统代码

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

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

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

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

lib:C标准库的子集

mm:内存管理相关实现

net:网络协议代码,比如TCP、IPv6、Wifi等

samples:内核实例代码

scripts:编译和配置内核所需要的脚本,perl/bash

security:内核安全模型相关代码,如selinux

sound:声卡驱动源码

tools:与内核交互

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

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

2.文件

image-20220107000755901

COPYING:许可授权信息

CREDITS:贡献者列表

Kbuild:内核设定脚本

Kconfig:开发人员配置内核所用的的配置文件

MAINTAINBERS:目前维护者列表

Makefile:编译内核的主要文件

README:编译内核的相关信息

REPORTING-BUGS:如何报告问题的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值