目录 什么是内核? 什么是系统调用? RAM和ROM的区别? 什么是进程和进程表? 存储器的架构 / 存储器的层次结构: 常见的业务流程来引出: CPU的工作原理: 缓存设计 来看一下CPU中缓存的工作流程: 如何解决这个并发问题呢?也就是缓存跟内存数据不一致的问题: 我们知道缓存是分三级的,为什么大家都只讨论第三级? CPU三级缓存的场景题目 - 伪共享 为什么会出现(缓存)伪共享这种问题呢? 如何解决缓存伪共享这种问题呢? 为什么是8Byte的倍数呢? 1. 线程间同步方式有哪些? 2. 什么是僵尸进程和孤儿进程? 3. 进程的调度算法有哪些? 4. 请说以下中断和异常的区别是什么? 中断分为外中断和内中断: 5. 请说以下死锁是怎么产生的?如何避免死锁? 6. 请说以下缓存IO、直接IO和裸IO的区别是什么? 7. 请说以下阻塞IO、非阻塞IO、同步IO和异步IO的区别是什么? I/O读取数据分为两个阶段: 阻塞I/O: 非阻塞I/O: 同步I/O: 异步I/O: 总结一下: 8. 互斥锁、自旋锁和读写锁的区别是什么? 应用场景上: 9. 进程间通信的方式有哪些? 管道: 消息队列: 共享内存: 10. 请说一下select、poll和epoll的区别是什么? select: poll: epoll: 应用场景上: 11. 请说一下什么是零拷贝?- 零拷贝(Zero-copy)技术 什么是 DMA 技术? 先来看看,如何减少「⽤户态与内核态的上下⽂切换」的次数呢? 再来看看,如何减少「数据拷贝」的次数? 如何实现零拷贝? mmap(内存映射) + write 2. sendfile 3. splice 4. tee(函数) 12. 请说一下页面置换算法是什么?常用算法有哪些? 常见的页面置换算法有以下五种: 13. 请说一下,常见的磁盘调度算法有哪些? 常见的磁盘调度算法有以下六种: 14. 请说一下什么是内存碎片?如何减少内存碎片? 外部碎片: 内部碎片: 虚拟内存 & 虚拟内存地址: 为什么我们程序操作的是虚拟的逻辑地址,而不能直接去操作物理地址,即直接对内存条进行操作呢?