X / Github

系统架构师知识点

一、计算机组成

  1. 磁盘调度移臂算法

    • 最短移臂调度:找距离当前磁头所在 柱面 最近的 柱面 ,即最短寻道时间。

  2. 总线

    • 串行总线:适合 长距离 传输,传输速率低。有 半双工全双工 之分。

      • 波特率:收硬件时钟频率控制

      • 按位传输,正确性依赖于校验码纠正

    • 并行总线: 近距离高速 传输

  3. CRC 校验码

    • 补0,数量是多项式的指数,如 x 3 就是 5 个 0

    • 取余,除数是多项式的指数,有则是1,如 x 3:101000

    • 余数就是 CRC 校验码

  4. 指令集

    • RISC:指令数量少,指令长度固定,指令周期短,寻址方式少,寄存器多

    • CISC:指令数量多,指令长度不固定,指令周期长,寻址方式多,寄存器少

  5. 指令流水线

    • 流水线执行时间:一条指令总执行时间+(指令条数 - 1) * 流水线周期(指令最长的段)

    • 吞吐率:指令条数 / 流水线执行时间;最大吞吐率,就是把指令条数设置为 n,当 n 趋向于 正无穷 时的值

    • 加速比:不使用流水线 / 流水线执行时间

二、系统性能评价

  1. 评价方法:

基准程序:用的最多,最频繁的 核心 程序

三、操作系统

  1. 进程

    • PCB 进程控制块、程序、数据三部分组成

    • 进程状态:就绪、运行、阻塞

    • 资源的 P、V 操作指的是:

      • P 操作:申请资源,资源数 -1

      • V 操作:释放资源,资源数 +1

    • 死锁

      • 死锁资源计算:

        • 发生死锁的最大资源数 = 进程数n * 每个进程的最大资源数 R

        • 不发生死锁的最小资源数 = 进程数n * (R - 1)+ 1

      • 死锁产生的条件:

        • 互斥:资源不能共享

        • 占有资源且等待:进程占有资源后,继续申请其他资源

        • 系统不能剥夺进程资源:资源不能被抢占

        • 进程资源图是环路,循环等待:形成环形等待

      • 死锁避免:银行家算法

        • 资源分配图:有向图,节点是进程和资源,边是请求和分配

        • 资源分配图的环路:死锁

        • 资源分配图的环路没有:不死锁

    • 线程:

      • 共享进程的资源:公共数据、全局变量、代码、文件

      • 不共享:线程的栈指针、一组寄存器、程序计数器

    • 内存

      • 分区

        • 首次适应法:从头找到一个符合的切割出来

        • 最佳适应法:从小到大排序,找到第一个符合的

        • 最坏(最差)适应法:从大到小排序,找到第一个符合的,可以预防过多细小空闲内存碎片

        • 循环首次适应法:从上次分配的地方开始找

      • 分页:根据物理空间划分

      • 分段:根据逻辑空间划分

    • I/O

      • 由设备、控制器、通道、总线和 I/O 软件组成

    • 多级地址索引索引数量:索引块大小 / 地址项大小

      • 例如:索引块大小 4KB,地址项大小 4B,索引数量就是 4KB / 4B = 1024

    • 实时操作系统的外部事件必须在被控对象允许的时间内处理

    • 前趋图中如果有的关系可以通过其他依赖关系隐含表示,那么可以省略

四、数据库