【操作系统】-经典面试题吐血整理

  • 进程与线程的区别

    • 在引入线程之前,进程是资源分配的基本单位也是cpu调度的基本单位。但是在引入线程之后,cpu调度的基本单位变成了线程。之所以引入线程是为了提高系统的并发性,减少进程并发带来的时空开销。他们的所占用的内存空间不同,通信方式不同。

  • 进程间的通信方式

    • 管道: 速度慢, 容量有限, 只有 父子之间的进程能通信.

    • 消息队列: 容量受到系统限制.

    • 共享内存: 速度快, 但要保持同步

  • 线程间通信方式

    • 同步:这里讲的同步是指多个线程通过 synchronized 关键字这种方式来实现线程间的通信.
    • while轮询的方式:这种方式会 浪费CPU资源. 就类似于现实生活中, 某个人一直看着手机屏幕是否有电话来了. 而不是在干别的事情,当有电话来时,响铃通知TA电话来了。
    • wait /notify 机制:好处就是CPU的利用率提高了. 坏处是如果通知过早, 会打乱程序的执行逻辑.
  • 进程间的调度

  • 死锁是什么,如何解决死锁

    • 各进程互相等待对方手里的资源,导致进程都阻塞,无法向前推进

    • 预防死锁

    • 避免死锁:银行家算法

    • 死锁检测:死锁定理,资源分配图的简化

    • 死锁解除:撤销,回退

  • 实现多线程的方式

    • 用户级线程

    • 内核级线程

    • 多线程模型

  • 磁盘调度算法(6种)

    • 先来先服务

    • 最短寻道时间优先

    • SCAN

    • C-SCAN

    • LOOK

    • C-LOOK

  • 进程调度算法(6种)

    • 先来先服务
    • 短作业优先
    • 高响应比优先
    • 优先级调度算法
    • 时间片轮转调度
    • 多级反馈队列算法
  • 操作系统的功能

    • 进程管理

      • 进程管理主要是要实现进程线程之间调度,处理进程之间的同步和互斥问题,以及可能产生的死锁等问题。

    • 内存管理

      • 内存空间的分配和回收(非连续分配中有基本分页和基本分段),虚拟存储技术(请求分页,请求分段,缺页中断),内存空间扩充(覆盖交换),地址转换,存储保护等。

    • 文件管理

      • 对文件目录的管理(FCB indoe),如何实现文件共享(硬链接软链接),文件保护(口令加密访问控制),对非空闲磁盘块的管理(连接分配,索引分配),以及对空闲磁盘块的管理(位示图法,空闲链表法,成组链法),磁盘调度,磁盘管理(低级格式化,磁盘分区,逻辑格式化)。

    • 设备管理

      • 这一块主要的知识就是中断处理(程序直接控制,中断驱动方式,DMA方式,通道控制)

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/113560889