其他分享
首页 > 其他分享> > 计算机系统面试突击

计算机系统面试突击

作者:互联网

本篇文章主要知识点和高频考点

文章目录

操作系统

操作系统种类

  • 实时系统:主要是指系统可以快速的对外部命令进行响应,在对应的时间里处理问题,协调系统工作。
  • 批处理系统:能够提高资源的利用率和系统的吞吐量。
  • 分时系统:可以实现用户的人机交互需要,多个用户共同使用一个主机,很大程度上节约了资源成本。 分时系统具有多路性、独立性、交互性、及时性的优点,能够将用户-系统-终端任务实现。
  • 网络操作系统:借由网络达到互相传递数据与各种消息

进程管理

进程、线程、进程间的通信

  • 进程:是对正在运行的程序的一个抽象。>一个进程就是一个正在执行的程序的实例。>从概念上讲,每个进程都有各自的虚拟CPU,实际情况是CPU会在各个进程间来回切换(时分复用)。
  • 进程状态:创建、就绪、运行、阻塞、终止。
  • 进程调度:调度队列、调度程序(进程选择)、上下文切换。
  • 进程的创建:系统初始化(init)、正在运行的程序执行了创建进程的系统调用(fork)、用户请求创建一个新进程、初始化一个批处理工作。
  • 进程的终止:正常退出(自愿)、错误退出(自愿)、严重错误(非自愿)、被其他进程kill(非自愿)。
  • 进程通过进程表维护进程间切换的有序性。
  • 线程:传统操作系统,进程有一个地址空间和一个控制线程。线程就像是分离的进程,所以有多线程概念。
  • 一个进程可以包含多个线程。
  • 同一个进程中的所有线程都会有完全一样的地址空间,会共享一样的全局变量
  • 线程状态:就绪、运行、阻塞、终止。
  • 线程实现:在用户空间中实现、在内核空间中实现、混合实现。
  • 进程间通信:共享内存系统、消息传递系统。

CPU调度

长期调度&短期调度

  • 先到先服务调度(FCFS)
  • 最短作业优先调度RR(SJF):谁使用CPU时间短优先调度,等待时间平均最短,困难在于如何知道下一个CPU区间的长度.
  • 优先级调度(PAS):与优先级关联,优先级相同就使用先到先服务算法
  • 轮转法调度(RR):分时系统(时间片)
  • 多级队列调度:根据内存、优先级、类型,将多个队列分为多个独立队列.每个队列有不同的调度算法,不能转移。
  • 多级反馈队列调度:允许进程在队列之间转移。

进程同步

  • 有限缓冲问题
  • 读者-写者问题
  • 哲学家进餐问题

死锁

  • 死锁的必要条件:互斥(不可避免)、占有并等待、不可抢占、循环等待。
  • 处理死锁的策略
    忽略死锁的影响:鸵鸟算法
    检测死锁,发现后即时恢复:有资源请求就检查(浪费资源);每隔一段时间进行检测,或当CPU下降到某个标准就去检测。可以通过抢占、回滚、杀死进程进行恢复。
    通过仔细分配资源或制定协议避免死锁:银行家算法(检查每个请求是否会引起不安全状态)
  • 破环产生死锁的条件:加入后台进程,后台进程不会请求其他资源,比如打印机设备,后台进程需要保证能输出完整文件才能打印;执行前让进程请求全部资源看是否可用,或在进程请求其他资源时先释放占用的资源在尝试获取所有资源;虚拟化解决不可抢占;破坏循环等待可以让进程任何时候只能使用一种资源换资源就要先释放资源,或对资源进行统一编号使请求按资源顺序提出。

内存管理

内存管理

虚拟内存

存储管理

文件系统实现

RAID

I/O

常问面试题

  1. 操作系统种类
    Windows、Linux、Mac OS
    功能角度分有实时系统、批处理系统、分时系统、网络操作系统
  2. 什么是按需分页
    在操作系统中,进程是以页为单位加载到内存中,按需分页是虚拟内存的管理方式.在使用请求分页的系统中,只有在尝试访问内容未存在内存中,发生缺页异常,操作系统才会把被访问内容所在的磁盘页面复制到内存中.
  3. 什么是实时系统
    硬实时操作系统:规定某个动作必须在规定时间内完成,如:焊接器需要在某一时刻完成焊接
    软实时操作系统:不希望偶尔违反最终的时限要求,但仍可接受,并不会引起永久伤害.如数字音频\多媒体等.
  4. 什么是虚拟内存
    虚拟内存是一种内存分配方案,是一项可以辅助内存分配机制.(具体查看对应知识点)
  5. 什么是进程和进程表
  6. 什么是进程、线程?
  7. 多线程的好处
  8. RR调度算法
  9. 导致系统出现死锁的情况
  10. RAID的不同级别
  11. DMA是什么
  12. 什么是设备驱动程序
  13. 进程间通信方式
  14. 进程间状态模型
  15. 调度算法
  16. 页面置换算法
  17. 影响调度程序的指标是什么
  18. 什么是僵尸进程
    僵尸进程是已经完成且处于终止状态却仍然在进程表的进程。僵尸进程通常发生在父子关系的进程中,由于父进程仍需要读取其子进程的退出状态所造成的。

标签:计算机系统,调度,面试,死锁,线程,内存,进程,突击,CPU
来源: https://blog.csdn.net/qq_32198251/article/details/115029023