408-操作系统-零碎知识点速记

概述

  • 操作系统的特征:并发共享虚拟异步。并发共享是基础
  • 单道批处理:自动、顺序、单道。内存只有一道程序。
  • 多道批处理:内存存放多道程序,宏观并行,微观串行。不具有交互性
  • 分时操作系统:同时、交互、独立、及时。
  • 实时操作系统:硬实时:必须绝对在规定时刻。软实时:可以偶尔违反规定。
  • 分层法:易调试验证、易扩充、易维护。合理定义困难,效率差。
  • 虚拟机分第一类与第二类,第一类为双系统,第二类为类似VMware软件。第一类虚拟机操作系统认为运行的内核态实际上是虚拟内核态。
  • 访管指令在用户态下执行,为非特权指令,执行后操作系统根据操作数执行访管中断处理程序,再根据系统调用的操作数和参数,转到相应的例行子程序。
  • 注意题目强调的是在用户态/内核态下是发生还是执行
  • 中断程序两个过程:中断隐指令,中断处理程序
  • 中断程序需要保存PC与PSW,子程序不需要保存PSW
  • 陷入指令也是一种中断指令,是属于异常,修改为内核态由硬件直接完成。

进程调度

  • 管程定义:名称,共享数据结构、对数据结构操作的过程、初始化的语句。
  • 每次仅允许一个进程进入管程,从而实现互斥,这个保证由编译器实现。
  • 同一进程下的线程不共享各自的栈指针。
  • 哲学家问题解决同步/互斥/死锁问题,可以采取的方案:1.直接每一个哲学家互斥拿起两边的筷子。2. 减少一个哲学家,让他暂时不拿筷子。 3. 奇数拿起左边的筷子,偶数拿起右边的筷子。
  • 银行家算法,第一步是评判当前申请资源加上已经持有资源是否超过最先声明的预估最大资源数,如果超过会直接拒绝请求。

内存管理

  • 编译:将源代码编译成目标模块
  • 连接:将目标模块与所需要的库函数链接在一起
  • 装入:将模块加载进内存
  • 通过界地址寄存器进行越界判断,通常与重定位寄存器联合使用,即内存动态装入的那个基址寄存器。
  • 驻留集是系统给进程分配的内存块的集合。工作集是进程在某个时刻需要运用到的内存块集合。
  • 抖动:频繁的内存换入换出,注意换出是换到外存。
  • 内存分配中,**仅FIFO会出现Belady异常,**即增加内存块数,内存换入换出反而更频繁
  • LRU算法好,但需要硬件支持。
  • 时钟算法是指针指向那个就直接判断。改进时钟算法置换顺序:非读非写 > 非读但写 > 读非写 > 读且写
  • 虚拟内存一定要使用非连续分配技术,虚拟内存容量受CPU地址空间限制也受外存限制。
  • 请求分页管理中仅有:固定分配局部置换(分配固定驻留集,不够用,换出页。)、可变分配局部置换(当发生驻留集不够用时候,分配一个新的空闲页框)、可变分配全局置换(操作系统判断是否频繁发生缺页,如果是为其分配空闲页框)。没有固定分配全局置换。

文件管理

  • 文件打开open系统调用需要文件名,后续对于文件操作只需要表名文件描述符即可。即只有文件打开操作需要文件的详细路径信息,包括文件名。
  • 文件系统的索引结点/i结点:包含所有除文件名以外的文件信息,包括了文件在外存上的存放信息。所以新的FCB结构只保存了文件名与索引结点的索引。
  • 文件查找过程:在程序申明了需要open某某路径的文件,操作系统会进行目录的一级一级查找,也就是调用一级一级的目录的FCB。里面存放该目录下所有文件的文件名,以及对应的索引结点的索引。然后根据这个索引,可以找到文件的索引结点,找到了索引结点也就找到了文件在磁盘上的位置信息,就可以调入内存访问。
  • 文件的打开:操作系统会在内存上面保留全局的一张打开表,以及一张进程的打开表。进程说明需要打开一个文件之后,操作系统进行检索,会将FCB信息从磁盘调入内存缓冲进行查找。找到了之后,将目录项相关信息加入到内存的系统打开表之中。在系统的打开表的索引会被加入到进行打开表之中。所以后续操作只需要表名文件描述符,在进程的打开表中找到,也就找到了索引,根据这个索引可以找到系统打开表中对应文件的信息。
  • 硬链接只不过是在新的目录下添加了一个表项,这个表项可以认为与原文件在其目录下对应表项完全一致,也只是可以认为,因为他俩指向相同索引结点。
  • FAT表可以用于管理空闲磁盘块,因为FAT表本质是显示链接法。
  • 如果需要进行编码,仅可以在每一种情况互斥情况下可以使用二进制压缩,如果存在同时发生的情况,不可以进行二进制压缩,需要所有进行表示,例如对于文件权限编码。

输入输出

  • 计算磁盘IO时候,如果进行复制、移动等操作,要分开看IO,读取原盘块是一次访问磁盘,写到新的盘块也是一次IO。需要细致盘算一下读与写,区分读操作与写操作。
  • 在发生缺页时候,完成换页操作之后,需要重新执行一次指令,所以TLB块表将会被再次访问。也就是一个缺页指令成功执行,会访问两次TLB。
  • DMA要点:1.主要用于块设备 2. 不需要CPU控制,只需要向CPU申请总线控制权力。 3. 直接传输到内存,不需要CPU转存。传输过程由硬件直接实现。
  • DMA与CPU争取总线的三种方式:1. 停止CPU 2. 周期挪用 3. 交替访问
  • I/O软件层次结构里面与硬件直接相关两个层次:设备驱动程序、中断处理程序。
  • 磁盘物理格式化:划分扇区,检测坏扇区,用备用扇区替换。并且采用特殊的数据结构,实际上就是利用校验码防止信息被破坏。
  • 磁盘的逻辑格式化:在物理格式化之后,需要在磁盘上面使用文件系统,需要一些特定的数据结构。特定的数据结构包括:磁盘分卷/盘(CDEF盘)信息、空的文件目录、已分配的控件信息等等。
  • 上述特定数据结构主要包括:引导块、超级快、空闲空间管理、索引结点、根目录。
  • 计算机引导过程:激活CPU,将指令寄存器设置为BIOS第一条指令。激活BIOS之后进行硬件自检。自检完毕之后,就需要将操作系统的文件加载进内存,BIOS会轮询找那个硬盘为引导硬盘。找到了就会加载硬盘的MBR块,MBR记录硬盘的活动分区,找到活动分区,然后加载。活动分区的第一个扇区被称为PBR。PBR会寻找并激活根目录下的引导操作系统的程序,即管理器。然后就加载管理器,管理器加载操作系统文件。最后运行操作系统文件。
  • 磁盘的物理结构:(柱面号,盘面号,扇区号)。在操作系统层面,逻辑认为磁盘是连续空间。柱面号代表的才是磁道号。
  • 现在操作系统通常都直接按进行分配

你可能感兴趣的:(系统架构)