主题
操作系统 八股导航:三方资料(小林coding / JavaGuide / 沉默王二)按主题归档,重合题的最优对比见各专题内「题解」页。 速刷配套:面渣逆袭 操作系统。
进程与线程、内存管理、文件与 IO、调度与死锁。
小林coding(图解系列)
- 10.1 如何查看网络的性能指标?
- 10.2 如何从日志分析 PV、UV?
- 11.1 操作系统怎么学?
- 2.1 CPU 是如何执行程序的?
- 2.2 磁盘比内存慢几万倍?
- 2.3 如何写出让 CPU 跑得更快的代码?
- 2.4 CPU 缓存一致性
- 2.5 CPU 是如何执行任务的?
- 2.6 什么是软中断?
- 2.7 为什么 0.1 + 0.2 不等于 0.3?
- 3.1 Linux 内核 vs Windows 内核
- 4.1 为什么要有虚拟内存?
- 4.2 malloc 是如何分配内存的?
- 4.3 内存满了,会发生什么?
- 4.4 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?
- 4.5 如何避免预读失效和缓存污染的问题?
- 5.1 进程、线程基础知识
- 5.2 进程间有哪些通信方式?
- 5.3 多线程冲突了怎么办?
- 5.4 怎么避免死锁?
- 5.5 什么是悲观锁、乐观锁?
- 5.6 一个进程最多可以创建多少个线程?
- 5.7 线程崩溃了,进程也会崩溃吗?
- 6.1 进程调度/页面置换/磁盘调度算法
- 7.1 文件系统全家桶
- 7.2 进程写文件时,进程发生了崩溃,已写入的数据会丢失吗?
- 8.1 键盘敲入 A 字母时,操作系统期间发生了什么?
- 9.1 什么是零拷贝?
- 9.2 I/O 多路复用:select/poll/epoll
- 9.3 高性能网络模式:Reactor 和 Proactor
- 9.4 什么是一致性哈希?
JavaGuide
- CPU 调度与系统负载详解
- I/O 多路复用详解:select、poll、epoll 原理与区别
- Linux 基础知识总结
- Shell 编程基础知识总结
- 中断、异常与系统调用详解:从内核入口到缺页异常
- 操作系统内存管理详解:分页、分段、页面置换、Swap 与 OOM
- 操作系统常见面试题总结(上)
- 操作系统常见面试题总结(下)
- 操作系统文件系统详解:inode、VFS、Page Cache 与日志机制
- 操作系统锁与同步机制详解:mutex、semaphore、condition variable、spinlock 与 futex
- 死锁详解:四个必要条件、Java 死锁排查与数据库死锁处理
- 虚拟内存详解:地址转换、TLB、缺页异常与页面置换
- 进程与线程详解:区别、状态、通信、上下文切换与虚拟线程
- 进程间通信(IPC)详解:管道、消息队列、共享内存、Socket 与 Binder
- 零拷贝详解:mmap、sendfile 与 splice