RISC采用硬布线控制器,速度取决与逻辑电路的延迟,速度快,修改和扩展困难。微程序控制器采用存储程序原理,易于修改和扩充
三种流水线冲突以及解决方法:
资源冲突:硬件资源竞争
数据冲突:下一条指令用到当前指令结果
控制冲突:一条指令确定下一条指令的位置,造成断流
标志寄存器:
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,采用地址复用技术
写回法要一个标志位(脏位),减少了访存次数。(写命中时只修改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内部用于整数运算的运算器位数和通用寄存器宽度
控制存储器采用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-指令集体系结构,又称为指令系统,是一种规约,规定了如何使用硬件
中断I/O方式,外设为某些进程准备数据时,可以令进程阻塞,CPU运行其他进程
外存准备数据的时间应该大于中断处理时间,否则可能导致CPU没有处理完成
比较器用于并行比较分组中所有Cache行的Tag标记为与欲访问物理地址的Tag标记位,比较器的个数就是分组中的Cache行数,位数就是Tag标记位数
内存保护的两种方法:上下限寄存器与重定位/基址寄存器(用来加)和界地址/限长寄存器(用来比)
硬链接基于索引结点,count不为0时删除count-1并删除对应目录项;软连接利用符号链,共享文件其他用户只有文件的路径名,根据路径名逐个查找目录,多次读盘增大开销,符号链的索引结点也需要一定的磁盘空间
设备管理具有设备独立性,操作系统系统调用设备使用逻辑设备名,实际执行是转换为对应物理设备名
快表TLB可以直接合成物理地址
I/O层次结构:
用户发出磁盘I/O请求的处理流程:用户程序->系统调用处理程序->设备驱动程序->中断处理程序
C程序经过预处理->编译(转换为obj)->汇编->链接(完成重定位,形成整个程序的完整逻辑地址)产生可执行文件
低级通信方式:信号量、管程 高级通信方式:共享存储、消息传递、管道
虚拟文件系统VFS是内核将文件系统视为一个抽象接口,属于文件管理
进程控制块PCB一般包含:PID、进程状态、进程队列指针、程序和数据地址、进程优先级、CPU现场保护区等不含有进程地址空间大小
在动态系统中,资源分配策略的不公平导致等待时间上界不存在,如果进程地位相等,只是在某个特定运行序列才会饥饿那一般不算它饥饿
不管是何种虚拟内纯是实现方式,都需要以下支持:
当所读文件数据不再内存中,产生中断(缺页),原进程进入阻塞态(睡眠等待)
读一个文件首先需要open系统调用打开文件,参数包含文件路径名和文件名;read要使用open返回的文件描述符fd,还有buf缓冲区首址,传送的字节数(从fd指示文件读n字节的数据,并将它们送入指针buf所指的缓冲区中)
进程永远是资源分配的基本单位
用户级线程有关线程管理的所有工作都由应用程序完成,无需内核的干扰
进程处于临界区时也可以进行处理机的调度
设备管理功能:
系统内没有越界的错误也不会进行越界出错处理
银行家算法是避免死锁,与预防(破坏死锁条件)无关;注意区分不安全状态和死锁状态,不安全不一定死锁;
FIFO算法是唯一会出现Belady异常的页面置换算法,即当前所分配的物理块增大而故障数不增反减的现象
I/O端口:数据端口(读写)、状态端口(只读)、控制端口(只写)
统一编制:存储器映射方式,不需要CPU专门设置I/O指令,用统一的访存指令就可以访问I/O端口
独立编制:I/O映射方式,需要专门设置I/O指令
进程申请读磁盘操作时,会将自身阻塞等待I/O完成。IO完成后就转换到就绪态
各线程逻辑空间一样,但具体的栈空间不同
操作空间实际上看不到用户线程,所以无法直接调度用户线程
FIFO先进先出算法一定注意,进来了就不会换位置啦!
系统设备表记录了系统中所有设备的情况
3种情况下会发生上下文切换:中断处理、多任务处理、内核/用户态切换
中断相关问题:
请求某一资源会导致阻塞,而剥夺处理机资源只会导致就绪(时间片)
现代操作体统请求分页系统中页面分配策略和页面置换策略:可变+全局/局部,固定+局部
管程为一个数据结构和能发生在上面的一组操作,将共享资源的操作封装,只能被管程内的过程访问。访问互斥
工作集为最近访问的页面取出重复的页面
打开定时器属于时钟管理的内容,对时钟的操作必须加以保护
从用户模式到内核模式是通过中断实现的,需要加保护。内核模式到用户模式不需要加保护。读取操作系统内核数据和指令是静态操作,不需要加保护
父进程和子进程虽然有一定的关系,但任是2个不同的进程。二者能同时运行,互不影响。父进程被撤销后子进程可以被init领养;父进程可与子进程共享一部分资源,但不能共享虚拟地址空间,创建子进程时,会为分配资源,如虚拟地址空间;父进程与子进程都有自己的PCB
动态分区分配算法:
页面的大小由操作系统决定,不同操作系统的分页机制不同,对用户透明,
段页式系统中以段为单位管理用户的逻辑空间,以页为单位管理内存的物理空间,有虚拟存储器才允许用户使用比内存更大的地址空间
系统调用的过程:运行的进程传递系统调用参数,由CPU执行陷入指令将用户态转化为内核态,并将返回地程序址压入堆栈备用,CPU执行响应的内核服务程序,最后返回用户态
DMA传输过程:主机向内存写入DMA命令块,向DMA控制器写入其地址,启动I/O设备。CPU工作时,DMA控制器直接操作内存总线,将地址放到总线上开始传输。传输完成,DMA控制器中断CPU
等待态就是阻塞态,进程需要等待某一事件时,由运行态变成阻塞。P操作类似请求资源可能导致阻塞,V操作与本进程状态转变没有直接关系
抢占式调度一般是进程调度算法,抢占CPU,而作业调度和中级调度并没有这种说法
大多数操作系统都是按簇为单位分配空间
临界区互斥访问方法:
软件实现方式
硬件实现方法
信号量方法:
进程执行x.wait()操作,会导致进程阻塞,并挂到条件变量x对应的阻塞队列上。只有一个进程要离开管程时才调用signal()操作
时钟中断的主要工作是处理和时间有关的信息以及决定是否执行调度程序,和时间有关的所有信息。包括系统时间、进程的时间片、延时、使用CPU的时间、各种定时器
FCFS(先来先服务)磁盘调度算法不会导致磁臂黏着
没有一个用户进程映射到多个内核进程上的情况,即一对多模型没有哈
为每个内核即线程建立一个线程控制块,而不是每一个用户级线程
传统的系统管理空闲磁盘的方法包括:空闲表法、空闲链表发、位示图法和成组连接法
索引结点是操作系统为了实现文件名与文件信息分开设计的数据结构,存储了文件描述信息,属于文件目录管理的内容
进程被创建后首先转入就绪态,然后等待调度或请求资源变成其他状态
固定分区分配中每个分区固定,如果装入分区的作业大小<分区大小,会产生内部碎片。段式存储管理采取不定长段保存进程,按需分配,无内部碎片但有外部碎片。页式管理存储每一页的大小都相同,每个进程的最后一页一般都会有剩余空间未利用而产生内部碎片。段页式是逻辑分段,所以有外部碎片,最终记录时要物理分页,所以也会和页式一样,最后一页产生内部碎片。
虚拟页式和虚拟段式(虚拟存储系统)才存在换入换出的操作,简单页式和简单段式因已经全部将程序调入内存,因此不需要置换,没有抖动现象
分页存储管理没有实现虚拟存储器,它是解决了作业在主存中不可以连续存放的问题,请求分页存储管理才实现了逻辑存储器
设备的独立性就是指用户程序独立于具体物理设备的一种特性,引入设备的独立性是为了提高设备分配的灵活性和设备的利用率等
多个进程同时共享一个文件时,由于整个系统只有一个系统打开文件表,所以同一个文件打开多次只需要改变引用计数即可,当引用计数为0时才删除系统打开文件表中的表项。不同用户打开文件表关于的同一个文件不一定相同,如读写指针位置不一定相同。
索引分配支持变长的文件,同时可以随机访问文件的指定数据块。链接分配不支持随机访问,需要依靠指针依次访问。连续分配的文件长度固定,不支持可变文件长度。动态分区分配是内存管理方式,不是磁盘空间的管理方式。
连续分配方式:动态分区分配、固定分区分配 非连续分配方式:分页式分配、分段式分配、段页式分配
静态重定位是程序再运行之前由装配程序完成的,由于页式存储是不连续的,而且页式存储管理方案在运行过程中可能改变程序的位置,分配时会把相邻逻辑地址映射到不同的物理地址,这需要动态重定位的支持
逻辑记录是文件中按信息在逻辑上的独立含义划分的信息单位,它是对所有文件进行存取操作的基本单位
多级目录中对文件的访问只需要路径名就行,不需要用户目录名
多级页表中,页表基址寄存器存放的是顶级页表的起始物理地址,故存放的是一级页表的起始物理地址
TCP连接释放:
中断向量表由操作系统初始化,用于实现“中断处理”
硬盘低级格式化(物理分区),为每个扇区采用特别的物理结构,再对物理分区进行逻辑格式化,创建硬盘分区表。(创建文件系统),建立文件系统根目录并对保存空间信息的数据结构初始化(Unix文件系统还需建立文件系统的索引结点表)
计算机启动时需要运行一个初始化程序(自举程序),它初始化CPU、寄存器、设备控制器和内存等,接着启动操作系统,操作系统被加载到RAM中。自举程序通常保存在ROM中,为了避免修改自举代码而改变ROM硬件,只在ROM中保留很小的自举装入程序,将完整的自举程序保存在磁盘启动块上,启动块位于磁盘固定位置
对于简单磁盘的坏扇区可手工处理,在FAT表上表明,程序就不会使用;对于复杂磁盘采用扇区备用方案,其控制器维护一个磁盘坏块链表。可用备用块逻辑替换坏块。实质都是让系统不实用坏块,而无法修复坏块
各层PDU:物理层——数据位,数据链路层——数据帧,网络层——数据包,传输层——数据段,其他——数据
香农的定理是有噪音的那个
交换机实际为多端口网桥,在数据链路层通过目的物理地址转发
CSMA/CD的碰撞窗口=2倍传播时延,其二进制指数退避算法要注意区分:发送、碰撞、重传次数(发送次数-1)
ICMP差错报文:终点不可达、源点抑制(拥塞)、时间超过(TTL)、参数问题(二义性)、改变路由
路由表的下一跳IP地址写下一个路由器端口的对应IP,不是自己的
802.11使用链路层确认/重传(ARQ)方案,每通过无线局域网发送一帧,收到对方的确认帧后才能继续发送。
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是广域网数据链路协议,不具备流量控制功能
数字编码:
交换机可分隔冲突域但分隔不了广播域。本质上就是一个多端口网桥
停止-等待协议需要收到确认后才能发送下一个分组
A与B不在同一个局域网(A发B IP数据报)A目的MAC地址为网关MAC。以太网IP报头目的地址为B的IP地址
TCP建立在不可靠的IP层上,实现可靠传输。
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允许发送站对信道预约
快重传是连续的3个重复确认
以太网MTU 1500B,最大数据荷载是1480B
IP网络是分组交换网路,由网络层进行重组,传输层进行排序
TCP有序列号,UDP没有。都有检验和(校验和首部和数据)
虚电路服务可以保证有序传输,即分组到达终点的顺序与发送顺序相同,不需要为每条虚电路预分配带宽
放大器常用语远距离模拟信号的传输,同时会使噪声放大而失真。网络传输超过一定距离,传输介质的数据就会衰减,这需要使用中继器来对信号整形放大后再传输
非坚持CSMA在监听到介质空闲时也一定立即发送数据帧
telnet将主机变成远程服务器的一个虚拟终端
TCP报文中数据偏移字段4位。单位32位(4B),当值为15时表示TCP首部的最大长度60B
数据链路层实现相邻结点的流量控制,网络层是整个网络中的流量控制,传输层是端到端的流量控制
SDN:
网络层两大平面:数据平面(转发),控制平面(控制和管理网络协议的运行)
SND将控制平面从路由器物理上分离,路由器仅转发。远程控制器计算和分发转发表
SDN将网络软件化
SDN路由器中,路由选择处理器负责与远程控制器通信,接收远程控制器计算的转发表项
SDN控制器:SDN大脑,不仅要通过北向接口给上层网络应用提供不同层次的可编程能力和网络状态信息,还要通过南向接口对SDN数据平面进行统一配置、管理和控制,智力来源是网络控制应用程序
北向接口:SDN控制器与网络应用之间的开放接口,将数据平面资源和状态信息抽象成统一的开放编程接口
南向接口:SDN控制器与数据平面之间的开放接口。SDN控制器通过南向接口对数据平面进行编程控制,实现数据平面的转发等网络行为