iwehdio的博客园:https://www.cnblogs.com/iwehdio/
1、概述
- 操作系统的概念?
- 操作系统的功能和目标?
- 操作系统的四个特征?
- 操作系统的发展和分类?
- 操作系统运行机制?
- 中断和异常?
- 系统调用?
2、进程与线程
- 什么是进程?
- 并发和并行有什么区别?
- 进程的七种状态和状态变迁?
- 进程的控制结构PCB 具体包含什么信息?
- 每个 PCB 是如何组织的呢?
- 进程的控制?创建、终止、阻塞、唤醒的过程?
- CPU 的上下文切换?进程的上下文切换?
- 进程的上下文切换到底是切换什么呢?
- 发生进程上下文切换有哪些场景?
- 为什么使用线程?
- 什么是线程?
- 线程的优缺点?
- 线程与进程的比较?
- 线程相比进程能减少开销,体现在?
- 线程的上下文切换?
- 线程的实现?
- 用户线程如何理解?用户线程的优点和缺点?
- 内核线程如何理解?内核线程的优点和缺点?
- 轻量级进程如何理解?
- 进程调度时机?
- 抢占式和非抢占式?
- 进程调度原则和算法指标?
- 读者写者问题?
- 哲学家进餐问题?
- 进程间通信?
- 管道、消息队列、共享内存、信号量、信号、Socket。
- 锁?
- 互斥锁与自旋锁?
- 读写锁?
- 乐观锁与悲观锁?
- 调度的三个层次?三种调度对比?
- 进程调度算法?
- 先来先服务
- 短进程优先
- 高响应比优先
- 时间片轮转
- 最高优先级
- 多级反馈队列
- 进程的同步和互斥?
- 临界资源的互斥访问的原则?
- 进程互斥的软件实现方法?
- 进程互斥的硬件实现方法?
- 信号量机制?
- 信号量实现进程互斥和同步?
- 生产者与消费者问题?多生产者与多消费者问题?
- 吸烟者问题?
- 管程是什么?
- 死锁是什么?
- 死锁、饥饿、死循环的区别?
- 死锁产生的必要条件?
- 死锁的处理策略?
- 预防死锁?
- 避免死锁?银行家算法?
- 死锁的检测与消除?
3、内存
- 为什么需要虚拟内存?如何与物理内存映射?
- 内存分段?如何映射的?
- 内存分段的不足?
- 内存碎片?内部和外部?
- 内存交换?
- 内存分页?如何映射的?
- 页的换入换出?
- 内存地址转换步骤?
- 简单的分页有什么缺陷?
- 页表缓存TLB?
- 段页式内存管理?
- Linux 内存管理?
- Linux 的虚拟地址空间是如何分布的?用户空间的分段?
- 缺页异常/缺页中断?处理流程?
- 页表项的字段?
- 虚拟内存管理下,访问一个页的整个流程?
- 页面置换算法:
- 最佳页面置换
- 先进先出置换
- 最近最久未使用置换
- 时钟页面置换
- 最不常用置换
- 内存的基础知识?链接和装入?
- 内存的动态分区分配算法?
- 首次适应、最佳适应、最坏适应、邻近适应
- 虚拟内存?
- 页面分配策略,驻留集?
- 何时调入调出页面?抖动现象?
4、文件
- 文件系统是什么?
- Linux 文件系统?索引节点和目录项?
- 目录项和目录是一个东西吗?
- 文件数据是如何存储在磁盘的?
- 磁盘进行格式化的时候,会被分成哪三个存储区域?
- 虚拟文件系统?
- 打开文件?文件描述符?
- 读写文件的过程?文件系统的基本操作单位?
- 文件的存放方式?
- 连续空间存储方式?
- 非连续空间存放方式:链表/索引?
- 隐式链表?显式链表?优缺点?
- 索引方式的优缺点?
- 如何处理大文件?链表和索引组合?
- 文件存放方式比较?
- Unix 文件系统?
- 空闲空间管理?
- 空闲表法?
- 空闲链表法?
- 位图法?
- 文件系统结构?块组?
- 超级块和块组描述符表为什么每个块组都有?
- 目录的存储?
- 软链接和硬链接?
- 缓存与非缓存I/O?
- 直接与非直接I/O?
- 阻塞与非阻塞I/O?非阻塞 I/O 的多路复用?
- 同步与异步I/O?
5、磁盘与IO
- 磁盘调度算法:
- 先来先服务
- 最短寻道时间优先
- 扫描算法
- 循环扫描算法
- LOOK与C-LOOK算法
- 为什么需要设备控制器?
- 设备控制器中寄存器的分类与作用?
- 输入输出设备分类?块设备的数据缓存区?
- CPU 是如何与设备的控制寄存器和数据缓冲区进行通信的?
- DMA的工作流程?
- 为什么需要设备驱动程序?属于操作系统吗?
- 中断处理程序的处理流程?
- Linux中的通用块层?两个功能?
- Linux 支持 5 种 I/O 调度算法?
- Linux 存储系统的 I/O分层?
- Linux 提供了哪些缓存机制来提高 I/O 的效率?
- 键盘敲入字母时,期间发生了什么?
- 磁盘的结构?
- 如何在磁盘中读写数据?
- 一次磁盘读写操作需要的时间?
- 减少磁盘延迟时间的方法?
- 磁盘的初始化?引导块、坏块?
- I/O控制方式?
- 轮询等待、中断、DMA、通道控制
- 设备分配?
- 缓冲区的作用和管理?
参考
- 进程与线程:进程和线程基础知识全家桶,30 张图一套带走
- 互斥与同步:多个线程为了同个资源打起架来了,该如何让他们安分?
- 进程间通信:凉了!张三同学没答好「进程间通信」,被面试官挂了….
- 锁:面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景
- 内存管理:真棒!20 张图揭开内存管理的迷雾,瞬间豁然开朗
- 文件管理:一口气搞懂「文件系统」,就靠这 25 张图了
- 调度算法:大厂面试爱问的「调度算法」,20 张图一举拿下
- IO设备:键盘敲入 A 字母时,操作系统期间发生了什么…
iwehdio的博客园:https://www.cnblogs.com/iwehdio/