• 操作系统知识点


    iwehdio的博客园:https://www.cnblogs.com/iwehdio/

    1、概述

    概述和进程与线程基础

    • 操作系统的概念?
    • 操作系统的功能和目标?
    • 操作系统的四个特征?
    • 操作系统的发展和分类?
    • 操作系统运行机制?
    • 中断和异常?
    • 系统调用?

    2、进程与线程

    进程与线程基础知识

    • 什么是进程?
    • 并发和并行有什么区别?
    • 进程的七种状态和状态变迁?
    • 进程的控制结构PCB 具体包含什么信息?
    • 每个 PCB 是如何组织的呢?
    • 进程的控制?创建、终止、阻塞、唤醒的过程?
    • CPU 的上下文切换?进程的上下文切换?
    • 进程的上下文切换到底是切换什么呢?
    • 发生进程上下文切换有哪些场景?
    • 为什么使用线程?
    • 什么是线程?
    • 线程的优缺点?
    • 线程与进程的比较?
    • 线程相比进程能减少开销,体现在?
    • 线程的上下文切换?
    • 线程的实现?
    • 用户线程如何理解?用户线程的优点和缺点?
    • 内核线程如何理解?内核线程的优点和缺点?
    • 轻量级进程如何理解?
    • 进程调度时机?
    • 抢占式和非抢占式?
    • 进程调度原则和算法指标?
    • 读者写者问题?
    • 哲学家进餐问题?
    • 进程间通信?
      • 管道、消息队列、共享内存、信号量、信号、Socket。
    • 锁?
    • 互斥锁与自旋锁?
    • 读写锁?
    • 乐观锁与悲观锁?

    进程与线程

    • 调度的三个层次?三种调度对比?
    • 进程调度算法?
      • 先来先服务
      • 短进程优先
      • 高响应比优先
      • 时间片轮转
      • 最高优先级
      • 多级反馈队列
    • 进程的同步和互斥?
    • 临界资源的互斥访问的原则?
    • 进程互斥的软件实现方法?
    • 进程互斥的硬件实现方法?

    信号量、死锁

    • 信号量机制?
    • 信号量实现进程互斥和同步?
    • 生产者与消费者问题?多生产者与多消费者问题?
    • 吸烟者问题?
    • 管程是什么?
    • 死锁是什么?
    • 死锁、饥饿、死循环的区别?
    • 死锁产生的必要条件?
    • 死锁的处理策略?
    • 预防死锁?
    • 避免死锁?银行家算法?
    • 死锁的检测与消除?

    3、内存

    内存与文件基础知识

    • 为什么需要虚拟内存?如何与物理内存映射?
    • 内存分段?如何映射的?
    • 内存分段的不足?
    • 内存碎片?内部和外部?
    • 内存交换?
    • 内存分页?如何映射的?
    • 页的换入换出?
    • 内存地址转换步骤?
    • 简单的分页有什么缺陷?
    • 页表缓存TLB?
    • 段页式内存管理?
    • Linux 内存管理?
    • Linux 的虚拟地址空间是如何分布的?用户空间的分段?
    • 缺页异常/缺页中断?处理流程?
    • 页表项的字段?
    • 虚拟内存管理下,访问一个页的整个流程?
    • 页面置换算法:
      • 最佳页面置换
      • 先进先出置换
      • 最近最久未使用置换
      • 时钟页面置换
      • 最不常用置换

    内存

    • 内存的基础知识?链接和装入?
    • 内存的动态分区分配算法?
      • 首次适应、最佳适应、最坏适应、邻近适应
    • 虚拟内存?
    • 页面分配策略,驻留集?
    • 何时调入调出页面?抖动现象?

    4、文件

    • 文件系统是什么?
    • Linux 文件系统?索引节点和目录项?
    • 目录项和目录是一个东西吗?
    • 文件数据是如何存储在磁盘的?
    • 磁盘进行格式化的时候,会被分成哪三个存储区域?
    • 虚拟文件系统?
    • 打开文件?文件描述符?
    • 读写文件的过程?文件系统的基本操作单位?
    • 文件的存放方式?
    • 连续空间存储方式?
    • 非连续空间存放方式:链表/索引?
    • 隐式链表?显式链表?优缺点?
    • 索引方式的优缺点?
    • 如何处理大文件?链表和索引组合?
    • 文件存放方式比较?
    • Unix 文件系统?
    • 空闲空间管理?
    • 空闲表法?
    • 空闲链表法?
    • 位图法?
    • 文件系统结构?块组?
    • 超级块和块组描述符表为什么每个块组都有?
    • 目录的存储?
    • 软链接和硬链接?
    • 缓存与非缓存I/O?
    • 直接与非直接I/O?
    • 阻塞与非阻塞I/O?非阻塞 I/O 的多路复用?
    • 同步与异步I/O?

    文件

    5、磁盘与IO

    磁盘与IO基础知识

    • 磁盘调度算法:
      • 先来先服务
      • 最短寻道时间优先
      • 扫描算法
      • 循环扫描算法
      • LOOK与C-LOOK算法
    • 为什么需要设备控制器?
    • 设备控制器中寄存器的分类与作用?
    • 输入输出设备分类?块设备的数据缓存区?
    • CPU 是如何与设备的控制寄存器和数据缓冲区进行通信的?
    • DMA的工作流程?
    • 为什么需要设备驱动程序?属于操作系统吗?
    • 中断处理程序的处理流程?
    • Linux中的通用块层?两个功能?
    • Linux 支持 5 种 I/O 调度算法?
    • Linux 存储系统的 I/O分层?
    • Linux 提供了哪些缓存机制来提高 I/O 的效率?
    • 键盘敲入字母时,期间发生了什么?

    磁盘和IO

    • 磁盘的结构?
    • 如何在磁盘中读写数据?
    • 一次磁盘读写操作需要的时间?
    • 减少磁盘延迟时间的方法?
    • 磁盘的初始化?引导块、坏块?
    • I/O控制方式?
      • 轮询等待、中断、DMA、通道控制
    • 设备分配?
    • 缓冲区的作用和管理?

    参考


    iwehdio的博客园:https://www.cnblogs.com/iwehdio/
  • 相关阅读:
    从头到尾测地理解KMP算法【转】
    【Android】使用BaseAdapter实现复杂的ListView【转】
    Git命令速查表【转】
    图解Git命令【转】
    Git-入门教程
    自定义Git【转】
    linux命令大全
    ppt转pdf网址
    【转】设置电脑眼睛保护色(背景色)
    【转】putty基本操作--不错
  • 原文地址:https://www.cnblogs.com/iwehdio/p/14248612.html
Copyright © 2020-2023  润新知