操作系统
最后发布时间:2020-07-22 15:02:01
浏览量:
命令
- chroot切换根
chroot - run command or interactive shell with special root directory
- ldd 查看共享库依赖关系
ldd - print shared object dependencies
Linux启动流程
- 内核的设计风格
- 单内核(Linux)(LWP轻量级进程)
- 模块化设计,内核模块ko(kernel object)
- so(share object)用户空间进程共享模块
- 核心动态加载内核模块:
- 模块的位置:/lib/modeules/内核版本号目录/
- 内核目录:
- 模块的位置:/lib/modeules/内核版本号目录/
- 微内核(Windows)(支持真正意义多线程)
- 单内核(Linux)(LWP轻量级进程)
https://www.bilibili.com/video/BV12t411s7CU?p=52&t=1265
单内核模块化造成问题?内核访问root目录下的文件,首先需要装载文件系统。而根文件系统在一个硬件设备上,但是内核没有文件系统驱动程序,如何访问root目录下的程序?
要想访问文件设备需要驱动,要想拿到驱动需要访问文件设备。
-
解决方案一:将驱动程序放入内核,但是文件驱动太多
-
解决方案二:安装系统时动态生成内核需要访问的文件,连接内核和模块
-
bootloader(MBR):
- LILO:Linux LOader
- GRUB:GRand Unified Bootloa der
- Stage1:MBR
- Stage1.5:
- Stage2:/boot/grub
实验
- 切换根