00 操作系统资料/学习线路

一、基础概念

操作系统的学习侧重于理论,主要分为六大部分:基本概念、进程管理内存管理、文件管理、磁盘管理、设备管理。
建议跟着完整的视频教程学习,最好不要一开始就看复杂的书籍(比如《现代操作系统》、《深入理解计算机系统》等)。

《王道计算机考研 - 操作系统》视频课:https://www.bilibili.com/video/BV1YE411D7nH 。
讲的非常清晰、受众广泛,视频整理了大量的思维导图。
比较好的笔记①https://gitee.com/infiniteStars/wang-dao-408-notes/blob/master/
②《图解操作系统》https://xiaolincoding.com/os/#%E8%A6%81%E6%80%8E%E4%B9%88%E9%98%85%E8%AF%BB
③https://blog.csdn.net/love521314123/article/details/119682266

巩固:牛客网的在线练习(计算机基础 => 操作系统)。

其他资源
在学习某个知识点遇到问题时可以翻阅以下资料

《认识操作系统》操作系统知识点梳理 PDF:https://www.aliyundrive.com/s/C4MdAdKqtwK 提取码: 92ow
《图解系统》PDF:https://www.aliyundrive.com/s/uNiqrTvCdGG 提取码: 92ow
浙江大学课程攻略共享计划【操作系统】资料:https://github.com/QSCTech/zju-icicles/tree/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F(包含 PPT 课件、教材、习题解答、课程实验、自测题目、历年考卷等,对应视频在 B 站清晰度极低,不推荐)
这个阶段重在了解操作系统的基本概念,对其体系结构有个全面的认识,不纠结于源码。

二、实验学习

选看一门:

清华大学计算机操作系统原理:https://www.bilibili.com/video/BV1wq4y1M7qf(实验环境及源码:https://github.com/yusong-shen/mooc_os_lab)
操作系统(哈工大李治军老师)32讲(全)超清:https://www.bilibili.com/video/BV1d4411v7u7(实验:https://www.shiyanlou.com/courses/115)

进一步巩固知识的书籍:

《现代操作系统》:https://www.aliyundrive.com/s/5ogrRjoAtgA 提取码: 92ow
《深入理解计算机系统》:https://www.aliyundrive.com/s/FgwsaXj8unE 提取码: 92ow。对应课程视频:https://www.bilibili.com/video/av31289365
《操作系统:精髓与设计原理》:https://www.aliyundrive.com/s/3oX8Ws2TfBb 提取码: 92ow
看了上述的视频教程后,如果还想进一步学习,可以跟着教程来尝试自己动手制作一个简易的操作系统(MiniOS),帮助你真正理解操作系统的设计与实现。

国外教程 MIT 6.828 和难度相对低一些的 MIT 6.S081,两门经典的实验课:

MIT 6.828:https://pdos.csail.mit.edu/6.828/2018/schedule.html
MIT 6.S081:https://pdos.csail.mit.edu/6.S081/2020/schedule.html,中文翻译版:https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/,B 站视频中英文字幕版:https://www.bilibili.com/video/BV19k4y1C7kA
当然也可以看一些书籍,比如:

《30天自制操作系统》:https://www.aliyundrive.com/s/TLxgHbEgtbR 提取码: 92ow,源码中文版:https://github.com/yourtion/30dayMakeOS

这个阶段会结合源码来讲解分析操作系统的实现,并且通过一些实验加强了解。

三、相关知识点

1、基本概念

操作系统的作用
操作系统的体系结构:内核概念
处理器状态:用户态、核心态
系统调用
中断和异常

2、进程管理

进程与线程

基本概念
进程 / 线程状态及转换
CPU 进程调度算法

先来先服务(FCFS)
短作业优先(SJF)
最短剩余时间优先(SRTN)
高响应比优先(HRRN)
时间片轮转
优先级调度
多级反馈队列

进程同步与互斥

信号量机制

生产者 - 消费者模型

读者 - 写者问题

哲学家进餐问题

进程通讯机制

死锁

死锁产生的条件
死锁预防与避免
死锁检测与恢复

3、内存管理

基本概念
内存
内存管理
地址空间
覆盖与交换
内存分配与回收
(1)连续内存分配
单一连续分配
内存碎片
分区
固定分区分配
动态分区分配
(2)非连续内存分配
分段存储管理
分页存储管理
页表
二级页表
多级页表
反向页表
地址变换机构
基本
基于快表
段页式存储管理
(3)虚拟内存(非连续内存分配)
基本概念
局部性原理
实现
请求分段存储管理
请求分页存储管理
请求段页式存储管理
页面置换算法
最佳置换算法(OPT,理想置换算法)
先进先出置换算法(FIFO)
最近最久未使用置换算法(LRU)
时钟置换算法(CLOCK)
第二次机会算法
页面分配策略

4、文件管理

基本概念
文件系统
文件
逻辑结构
物理结构
目录
文件描述符
文件操作
磁盘管理

磁盘结构
磁盘调度算法
先来先服务(FCFS)
最短寻找时间优先算法(SSTF)
扫描算法(SCAN,经典电梯调度算法)
循环扫描算法(CSCAN)
5、设备管理

基本概念
I / O 设备
I / O 设备分类
I / O 控制
缓冲区管理

四、面试相关

操作系统面试的重点主要是进程管理 + 内存管理,进程管理又是重点中的重点,以下经典面试题一定要搞懂(可以从下面的资源部分找到答案):
进程和线程的区别?
进程调度算法有哪些?
常见的进程通信方式?
有哪些进程同步的方法?
什么是死锁,什么情况下会出现死锁(必要条件)?怎么预防和处理?
介绍常见的内存页面置换算法
什么是中断?
什么是系统调用?
操作系统如何进行内存管理?
什么是虚拟内存?
什么是局部性原理?
什么是缓冲区溢出?
还有很多和 Linux 操作系统相关的题目。

资源
操作系统相关面试题 60+:https://interviewguide.cn/#/Doc/Knowledge/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F
操作系统相关面试题 20+:https://snailclimb.gitee.io/javaguide/#/docs/cs-basics/operating-system/operating-system-basic-questions-01
操作系统相关面试题 20+:https://github.com/wolverinn/Waking-Up/blob/master/Operating%20Systems.md
操作系统知识总结:http://www.cyc2018.xyz/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%20-%20%E7%9B%AE%E5%BD%95.html
89 个操作系统核心概念:https://mp.weixin.qq.com/s?__biz=MzkwMDE1MzkwNQ==&mid=2247495992&idx=1&sn=46d196debe727f1b43c08d692f11d08f&source=41#wechat_redirect

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值