操作系统学习笔记

各种问题

  1. 操作系统特点
  2. 什么是进程
  3. 进程
  4. 进程与线程的区别
  5. 进程状态转换图
  6. 进程的创建过程?需要哪些函数?需要哪些数据结构?
  7. 进程创建子进程,fork详解
  8. 进程和作业(程序)的区别?
  9. 死锁是什么?必要条件?如何解决?
  10. 鸵鸟策略
  11. 银行家算法
  12. 进程间通信方式有几种,他们之间的区别是什么?
  13. 线程同步的方式?怎么用?
  14. 页和段的区别?
  15. 孤儿进程和僵尸进程的区别?怎么避免这两类进程?守护进程?
  16. 守护进程是什么?怎么实现?
  17. 线程和进程的区别?线程共享的资源是什么?
  18. 线程比进程具有哪些优势?
  19. 什么时候用多进程?什么时候用多线程?
  20. 协程是什么?
  21. 递归锁?
  22. 用户态到内核态的转化原理?
  23. 中断的实现与作用,中断的实现过程?
  24. 系统中断是什么,用户态和内核态的区别
  25. CPU中断
  26. 执行一个系统调用时,OS发生的过程,越详细越好 1.执行用户程序(如:fork)
  27. 函数调用和系统调用的区别?
  28. 经典同步问题解法:生产者与消费者问题,哲学家进餐问题,读者写者问题。
  29. 虚拟内存?使用虚拟内存的优点?什么是虚拟地址空间?
  30. 线程安全?如何实现?
  31. Linux是如何避免内存碎片的
  32. ++i是否是原子操作
  33. LRU的实现
  34. 内存分区
  35. 伙伴系统相关
  36. Spooling技术

学长博客问题总结:https://miracle-qsh.github.io/2020/03/08/操作系统原理/

1月20日:
经典同步问题解法:生产者与消费者问题,哲学家进餐问题,读者写者问题:
http://c.biancheng.net/cpp/html/2601.html

Java多线程实现的四种方式:
https://zhuanlan.zhihu.com/p/47401636

1月22日:
如何理解互斥锁、条件锁、读写锁以及自旋锁?他们之间的区别和应用场景究竟是什么?
https://www.zhihu.com/question/66733477

面试官:你了解乐观锁和悲观锁吗?
https://www.cnblogs.com/kismetv/p/10787228.html#t1

解决死锁的100种办法:
https://zhuanlan.zhihu.com/p/63207814

1月26日:
C++中垃圾回收机制中几种经典的垃圾回收算法
https://blog.csdn.net/u012611878/article/details/78947267
atomic的底层实现
https://www.cnblogs.com/cnblogs-wangzhipeng/p/12549179.html
静态链接与动态链接
http://www.cyc2018.xyz/计算机基础/操作系统基础/计算机操作系统 - 链接.html#编译系统
I/O 多路复用,select / poll / epoll 详解
https://imageslr.github.io/2020/02/27/select-poll-epoll.html
1月27日:
【并发】IO多路复用select/poll/epoll介绍
https://www.bilibili.com/video/BV1qJ411w7du?from=search&seid=14645211755453870486
操作系统中常用的进程调度算法
https://blog.csdn.net/fuzhongmin05/article/details/55802925
进程调度算法的优缺点
https://blog.csdn.net/xy_cpp/article/details/79459237

1月29
凉了!张三同学没答好「进程间通信」,被面试官挂了....
https://www.cnblogs.com/xiaolincoding/p/13402297.html

原文地址:https://www.cnblogs.com/philo-zhou/p/14314902.html