21 考察故障: 回到当前指令-缺页是故障
22 考察中断: 不一定必须在用户态执行
中断分为可屏蔽中断和不可屏蔽中断
23 只能在内核态执行的是:IO 特权指令
用户态: trap;mov数据传送指令 ;设置断点指令debugger
24创建新进程: 初始化申请空白pcb, pcb初始化进程控制块
25 实现时间片轮转: 进程控制块,时钟中断程序,进程调度需要就绪-运行态,阻塞不一定
26 问磁头移动距离:从小到大排列 176 182 184 187 199 找差最短的 184-182=2 187-184=3 所以往左走 然后184走过就不走了
27 easy进程调度执行-中断后有可能调度
28
三号和四号页面它们的有效位存在位都是一, 说明三号和四号页面已经调入内存了。三号页面存放在60H这个页框里边,而四号页面存放在80H页框里边。那题目告诉我们系统只给这个进程分配了两个固定的页框。而现在这两个页框都已经有页面的数据了,对吧?
所以我们要访问的二号页面,如果要调入内存的话,只能把其中的某一个页框给清空。淘汰一个页面,腾空一个位置,才可以把二号页面给放进来,
好,那接下来我们要做的事情就是要确定哪个页面应该是被淘汰的。
那由于采用了改进型的clock置换算法,而三和四这两个页面当中,三号页面是近期访问过,但是没有被修改过,而四号页面是近期访问过,而且也被修改过的页面。那改进型的clock置换算法会优先淘汰三号页面
因为如果淘汰四号页面的话,由于四号页面近期被修改过,因此淘汰它就意味着需要把四号页面的数据给写回外存,这样的代价会比较大,但是淘汰三号页面的话,由于三号页面没有被修改过,所以只需要把三号页面存放的这页框给清空,然后修改一下三号页面的这些表象就可以了,不需要把这个页面的数据写回磁盘好,因此我们会淘汰三号页面。
二号页面它的物理页框号就应该是60H,而业内偏移量是A01H,那把这两个部分拼起来就是我们要访问的这个地址所对应的物理地址了20HA01H--->60HA01H,
29 二级页表 cpu页表基址寄存器里边存的内容是什么?第二级的页号去查下一级的页表,所以页表机制及存器当中应该存放的是当前进程的第一级页表的起始物理地址
30 删除一个文件,当然就需要把这个文件它的目录项(文件控制块)删除
31 n个进程 n+1个资源 肯有一个进程2资源 不会死锁
32
页面置换: 进程缺页异常 检查页框是否满了 把其中一个页面置换了 .页面置换这个动作是因为进程访问了某一个暂时没有调入内存的虚拟页面而触发的,
进程调度: 操作系统进行进程调度不是通过系统调用
fork系统调用
rand生成随机数不需要操作系统
-------------------------------------计算机网络------------------------------------------------
33 网络层 路由选择
OSI 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
TCP 应用层 ----------------传输层 网际层 -------物理层
34 曼彻斯特和差分曼彻斯特
曼彻斯特 前高后低
差分曼彻斯特 竖线发生跳变时是0 没发生跳变是1
归零 非归零 反向不归零\
35 变长子网划分
37 MTU=头部(20b本题)+分片总长度字段(需要是8的倍数)=800B
800-20首部中8的倍数 97*8=776 所以分片为 20+776
1580=(20+)1560
分片1: (20+)776B
分片2: (20+)776B
分片3: (20+)8B
MF=0 代表后面没有分片了
MF=1 代表后面还有分片
36
37 不会
38 三次握手四次挥手 链接到 juejin.cn/post/738889…
39
有效载荷12B占整个报文段当中的比率
TCP 头部数据长度20B 12/(12+20);
UCP 头部数据长度8B 12/(12+8);
MAC帧 数据长度46-1500B,首部和尾部18B,最短帧长46+18=64B,最长1500+18=1518B
40
甲发完了200字节报文之后继续发送的报文段当中的序号应该就是501+200,就是这个701。那由于乙告知了这个接收窗口是500字节,且甲还没有收到乙对于他发送的这个上面的。501这个报文段的确认,
那么甲还能发送的报文段字节数就是500-200,也就是300字节。所以甲在没有收到任何新的确认段之前呢,可以发送序号答案就应该是c。
41 图
度为奇数的顶点数为不大于2的偶数时=> 度为奇数的定点数为0或者2
求出顶点的度=>用邻接矩阵形式求 如果当前邻接矩阵值不为0 代表度不为0
判断度是否为奇数
如果度为奇数,count++
最后判断count的值是否为0/2
需要两层循环,第一层 遍历全部结点, 第二层, 计算每个节点度的值
写适当注释便于理解
42 排序题
稳定 经过排序后相对顺序没有改变
常见排序比如 插帽龟 插入 冒泡 归并排序
本题实现从小到大排序,
两层for, 第一层遍历每个元素,
第二层 找当前元素和后面剩余元素比大小,如果比后面的大就存一下 存在j里,小存在i里,
以第一个25为例,后面的元素都没他大 ,值为5,所以他应该放在最终位置的第六个位置,因为数组从0开始,所以正好是数组第j个位置
但是碰到后面的25 如果按照稳定排序 ,他应该没有后面的25大,这里不应该加一,修改算法的话,就改成a[i]<]a[j]
43
ALU长度=机器字长
可寻址主存空间大小: 按字节编制 主存中地址线为20位=>so 2^20B=1M
指令寄存器个数 16 6+2+2+2+4 (如图
地址线位数=MAR 数据线位数=MDR
进行多少种操作:2^操作码位数
通用寄存器个数:2^ 通用寄存器位数
分别执行01B2 和01B3后 前六项为000000 后四位为0010 0011 就执行了带符号减法和乘法指令
判断是否溢出
减法: 一个负数-一个正数 肯定不溢出
乘法: 乘0008 相当于左移3位 最后溢出了
44
1KB=2^10
1MB=2^20
页式存储: 虚拟地址=虚页号+页内地址(主存的页称为实页、页框;虚存的页称为虚页
虚页号=TLB标记位+组号(2^组号=组数)
段式存储: 虚拟地址 = 段号 + 段内地址。
段页式虚拟存储器:虚地址址 = 段号 + 段内页号 + 页内地址\
45
有一处印刷错误 方法2 的while(s<=0){是分号
(1)wait和signal操作当中对信号量s的访问必须是互斥进行
系统当中会有多个进程并发运行,比如说p1和p2两个进程此时并发运行。他们都想要使用这个信号量
那假设这个信号量它的初始值为一,那么当两个进程并发执行的时候,就有可能会出现p1进程先上处理机运行在while循环,这他检查发现当前s的值不小于等于零,所以p1进程可以顺利的跳出循环来执行后面这一句
但是在它执行这一句之前p2进程他也上处理机运行,同样他先检查s当前的值,那s此时的值是一,所以他也可以顺利的跳出这个循环来执行下一个语句。那当两个进程都执行了s=s-1这个语句之后,就会导致s的值变为负一
这就会使得两个进程同时进入到临界区。
(2) 方法1不正确 while(s<=0);如果s小于等于0死循环了
(3)开关中断指令它属于特权指令,不应该被用户程序使用,
46
磁盘逻辑格式化,完成了磁盘分区,并且在每一个分区内部建立好了文件系统,完成了文件系统的初始化,
磁盘的低地址部分的几个扇区会被作为主引导记录,英文缩写叫mbr。主引导记录里边包含了磁盘引导程序和分区表,
分区表的作用就是记录了整个磁盘分为了几个分区。每个分区分别是从哪个地址开始,哪个地址结束,
磁盘引导程序的作用是当我们在启动操作系统的时候,会执行磁盘引导程序,然后通过磁盘引导程序来找到你,安装了操作系统的这个分区。接下来,再在这个分区当中找到分区内部的一个引导块,
再执行引导块里边的这个引导程序, 用这样的方式来完成操作系统的开机,所以逻辑格式化之后,磁盘进行了分区,分区前边会有一个主引导记录。而每一个分区内部又是一个完整的文件系统,不同的分区可以是不同的文件系统,比如说c这个分区是unix文件系统而。而e这个分区是fat文件系统,那无论是哪种文件系统,在这个分区当中都一定会有一个分区内部的引导块。如果你的操作系统是安装在E盘里边的,那么在开机的时候就需要执行E盘里边的这个引导块。而如果你的操作系统是安装在C盘里边的,那在开机的时候就需要执行C盘里边的这个引导程序。
现在完成了物理格式化和逻辑格式化之后,就可以往其中的某个分区当中安装操作系统,比如把操作系统安装在C盘里边,那操作系统相关的一些内核文件。通常是被存放在根目录下面的,你可以去找一下你的C盘,下面有一个叫做WINDOWS的目录。在那个目录下面就是你的操作系统的一些内核文件,在C盘里边安装好操作系统,接下来是不是就可以开机了?开机的过程就是操作系统引导的过程
那开机的过程是这样的,
首先我们的主存它由ROM和RAM两片区域组成。ROM区就是我们上课时候讲过的,这个BIOS芯片。在这个ROM芯片里边,包含了ROM引导程序,也就是自举程序好,所以开机的时候,你的电脑接上电源,那CPU会首先去储存的这个地址,去执行这个自举程序,这个自举程序的执行会引导着。你的主机读入磁盘的第一个主引导记录。
这个主引导记录读到内存之后CPU就可以执行其中的。磁盘引导程序会根据分区表来判断,每一个分区它的它的位置好,现在我知道你的这个操作系统是安装在C盘里的,那么接下来这个磁盘引导程序。就会指挥你的这个主机读入C盘的引导块。分区内的引导块好,现在引导块读到内存里边之后CPU就可以执行这个引导块里边包含的这个引导程序。那这个引导程序接下来会从根目录当中加载操作系统初始化的程序。所以接下来CPU运行操作系统初始化的程序就可以完成你开机的这一系列动作。好,那这就是操作系统的引导过程,
我们把它进行一个总结。分为这样的四个步骤。
(1)第一步CPU取指令 执行ROM里边的引导程序(自举程序)
第二步CPU执行磁盘主引导记录里边的这个磁盘引导程序,检查分区表。
第三步CPU执行分区里边的这个引导程序,
第四步CPU执行操作系统的初始化程序,那操作系统的初始化程序通常是在你的根目录下面的。\
(2) 磁盘出厂之前需要先物理格式化,
接下来对磁盘进行分区,然后对每一个分区进行逻辑格式化,建立文件系统。
最后,在某一个分区当中安装你的操作系统
(3)磁盘扇区的划分应该是在物理格式化这个步骤完成的,而根目录的建立应该是在逻辑格式化,也就是建立文件系统这个时候完成
47 (1) ARP(-MAC地址-)DNS-UDP-IP-CSMA/CD
- 应用环境:CSMA/CD适用于有线网络,CSMA/CA适用于无线网络。本题是有限网络\
- CSMA/CD 争用期(Contention Period)是指在网络中信号往返时间的两倍,也就是端到端往返时间的两倍。 半双工通信,\
- CSMA/CA- RTS/CTS机制
在发送数据之前,设备可以发送一个“请求发送(Ready To Send,RTS)”帧来询问信道是否可以使用。接收设备在收到RTS后,如果同意发送,会回复一个“清除发送(Clear To Send,CTS)”帧。其他设备在收到CTS后,将推迟它们的传输,以避免冲突。
CSMA/CA-确认/重传机制
CSMA/CD:有线网络中的冲突检测
CSMA/CA:无线网络中的冲突避免。
(2) 本地域名服务器mac地址
蓝色代表顺序-H(主机ARP广播得到mac地址)-本地域名服务器-路由器R
(3)H2没人和他通信 就是收广播
第一次: h1 找本地mac地址 广播
第二次: 想知道路由器R的mac地址 发送广播请求
广播mac地址全1 为FF-FF-FF-FF-FF-FF