书籍
这个阶段的书籍都写在提高部分(上)里了,可以看看
强调一下,可以重点看看
- 《操作系统原理与实践》或者看看别的讲操作系统的书或者视频,对操作系统有一个大致的了解
- 《操作系统真相还原》 动手实现一个操作系统!
- 《linux内核设计与实现》在有一定基础的情况下,再有重点看看linux的实现会有更好的理解。这本书也比较老了,看看内存、进程一些重要的章节就好。
- 《奔跑吧linux内核》很全面的书籍!
内核学习
uboot及启动过程
面试中,我这个被提问的非常多,需要从上电说到linux启动到一号进程并降级到用户态。 涉及:
- uboot作用与使用
- uboot启动linux
- linux启动做了哪些工作
- 内核态用户态
- 汇编
- 等等
启动过程所涉及的部分和知识点非常多,最好是有一定的基础后再通过linux源码来看!
内存分配
- 物理页和虚拟页
- 查表 缓存失效
- 分配算法 作用和优缺点
- 内存布局
《linux内核设计与实现》《图解linux内核》《深入理解linux进程与内存》 基本都是八股,如果感兴趣,可以自己实现一下物理和虚拟之间的映射
进程管理(调度)
- 进程和线程
- linux源码中具体的结构体
- 调度算法
- 进程间通信
同上
文件系统
- sysfs
- debugfs
- ext4
- mount与unmount 如何管理不同的文件系统
- 各个文件系统如何查找文件
《图解linux内核》 也是八股
网络编程
- tcp ip
- poll epoll
- 等等
《深入理解linux网络》《小林coding》
设备树
这个没有和驱动放在一起,是感觉设备树更像是内核的功能,而不是驱动。
- 会读
- 会写
- 会用
《linux设备驱动开发详解》
项目
- xv6
- rcore(rust写的不太推荐学rust 有时间看看实现就行)
- 操作系统真相还原
- 学学实时操作系统(有linux的上面的基础 学这个非常快 freertos在mcu的厂用的特别多)
- 一些小但是完整的操作系统都可以(后续包装就行)
- 一生一芯(这个开源项目会让你的综合实力和眼界有大幅度的提升,但是最少需要半年,并且对操作系统的本身提升不高,有时间可以搞搞)
因为这个部分基本都是八股,面试也是通过各个问题来看掌握情况,我自己也写了很多总结,但是没有系统的整理,如果大家想看的话多点点赞、订阅和鲜花呐!
全部评论
(3) 回帖