数据结构
- m阶B树除根节点外所有节点关键字范围 ⌈ m / 2 ⌉ − 1 至 m − 1 \lceil m/2\rceil-1至m-1 ⌈m/2⌉−1至m−1。所有叶节点都在同一层,且不带信息,代表查找失败的位置。是所有节点平衡因子都为0的多路平衡查找树
- 完全二叉树的叶子结点只可能出现在最下面两层中,且最后一层叶子结点都在最左边的位置上
- 哈夫曼树中不存在度是1的结点,新建n-1个结点
- 路径序列中,顶点不重复出现为简单路径。除第一个顶点和最后一个顶点,其余顶点不重复出现的回路为简单回路
- 区分比较次数和调整次数
- 如果front和rear初始值相等,则无法判断空满状态
- 基于比较排序的时间复杂度下界是nlogn
- 时间复杂度log的底数不影响都写作2
- 堆排序先构造初始堆,然后将堆顶元素与最后一个元素交换,从跟结点向下调整
- 希尔排序仅适用顺序表,并且不稳定
- 临界矩阵对角线以下都是0可以判断是一个无环有向图
- 后缀表达式中运算符栈中操作符可能有左括号,不会出现右括号
- 如果给了存储结构,那么是有潜在优先级的,一般只有一种序列
- 散列表在成功时的平均查找长度域表长无关,与装载因子即拥塞程度有关
- 快排是负相关特例;选择排序和归并排序与序列初始无关;插入正相关;折半插入仅减少比较次数而移动次数不变
- 叶结点不一定是最底层
- 快速排序、归并排序、希尔排序这种可以划分子序列处理的使用并行CPU更快
- KMP算法next数组为最大匹配加1,nextval往前递归next数组(字符相同)
- 拓扑排序使用邻接表时是O(m+n),使用邻接矩阵时为O(n^2)。广度优先搜索和深度优先搜索使用邻接表相比邻接矩阵每次查找下一个待访问时都会减少。普里姆算法每次选取定点后也要更新定点触发的边,所以邻接表操作效率更高。(都是邻接表更好)
- B+树磁盘读写代价低,查询效率稳定,适合操作系统的文件索引和数据库索引
- 红黑树与AVL(平衡二叉树)查找、插入、删除的最坏时间复杂度数量级相同,都是logn。但红黑树更适合这些应用场景
- BSL、AVL、红黑树相同关键字最后结构可能不同,删除再插入也可能导致不同结构
- 红黑树和4阶B树具有等价性
- 并查集应用-Kruskal算法
- 关键路径就是最长的路径,延长它还还是最长也就还是关键路径
- 森林的先跟序列对应二叉树的先序遍历序列,森林的中跟遍历序列对应二叉树的中序遍历序列
- 快速排序的空间复杂度lon2n
- 对于定长编码集,二叉树表示的字符一定处于相同的层,而且都是叶结点
- 堆是顺序结构
计算机组成原理
-
RISC采用硬布线控制器,速度取决与逻辑电路的延迟,速度快,修改和扩展困难。微程序控制器采用存储程序原理,易于修改和扩充
-
三种流水线冲突以及解决方法:
-
资源冲突:硬件资源竞争
- 前一指令访存,使后一条相关指令暂停一个时钟周期
- 单独设置数据存储器和指令存储器(L1 cache采用数据和指令分离)
-
数据冲突:下一条指令用到当前指令结果
- 相关指令及后续指令暂停一至几个时钟周期,可以硬件阻塞(stall)或软件插入(NOP)
- 设置相关专用通路,直接将前一条指令的ALU计算结果作为自己的输入数据开始计算过程。数据旁路技术
- 编译器对数据相关指令编译优化,调整指令顺序
-
控制冲突:一条指令确定下一条指令的位置,造成断流
- 对转移指令进行分支预测,尽早生成转移目标地址。分为简单预测和动态预测
- 预取转移成功和不成功两个控制流方向上的目标指令
- 加快和提前形成条件码
- 提高转移方向的准确率
-
-
标志寄存器:
- CF:符号标志
- ZF:领标志
- OF:溢出标志
-
MAR应该确保访问到整个主存空间,也决定了主存地址空间的大小
-
地址总线位数与存储器地址寄存器相关
-
存储器的存取延迟和CPI计算无关
-
虚拟页面分配指从磁盘调入内存,缓存指TLB中有页表中某个页表项。页面在TLB中,就一定在内存中
-
微程序控制方式中,某一类8个微命令则需要4位,因为要一个空状态。外部条件有几个就需要几位。剩下的为下地址字段
-
微程序的数量取决于机器指令的条数,与微指令数量无关
-
当进程使用open()打开使用某个文件时,打开文件将现存文件的控制管理信息从外存读到内存以便下一步使用
-
FAT表(文件分配表)在挂载文件系统时就读入到了系统
-
FAT的表项与物理磁盘块一一对应,并且可以用-1表示最后一块,用-2表示空闲。它不仅记录了文件中各个块的先后连接关系,同时还标记了空闲的磁盘块,操作系统可以通过FAT对文件存储空间进行管理
-
超级快是自举用,启动系统时读入
-
响应外部中断时,中断隐指令的操作是:关中断,保护断点,引出中断服务程序(形成中断服务程序入口地址并送入PC)是硬件直接实现的,没有操作码(不是指令系统中的一条真正的指令)
-
中断服务程序首要进行的操作是:保护通用寄存器
-
浮点数舍入方法最简单的即直接截断法
-
猝发传输第一次传地址,之后传数据
-
条带化技术:自动将I/O的负载均衡到多个物理磁盘的技术,将一块连续的数据各部分分别存储。使多个进程同时访问数据的不同部分而不造成磁盘冲突。顺序访问时可以获得最大程度上的I/O并行能力,获得非常好的性能。与提高RAID可靠性无关(磁盘镜像和奇偶校验有关)
-
管道是半双工,不能实现双向传输。读和写进程都可能被阻塞
-
DRAM采用地址复用技术,地址线/2,且分行、列两次传送
-
I/O接口与打印机速度差异很大,CPU与主存以及CPU和PCI总线数据差距不大
-
地址码相同的存储元构成存储单元,若干存储单元构成存储体
-
SRAM的存储元用双稳态触发器记忆信息,无需再生。存储速度快,集成度第,功耗大。用于组成高速缓冲存储器
-
DRAM用存储元栅极电荣上的电荷来存储信息,通常为一个晶体管。密度高于SRAM,采用地址复用技术
- 3种刷新方式
- 集中刷新:一次对所有行逐一再生,期间停止对存储器的读写操作,即“死区”。读写时不会有刷新
- 分散刷新:将每行刷新分散到各工作周期。工作周期分为2部分,前半用于读写、保持,后半用于刷新。加长了系统的存取周期
- 异步刷新:利用最大刷新间隔2ms,刷新周期/行数得到两次刷新操作的时间间隔t,利用逻辑电路每t产生一次刷新请求
- 注意问题:
- 对CPU透明,不依赖于外部的访问
- 芯片内部自行生成行地址
- 刷新不需要选片,整个存储器所有芯片同时刷新
- SRAM和DRAM都满足断电内容消失,但只有DRAM需要刷新
- 3种刷新方式
-
写回法要一个标志位(脏位),减少了访存次数。(写命中时只修改Cache的内容,不立即写入主存,与写分配法合用)
-
对阶是小阶对大阶不会溢出;右规和尾数舍入都可能导致阶码加一而上溢;左规相应可能导致下溢
-
程序中断I/O方式控制打印输出,打印字符直接传输到打印机的I/O端口,不会涉及主存地址
-
PC给出下一条指令的访存地址,取决于存储器的字数。IR取决于指令字长
-
注意a[k] = a[k]+32这种,访问了两次,特别容易考缺失率
-
分离事务通信即总线复用的一种,相比单一的传输线路可以提高总线的利用率
-
补码定点运算包括符号位
-
Cache完全是硬件实现,不涉及软件。而虚拟存储器由硬件和OS共同完成
-
虚拟存储器的容量=min[内存+外存容量之和,计算机地址位数能容纳的最大容量]
-
超标量流水线实际空间换时间
-
控制存储器用来存放指令系统的所有微指令,只读,按照微指令地址访问
-
数据在功能部件之间传送的路径称为数据通路,包括数据通路上流经的部件,如程序计数器、ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。不包括控制部件,是被控制部件控制。
-
float的范围比int大,不会溢出,但可能因为精度问题出现舍入
-
基址和变址都是形式地址A加寄存器中的内容。变址适合处理数组、循环,内容由用户决定,执行过程中内容可变;基址用于多道程序设计,内容由操作系统或者管理程序决定,执行过程中内容不变
-
微指令编码是对控制字段进行的,形成控制信号,目的是保证速度下缩短字长。
- 垂直型微指令缺点是微程序长、执行慢、效率低,一次完成一个基本操作,灵活性强,工整
- 水平型微指令,一位对应一个控制信号,并行
- 字段间接编码中,一个字段的译码输出需要离开另外某个字段的输入(某个微命令由另外某个字段中的某个微命令解释)
- 字段直接编码方式每段经译码后发出控制信号
-
逻辑位移:左移和右移空位都补0,所有数字参与移动。算术位移:符号位不参与移动,右移空位补符号位,左移空位补
-
IEEE 754 移码取值范围1~254
-
只有数据发生上溢时,机器才会终止运算操作,执行溢出处理
-
当浮点数运算结果在0到最小整数之前(正下溢)或最大负数到0之间(负下溢)时,浮点数值趋于0,计算机将其当做机器零处理,而定点数中的零是实实在在的零
-
只有使用移码表示码阶时,才能用全0表示机器0的阶码
-
Cache是为了缓和CPU和主存的矛盾设立的,会提高整个存储体系的速度,有自己的独立空间,通过不同的映射方式映射到主存的地址空间
-
程序查询为纯软件。DMA为纯硬件。通道软硬结合(通道程序控制数据交换的过程)
-
定长操作码指令条数(一对一)少于扩展操作码(一对多)
-
内部异常可以分为故障 、自陷(也称陷阱、陷入)、终止三类。
- CPU完成自陷指令后自动根据不同陷阱类型进行相应的处理,然后返回到自陷指令的下一条指令执行。但当自陷指令是转移指令时,并不返回下一条指令执行,而是转移目标指令执行
-
机器字长:CPU内部用于整数运算的数据通路的宽度。数据通路即CPU内部的数据流经的路径及路径上的部件,主要是CPU内部进行数据运算、存储和传送的部件,这些部件的宽度基本上要一致才能相互匹配。机器字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度
-
控制存储器采用ROM结构,存放的是微程序,它对软件开发人员是透明的,不能作为指令的地址码
-
CPU不能直接访问外存,若所需的数据存放在外存,则需要先调入主存,而指令中只能使用主存地址
-
对于二地址指令,8086CPU不支持SS型指令(2个操作数都是存储器)
-
运算器:算术逻辑单元、暂存寄存器、累加器、通用寄存器、程序状态字寄存器、位移器等
-
控制器:指令部件、时序部件、微操作信号发生器(控制单元)、中断控制逻辑等
-
指令部件:程序计数器(PC),指令寄存器(IR),指令译码器(ID)
-
动态重定位是在作业运行时,执行到一条访存指令时再把逻辑地址转换为主存中的物理地址,实际中是通过硬件地址转换机制实现的
-
绝对装入是编译、链接的过程中确定绝对地址,并按照绝对地址装入内存
-
响应优先级是CPU中断周期是判断先响应谁,电路决定,不可更改。处理优先级是在中断处理程序中决定先处理哪个中断,可以通过屏蔽字更改。
-
PFLOPS=每秒一千万亿(10的15次方)
-
汇编程序员可见的寄存器有:基址寄存器、状态/标志寄存器、程序计数器PC和通用寄存器;MAR、MDR、IR是CPU的内部工作寄存器,对汇编程序员不可见。微指令寄存器属于微程序控制器的组成部分,是硬件设计者的任务
-
磁盘驱动是由磁头、磁盘和读写电路等组成的,即磁盘本身,不属于I/O接口。打印机适配器、网络控制器、可编程中断控制器属于I/O接口
-
Cache行的位数=数据位+tag位+脏位1bit(回写法)+有效位1bit
-
ISA-指令集体系结构,又称为指令系统,是一种规约,规定了如何使用硬件
- 可执行指令的集合,指令格式、操作种类以及每种操作对应的操纵数
- 指令可以接受的操作数的类型
- 操作数能存放的寄存器组的结构,包括每个寄存器名称、编号、长度和用途
- 操作数所能存放的存储空间的大小和编制方式
- 操作数所能存放的存储空间的大小和编制方式
- 指令获取操作数的方式,寻址方式
- 指令执行过程的控制方式,包括程序计数器PC、条件码定义等
-
中断I/O方式,外设为某些进程准备数据时,可以令进程阻塞,CPU运行其他进程
-
外存准备数据的时间应该大于中断处理时间,否则可能导致CPU没有处理完成
-
比较器用于并行比较分组中所有Cache行的Tag标记为与欲访问物理地址的Tag标记位,比较器的个数就是分组中的Cache行数,位数就是Tag标记位数
操作系统
-
内存保护的两种方法:上下限寄存器与重定位/基址寄存器(用来加)和界地址/限长寄存器(用来比)
-
硬链接基于索引结点,count不为0时删除count-1并删除对应目录项;软连接利用符号链,共享文件其他用户只有文件的路径名,根据路径名逐个查找目录,多次读盘增大开销,符号链的索引结点也需要一定的磁盘空间
-
设备管理具有设备独立性,操作系统系统调用设备使用逻辑设备名,实际执行是转换为对应物理设备名
-
快表TLB可以直接合成物理地址
-
I/O层次结构:
- 用户层I/O软件:与用于交互的接口,必须通过系统调用来获取操作系统的系统服务
- 设备独立性软件:应用程序通过逻辑设备名来请求设备;实际执行必须映射为物理名。
- 逻辑名的好处
- 增加设备分配的灵活性
- 易于I/O重定向,即设备更换
- 功能
- 执行设备公有操作:设备回收分配;逻辑名映射;禁止用户直接访问设备;缓冲管理;差错控制;提供大小统一逻辑块,屏蔽设备之间信息交换大小和传输速率的差异
- 想用户层提供统一接口
- 逻辑名的好处
- 设备驱动程序:与硬件直接相关。每类设备都配置一个设备驱动程序,是通信程序,常以进程形式存在。封装设备具体的差别
- 功能
- 将抽象要求转化为具体要求
- 检查用户I/O的合理性,了解I/O设备状态,传递有关参数,设置设备的工作方式
- 发出I/O操作命令,启动I/O设备,完成I/O操作
- 响应通道发来的中断请求,根据中断类型调用响应的中断处理程序
- 构造通道设备
- 功能
- 中断处理程序:保存中断进程的CPU环境。包括进程上下文的切换,对中断信号源进行测试,读取设备状态和修改进程状态
- 硬件设备:一个机器部件和一个电子部件(设备控制器)
-
用户发出磁盘I/O请求的处理流程:用户程序->系统调用处理程序->设备驱动程序->中断处理程序
-
C程序经过预处理->编译(转换为obj)->汇编->链接(完成重定位,形成整个程序的完整逻辑地址)产生可执行文件
-
低级通信方式:信号量、管程 高级通信方式:共享存储、消息传递、管道
-
虚拟文件系统VFS是内核将文件系统视为一个抽象接口,属于文件管理
-
进程控制块PCB一般包含:PID、进程状态、进程队列指针、程序和数据地址、进程优先级、CPU现场保护区等不含有进程地址空间大小
-
在动态系统中,资源分配策略的不公平导致等待时间上界不存在,如果进程地位相等,只是在某个特定运行序列才会饥饿那一般不算它饥饿
-
不管是何种虚拟内纯是实现方式,都需要以下支持:
- 一定容量的内存和外存
- 页/段表机制
- 中断机构
- 地址变换机构
-
当所读文件数据不再内存中,产生中断(缺页),原进程进入阻塞态(睡眠等待)
-
读一个文件首先需要open系统调用打开文件,参数包含文件路径名和文件名;read要使用open返回的文件描述符fd,还有buf缓冲区首址,传送的字节数(从fd指示文件读n字节的数据,并将它们送入指针buf所指的缓冲区中)
-
进程永远是资源分配的基本单位
-
用户级线程有关线程管理的所有工作都由应用程序完成,无需内核的干扰
-
进程处于临界区时也可以进行处理机的调度
-
设备管理功能:
- 缓冲管理:设置缓冲虚
- 设备分配:若I/O设备和CPU之间还存在设备控制器和通道,则还需为分配的设备分配相应的控制器和通道
- 设备处理:设备驱动,实现CPU和设备控制器的通信
- 设备独立性和虚拟设备:注意与文件系通“按名存取”区分
-
系统内没有越界的错误也不会进行越界出错处理
-
银行家算法是避免死锁,与预防(破坏死锁条件)无关;注意区分不安全状态和死锁状态,不安全不一定死锁;
- 注意事项:
- 限制用户申请资源顺序可不是死锁避免,而是死锁预防
- 注意事项:
-
FIFO算法是唯一会出现Belady异常的页面置换算法,即当前所分配的物理块增大而故障数不增反减的现象
-
I/O端口:数据端口(读写)、状态端口(只读)、控制端口(只写)
-
统一编制:存储器映射方式,不需要CPU专门设置I/O指令,用统一的访存指令就可以访问I/O端口
- 执行速度较慢
- 端口占用存储器地址,使内存容量变小
-
独立编制:I/O映射方式,需要专门设置I/O指令
- 需要CPU提供存储器读/写、I/O设备读/写两组控制信号,增加控制复杂性
- 输入/输出指令少,一般只能对端口进行传送操作
-
-
进程申请读磁盘操作时,会将自身阻塞等待I/O完成。IO完成后就转换到就绪态
-
各线程逻辑空间一样,但具体的栈空间不同
-
操作空间实际上看不到用户线程,所以无法直接调度用户线程
-
FIFO先进先出算法一定注意,进来了就不会换位置啦!
-
系统设备表记录了系统中所有设备的情况
-
3种情况下会发生上下文切换:中断处理、多任务处理、内核/用户态切换
-
中断相关问题:
- 中断隐指令完成中断前程序的状态保护:关中断,保存断点(PC,硬件),中断服务程序寻址
- 中断服务程序完成:保存现场和屏蔽字(PSW,硬件;通用寄存器,中断服务程序软件),开中断(响应更高级的中断),执行中断服务程序,关中断,恢复现场和屏蔽字,开中断、中断返回(返回到断点处,由中断最后一句中断返回指令完成,注意不是转移)
- 中断判优既可以硬件实现、又可以软件实现、硬件实现是通过硬件排队器实现,即可以设置在CPU中又可以分散在各个中断源中。软件实现是通过程序查询实现的
- 硬件故障属于中断的最高级,其次是软件中断
- 内中断都是不可屏蔽中断
- INTR信号线发的外中断是可屏蔽中断,NMI信号线发出的是不可屏蔽众怒单
-
请求某一资源会导致阻塞,而剥夺处理机资源只会导致就绪(时间片)
-
现代操作体统请求分页系统中页面分配策略和页面置换策略:可变+全局/局部,固定+局部
-
管程为一个数据结构和能发生在上面的一组操作,将共享资源的操作封装,只能被管程内的过程访问。访问互斥
-
工作集为最近访问的页面取出重复的页面
-
打开定时器属于时钟管理的内容,对时钟的操作必须加以保护
-
从用户模式到内核模式是通过中断实现的,需要加保护。内核模式到用户模式不需要加保护。读取操作系统内核数据和指令是静态操作,不需要加保护
-
父进程和子进程虽然有一定的关系,但任是2个不同的进程。二者能同时运行,互不影响。父进程被撤销后子进程可以被init领养;父进程可与子进程共享一部分资源,但不能共享虚拟地址空间,创建子进程时,会为分配资源,如虚拟地址空间;父进程与子进程都有自己的PCB
-
动态分区分配算法:
- 最佳适应算法:给最小的,形成小碎片
- 最差适应算法:给最大的,导致系统缺少大的连续地址空间
- 首次适应算法:从头开始找,查找速度快,平均性能最好,碎片多出现与低地址空间
- 循环首次算法:从上次位置继续找,碎片多出现于高地址空间
-
页面的大小由操作系统决定,不同操作系统的分页机制不同,对用户透明,
-
段页式系统中以段为单位管理用户的逻辑空间,以页为单位管理内存的物理空间,有虚拟存储器才允许用户使用比内存更大的地址空间
-
系统调用的过程:运行的进程传递系统调用参数,由CPU执行陷入指令将用户态转化为内核态,并将返回地程序址压入堆栈备用,CPU执行响应的内核服务程序,最后返回用户态
- 系统调用特点:
- 执行系统调用时,CPU处于内核态
- 不同操作系统的系统调用接口可能不同
- 系统调用是用户在程序中调用操作系统提供的子功能
- 系统调用仅提供功能号,按照功能号调用
- 所有系统调用的公共入口地址放在系统的中断述符表IDT中
- 响应内核函数的入口地址放在系统调用中
- CPU负责保存断点和程序状态字
- 操作系统内核的系统调用入口程序负责保存通用寄存器的内容,还调用特定的系统调用服务例程
- 系统调用特点:
-
DMA传输过程:主机向内存写入DMA命令块,向DMA控制器写入其地址,启动I/O设备。CPU工作时,DMA控制器直接操作内存总线,将地址放到总线上开始传输。传输完成,DMA控制器中断CPU
- DMA的特点:
- 周期挪用法由DMA控制器挪用一个或几个主存周期来访问主存,传送玩一个数据字后立即释放总线,是一种单字传送方式,每个字传送完成后CPU才可以访问主存
- 停止CPU访存发才是整个数据块的传送过程中,CPU脱离总线,停止访问主存
- DMA的特点:
-
等待态就是阻塞态,进程需要等待某一事件时,由运行态变成阻塞。P操作类似请求资源可能导致阻塞,V操作与本进程状态转变没有直接关系
-
抢占式调度一般是进程调度算法,抢占CPU,而作业调度和中级调度并没有这种说法
-
大多数操作系统都是按簇为单位分配空间
-
临界区互斥访问方法:
-
软件实现方式
- 单标志法:公用整形变量turn;违背空闲让进,资源利用不充分
- 双标志法:
- 先检查:可能同时进入临界区,违背忙则等待
- 后检查:先设置标志再检查对方的状态标志,会谦让导致饥饿
- Peterson’s Algorithm:多一个turn,设置自己标志后再设置turn。检测进程状态标志和不允许进入标志,保证同时进入临界区时只允许一个进程进入。(基于后检查和单标志的结合)
- 满足有限等待但不满足让权等待
-
硬件实现方法
- 中断屏蔽方法:限制处理机交替执行程序的能力
- 硬件指令方法
- TestAndSet:原子操作,执行时不允许被中断;读出标志后把该标志设置为真
- Swap:交换两个字节的内容
- 都是硬件直接实现的
- 硬件方式支持多个临界区,每个临界区只需设立一个布尔变量
- 不能实现让权等待,可能导致饥饿,等待进入临界区时消耗处理机时间
-
信号量方法:
- 引入阻塞机制,消除不让权等待的情况
-
-
进程执行x.wait()操作,会导致进程阻塞,并挂到条件变量x对应的阻塞队列上。只有一个进程要离开管程时才调用signal()操作
-
时钟中断的主要工作是处理和时间有关的信息以及决定是否执行调度程序,和时间有关的所有信息。包括系统时间、进程的时间片、延时、使用CPU的时间、各种定时器
-
FCFS(先来先服务)磁盘调度算法不会导致磁臂黏着
-
没有一个用户进程映射到多个内核进程上的情况,即一对多模型没有哈
-
为每个内核即线程建立一个线程控制块,而不是每一个用户级线程
-
传统的系统管理空闲磁盘的方法包括:空闲表法、空闲链表发、位示图法和成组连接法
-
索引结点是操作系统为了实现文件名与文件信息分开设计的数据结构,存储了文件描述信息,属于文件目录管理的内容
-
进程被创建后首先转入就绪态,然后等待调度或请求资源变成其他状态
-
固定分区分配中每个分区固定,如果装入分区的作业大小<分区大小,会产生内部碎片。段式存储管理采取不定长段保存进程,按需分配,无内部碎片但有外部碎片。页式管理存储每一页的大小都相同,每个进程的最后一页一般都会有剩余空间未利用而产生内部碎片。段页式是逻辑分段,所以有外部碎片,最终记录时要物理分页,所以也会和页式一样,最后一页产生内部碎片。
-
虚拟页式和虚拟段式(虚拟存储系统)才存在换入换出的操作,简单页式和简单段式因已经全部将程序调入内存,因此不需要置换,没有抖动现象
-
分页存储管理没有实现虚拟存储器,它是解决了作业在主存中不可以连续存放的问题,请求分页存储管理才实现了逻辑存储器
-
设备的独立性就是指用户程序独立于具体物理设备的一种特性,引入设备的独立性是为了提高设备分配的灵活性和设备的利用率等
-
多个进程同时共享一个文件时,由于整个系统只有一个系统打开文件表,所以同一个文件打开多次只需要改变引用计数即可,当引用计数为0时才删除系统打开文件表中的表项。不同用户打开文件表关于的同一个文件不一定相同,如读写指针位置不一定相同。
-
索引分配支持变长的文件,同时可以随机访问文件的指定数据块。链接分配不支持随机访问,需要依靠指针依次访问。连续分配的文件长度固定,不支持可变文件长度。动态分区分配是内存管理方式,不是磁盘空间的管理方式。
-
连续分配方式:动态分区分配、固定分区分配 非连续分配方式:分页式分配、分段式分配、段页式分配
-
静态重定位是程序再运行之前由装配程序完成的,由于页式存储是不连续的,而且页式存储管理方案在运行过程中可能改变程序的位置,分配时会把相邻逻辑地址映射到不同的物理地址,这需要动态重定位的支持
-
逻辑记录是文件中按信息在逻辑上的独立含义划分的信息单位,它是对所有文件进行存取操作的基本单位
-
多级目录中对文件的访问只需要路径名就行,不需要用户目录名
-
多级页表中,页表基址寄存器存放的是顶级页表的起始物理地址,故存放的是一级页表的起始物理地址
-
TCP连接释放:
- 客户机:Established(fin1)-finwait1-finwait2(fin1’)-timewait等待2MSL(最长报文段寿命)-closed
- 服务器:Established(ack1)-closewait(ack1‘,fin1)-lastack-closed
-
中断向量表由操作系统初始化,用于实现“中断处理”
-
硬盘低级格式化(物理分区),为每个扇区采用特别的物理结构,再对物理分区进行逻辑格式化,创建硬盘分区表。(创建文件系统),建立文件系统根目录并对保存空间信息的数据结构初始化(Unix文件系统还需建立文件系统的索引结点表)
-
计算机启动时需要运行一个初始化程序(自举程序),它初始化CPU、寄存器、设备控制器和内存等,接着启动操作系统,操作系统被加载到RAM中。自举程序通常保存在ROM中,为了避免修改自举代码而改变ROM硬件,只在ROM中保留很小的自举装入程序,将完整的自举程序保存在磁盘启动块上,启动块位于磁盘固定位置
-
对于简单磁盘的坏扇区可手工处理,在FAT表上表明,程序就不会使用;对于复杂磁盘采用扇区备用方案,其控制器维护一个磁盘坏块链表。可用备用块逻辑替换坏块。实质都是让系统不实用坏块,而无法修复坏块
计算机网络
-
各层PDU:物理层——数据位,数据链路层——数据帧,网络层——数据包,传输层——数据段,其他——数据
-
香农的定理是有噪音的那个
-
交换机实际为多端口网桥,在数据链路层通过目的物理地址转发
-
CSMA/CD的碰撞窗口=2倍传播时延,其二进制指数退避算法要注意区分:发送、碰撞、重传次数(发送次数-1)
- 载波侦听多路访问/碰撞检测协议是CSMA的改进方案
- 先听后发,边听边发,冲突停发,随机重发
- 以太网规定最短帧长为64B
- 重传16次说明太拥挤,抛弃帧并向高层报告出错
- 载波侦听多路访问/碰撞检测协议是CSMA的改进方案
-
ICMP差错报文:终点不可达、源点抑制(拥塞)、时间超过(TTL)、参数问题(二义性)、改变路由
-
路由表的下一跳IP地址写下一个路由器端口的对应IP,不是自己的
-
802.11使用链路层确认/重传(ARQ)方案,每通过无线局域网发送一帧,收到对方的确认帧后才能继续发送。
- 3种帧间间隔(IFS)
- SIFS:分隔对话,短
- PIFS:PCF操作
- DIFS:异步帧竞争访问时延,长
- CSMA/CA算法:
- 发送第一个帧前检测信道,若空闲就等DIFS。否则执行退避算法(随机回退值,信道空闲才进行倒计时)
- 规定时间内没有收到确认帧ACK,就重传,多次重传失败放弃。
- 3种帧间间隔(IFS)
-
TCP连接中确认号是对方序号+1(一个荷载)
-
当网络可靠时,因为检错,纠错,应答机制的存在,一定能保证数据最后准确的到达目的地
-
IP分组分片时,标识字段会复制到所有数据报片中。MF、DF标志字段会发生变化,片偏移,总长度(值为每个分片的数据+头部),校验和也会发生变化
-
捎带确认说明帧长和数据帧一样
-
www高速缓存可以有效降低访问www服务器的时延
-
BGP外部网关协议,每个自治系统的发言人间传输,发言人数量少,频率不高,采用TCP。OSPF采用泛洪法,直接使用IP协议,RIP是分布式基与向量的路由选择协议,通过广播UDP报文来交换路由信息
-
电路交换建立连接后便直接开始传送数据,不用进行分组
-
OSI中网络层支持无连接和有连接,传输层只能面向连接。TCP/IP中网络层只能无连接,传输层支持无连接和有连接
-
SMTP推,POP3拉
-
HDLC帧:0111110标志开始结束,五个1填入一个0。保证透明传输不会引起对帧边界的错误判断
-
表示层功能实现与数据表示有关,字符集的转化、数据格式化、文本压缩、数据加解密
-
直通交换方式只检查数据包的包头(14个字节=8前导码+6MAC地址)
-
ack确认序号表示希望收到对方下一个报文段的数据的第一个字节的序号。序号加有效载荷=确认序号
-
UPD也提供了复用/分用服务
-
链路层的流量控制有停止等待,滑动窗口(后退N帧和选择重传),都属于ARQ协议(自动重传请求)
-
ppp是广域网数据链路协议,不具备流量控制功能
-
数字编码:
- 归零(RZ):高1,中间变0,自同步
- 非归零(NRZ):不用归零,同步需要时钟线
- 反向非归零(NRZI):翻转0,不变1.可做通知机制,能传输时钟信号,USB2.0的编码方式
- 曼切斯特:前半高后半低为1,反之为0。中间跳变即是时钟信号又是数据信号,以太网的编码方式
- 差分曼切斯特:前半个码元与上一个码元后半部分电平相同为1(可反向),可自同步,抗干扰性好,用于局域网
-
交换机可分隔冲突域但分隔不了广播域。本质上就是一个多端口网桥
-
停止-等待协议需要收到确认后才能发送下一个分组
-
A与B不在同一个局域网(A发B IP数据报)A目的MAC地址为网关MAC。以太网IP报头目的地址为B的IP地址
-
TCP建立在不可靠的IP层上,实现可靠传输。
- 注意点:
- IP为点到点通信协议,TCP为端到端
- TCP面向字节流,将应用程序的数据视为无结构的字节流
- 注意点:
-
RIP-坏消息传递慢
-
本地DNS高速缓冲中有某域名DNS信息时,不需要查询任何域名服务器。迭代查询时最坏情况下迭代向跟域名服务器、顶级域名服务器、权限域名服务器发出DNS请求,发出四次
-
802.11的帧头格式:
功能 To DS From DS AD1(接) AD2(发) AD3(目) AD4 To AP 1 0 AP S D / From AP 0 1 D AP S / IBSS 0 0 D S AP / WDS 1 1 R T D S -
数据链路层封装的帧-“二进制信息块
-
GBN(后退N帧),发送窗口大小 W T ≤ 2 n − 1 WT\leq2^n-1 WT≤2n−1,(SR)选择重传,发送窗口大小 W T ≤ 2 n − 1 WT\leq2^{n-1} WT≤2n−1。它们都是ARQ连续协议
-
滑动窗口中,接收窗口最小是1
-
解决隐蔽站问题,802.11允许发送站对信道预约
- 使用RTS和CTS:RTS(源站发):源、目的地址、通信持续时间 ,所有站点都能听到; CTS(AP发):通信持续时间,所有站点都能听到,目的是给源站发送许可以及抑制其他站点的发送
- 数据帧超过一定阈值才使用RTS和CTS
- 不实用RTS和CTS
-
快重传是连续的3个重复确认
-
以太网MTU 1500B,最大数据荷载是1480B
-
IP网络是分组交换网路,由网络层进行重组,传输层进行排序
-
TCP有序列号,UDP没有。都有检验和(校验和首部和数据)
-
虚电路服务可以保证有序传输,即分组到达终点的顺序与发送顺序相同,不需要为每条虚电路预分配带宽
-
放大器常用语远距离模拟信号的传输,同时会使噪声放大而失真。网络传输超过一定距离,传输介质的数据就会衰减,这需要使用中继器来对信号整形放大后再传输
-
非坚持CSMA在监听到介质空闲时也一定立即发送数据帧
-
telnet将主机变成远程服务器的一个虚拟终端
-
TCP报文中数据偏移字段4位。单位32位(4B),当值为15时表示TCP首部的最大长度60B
-
数据链路层实现相邻结点的流量控制,网络层是整个网络中的流量控制,传输层是端到端的流量控制
-
SDN:
-
网络层两大平面:数据平面(转发),控制平面(控制和管理网络协议的运行)
-
SND将控制平面从路由器物理上分离,路由器仅转发。远程控制器计算和分发转发表
-
SDN将网络软件化
- 协同应用层:对于网络控制器应用程序的接口
- 网络范围状态管理层:负责路由内部交换路径和边界业务路由的生成。维护有关网络的主机、链路等最新状态信息
- 通信层:SDN控制器与受控网络设别之间的通信(OpenFlow)
-
SDN路由器中,路由选择处理器负责与远程控制器通信,接收远程控制器计算的转发表项
-
SDN控制器:SDN大脑,不仅要通过北向接口给上层网络应用提供不同层次的可编程能力和网络状态信息,还要通过南向接口对SDN数据平面进行统一配置、管理和控制,智力来源是网络控制应用程序
-
北向接口:SDN控制器与网络应用之间的开放接口,将数据平面资源和状态信息抽象成统一的开放编程接口
-
南向接口:SDN控制器与数据平面之间的开放接口。SDN控制器通过南向接口对数据平面进行编程控制,实现数据平面的转发等网络行为
-