复试408总结
时间:2023-02-20 22:30:00
- 计算机组成原理和计算机系统结构有什么区别?
计算机体系结构指程序员看到的计算机系统的属性,通常由机器语言编程程序员、汇编语言程序设计师和汇编程序设计师看到(三者都是计算机系统中的传统机器M熟悉)。这些属性包括指令集、存储器搜索技术,I/O机理等
计算机组成是指如何实现计算机系统结构所体现的属性。简而言之,实现计算机系统结构所包含的属性。
两者的关系:
两台机器有相同的结构和不同的组成。也就是说,结构和组成是一对多的关系。
- 存储程序的原理是什么?根据这一原理,计算机应该具备哪些主要功能?
存储程序原理:以代码的形式提前将指令输入计算机的主存储器,然后根据存储器的第一个地址执行程序的第一个指令,然后按照程序的规定顺序执行其他指令,直到程序结束。
五大功能:数据传输、数据存储、数据处理、操作控制、操作判断
- 计算机系统层次结构
1)微程序机器层:硬件层由机器硬件直接执行微指令
2)传统机器层:机器层由微程序解释
3)操作系统层
4)汇编语言层
5)高级语言层
微程序机器和传统机器是物理机,其他是虚拟机
- 介绍一下cache、cache写策略、cache替换策略
基于程序访问的局部原理,将程序中使用的部分存储在高速、小容量中cache中,使CPU大部分访存操作都是针对的cache为了大大提高程序的执行速度。
1)cache主存映射:直接映射、全相联映射、组相联映射
2)cache中主存块的替换算法:随机算法、先进先出算法、最近至少使用算法、最不常用算法
3)cache写作策略:全写、写回、写分配、非先分配
- 计算机存储单元
1)存储单元:存储单元存储一个具有特定存储地址的存储单元;
2)存储字:存储在存储单元中的所有二进制数据,并根据地址访问存储单元获得的二进制数据。
3)存储字长:存储字中二进制数据的位数,即按地址访问存储单元获得的二进制数据的位数;
4)存储器:由多个存储单元组成的存储器件。
- 提高访存速度的三种方法
1)采用高速元件
2)采用存储层次结构:cache-主存结构
3)调整主存结构:单体多字,多体并行
- 长度和扩展操作代码指令格式
定长操作码有利于简化计算机硬件设计,提高指令译码和识别速度。
扩展操作代码:操作代码的长度随地址代码的减少而增加。不同地址数量的指令可以具有不同长度的操作代码,在满足需求的前提下有效缩短指令字的长度。然而,解码复杂,控制器设计更加困难。
- DRAM和刷新策略
- 集中刷新:指在刷新周期内,使用固定时间刷新
- 分散刷新:刷新和分散每对每行
- 异步刷新:最大刷新间隔2ms除行数外,还必须每隔相应时间产生刷新请求。
- 边界对齐界对齐与边界不对齐的区别
边界对齐:减少访问次数,浪费存储空间
边界不对齐:节省存储空间,但增加访问次数,调整多字节数据的高低字节位置
- CPU组成和功能
组成:1)控制器:负责协调和控制计算机各部件执行程序的指令序列,包括取指令、分析指令和执行指令;2)计算器:处理数据。
功能:指令控制、操作控制、时间控制、数据处理、中断处理。
- 控制器的功能和分类
功能:1)从主存中取出指令,并指出下一个指令在主存中的位置
2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作
3)指挥并控制CPU、主存、输入和输出设备之间的数据流动方向
分类:硬布线控制器、微程序控制器
- 硬布线控制器
原理:根据指令的要求、当前的时序及外部和内部的.状态,按时间的顺序发送一系列微操作控制信号,他由复杂的组合逻辑门电路和一些触发器构成,因此又称组合逻辑电路。
控制单元CU的的输入信号来源:
1)经指令译码器译码产生的指令信息
2)时序系统所产生的机器周期信号和节拍信号
3)来自执行单元的反馈信息即标志。
- CPU控制方式
1)同步控制方式:系统有一个统一的时钟,所有的控制信号均来自这个统一的时钟信号。控制电路简单,但运行速度慢。
2)异步控制方式:不存在基准时标信号,各部件按自身固有的速度工作,通过应答方式进行联络。运行速度快,但控制电路比较复杂。
3)联合控制方式:同步和异步相结合,这种方式对各种不同的指令的微操作实行大部分同步、小部分异步的方法。
- 微程序控制器
原理:微程序采用存储逻辑实现,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生
微指令的编码方式:1)直接编码方式:简单、直观、执行速度快,操作并行性好;缺点是微指令字长过长,造成控制存储器容量极大。
2)字段直接编码方式:缩短了微指令的长度,但执行速度稍慢。
3)字段间接编码方式:进一步缩短了微指令字长,但削弱了并行控制能力。
微指令地址形成方式:
1)直接由微指令的下地址字段指出
2)根据机器指令的操作码形成
微指令的格式:1)水平型微指令:优点是微程序短,执行速度快;缺点是微指令长,编写微程序较麻烦。
2)垂直型微指令:优点是微指令短、简单、规整,便于编写微程序;缺点是微程序长,执行速度慢。
3)混合型微指令
- 什么是raid
RAID(廉价冗余磁盘阵列):是指将多个独立的物理组成一个独立的逻辑盘,数据在多个物理盘上分割上交叉存储、并行访问,具有更好的存储性能、可靠怀和安全性。
RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
- 指令流水线
影响流水线的因素:
1)结构相关(资源冲突):由于多条指令在同一时刻争用同一资源而形成的的冲突
2)数据相关(数据冲突):在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况
3)控制相关(控制冲突):当流水线遇到转移指令和其他改变PC值得指令而造成的断流时,会引起控制相关。
- 总线基础知识
总线的特点:分时、共享
总线特性:机械特性、电气特性、功能特性、时间特性
总线分类:
1)片内总线
2)系统总线:数据总线、地址总线、控制总线
3)通信总线
总线仲裁:
1)集中仲裁:链式查询方式、计数器定时查询方式、独立请求方式
2)分布仲裁
总线周期:申请分配阶段、寻址阶段、传输阶段、结束阶段
- 同步定时方式与异步定时方式
同步定时:系统采用统一的时钟信号来协调发送和接收双方的传送定时关系。
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
异步定时:没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。
- I/O接口
I/O接口是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。是主机和I/O设备之间设置的一个硬件电路及其相应的软件控制。端口是指接口电路中的一些寄存器。
I/O接口的功能:
1)实现主机和外设的通信联络控制。
2)进行地址译码和设备选择
3)实现数据缓冲
4)信号格式的转换
5)传送控制命令和状态信息
I/O设备编址方式:
1)统一编址:端口占用存储空间,减少了主存容量,但无需专用的I/O指令
2)独立编址:不占用存储空间,故不影响主存容量,但需设I/O指令
- 中断基本概念
中断:程序中断是指计算机在执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
CPU在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,也就是说CPU响应中断的时间是在每条指令执行阶段的结束时刻,中断作用:
1)实现CPU与I/O设备的并行工作
2)处理硬件故障和软件错误
3)实现人机交互,用户干预机器需要用到中断系统
4)实现多道程序、分时操作,多道程序的切换需借助于中断系统
5)实时处理需要借助中断系统来实现快速响应
6)实现应用程序和操作系统的切换,称为“软中断”
7)多处理器系统中各处理器之间的信息交流和任务切换
CPU响应中断的条件:
1)中断源有中断请求
2)CPU允许中断及开中断
3)一条指令执行完毕,且没有更紧迫的任务
中断隐指令的任务:
1)关中断
2)保存断点:即程序计数器PC的内容。可以存入堆栈,也可以存入主存特定的单元
3)引出中断服务程序:取出中断服务程序的入口地址并传送给程序计数器PC。软件查询法、硬件向量法。中断向量是中断服务程序的入口地址,中断向量地址是指中断服务程序的入口地址的地址。
中断处理过程:
关中断→保存断点→引出中断服务程序→保存现场和屏蔽字→开中断→执行中断服务程序→关中断→恢复现场和屏蔽字→开中断→中断返回
- DMA方式基本概念
DMA是一种完全用硬件进行成组信息传送的控制方式,它具有程序中断的优点,即在数据准备阶段,CPU与外设并行工作。适用于磁盘机、磁带机等高速设备大批量数据的传送,它的硬件开销比较大。在DMA方式中,中断的作用仅限于故障和正常传送结束时的处理。
DMA控制器:
在DMA方式中,对数据传送过程进行控制的硬件称为DMA控制器(DMA接口)。DMA与CPU访问主存的方式:
1)停止CPU访存
2)DMA与CPU交替访存
3)周期挪用
- DMA与程序中断的联系区别
中断方式:外部设备每进行一个数据的输入/输出, 都要通过“中断申请要求CPU进行处理。CPU通过执行一段“中断服务程序完成数据的传输。
DMA方式: CPU通过对DMAC的初始化,启动一个数据块的传输操作。之后的数据传输通过信号的联络,在外设接口和存储器之间进行,CPU只需简单地让出总线,而无需其他操作。
根据上述比较,可以得到DMA工作方式的如下特点:
优点:
1) 对于CPU而言,它的任务仅仅是在一个数据块传输之前对DMAC进行初始化,CPU用于传输控制的操作达到最小(不考虑与通道10处理器方式的比较),CPU的效率最高。CPU与外设“并行”工作。
2)外部设备一个数据输入输出完成后, 向DMAC申请进行数据传输,响应时间仅为DMAC的1 ~3个时钟周期。响应速度达到最快,可以满足高速传输的需要。
缺点:
1)实现DMA控制需要增加DMA控制器和总线控制逻辑,增加了系统的复杂性。
2) DMA传输需要占用总线,并且具有较高的“优先级"。这使得系统对其他设备的响应速度不能得到明确的保证。
- cpu响应中断需要满足哪些条件
1.有中断源发出的中断请求;
2.中断总允许位EA=1,即CPU开中断;
3.申请中断的中断源的中断允许位为1,即中断没有被屏蔽;
4.无同级或更高级中断正在被服务;
5.当前的指令周期已经结束
- 数据寻址方式?
1)隐含寻址:有利于缩短指令字长,缺点是需增加存储操作数或隐含地址的硬件
2)立即(数)寻址:指令在执行阶段不访问主存,指令执行时间最短;缺点是立即数大小受长度限制,灵活性较差。
3)直接寻址:指令在执行阶段仅访问一次主存,不需要做地址计算,简单直观,但寻址范围受地址码位数限制。
4)间接寻址:优点是可扩大寻址范围,便于编制程序;缺点是指令在执行阶段要多次访存,速度慢。
5)寄存器寻址:指令在执行阶段不访问主存,只访问寄存器,因寄存器数量较少,对应地址码长度较小,使得指令字短且因不用访存,所以执行速度快,支持向量/矩阵运算。缺点是寄存器价额昂贵,个数有限。
6)寄存器间接寻址比一般间接寻址速度快,指令执行阶段需要访问主存。
7)相对寻址:EA = (PC) + A。优点是操作数地址不固定,随PC值变化而变化,且与指令地址之间总是相差一个固定值,因此便于程序浮动。相对寻址广泛应用于转移指令。
8)基址寻址:EA = (BR) + A。基址寄存器BR的内容不变,面向操作系统,内容由操作系统或管理程序确定,主要用于解决程序逻辑空间和存储器物理空间的无关性。形式地址A可变。优点是可扩大寻址范围。用户不必考虑自己的程序存于主存的哪个空间区域,故有利于多道程序设计,并可用于编制浮动程序,单偏移量A位数较短。
9)变址寻址:EA = (IX) + A。变址寄存器面向用户,内容可由用户改变作为偏移量,形式地址A不变作为基地址。优点是扩大寻址范围,主要用于处理数组问题,适合编制循环程序。
10)堆栈寻址:硬堆栈即为寄存器堆栈;软堆栈是在主存中划出一段区域来做堆栈。读写单元的地址由堆栈指针SP给出。
- 什么是指令,时钟,总线周期,它们之间有什么关系?
- 指令周期:执行一条指令所需的时间。不同指令的指令周期长短是不同的,一个指令周期由几个总线周期组成。
- 时钟周期:CPU的时钟频率的倒数,也称为T状态。它是微处理器的最小动作单位时间。
- 总线周期:806CPU中,BIU完成一次访问存储器或I/O端口操作所需要的时间。每个总线周期至少包含4个时钟周期(T1~T4),一般情况下,在总线周期的T1状态传送地址,T2~T4状态传送数据。
- 操作数的来源及对应寻址方式的指令执行速度有什么差异?
- 操作数的来源有4种:
- 立即数:参与操作的数据直接在指令中。
- 寄存器操作数:参与操作的数据存放在寄存器中。
- 存储器操作数:参与操作的数据存放在存储器中。
- I/O操作数:参与操作的数据来源于I/O端口
- 操作数在寄存器中的指令执行速度最快,因为它们可以在CPU内部立即执行。立即数寻址指令可直接从指令队列中取数,所以它们的执行速度也较快。而操作数在存储器中的指令执行速度较慢,因为它要通过总线与CPU之间交换数据,当CPU进行读写存储器的操作时,必须先把一个偏移量送到BIU,计算出20位物理地址,再执行总线周期去存取操作数,这种寻址方式最为复杂
- 存储器的分类有哪些?
存储器可以分为内部存储器和外部存储器。
内部存储器也称为内存,是主存储器,位于计算机主机的内部,用来存放系统软件和当前正在使用的或者经常使用的程序和数据,CPU可以直接对它们进行访问。内部存储器主要是半导体存储器,存取速度较快。内存的容量大小受到地址总线位数的限制,例如806CPU有20条地址总线,可以寻址空间为1MB。内部存储器按照存储器类别又可以分为随机存取存储器RAM和只读存储器ROM。RAM可以随机读写,断电后,所有存储数据全部消失。按照集成电路内部结构的不同,RAM又分为动态RAM和静态RAM两种。ROM只能读岀已存储的内容,不能随意写入,已存储的内容由厂家或用户预先用设备写入,因此是非易失性的,断电后数据也不会消失。一般来说,ROM中通常存储操作系统的程序或者用户固化的程序。
根据信息写入的方式不同,ROM又可分成下面五种:
- 掩膜型ROM中信息是在芯片制造时由厂家写人的,用户对这类芯片无法进行任何修改。
- 可编程只读存储器PROM是厂家根据用户需求将芯片内二极管烧断而存储其内容,一般固化程序用,写入后不可更改。
- 可擦除可编程只读存储器EPROM用设备写人内容后,可由紫外光照擦除其内容,以便重新写入程序。
- 电可擦除可编程只读存储器EPROM用设备写入内容后,可由加电擦除其内容,芯片可反复使用。
- 闪存(FlashMemory)闪存用设备写入内容后,可由加电擦除其部分内容,芯片可反复使用,闪存允许多线程重写,速度快,灵活性好。
外部存储器简称为外存,是辅助存储器。外存的特点是大容量、所存储的信息既可以修改,也可以保存,但是存取速度较慢,而且需要专门的设备来管理,比如,驱动器、控制芯片等。外存容量不受限制,也称为海量存储器。
外部存储器主要是磁记录存储器,典型的有软盘、硬盘。除此之外,还有光盘,磁带等。
Flash存储器是最近兴起的一种新型存储器。Flash存储器集成度高;是固态的存储介质,没有硬盘那样的机械装置,可靠性好,不易损坏;既有SRAM读写的灵活性和较快的访问速度,又有掉电后不丢失信息的特点。
- 为什么补码便于加减运算?
有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值.此外,
- 运算结果的溢出判断方法?
- 如果运算的结果,超出了计算机能表示的数的范围,会得出错误的结果,这种情况称为溢出。
- 对于字长为n的计算机,那么它能表示的定点补码范围为-2n-1≤X≤2n-11,若运算结果小于-2n-1或大于2n-11,则发生溢出,发生溢出时数值的有效位占据了符号位。
两种方法:
用一位符号位判断溢出
用两位符号位判断溢出
一位符号位:
通常用符号位产生的进位和最高有效位向符号位产生的进位进行异或操作后,按其结果进行判断。—若异或结果为1,则溢出;—若异或结果为0,则没有溢出。
两位符号位:
- 数据存储的顺序?
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。
小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。目前Intel的80x86系列芯片是唯一还在坚持使用小端的芯片,ARM芯片默认采用小端,但可以切换为大端;而MIPS等芯片要么采用全部大端的方式储存,要么提供选项支持大端—可以在大小端之间切换。另外,对于大小端模式的处理也和编译器的实现有关,在C语言中,默认是小端(但在一些对于单片机的实现中却是基于大端),Java是平台无关的,默认是大端。在网络上传输数据普遍采用的都是大端。
- 保护模式和实模式?
保护模式:
寻址采用32位段地址和偏移量,最大寻址空间4GB,最大分段4GB(PentiumPre及以后为64GB)。在保护模式下CPU可以进入虚拟806方式,这是在保护模式下的实模式程序运行环境。保护模式下程序的运行:保护模式—从程序运行说起无论实模式还是保护模式,根本的问题还是程序如何在其中运行。因此我们在学习保护模式时应该时刻围绕这个问题来思考。和实模式下一样,保护模式下程序运行的实质仍是“CPU执行指令,操作相关数据”,因此实模式下的各种代码段、数据段、堆栈段、中断服务程序仍然存在,且功能、作用不变。那么保护模式下最大的变化是什么呢?答案可能因人而异,我的答案是“地址转换方式”变化最大。
实模式:
实模式是指寻址采用和806相同的16位段地址和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86CPU用作高速的806。实模式下程序的运行:程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存中的位置.程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、ES、FS、GS、S等用于指示不同用途的数据段在内存中的位置。程序可能需要调用系统的服务子程序,80x86系列使用中断机制来实现系统服务。总的来说,这些就是实模式下一个程序运行所需的主要内容(其它如跳转、返回、端口操作等相对来说比较次要。)两者区别:
保护模式和实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的结果。实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有被区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并且改变了值,那么对于这个被修改的系统程序或用户程序,其后果很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这样一来,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。至此,进程(这时我们可以称程序为进程了)有了严格的边界,任何其他进程根本无法访问不属于自己的物理内存区域;甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区域已经被放进一些公共系统运行库,这些区域也不能随意修改。CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回到实模式。
- 虚拟存储器是什么?
程序的互斥性原理:两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥。也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。在多道程序环境下,存在着临界资源,它是指多进程存在时必须互斥访问的资源。也就是某一时刻不允许多个进程同时访问,只能单个进程的访问。我们把这些程序的片段称作临界区或临界段,它存在的目的是有效的防止竞争条件又能保证最大化使用共享数据。程序的局部性原理:是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。局部性原理又表现为:时间局部性和空间局部性。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好像计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。虚存容量不是无限的,虚拟内存的最大容量是由计算机的地址结构确定的。且虚拟内存只是在逻辑上对内存容量加以扩充,其逻辑容量由内存容量和外存容量之和决定。地址总线结构能决定主存的访问范围。所以即使你的磁盘再大,但是地址寄存器访问主存的范围很小的话,虚拟存储器容量依然是很小的。
什么是文件系统?文件系统干吗用的? 我说用来 管理文件、磁盘等,老师说那肯定的啊,我问你干嘛用的!
文件是具有文件名的一组相关信息的集合。由若干个记录组成。文件系统是操作系统中与文件管理有关的软件和数据的集合。功能1实现按文件名存取文件信息2为用户提供统一友好的接口3实施对文件和文件目录的管理4文件存储器空间的分配与回收5提供有关文件的共享和保护。
- 软链接和硬链接的区别?
- 定义不同
- 软链接又叫符号链接,这个文件包含了另一个文件的路径抄名。可以是任意文件或目录,可以链接不同文件系统的文件。
- 硬链接就是一个文件的一个或多个文件名。把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。
- 限制不同
- 硬链接只能对已存在的文件进行创建,不能交叉文件系统进行硬链接的创建;
- 软链接可对不存在的文件或目录创建软链接;可百交叉文件系统;
- 创建方式不同
- 硬链接不能对目录进行创建,只可对文件创建;
- 软链接可对文件或目录创建;
- 影响不同
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
- 删除软链接并不影响被指向的度文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
- DMA和通道方式的区别是什么?
通道控制(Channel Control)方式与DMA方式类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。
与DMA方式不同的是,在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由通道来进行控制。另外,DMA方式每台设备至少需要一个DMA控制器,一个通道控制器可以控制多台设备。
- 什么内部碎片?什么是外部碎片?
- 内存中
- 内部碎片:已经被分配出(能明确指出属于那个进程)却不能被利用的内存空间
- 外部碎片:还没有被分配出的空间,不属于任何进程。
- 硬盘上
- 外部碎片:(一般意义上的磁盘碎片,磁盘碎片清理工具中能清理磁盘上的外部碎片,清除不了磁盘的内部碎片,除非改变文件系统的分配单位即簇的大小,使之是一个文件的大小的整数倍。)实际上指的是一个文件占据那些簇是不连续的,就相当于文件被分割开来,分别存放在相互间断的几段簇上。文件被分割为几个部分就是几个碎片。所以碎片其实是指文件碎片
- 什么是局部性原理?
局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
- 有哪些文件分配方式?
- 连续分配
- 链接分配
- 索引分配
- 文件存储空间管理有哪些方法?
- 空闲表法
- 成组链接法
- 位图法
- 空闲链表法
- 内存连续分配和非连续分配方式有哪几种?
- 连续分配
- 单一连续分配
- 固定分区分配——内部碎片
- 动态分配——外部碎片——首次、最佳、最坏、邻近适应
- 非连续分配
- 页式存储管理——页面、地址结构、页表、地址变换机构及变换过程、快表
- 段式存储管理——段表、地址变换机构、段的共享与保护
- 段页式存储管理——段表、页表
- 进程有哪些通信方法?
- 共享内存
- 管道通信
- 消息传递
动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。优点一方面是缩小了执行文件本身的体积,一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。编译慢,兼容性好。
- CSMA/CA和CSMA/CD的英文
Carrier Sense Multiple Access with Collision Detection,意思是载波侦听多路访问/冲突检测。 采用该协议要求设备在发送帧的同时要对信道进行侦听,以确定是否会发生信道冲突,若在发送数据过程中检测到冲突,则需要进行冲突处理。整个协议的处理规程如下: 1 监听当前信道上是否有数据再发送,如果信道空闲,直接发送数据,如果信道忙,则按照一定的退避算法进行延时监听。 2 当信道允许发送数据时,发送数据。 3 数据发送过程中,边发送边监听,如果发送过程中检测到冲突,则停止发送数据,并发送阻塞信息,强化冲突,并转入1。Carrier Sense Multiple Access with Collision Avoidance,意思是载波侦听多路访问/冲突避免。 采用该协议要求设备要主动避免冲突而非被动侦测的方式来解决冲突问题。避免冲突的方法主要有两个: 一是监听到信道空闲时,并不是立即发送,而是等待一段时间再发送数据。 二是先发送一个很小的信道侦测帧RTS,如果收到最近的接入点返回的CTS,就认为信道是空闲的,然后再发送数据。 协议的主要流程如下: 1 首先检测信道是否有使用,如果检测出信道空闲,则等待一段随机时间后,才送出数据。 2 接收端如果正确收到此帧,则经过一段时间间隔后,向发送端发送确认帧ACK。 3 发送端收到ACK帧,确定数据正确传输,在经历一段时间间隔后,再发送数据。--------------------- 区别如下:1.两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等; 2.检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。3.CSMA/CD:带有冲突检测的载波监听多路访问,可以检测冲突,但无法“避免”。CSMA/CA:带有冲突避免的载波监听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”。
- I/O接口和I/O端口有区别? I/O 接口的作用是什么?
I/O接口芯片都有一个或几个端口,一个端口对应于接口芯片内部的一个寄存器或一组寄存器,计算机系统要为每个端口分配一个地址,各个端口的地址是唯一的,不能重复专。在信息传送过程中,接口起着数据锁存、数据缓冲、输入/输出、联属络、数据转换、中断管理、时序控制、可编程、电器特征匹配等作用
- 堆栈溢出的原因有哪些?
- 不断的new 一个对象,一直创建新的对象
- 死循环或者是递归太深,递归的原因,可能太大,也可能没有终止。
- 什么是操作系统?操作系统的组成?
- 操作系统是管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作是控件其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合,是用户与计算机硬件系统之间的接口。操作系统身负诸如配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统的形态非常多样。不同机器安装的OS可从简章到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。目前微机上常见的操作系统有DOS,os/2,unix,linux,xenix,windows,netware等
- 组成:对cpu的使用进行管理的进程高度程序,对内存分配管理内存管理程序。对输入输出设备进行管理的设备驱动程序。对外存中信息进行管理的文件系统。
- 操作系统有哪些主要功能?
- 进程与处理机管理、
- 作业管理、
- 存储储管理、
- 设备管理、
- 文件管理。
- 系统软件是用于实现对计算机资源管理、控制和维护,方便人们使用计算机而配置的软件,如操作系统,语言的汇编、解释、编译程序,数据库管理程序。
- 应用软件是指用户利用计算机以及系统软件编制的解决实际问题的程序,它包括支撑软件和用户自己编写的程序。支撑软件包括WPS、AutoCAD、Microsft-Ofice等。
- I/O端口的种类有哪些?
CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。在一般的接口电路中都要设置以下几种端口:
- 数据端口用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一般为1~2字节。数据端口主要起数据缓冲的作用。
- 状态端口主要用来指示外设的当前状态。每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。需要指岀的是,除了状态端口中的内容外,接口电路中往还会有若干状态线,它们用电平的高低来指示外设的当前状态,实现CPU与外设之间的通信联络,它们的名称和电平与状态位之间不一定完全对应。接口电路状态端口中最常用的状态位有:(1)准备就绪位、(2)忙碌位、(3)错误位。
- 命令端口也称为控制端口,它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位等。接口芯片不同,控制字的格式和内容是各不相同的,常见的控制字有方式选择控制字,操作命令字等。
- I/O端口的寻址方式的特点?
CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,因此和存储器那样,也需要由译码电路来形成I/O端口地址。I/O端口的编址方式有两种,分别称为存储器映象寻址方式和I/O指令寻址方式。
- 存储器映像寻址方式
- 定义:该方式是指把I/O端口和存储单元统一编址,即把I/O端口看成是存储器的一部分,一个I/O端口的地址就是一个存储单元的地址。
- 优点:
- CPU访问存储单元的所有指令都可用于访问I/O端口,CPU访问存储单元的所有寻址方式也就是CPU访问I/O端口的寻址方式。
- 不用设置专门的I/O指令,微处理器的指令集中不必包含I/O操作指令,简化了指令系统的设计。
- 能用类型多,功能强的访问存储器指令,对I/O设备进行方便、灵活的操作
- 缺点:
- I/O端口占用了内存空间。
- 是访问存储器还是访问I/O端口,在程序中不能一目了然。
- I/O独立编址方式
- 定义:是指把I/O端口和存储单元各自编址,即使地址编号相同也无妨。
- 优点:
- I/O端口不占用内存空间;
- 访问I/O端口指令仅需两个字节,执行速度快;
- 读程序时只要是I/O指令,即知是CPU访问I/O端口,使得程序清晰,可读性好。
- I/O地址译码电路较简单。
- 缺点:
- 要求CPU指令系统有独立的I/O指令,这些指令的功能没有访问存储器指令强;
- CPU访问I/O端口的寻址方式少。
- CPU还需提供能够区分访问内存和访问I/O的硬件引脚信号。
- 寻找中断源的方法有哪些?
寻找中断源可以用查询中断及矢量中断两种方法。
查询中断是采用软件查询方法,中断响应后启动中断查询程序,依次查询哪个设备的中断请求触发器为1,检测到后,转向此设备预先设置的中断服务程序入口地址。此方法较简,单,但花费时间多,并且后面的设备服务机会少,在806系统中一般采用矢量中断方法。
矢量中断是将每个设备的中断服务程序的入口地址(矢量地址)集中,依次放在中断向量表中。当CPU响应中断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务程序的入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序。这样大大加快了中断处理的速度。矢量中断:是根据CPU响应中断时取得中断处理子程序入口地址的方式而得名的,它是一种寻找中断源的方法。它提供一个矢量,指向中断处理子程序的起始地址。
中断矢量:就是中断处理子程序的起始地址。
中断矢量表:全部矢量放在内存的某一区域中,形成一个中断矢量表。
- 矢量中断中,中断类型号是怎么获取的?
- 对于除法出错,单步中断,不可屏蔽中断NMI,断点中断和溢出中断,CPU分别自动提供中断类型号0~4。
- 对于用户自己确定的软件中断INTn,类型号由n决定。
- 对于外部可屏蔽中断INTR,可用硬件电路(例如,通用并行接口芯片821)设计产生中断类型号。
- 对于外部可屏蔽中断INTR,也可以用可编程中断控制器8259A获得中断类型号。
- 中断的优先级次序是什么?对于可屏蔽中断的优先级设定方法?
优先级从高到低的次序为:内中断(除法错,INTO,INTn)、不可屏蔽中断(NMI)、可屏蔽中断(INTR)、单步中断
对可屏蔽中断的优先级设定有三种方法:
1.软件查询中断优先级
2.硬件查询优先方式—菊花链法
3.矢量中断优先级
计算机与外部的信息交换称为通信,基本的通信方式有两种,一种是并行通信,另一种是串行通信。
- 并行通信时,数据各位同时传送。这种方式传输数据的速度快,但使用的通信线多,如果要并行传送8位数据,需要用8根数据线,另外还要加上一些控制信号线。随着传输距离的增加,通信线成本的增加将成为突出的问题,而且传输的可靠性随着距离的增加而下降。因此并行通信适用于近距离传送数据的场合。
- 在远距离通信时,一般都采用串行通信方式。它具有需要的通信线少和传送距