11---
2- title : 操作系统专题:进程线程、IPC 、虚拟内存、I/O 多路复用、Linux 与 Shell
3- description : 操作系统面试与学习路线,涵盖进程线程、进程间通信、死锁、虚拟内存、零拷贝、I/O 多路复用、文件系统、Linux 基础、Shell 编程和常见操作系统面试题。
2+ title : 操作系统专题:进程线程、锁与同步 、虚拟内存、I/O 多路复用、Linux 与 Shell
3+ description : 操作系统面试与学习路线,涵盖进程线程、进程间通信、锁与同步机制、 死锁、虚拟内存、零拷贝、I/O 多路复用、文件系统、Linux 基础、Shell 编程和常见操作系统面试题。
44category : 计算机基础
55tag :
66 - 操作系统
@@ -13,10 +13,10 @@ sitemap:
1313head :
1414 - - meta
1515 - name : keywords
16- content : 操作系统,操作系统面试题,进程,线程,进程间通信,IPC,死锁,内存管理,虚拟内存,零拷贝,I/O多路复用,select,poll,epoll,文件系统,Linux,Shell,后端面试
16+ content : 操作系统,操作系统面试题,进程,线程,进程间通信,IPC,锁与同步,互斥锁,信号量,条件变量,futex, 死锁,内存管理,虚拟内存,零拷贝,I/O多路复用,select,poll,epoll,文件系统,Linux,Shell,后端面试
1717---
1818
19- 这份 ** 操作系统专题** 面向后端学习和面试复习,整理操作系统基础、进程线程、进程间通信、内存管理、虚拟内存、零拷贝、I/O 多路复用、文件系统、Linux 和 Shell 相关内容。
19+ 这份 ** 操作系统专题** 面向后端学习和面试复习,整理操作系统基础、进程线程、进程间通信、锁与同步、 内存管理、虚拟内存、零拷贝、I/O 多路复用、文件系统、Linux 和 Shell 相关内容。
2020
2121## 适合谁看
2222
2929
3030- 操作系统负责管理 CPU、内存、文件、I/O 和进程,是理解上层软件运行机制的基础。
3131- 进程、线程和进程间通信是并发编程、服务端性能和问题排查的基础概念。
32- - 死锁、上下文切换、调度、同步互斥是面试高频点 。
32+ - 锁与同步、 死锁、上下文切换、调度是面试高频点 。
3333- 内存管理、虚拟内存、分页、页面置换能帮助理解 JVM、数据库和缓存。
3434- 零拷贝、I/O 多路复用能帮助理解 Kafka、RocketMQ、Redis、Nginx、Netty 等高性能组件。
3535- Linux 和 Shell 是后端开发、部署、排障、自动化脚本的常用能力。
@@ -40,19 +40,21 @@ head:
40402 . [ 操作系统常见面试题总结(下)] ( ./operating-system-basic-questions-02.md ) :继续补齐文件系统、I/O、Linux 等问题。
41413 . [ 进程与线程详解:区别、状态、通信、上下文切换与虚拟线程] ( ./process-and-thread.md ) :系统理解进程、线程、PCB/TCB、fork/exec/wait、线程模型和上下文切换。
42424 . [ 进程间通信(IPC)详解:管道、消息队列、共享内存、Socket 与 Binder] ( ./ipc.md ) :对比管道、消息队列、共享内存、信号量、Socket、Binder 等 IPC 方案。
43- 5 . [ 死锁详解:四个必要条件、Java 死锁排查与数据库死锁处理] ( ./dead-lock.md ) :讲清死锁等待环、四个必要条件、Java 线程死锁排查和数据库事务重试。
44- 6 . [ 虚拟内存详解:地址转换、TLB、缺页中断与页面置换] ( ./virtual-memory.md ) :把分页、页表、TLB、缺页中断和页面置换串起来。
45- 7 . [ I/O 多路复用详解:select、poll、epoll 原理与区别] ( ./io-multiplexing.md ) :理解一个线程处理海量连接背后的内核机制。
46- 8 . [ 零拷贝详解:mmap、sendfile 与 splice] ( ./zero-copy.md ) :搞清传统 I/O、mmap、sendfile、splice 的拷贝路径和适用场景。
47- 9 . [ Linux 基础知识总结] ( ./linux-intro.md ) :掌握目录结构、文件权限、常用命令和基础排障能力。
48- 10 . [ Shell 编程基础知识总结] ( ./shell-intro.md ) :学习变量、条件、循环、函数和常用脚本写法。
43+ 5 . [ 操作系统锁与同步机制详解:mutex、semaphore、condition variable、spinlock 与 futex] ( ./os-lock-and-sync.md ) :理解临界区、互斥锁、信号量、条件变量、自旋锁和 futex 的职责边界。
44+ 6 . [ 死锁详解:四个必要条件、Java 死锁排查与数据库死锁处理] ( ./dead-lock.md ) :讲清死锁等待环、四个必要条件、Java 线程死锁排查和数据库事务重试。
45+ 7 . [ 虚拟内存详解:地址转换、TLB、缺页中断与页面置换] ( ./virtual-memory.md ) :把分页、页表、TLB、缺页中断和页面置换串起来。
46+ 8 . [ I/O 多路复用详解:select、poll、epoll 原理与区别] ( ./io-multiplexing.md ) :理解一个线程处理海量连接背后的内核机制。
47+ 9 . [ 零拷贝详解:mmap、sendfile 与 splice] ( ./zero-copy.md ) :搞清传统 I/O、mmap、sendfile、splice 的拷贝路径和适用场景。
48+ 10 . [ Linux 基础知识总结] ( ./linux-intro.md ) :掌握目录结构、文件权限、常用命令和基础排障能力。
49+ 11 . [ Shell 编程基础知识总结] ( ./shell-intro.md ) :学习变量、条件、循环、函数和常用脚本写法。
4950
5051## 核心文章
5152
5253- [ 操作系统常见面试题总结(上)] ( ./operating-system-basic-questions-01.md ) :覆盖操作系统基础、进程线程、死锁、内存管理等高频问题。
5354- [ 操作系统常见面试题总结(下)] ( ./operating-system-basic-questions-02.md ) :继续整理文件系统、I/O、多路复用、Linux 等知识点。
5455- [ 进程与线程详解:区别、状态、通信、上下文切换与虚拟线程] ( ./process-and-thread.md ) :讲清进程和线程的资源边界、状态转换、Linux 创建机制和 Java 虚拟线程。
5556- [ 进程间通信(IPC)详解:管道、消息队列、共享内存、Socket 与 Binder] ( ./ipc.md ) :讲清常见 IPC 方式的原理、优缺点和选型思路。
57+ - [ 操作系统锁与同步机制详解:mutex、semaphore、condition variable、spinlock 与 futex] ( ./os-lock-and-sync.md ) :讲清临界区、互斥锁、信号量、条件变量、自旋锁、futex、内存顺序和内核锁上下文。
5658- [ 死锁详解:四个必要条件、Java 死锁排查与数据库死锁处理] ( ./dead-lock.md ) :讲清死锁形成条件、资源分配图、Java 排查工具、数据库死锁检测和应用层重试策略。
5759- [ 虚拟内存详解:地址转换、TLB、缺页中断与页面置换] ( ./virtual-memory.md ) :讲清虚拟地址、物理地址、分页、多级页表、TLB、缺页中断和页面置换算法。
5860- [ I/O 多路复用详解:select、poll、epoll 原理与区别] ( ./io-multiplexing.md ) :讲清网络 I/O 的两个阶段、五种 I/O 模型,以及 select、poll、epoll 的区别。
6567- 进程和线程有什么区别?线程之间共享哪些资源?
6668- 进程间通信有哪些方式?各自适合什么场景?
6769- 什么是上下文切换?频繁上下文切换有什么影响?
70+ - mutex、semaphore、condition variable、spinlock 和 futex 分别解决什么问题?
6871- 死锁产生的必要条件是什么?Java 和数据库里如何排查死锁?
6972- 虚拟内存是什么?分页和分段有什么区别?
7073- TLB、缺页中断和页面置换分别解决什么问题?
0 commit comments