推荐连接:
必备知识点
Linux系统的组成部分
动态视角:内核+根文件系统 功能组成结构视角:硬件、内核(管理整个硬件功能)、库(库调用:libcall)、程序(特别的接口程序shell) 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序、安全功能 IPC:Inter Process Communication进程通信
运行中的系统环境可分为两层
- 用户空间:应用程序(进程或线程)
- 内核空间:内核代码(系统调用)
内核设计流派
- 单内核设计:把所有功能集成于同一个程序;Linux
- 微内核设计:每种功能使用一个单独的子系统实现;Windows,Solaris
Linux内核特点
- 支撑模块化:内核文件:.ko(kernel object)
- 支持模块运行时动态装载或卸载;
站在编译好的视角看,其组成部分: 核心文件:/boot/vmlinuz-VERSION-release 模块文件:/lib/modules/VSERSION-release 如果有内核有多个版本,则其下有多个目录
ramdisk:
用于实现系统初始化的基于内存的磁盘设备ramdisk
ramdisk: 用于实现系统初始化的基于内存的磁盘设备ramdisk 为什么需要:操作系统启动时,需要把ramdisk装载到内存中,而后根把它当作一个磁盘来使用,从而识别成根文件系统,其lib/modules目录下有当前真正的根设备的驱动程序,借助于ramdisk从而把真正的根挂载上,挂载上之后ramdisk把所有权利交给真正的根; ramdisk非必须的:取决于系统从何而来,内核是如何制作的,是为了面对多种需求还是只是当前需求的; CentOS 5 : /boot/initrd-VERSION-release.img #基于ram的磁盘; 磁盘印象文件 CentOS 6,7 : /boot/initramfs-VERSION-release.img #基于ram的文件系统 内存的数据本来就应该在内存中,磁盘上的设备虽然有buffer和cache,但太慢了,所以要把磁盘中很多数据临时加载到内存中供访问; 但本来基于内存的磁盘设备ramdisk就是内存,就没有必须要再缓存一次, 为了避免双缓冲双缓存的:从而使得其到达提速的目的;
ramdisk
演示: [[email protected] ~]# uname -r 3.10.0-229.el7.x86_64 [[email protected] ~]# ls /boot/ #内核文件 config-3.10.0-229.el7.x86_64 grub grub2 initramfs-0-rescue-0e6e23af771842c8bf3aeb3ae70b2a33.img initramfs-3.10.0-229.el7.x86_64.img #ramdisk临时根 initramfs-3.10.0-229.el7.x86_64kdump.img initrd-plymouth.img symvers-3.10.0-229.el7.x86_64.gz System.map-3.10.0-229.el7.x86_64 vmlinuz-0-rescue-0e6e23af771842c8bf3aeb3ae70b2a33 vmlinuz-3.10.0-229.el7.x86_64 #核心文件 [[email protected] ~]# ls /lib/modules #模块文件在/lib/modules下 3.10.0-229.el7.x86_64 [[email protected] ~]# ls /lib/modules/3.10.0-229.el7.x86_64/kernel/ arch crypto drivers fs kernel lib mm net sound arch 与平台相关的特有代码 crypto 加密解密组件 drivers 驱动 fs 文件系统 kernel 内核追踪用到的组件 lib mm 内存管理功能 net 网络功能 sound 跟声音相关的驱动程序、解码器等 [[email protected] ~]# ls /lib/modules/3.10.0-229.el7.x86_64/kernel/kernel/ 内核追踪用到的组件 trace [[email protected] ~]# ls /lib/modules/3.10.0-229.el7.x86_64/kernel/fs/ 文件系统 binfmt_misc.ko ceph dlm fat gfs2 lockd nfs_common overlayfs udf btrfs cifs exofs fscache isofs mbcache.ko nfsd pstore xfs cachefiles cramfs ext4 fuse jbd2 nfs nls squashfs
演示:内核文件、模块文件
系统启动流程
上图先:
以下只适合PC机的MBR架构的设计
(1)、POST(Power On Self Test)开机加电自检
通电后,自动查看硬件设备在不在
实现POST代码在主板的ROM上;如果没有外部辅助手段框定,ROM上的代码是没法修改的;
ROM : CMOS
CMOS中有BIOS : Basic Input and Output System基本输入输出系统
可被CPU加载的:ROM+RAM
(2)、Boot Sequence : 引导过程
转载请注明出处:http://www.cnblogs.com/jasperhsu/p/5095141.html
时间: 2024-10-06 09:37:32