以下内容仅代表我自己的看法,不喜勿喷
一切都是瞎掰啊
Linux的内核:
kernel+rootfs(GNU组件)kernel:进程、内存、网络、驱动、文件、安全等管理
rootfs:程序+glibc(库文件)、
glibc库:
0)函数集合,function,调用接口(头文件负责描述)
*)函数集合
0))过程调用:procedure,无返回值
0))函数调用:function
程序:二进制执行文件
内核设计流派:
0)单内核(monolithic kernel):Linux
把所有功能集于同一个程序
0)微内核(micro kernel):windows,Solaris
每种功能使用一个单独子系统
Linux内核特点:特殊功能
0)支持模块化:.ko (内核对象)
如:文件系统、硬件系统、网络协议
0)支持内核模块的动态装载和卸载
组成部分:
在Linux中有各种系统文件,在对应的文件夹下有对应的以.ko后缀的模块文件,想用时才加载。
**
这么查看对应的模块
#lsmod (ls module) 查看模块
内核核心文件:/boot/vmlinuz-VERSION-release 。集中了所有核心文件
如:/boot/vmlinuz-3.10.0-693.el7.x86_64
ramdisk:辅助的伪根系统:破坏了,系统不能启动
CentOS 5 : /boot/initrd-VERSION-release.img
CentOS 6,7: /boot/initramfs-VERSION-release.img
辅助文件:
在centos 7上 /boot/initramfs-3.10.0-693.el7.x86_64.img
在centos5上/boot/initrd-2.6.18-164.e15.img
把辅助文件initrd-2.6.18-164.e15.img解压缩
#cp /boot/initrd-2.6.18-164.e15.img /root
#
#mv initrd-2.6.18-164.e15.img initrd-2.6.18-164.e15.img.gz
#gzip -d initrd-2.6.18-164.e15.img.gz 解压到当前文件夹
核心文件放置必要文件
辅助文件放置系统驱动模块
**
系统内核启动文件:放在俩个地方
1)辅助/boot/initrd-VERSION-release.img ,在centos5
或/boot/initramfs-VERSION-release.img ,在centos6、7
核心 /boot/vmlinuz-VERSION-release
2) /lib/modules/版本号/
文件形式:.ko后缀
rd=ramdisk 模拟磁盘
ramfs=ramfilesysteml 模拟文件系统
用户访问数据是通过访问文件系统得到的,centos5上是先访问磁盘在访问文件系统,比直接访问文件系统多了一步,所以centos6、7直接访问文件系统