西农复试准备

编程入门 行业动态 更新时间:2024-10-25 21:19:02

西农<a href=https://www.elefans.com/category/jswz/34/1769885.html style=复试准备"/>

西农复试准备

数据结构
1. 时间复杂度
时间复杂度是指执行算法所需要的计算工作量,因为整个算法的执行时间与基本操作重复执行的次数成正
比,所以将算法中基本操作的次数作为算法时间复杂度的度量,一般情况下,按照基本操作次数最多的输
入来计算时间复杂度,并且多数情况下我们去最深层循环内的语句所描述的操作作为基本操作。
2. 循环队列的顺序表中,为什么要空一个位置?
这是为了用来区分队空与队满的情况。如果不空一个位置,则判断队空和队满的条件是一样的。
3. 什么是二叉排序树?以及它的原理,算法。(二叉排序树的查找过程)
二叉排序树又称二叉查找树,它或者是一颗空树,或者满足一下性质的二叉树:
① 若左子树不空,则左子树上所有结点的值均小于根节点的值;
② 若右子树不空,则右子树上所有结点的值均大于根节点的值;
③ 左右子树也分别是二叉排序树。
原理步骤:
若根结点的关键字值等于查找的关键字,成功。
否则,若小于根结点的关键字值,递归查左子树。
若大于根结点的关键字值,递归查右子树。
若子树为空,查找不成功。
4. 哈夫曼树
定义:
给定 n 个权值作为 n 个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二
叉树,也称为哈夫曼树(Huffman tree)。
构造方法:
假设有 n 个权值,则构造出的哈夫曼树有 n 个叶子结点。 n 个权值分别设为 w1、w2、…、wn,则哈夫
曼树的构造规则为:
(1) 将 w1、w2、…,wn 看成是有 n 棵树的森林(每棵树仅有一个结点);
(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其
左、右子树根结点权值之和;
(3)从森林中删除选取的两棵树,并将新树加入森林;
(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。
特点:
① 权值越大的结点,距离根节点越近;
② 树中没有度为一的结点。
应用:
哈夫曼编码,减少编码的长度。哈夫曼编码就是长度最短的前缀编码。
5. 什么是哈希冲突?以及如何解决。
散列(哈希)表:
根据关键码值(Key value)而直接进行访问的数据结构。根据给定的关键字来计算出关键字在表中的地址,以加快查找的速度。
冲突:指的是多个关键字映射同一个地址的情况。
解决办法:
(1) 开放定址法
① 线性探查法(产生堆积问题);
② 平方探查法(不能探查到哈希表上所有的地址,但至少能探查到一半的地址)
(2) 链地址法
把所有的同义词用单链表连接起来。
补充(常见的哈希函数构造方法)
直接定址法,数字分析法,平方取中法,除留余数法。
6. 深度优先搜索遍历和广度优先搜索遍历的过程
深度优先搜索遍历
基本思想:首先访问出发点 V,并将其标记为已访问;然后选取与 V 邻接的未被访问的邻接顶点 W,访问
W;再选取与 W 邻接的未被访问的顶点访问,以此类推。当一个顶点所有的邻接顶点都被访问过时,则依
次退回最近被访问过的顶点,若该顶点还有其他邻接顶点未被访问,则从这些顶点中去一个顶点进行上述
的过程,直至图中所有顶点都被访问过为止。
广度优先搜索遍历
基本思想:首先访问起始顶点 V,然后选取与 V 邻接的全部顶点 w1,w2,….,wn 进行访问,再一次访
问与 w1,w2,…
,wn 邻接的全部顶点(不包括已访问过的顶点),以此类推,直至所有顶点都被访问过为止。
7. 迪杰斯特拉算法的过程
该算法可以求得某一顶点到其余各顶点的最短路径。
算法思想:设有两个顶点集合 S 和 T,其中集合 S 中存放的是图中已找到最短路径的顶点,集合 T 中存放
的是图中的剩余顶点。
初始状态时,集合 S 中只包含源点 V0,然后不断从集合 T 中选取到顶点 V0 路径最短的顶点 Vu 并加入集
合 S 中。集合 S 每加入一个新的顶点 Vu,都要修改 V0 到集合 T 中各个顶点的最短路径的长度值。不断重
复这个过程,直至集合 T 中的顶点全部并入到 S 中为止。
8. 链表查找某个元素,平均的时间复杂度是多少?
O(n) 链表是顺序存储,故(1+n)/2。
9. 图的存储方式
① 邻接矩阵:是图的顺序存储结构,用两个数组分别存储数据元素(顶点)信息和数据元
素之间的关系(边/弧)的信息。图的邻接矩阵表示是唯一的,无向图的邻接矩阵是对称
的。
② 邻接表:是图的链式存储结构,由单链表的表头形成的顶点表和单链表其余结点所形成
的边表两部分组成。
③ 十字链表:有向图的另一种链式存储结构。
④ 邻接多重表:无向图的链式存储结构。

10. 图的深度遍历是否唯一
不一定是不唯一。我们可以取图中任一顶点进行深度遍历。
11. 图的相关概念
图:由结点的有穷集合 V 和边的集合 E 组成。
类别:有向图和无向图。
顶点的度:出度和入度。
有向完全图和无向完全图: 若有向图有 n 个顶点,则最多有 n(n-1)条边,则称为有向完全图;
若无向图有 n 个顶点,则最多有 n(n-1)/2 条边,则称为无向完全图。
路径:相邻顶点序偶所构成的序列。
简单路径:序列中的顶点和路径不重复出现的路径。
回路:路径中第一个顶点和最后一个顶点相同的路径。
连通: 无向图中,如果 Vi 到 Vj 有路径,则称这两个顶点连通。如果图中任意两个顶点之间都连通,则
称改图为连通图。
有向图中,如果 Vi 到 Vj 有路径,则称这两个顶点连通。如果图中每一对顶点 Vi 和 Vj,从 Vi 到
Vj 和 Vj 到 Vi 都有路径,则称改图为强连通图。
12. 最小生成树的概念
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持
图联通的最少的边。如果在最小生成树中添加一条边,必定成一个环。
相关算法:
① 普里姆算法
② 克鲁斯卡尔算法
N 个结点的最小生成树有几个结点,几条边:n 个结点,n-1 条边。
13. 平衡二叉树
平衡二叉树又称 AVL 树,是一种特殊的二叉排序树,其左右子树都是平衡二叉树,且左右子树的高度差的
绝对值不超过 1.
平衡因子: 左子树高度减去右子树高度的差。
平衡调整: 先找到失去平衡的最小子树,即以距离插入结点最近,且平衡因子绝对值大于 1 的结点最
为根节点的子树,分为 LL,LR,RL,RR 四中调节方式。
14. 二叉树的存储
① 顺序存储结构:用一个数组来存储一颗二叉树,二叉树中的结点值按照编号依次存入一个一维数组中。
适用于完全二叉树,若用于一般的二叉树则会浪 费大量
存储空间。
② 链式存储结构:二叉树中的每一个结点用一个链结点来存放。
15. M 阶 B-树和 M 阶 B+树的主要区别
① B+树所有有效数据全在叶子节点,而 B-树所有节点分散在树中,B-树中的关键字不重复。
② B+树种有几个关键字就有几个子树,B-树中具有 n 个关键字的节点含有(n+1)棵子树。
③ B+树有两个指针,根指针和只想最小节点的指针,叶子节点连接成一个不定长的线性链表
④ B+树中,每个节点(除根节点外)中的关键字个数 n 的取值范围是⌈m/2⌉<=n<=m,根节点 n 的取值范围是 2<=n<=m。B-树中,每个节点(除根节点外的所有最底层非叶子节点)中的关键字取值范围
是⌈m/2⌉-1<=n<=m-1,根节点 n 的取值范围是 1<=n<[m-1]。
5 B+树中的所有非叶子节点仅仅起到索引的作用,节点中的每个索引项只包含对应子树的最大关键字

指向该子树的指针,不含有该关键字对应记录的存储地址。而在 B-树中,每个关键字对应记录的存储
地址。
16. 折半查找,以及其适用范围和时间复杂度
又称二分查找,基本思路:
在当前的查找区间[low…high]中,首先确定 mid=(low+high)/2,然后拿关键字与 mid 比较,若相等则查
找成功,返回该位置,否则确定新的查找区间, mid>K,[low…mid-1]
mid<K,[mid+1…high]
直至查找自区间长度小于 1 时查找结束。
适用范围:顺序结构存储并按照关键字大小有序排列。
时间复杂度:O(log2N)
17. 完全二叉树
若一棵二叉树至多只有最下面的两层上的结点的度数可以小于 2,并且最下层上的结点都集中在该层最左
边的若干位置上,则此二叉树成为完全二叉树。
完全二叉树特点:
叶子结点只可能在最大的两层上出现, 对任意结点, 若其右分支下的子孙最大层次为 L,则其左分支下的
子孙的最大层次必为 L 或 L+1;
18. 什么是堆?有什么作用?
堆是一种数据结构,可以把堆看成一个完全二叉树,并且这个完全二叉树满足:
任何一个非叶节点的值都不大于(或不小于)其左右子树的结点的值。若父亲大孩子小,则为大顶堆,若
父亲肖孩子大,则为小顶堆。
作用:应用于堆排序。
19. 如何实现循环队列?有何好处?
如何实现:把数组弄成一个环,让 rear 和 front 指针沿着环走,这样就可以产生循环队列。
好处:循环队列是顺序队列的改进,在顺序队列中,在元素进队的时候,rear 要向后移动,元素出队的时
候,front 也要向后移动,这样经过一系列的出队和入队操作之后,两个指针最后会达到数组的末端,此时
虽然队中已经没有元素了,但是还是不能让元素入队,即出现了“假溢出”的现象。循环队列就能避免出
现这个现象。
20. 深度优先搜索形成的是什么?森林唯一么?
(森林,不能说树)(不唯一,因为邻接表可能不唯一)
21. 满二叉树的结点个数(n 层)
2 的 n 次方减一(2n-1)
22. 二叉查找树查找的时间复杂度以及中序遍历后得到什么样的序列
递增有序序列
23. 什么图可以进行拓扑排序?
有向无环图
24. 顺序队列的特征
队列是一种操作受限的线性表,只允许队尾入队,在队头进行出队。最大的特点是先进先出。
25. 非连通图如何访问每一个结点?

排序总结

各类排序的算法详见书本。(需要说出每个算法的基本思想)
查找:相关章节过一遍。

操作系统

1. 进程和程序的区别
① 进程是动态的,程序是静止的。进程是程序的执行,程序是有序代码的集合。
② 进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序可以长久保存。
③ 进程和程序的组成不同:进程包括程序,数据和进程控制块。
④ 进程和程序是密切相关的。通过多次执行,一个程序可以对应多个进程;通过调度关系,一个进程可
以包括多个程序。
⑤ 进程可以创建其他进程,但是程序不能形成新的程序。
2. 进程和线程的区别
① 调度:线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引
起进程切换。在不同进程中进行线程切换,将会引起进程切换。
② 拥有资源:进程是拥有资源的基本单位,而线程不拥有系统资源(除了少量资源,比如栈,程序计数
器,寄存器),不过线程可以访问其隶属进程的系统资源。
③ 并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一个进程内的多个线程之间
也可以并发执行,能提高系统的吞吐量,系统的并发性也更好。
④ 系统开销:在创建进程和撤销进程时,系统都要为之分配或回收资源,所以操作系统为进程付出的系
统开销远大于创建线程或撤销线程的开销。
⑤ 同步和通信:多线程之间的同步和通信容易实现。
3. 什么是微内核?
微内核操作系统能有效地支持多处理机运行,非常适用于分布式系统环境。
什么是微内核操作系统到现在没有一致公认的定义,但是可以从四个方面对微内核操作系统进行描述:
① 足够小的内核:在微内核操作系统中,内核是指精心设计的,能实现现代 OS 最基本核心功能的部分,并非是一个完整的 OS,而只是 OS 中最基本的部分。
② 基于 C/S 模式:将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放于微内核外面的一组服务器中实现。
③ 应用“极致与策略分离”原理:在传统 OS 中,讲极致放在 OS 的内核的较低层,把策略放在内核的较高层中。而在微内核 OS 中,通常把机制放在 OS 的微内核中,这样才有可能将内核做得很小。
④ 采用面向对象技术。
基本功能:
① 进程(线程)管理
② 低级存储器管理
③ 中断和陷入处理
优点:
① 提高了系统的可扩展性
② 增强系统的可靠性
③ 可移植性
④ 提供了对分布式系统的支持
⑤ 融入了面向对象技术
4. 什么是 DMA?什么是中断?两者的区别。
DMA是l/O设备与主存之间由硬件组成的直接数据通路,主要用于高速I/O设备与主存之间的成组数据传送。(外设快、慢了没意义。然后数据多,少了也没多大意义)
首先讲一下外设跟内存进行数据传输的几种方式:
1.程序传送。通过无条件或者if等条件语句使cpu主动进行数据传输,但是这种情况下要等待外设准备好,会浪费大量的等待时间。
2.中断方式。外设向cpu发出中断请求,cpu响应中断后进行数据传输。但是如果传输较多数据的情况下,cpu得一直花费时间在中断上,也会造成cpu利用率低。
3.dma方式。外设请求传输,dma向cpu发出总线控制请求,cpu把总线控制下发给DMA控制器。DMA利用总线进行数据的快速传输。传输完毕后把总线控制权交还给cpu。有点:快、能传输大量数据而不降低CPU速度。

DMA方式和中断方式的区别:
1.DMA方式是硬件方式。中断是软件方式。
2.优先级:DMA方式比中断方式高。
3.DMA只占用cpu少部分时间,不浪费cpu资源。但是中断方式全程占有cpu。
4.中断方式能处理异常事件,但是DMA方式只能够传输数据。
————————————————
版权声明:本文为CSDN博主「chenyson」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
5. 硬中断和软中断是什么?区别是什么?
软中断:
1、编程异常通常叫做软中断
2、软中断是通讯进程之间用来模拟硬中断的一种信号通讯方式。
3、中断源发中断请求或软中断信号后,CPU 或接收进程在适当的时机自动进行中断处理或完成软中断信号
对应的功能
4、软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运
行时设备对它的中断。
硬中断:
1、硬中断是由外部事件引起的因此具有随机性和突发性;软中断是执行中断指令产生的,无外部施加中断
请求信号,因此中断的发生不是随机的而是由程序安排好的。
2、硬中断的中断响应周期,CPU 需要发中断回合信号(NMI 不需要),软中断的中断响应周期,CPU 不
需发中断回合信号。
3、硬中断的中断号是由中断控制器提供的(NMI 硬中断中断号系统指定为 02H);软中断的中断号由指
令直接给出,无需使用中断控制器。
4、硬中断是可屏蔽的(NMI 硬中断不可屏蔽),软中断不可屏蔽。
区别:
1、软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的
2、软中断是由程序调用发生的,而硬中断是由外设引发的
3、硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会等待较长时间。
6. 页面置换算法有哪些?什么是 LRU?
① 最佳置换算法(OPT):在预知一个进程的页面号引用串的情况下,每次都淘汰以后不再使用的货以后
最迟再被使用的页面。该算法不能实现,只能作为一个标准来衡量其他置换算法的优劣。
② 先进先出算法(FIFO):每次总是淘汰最先进入内存的页面,也就是将在内存中驻留时间最长的页面
淘汰。(可能会产生 Belady 异常,缺页次数随着分配的物理块的增加而增加)。
③ 最近最少使用算法(LRU):选择最近最少未被使用的页面淘汰,其思想是用以前的页面引用情况来预
测将来会出现的页面引用情况。利用了局部性原理。
④ 时钟置换算法(CLOCK):是 LRU 和 FIFO 的折中,具体方法略。
⑤ 工作集算法
⑥ 工作集时钟算法
⑦ 第二次机会算法
⑧ 最近未使用(NRU)
7. 操作系统中的磁盘调度算法
磁盘调度算法目的:使磁盘的平均寻道时间最少。

8. 操作系统中的信号量
信号量是一个确定的二元组(s,q),其中 s 是一个具有非负初值的整型变量,q 是一个初始状态为空的队
列。整型变量 s 表示系统中某类资源的数目,当其值大于 0 时,表示系统中当前可用资源的数目;当其值
小于 0 时,其绝对值表示系统中因请求该类资源而被阻塞的进程数目。
信号量分类:
① 整型信号量:所谓整型信号量就是一个用于表示资源个数的整型量
② 记录型信号量(资源信号量):就是用一个结构体实现,里面包含了表示资源个数的整型量和一个等待
队列。
信号量的应用:
① 实现进程同步
② 实现进程互斥
9. PV 操作
信号量的值除了初值外,仅能由这 PV 原语加以改变。P、V 操作以原语形式实现,保证了对信号量进行操
作过程中不会被打断或阻塞。P 操作相当于申请资源,V 操作相当于释放资源。P 操作和 V 操作必定成对
出现,但未必在同一个进程中。
Struct semaphore{
Int count;
queueType queue;
};
Wait (semaphore s) // P
{
s.count --;
if(s.count<0)
{ 阻塞该进程;
将该进程插入等待序列 s.queue;
}
}
signal (semaphore s) // V
{
s.count ++;
if(s.count<=0)
{ 从等待队列 s.queue 取出第一个进程 p;
将 p 插入就绪队列;
}
}
10. 什么是操作系统?
操作系统(Operating System,简称 OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运
行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用
户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、
软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最
大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必
要的服务和相应的接口。
11. 操作系统的组成
1、进程管理
2、存储管理
3、文件管理
4、设备管理
5、系统调用
12. 操作系统中用到了哪些数据结构中的数据结构?请举例说明

链表

进程管理-PCB的连接
外存分配方式-链接分配

队列

进程通信-消息队列的实现
处理机调度-任务就绪列队的实现
存储器管理-Clock置换算法的实现(循环队列)

存储器管理-LRU(Least Recently used)置换算法

进程管理-进程家族关系描述:进程树

散列表

内存管理-连续分配方式:Hash算法
文件管理-hash文件

————————————————
版权声明:本文为CSDN博主「馨山心雨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:

13. 简述操作系统中系统调用过程
系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现其余 OS 的通信,并取得它
的服务。系统调用不仅可供所有的应用程序使用,而且也可供 OS 本身的其它部分,如命令处理程序。
系统调用的处理步骤(三步):
首先,将处理机状态由用户态转为系统态;然后由硬件和内核程序进行系统调用的一般性处理,即首先保护被中断进程的 CPU 环境,将处理机状态字 PSW、程序计数器 PC、系统调用号、用户栈指针以及通用寄存器内容等压入堆栈;再然后将用户定义的参数传送到指定的地址保存起来。
其次,分析系统调用类型,转入相应的系统调用处理子程序。(通过查找系统调用入口表,找到相应处理子程序的入口地址转而去执行它。)
最后,在系统调用处理子程序执行完后,应恢复被中断的货设置新进程的 CPU 现场,然后返回被中断进程或新进程,继续往下执行。
14. 虚拟存储器,以及相关算法。
基于局部性原理,应用程序在运行之前,仅将那些当前要运行的少数页面或段先装入内存便可运行,其余部分暂时留在盘上。程序运行时,如果它要访问的页已调入内存,便可继续执行下去;但如果程序要访问的页或段尚未调入内存(即缺页),此时程序应利用请求调入功能将它们调入内存,以使程序能继续执行下去。如果此时内存已满,无法装入新的页或段,则需要利用页面置换功能,将内存中暂不使用的页面或段调至盘上,腾出空间用于页面调入内存,是程序继续执行下去。这样,就实现了大的用户程序能在较小的
内存空间里运行,也可以在内存中同时装入更多的进程使它们并发运行。从用户角度出发,该系统的内存容量比实际内存容量大很多,故成这样的存储器为虚拟存储器。
相关算法:
页面置换算法
① 最佳置换算法(OPT):在预知一个进程的页面号引用串的情况下,每次都淘汰以后不再使用的货以后最迟再被使用的页面。该算法不能实现,只能作为一个标准来衡量其他置换算法的优劣。
② 先进先出算法(FIFO):每次总是淘汰最先进入内存的页面,也就是将在内存中驻留时间最长的页面淘汰。(可能会产生 Belady 异常,缺页次数随着分配的物理块的增加而增加)。
③ 最近最少使用算法(LRU):选择最近最少未被使用的页面淘汰,其思想是用以前的页面引用情况来预测将来会出现的页面引用情况。利用了局部性原理。
④ 时钟置换算法(CLOCK):是 LRU 和 FIFO 的折中,具体方法略。
⑤ 工作集算法
⑥ 工作集时钟算法
⑦ 第二次机会算法
⑧ 最近未使用(NRU)
15. 存储器管理应具有的功能
存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器,故应具有以下功能:
① 内存的分配和回收:实施内存的分配,回收系统或用户释放的内存空间。
② 地址变换:提供地址变换功能,将逻辑地址转换成物理地址。
③ 扩充内存:借助于虚拟存储技术活其他自动覆盖技术,为用户提供比内存空间大的地址空间,从逻辑
上扩充内存。
④ 存储保护:保证进入内存的各道作业都在自己的存储空间内运行,互不干扰。
16. 什么是 TLB?
TLB 的作用是在处理器访问内存数据的时候做地址转换。TLB 的全称是 Translation Lookaside Buffer,可以翻译做旁路缓冲,是一个具有并行查询能力的特殊高速缓冲寄存器。TLB 中存放了一些页表文件,文件中记录了虚拟地址和物理地址的映射关系。当应用程序访问一个虚拟地址的时候,会从 TLB 中查询出对应的物理地址,然后访问物理地址。TLB 通常是一个分层结构,使用与 Cache 类似的原理。处理器使用一定的算法把最常用的页表放在最先访问的层次。
17. 程序的装入方式有哪些?
补充:应用程序从用户编写的源文件到内内存中执行的进程大致分为三个阶段,经过编译程序将源代码便
以为若干个目标模块,在通过链接程序将编译好的目标模块以及所需的库函数链接到一起,形成完整的装
入模块,最后通过装入程序将这些装入模块装入内存并执行。(编译,链接,装入)
装入方式:
① 绝对装入:在编译时就知道程序将要驻留在内存的物理地址,编译程序产生含有物理地址的目标代码,不适合多道程序设计。
② 可重定位装入:根据内存当前情况,将装入模块装入到内存的适当位置,地址变换通常在装入时一次完成,之后不再改变,也称静态重定位。当操作系统为程序分配一个以某地址为起始地址的连续主存
区域后,重定位时将程序中指令或操作数的逻辑地址加上这个起始地址就得到了物理地址。
③ 动态运行装入:允许程序运行时在内存中移动位置,把装入模块装入到内存后的所有地址都是相对地址,在程序执行过程中每当访问到相应指令或数据时,才将要访问的程序或数据的相对地址转换为物
理地址。动态重定位的实现要依靠硬件地址变换机构。
18. 程序的链接方式有哪些?
① 静态链接:在程序运行之前,先把各个目标模块及所需库链接为一个完整的可执行程序,以后不再拆
开。
② 装入时动态链接:将应用程序编译后所得到的一组目标模块在装入内存时采用边装入边链接的链接方式。
③ 运行时动态链接:知道程序运行过程中需要一些模块时,才对这些模块进行链接。
19. 交换技术,覆盖技术,以及两者的区别。
覆盖技术:把一个大的程序划分为一系列覆盖,每个覆盖是一个相对独立的程序单位,把程序执行时并不要求同时装入内存的覆盖组成一组,成为覆盖段,这个覆盖段分配到同一个存储区域,这个存储区域成为覆盖区,它与覆盖段一一对应。覆盖段的大小由覆盖段中最大的覆盖来确定。(为了解决内存容量太小的问题,打破了必须将一个程序全部信息装入内存后才能运行的限制)
交换技术:把暂时不用的某个程序及数据部分从内存移到外存中去,以便腾出必要的内存空间;或者把指定的程序或数据从外存读到相应的内存中,并将控制权交给他,让其在系统上运行的一种内存扩充技术。
处理器的中级调度就是采用交换技术。
区别:
① 与覆盖技术相比,交换技术不要求程序员给出的程序段之间的覆盖结构;
② 交换技术主要在进程和作业之间进行,覆盖技术主要在同一个进程或作业中进行;
③ 覆盖技术只能覆盖于覆盖程序段无关的程序段,交换进程由换出和换入两个过程组成。
20. 内存连续分配管理方式有哪些?
① 单一连续分配(静态分配)
② 固定分区分配(分区大小可以不等,但事先必须确定,运行时不能改变)
③ 动态分区分配
21. 动态分区分配的算法有哪些?
① 首次适应算法 First Fit
② 循环首次适应算法 Next Fit
③ 最佳适应算法 Best Fit
④ 最差适应算法 Worst Fit
22. 什么叫拼接技术?
在分区管理方式下,系统运行一段时间后,内存中会出现相当一部分的碎片,拼接技术是解决碎片问题的方法。
即将存储器中所有已分配分区移动到主存的一端,使本来分散的多个小空闲区连成一个大的空闲区,这种通过移动把多个分散的小分区拼接成一个大分区的方法即为拼接技术。
23. 什么叫原子操作?
所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切[1] 换到另一个线程)。
如果这个操作所处的层(layer)的更高层不能发现其内部实现与结构,那么这个操作是一个原子(atomic)操作。
原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分。
将整个操作视作一个整体是原子性的核心特征。
24. 内部碎片和外部碎片
内部碎片:分配给作业的存储空间中未被利用的部分。
外部碎片:系统中无法利用的小存储块,比如通过动态内存分配技术从空闲内存区上分配内存后剩下的那
部分内存块。
25. 常用的存储保护方法
(1)界限寄存器
上下界寄存器方法基址、限长寄存器方法
(2)存储保护键:给每个存储块分配一个单独的存储键,它相当于一把锁。
26. 连续分区分配和非连续分区分配的比较
连续内存分配
首次适配:空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小能满足要求的第一个空闲分区。
最优适配:空闲分区按容量递增形成分区链,找到第一个能满足要求的空闲分区。
最坏适配:空闲分区以容量递减的次序链接。找到第一个能满足要求的空闲分区,也就是挑选出最大的分区。
连续内存分配的缺点

分配给一个程序的物理内存是连续的
内存利用率低
有外碎片和内碎片的问题

非连续分配的优点

一个程序的物理地址空间是非连续的
更好的内存利用和管理
允许共享代码和数据(共享库等)
支持动态加载和动态链接
27. 什么是页表?有什么作用。
为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页面映射表。
页表由页表项组成,页表项有页号和块号组成,根据页表项就可以找到每个页号对于物理内存中物理块的块号。
28. 什么是段寄存器?
段寄存器是因为对内存的分段管理而设置的。计算机需要对内存分段,以分配给不同的程序使用(类似于硬盘分页)。在描述内存分段时,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理属性(禁止写入/禁止执行/系统专用等)。需要用8个字节(64位)存储这些信息,但段寄存器只有16位,因此段寄存器中只能存储段号(segment selector,也译作“段选择符”),再由段号映射到存在内存中的GDT(global (segment) descriptor table,全局段号记录表),读取段的信息。 [1]

8086CPU有20根地址线,最大可寻址内存空间为1MB。而8086的寄存器只有16位,指令指针(IP)和变址寄存器(SI、DI)也是16位的。用16位的地址寻址1MB空间是不可能的。所以就要把内存分段,也就是把1MB空间分为24,即16个段,每段不超过64KB(216,16位数据线就可以寻址)。在8086中设置4个16位的段寄存器,用于管理4种段:CS是代码段,DS是数据段,SS是堆栈段,ES是附加段。把内存分段后,每一个段就有一个段基址,段寄存器保存的就是这个段基址的高16位,这个16位的地址左移四位(后面加上4个0)就可构成20位的段基址。 [2]
段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。
段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。
段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是具体数值、符号地址和指针寄存器的值等之一,具体情况将由指令的寻址方式来决定。
通常,缺省的数据段寄存器是DS,只有一个例外,即:在进行串操作时,其目的地址的段寄存器规定为ES。当然,在一般指令中,我们还可以通过改变前缀中的“段取代”字段来改变操作数的段寄存器。
“可选用的段寄存器”即是可以用强置说明这些段寄存器的值来作为其操作数地址的段地址。

29. 进程线程树图
进程树是一个形象化的比喻,比如一个进程启动了一个程序,而启动的这个进程就是原来那个进程的子进程,依此形成的一种树形的结构,我们可以在进程管理器选择结束进程树,就可以结束其子进程和派生的子进程。
30. 作业和进程的区别
一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成 4 个阶段。而进程是对已提交完毕的程序所执行过程的描述,是资源分配的基本单位。
其主要区别如下。
(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。
(2) 一个作业可由多个进程组成,且必须至少由一个进程组成,反过来则不成立。
(3) 作业的概念主要用在批处理系统中,像 UNIX 这样的分时系统中就没有作业的概念。而进程的概念则用在几乎所有的多道程序系统中进程是操作系统进行资源分配的单位。在 Windows 下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。
31. 进程的三个状态以及转换过程
.进程的三种基本状态

进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

就绪(Ready)状态

当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

执行(Running)状态
当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

阻塞(Blocked)状态
正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

2.进程三种状态间的转换

一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。

(1) 就绪→执行
处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。

(2) 执行→就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。

(3) 执行→阻塞
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。

(4) 阻塞→就绪
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
32. 进程调度算法有哪些?(再详细了解其中的算法思想)
① 先来先服务调度 FCFS
② 短作业优先调度 SJF
③ 优先级调度 Priority
④ 时间片轮转调度 RR
⑤ 高响应比优先调度
⑥ 多级队列调度
⑦ 多级反馈队列调度
33. 死锁
死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
死锁原因:
① 系统资源不足
② 进程推进顺序不当
产生死锁的必要条件:
① 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。
② 请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
③ 不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
④ 环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,·,Pn}中的 P0 正在等待一个 P1 占用的资源;P1 正在等待 P2 占用的资源,……,Pn 正在等待已被P0 占用的资源。
处理死锁的基本方法:
① 预防死锁:这是一种较简单和直观的事先预防的方法。方法是通过设置某些限制条件,去破坏产生死
锁的四个必要条件中的一个或者几个,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛
使用。但是由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量降低。
② 避免死锁:该方法同样是属于事先预防的策略,但它并不须事先采取各种限制措施去破坏产生死锁的的四个必要条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
③ 检测死锁:这种方法并不须事先采取任何限制性措施,也不必检查系统是否已经进入不安全区,此方法允许系统在运行过程中发生死锁。但可通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源,然后采取适当措施,从系统中将已发生的死锁清除掉。
④ 解除死锁:这是与检测死锁相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。
34. 什么是饥饿?与死锁有什么差别?
等待时间给进程推进和响应带来明显影响时成为进程饥饿。
饥饿并不代表系统一点死锁,但至少有一个程序的执行被无限期地推迟。
差别:
① 进入饥饿的进程可以只有一个,但是死锁必须大于等于两个;
② 出于饥饿状态的进程可以是一个就绪进程,但是死锁状态的进程必定是阻塞进程。
35. 分段和分页的区别
共同点:两者都采用离散分配方式,且都地址映射机构来实现地址的转换
不同点:
1:页是信息的物理单位采用分页存储管理方式是为了实现离散分配方法。提高内存的利用率,采用分段目的主要在于能更好的满足用户的需求
2:页的大小固定且有系统决定,在采用分页存储管理方式中直接由硬件实现。而段的大小不固定,决定于用户所编写的程序

3:分页的地址空间是一维的,分页完全是系统完全是行为,分段系统中是二维的。

36. 银行家算法
主要思想是避免系统进入不安全状态,在每次进行资源分配时,它首先检查系统是否有足够的资源满足要求,如果有,则先试行分配,并对分配后的新状态进行安全性检查。如果新状态安全,则正式分配上述资源,否则拒绝分配上述资源。这样就保证系统始终处于安全状态,从而避免死锁现象的发生。
37. RAID 磁盘阵列
独立磁盘冗余阵列(RAID,redundant array of independent disks,redundant array of inexpensive
disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘
上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储
存冗余数据也增加了容错。
38. 控制管理模块是写在哪个文件里的?那个文件叫做什么文件?

计算机网络

1. 连接 2 个局域网需要用什么 在那一层
连接两个局域网,即连接两个同类型网络,需要使用网桥或者交换机,工作在数据链路层。
2. TCP 与 UDP 的连接区别及适用情况
TCP(Transmission Control Protocol,传输控制协议)与UDP(User Datagram Protocol,用户数据报协议)都是OSI七层模型中的传输层协议,他们的区别主要体现在以下这几个方面
(1)是否面向连接

【1】TCP是面向连接的,即发送数据前需要与目标主机建立连接。

【2】UDP面向无连接的,发送数据前不需要建立连接。

(2)是否提供可靠交付

【1】TCP在传输数据之前,需要三次握手来建立连接,并且通过数据校验、拥塞控制、重传控制、滑动窗口和确认应答等机制来实现可靠交付。数据传输过程中,数据无丢失,无重复,无乱序。

【2】UDP不提供可靠交付,只有通过检验和去丢弃那些不完整的报文,尽最大努力来保证交付的可靠性。

(3)工作效率

【1】前面提到TCP传输数据的控制非常多,这也导致了TCP网络开销大,工作效率相对低下,对系统的资源要求也比较高。

【2】UDP传输控制简单,因此工作效率相对高,对系统资源的要求偏低。

(4)实时性

【1】TCP传输数据的控制程序较多,大幅度降低了数据传输的实时性。

【2】UDP协议简单,数据实时性较高。

(5)安全性

【1】TCP传输机制多,容易被利用,例如DOS、DDOS攻击,因此在安全性上,不如UDP。

【2】UDP没有TCP这么多机制,被利用的机会就会少很多,但UDP不是绝对安全,也会被攻击。

TCP与UDP的适用场景

TCP:

对数据传输的质量有较高要求,但对实时性要求不高。比如HTTP,HTTPS,FTP等传输文件的协议以及POP,SMTP等邮件传输的协议,应选用TCP协议。

UDP:

只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用UDP协议。
————————————————
版权声明:本文为CSDN博主「SunAlwaysOnline」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
3. 路由和交换的区别
路由交换技术

交换技术其实就是交换机,它实际上就是一个二层网络设备,相应的数据帧可以从一个端口延续到另一个端口,从而实现交换信息的目的。对于交换机来讲,内部核心具有交换矩阵,可以实现任意两端口间相应的信息传递,从而让任意端口所进行接收的数据帧通过另外的端口传送出去。

对于路由技术来说,最主要的就是路由器设备,它是在OSI网络层里面。路由器主要就是实现数据的正确传送。

在一些主干网中,相应的路由器作为主要的网络设备,可以很好的帮助对应的数据能够正确的找到相应的路径。

交换和路由的区别

路由和交换的主要区别主要表现在以下的若干方面:

1、工作层次不同:对于以前的交换机来说,都是存在在OSI/RM这个系统的第二层数据链路层。对于路由器来讲,从新开发就一直是在OSI模型对应的网络层。交换机相应的工作原理还算是简单的,路由器由于涉及到的协议信息比较多,因此其相应的原理比较复杂一些。

2、回路:我们需要依据交换机对应的地址学习还有站表建立算法,对于交换机来讲,端口之间是绝对不可以有回路的。如果存在回路的话,那么就一定要启动相应的生成树算法,从而可以把回路端口阻塞掉。对于路由器来说,并不存在这样的说法,他们可以有多条通路实现平衡负载,这样就能够提高相应的可靠性。

3、子网划分:对于交换机来讲,它仅仅可以识别MAC地址。对于MAC地址来讲可以说是物理地址,是一个平坦地址结构,不可以依据MAC地址进行子网的划分。对于路由器来讲,它可以很好的识别IP地址,对于IP地址来讲是由网络管理员进行分配的。路由器可以划分子网,主要是连接不同网络。

4、介质相关:对于交换机来讲,它是一种桥接设备,可以实现不同链路层与物理层转换。路由器与之有很大差别,它可以实现不同网络互连,可以连接各个物理介质与链路层协议。

5、保密问题:对于交换机来讲,能够依据帧源MAC地址、还有目的MAC地址进行相应的过滤,但是路由器能够依据报文源IP地址、还有目的IP地址等对相应的传输报文进行过滤。
4. 七层网络结构
物理层
数据链路层(PPP、HDLC、CSMA/CD)
网络层(IP、ARP(IP→MAC)/RARP(MAC→IP)、ICMP)
传输层(TCP、UDP)
会话层
表示层
应用层(telnet 23、FTP 20<数据>+21<控制>、SMTP 161、DNS、SNMP、DHCP、HTTP 80)
TCP/IP 是四层(网络接口层、网际层、运输层、应用层)
5. 时分复用的时隙
复用:在一个信道上传输多路信号。
频发复用(FDM):以频段分割的方法在一个信道内实现多路通信的传输。
时分复用(TDM):将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。
统计时分复用(STDM):一种改进的时分复用,明显的提高信道的利用率。
频发复用与时分复用的几点比较:
(1)频发复用:每一信号占用不同的频率区间,相同的时间区间;保留了频谱的个性。
(2)时分复用:每一信号占用不同的时间区间,相同的频率区间;保留了波形的个性。
(3)频发复用的所有用户在同样的时间占用不同的带宽资源。
时分复用的所有用户是在不同的时间占用同样的频带宽度。
————————————————
版权声明:本文为CSDN博主「浅殇忆流年」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
6. IPV4 和 IPV6 的位数
IPV4 是 32 位;IPV6 是 128 位
7. 单工、半双工、全双工
单工:又称为单向通信,即只能有一个方向的通信而没有反方向的交互。例:无线电广播,电视广播
半双工:又称为双向交替通信,即通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接受)。
全双工:又称为双向同时通信,即通信的双方可以同时发送和接受信息。
备注:单工只要一条信道,而半双工和全双工需都需要两条信道(每个方向各一条)。
3 Cookie、Session与Cache(缓存)

网络通讯是静态的,http协议是无状态的。它对于我们之前的所有通讯都没有记忆能力。那出现的问题是,如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,就难以验证用户的权限和登录问题。于是,两种用于解决机制就产生了,就是Cookie和Session。还有就是利用Cache可以减小重复数据的下载。

1)Cookie 是通过客户端记录通讯情况,其是由服务器发给客户端的特殊信息,以文本文件的方式存放在我们的电脑上,然后我们的浏览器每次向服务器发送请求的时候就会带上这些特殊的信息。例如,当我们登录网站时,服务器会发送一段cookie给我们,这就是我们在上面的响应阶段所说的Set-Cookie头部字段的功能,后续的通讯,在请求阶段,就会使用cookie请求字段,发送这段文本,服务器收到了这段文本,就知道我们已经登录了。

2)Session 它是通过服务器来记录通讯情况。Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。当我们的浏览器首次访问或者登录服务器时,服务器就创建一个session,服务器会为该Session生成唯一的Session id,这个session id将从URL或者从cookie返回客户端,以后的HTTP请求,从cookie或者URL附上Session id,服务器接受到请求之后就会依据Session id找到相应的Session,这样,用户的状态也就记忆了。

3) Cache缓存 保存在客户端上的。当我们首次访问某个页面时,浏览器会自动保存这个页面的部分内容,例如html页面,图片等,当下一次再次访问时,缓存直接使用之前保存的数据响应访问请求,而不是向服务器再次发送请求。这样大大的节约了访问的时间。客户端首次访问服务器后,服务器会返回该页面的Last-Modified或ETag字段值,客户端将该页面数据保存在cache中,并记录这两个属性。当客户端再次访问这个页面,请求阶段的消息,会在If-Modified-Since(对应Last-Modified)或If-None-Match(对应ETag)两个字段中携带之前在cache中保存的Last-Modified或ETag的属性值。服务器通过判断这个两个属性,判断页面是否发生变化,如无变化,客户端不需要重新下载,返回304响应。
9. 网络通信过程
在浏览器中输入一个网址时,需要将它先解析出ip地址来
当得到ip地址之后,浏览器以tcp的方式3次握手链接服务器
以tcp的方式发送http协议的请求数据 给 服务器
服务器tcp的方式回应http协议的应答数据 给浏览器
10. 简述一下停等协议
由于 IP 层是不可靠的,因此 TCP 需要采取措施使得传输层之间的通信变得可靠。停止等待协议就是保证可靠传输,以流量控制为目的的一个协议。其工作原理简单的说就是每发送一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组,如果接受方不返回应答,则发送方必须一直等待。
细节描述:①如果发送方如果一段时间仍没有收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组。
②如果接收方的确认分组丢失或者因其他原因,收到了重传分组,则:丢弃这个重传分组,并且向发送方发送确认。
11. 应用层有什么协议,举出两个协议的作用
DNS(域名系统),将网址解析成 IP 地址。
DHCP(动态主机设置协议),是一个局域网的网络协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配 IP 地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
FTP(文件传输协议),FTP 客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。
TELNET(远程终端协议),能将用户的击键传到远程主机,同时也能将远程主机的输出通过 TCP 连接返回到用户屏幕。
12.数据链路层的作用
数据链路层在物理层提供的服务的基础上向网络层提供服务,将原始的、有差错的物理线路改进成逻辑上无差错的数据链路,从而向网络层提供高质量的服务。功能主要有:①链路管理;②封装成帧;③透明传
输;④差错检测
13.路由协议有哪些
域内:
①RIP (路由信息协议)。距离矢量协议;16 跳;收敛速度慢;适用小规模网络;仅和邻居交换信息,且交换的是整个路由表,按固定时间周期性交换;实现简单,开销小;传输层使用 UDP;RIP 报文限制大小为 512 字节。
②OSPF(开放最短路由协议)。链路状态协议;基于 IP;向自治域中所有路由器发送信息(防洪法),且发送的是链路状态表(LSA),触发更新;更新过程收敛快;根据代价选择最佳路由;支持多路径负载均衡。
域间:
BGP(外部网关协议)是不同 AS 之间的路由器之间交换路由信息的协议。
14. 频分复用如何避免各路信号间的干扰
频分复用要求总频率宽度大于各个子信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带(也就是保护频带,即插入一些 空白的频段 ),这样就保证了各路信号互不干扰。
15. 简述计算机网络中各层作用 这问题回答之后 老师一直追着网络层问了好多问得我发懵了。。
物理层主要功能:实现比特流的透明传输。基本单位:比特。
数据链路层主要功能 :封装成帧 。把帧从原MAC传到目的MAC(相邻节点之间帧的透明传输)
差错检测 循环冗余检测法。只检测有没有比特错误,若有则丢弃。
网络层: 路径的选择、数据的转发。 源主机到目的主机之间分组的透明传输(之间可能经过很多节点)
传输层:端(口)到端(口)的报文
表示层:负责数据格式的转换,压缩与解压缩,加密与解密。
应用层
应用层是网络体系中最高的一层,也是唯一面向用户的一层,应用层将为用户提供常用的应用程序,并实现网络服务的各种功能。常用的电子邮件、上网浏览等网络服务,都是应用层的程序。

应用层主要是面对用户访问网络的。主要有一些应用程序,会话层,表示层,应用层如:DNS,FTP,E-mail,Telnet,HTTP。
————————————————
版权声明:本文为CSDN博主「我是一只的猪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
16. 列举数据链路层的协议。。2 个即可
局域网:
①CSMA/CD(带冲突检测的载波侦听多路访问协议),每一个站在发送数据之前要先检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不发送数据,以免发生冲突;如果没有,则发送。并且计算机在发送数据的同时边检测信道上是否有冲突发生。如果有,则采用截断二进制指数类型退避算法来等待一段随机时间后再次重发。总的来说,可概括为“先听后发,边听边发,冲突停发,随机重发”。
广域网:
①PPP(点对点协议),面向字节;不需要的功能:纠错(PPP 协议只负责检错)、流量控制(由 TCP负责)、序号(PPP 协议是不可靠传输协议,故不需要对帧进行编号)、多点线路(PPP 协议是点对点
的通信方式)、半双工或单工(PPP 只支持全双工链路)。
②HDLC(高级数据链路控制协议),面向比特;标记字段(01111110),地址字段(全 1 是广播,全 0为无效);控制字段(根据前两位取值可以将 HDLC 帧划分为三类(无奸细):信息帧,监督帧,无编
号帧),信息字段,帧检验序列 FCS(CRC 循环冗余码)
17. 网络各层的设备分别是什么
物理层:集线器,中继器(均不能隔离冲突域和广播域)
数据链路层:交换机(转发/学习机制、存储转发、隔离冲突域不能隔离广播域),网桥
网络层:路由器(隔离冲突域和广播域)
18. 什么是滑动窗口协议
滑动窗口协议,是 TCP 使用的一种流量控制方法。该协议允许发送方在停止并等待确认前可以连续发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。
19. PPP 协议
PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。
PPP协议支持以下功能:

IP地址的动态分配和管理
同步或异步的物理层通信
链路的配置、质量检测和纠错
多种配置参数选项的协商
————————————————
版权声明:本文为CSDN博主「轮子学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:/
20. 网络按地理范围分
个域网、局域网、城域网、广域网
21. 保护频带 就是插入一些 空白的频段
22. 一个网络安全有哪些方面,还有个 p2p 协议
23. DNS DHCP
DNS 倒是记得是让网址转换 IP 地址的 映射 IP 地址 动态主机。。
协议 DHCP 是动态分配 ip 吗
25. 流量控制在哪些层实现
传输层(TCP)、数据链路层(ARQ)
26. 频分复用 时分复用 波分复用 码分复用
频分复用:给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法。
时分复用:把多个信号复用到单个硬件传输信道,它允许每个信号在一个很短的时间使用信道,接着再让下一个信号使用。
波分复用:就是光的频分复用。用一根光纤同时传输多个频率很接近的光载波信号。
码分复用:码分复用是用一组包含互相正交的码字的码组携带多路信号。每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,各用户之间不会造成干扰,因此这种系统发送的信号有很强的抗干扰能力。
27. CSMA/CD 协议 如果两端同时发送信息会出现什么情况,为什么?
两端都检测到冲突,均停止发送数据,等待一个随机时间再重发。
28. 电路交换,分组交换
见高分笔记 P27
29. 简述下 CSMA/CD 协议的实现原理
发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;

若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。

其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
30. 描述网络某一层的原理
31. 说一下路由器的原理
传统地,路由器工作于 OSI 七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先去掉数据包的二层头,取出目的IP 地址,在转发路由表中查找它对应的下一跳地址,若找到,就在数据包的帧格前添加下一个 MAC 地址,同时 IP 数据包头的 TTL(Time To Live)域也减一,并重新计算校验和。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上。

计算机网络

32. 网络里时延和带宽的概念
时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播
时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要矛盾;报文长度较小的情况,传播时延是主要矛盾。
带宽又叫频宽,是指在固定的的时间可传输的资料数量,亦即在传输管道中可以传递数据的能力。在
数字设备中,频宽通常以 bps 表示,即每秒可传输之位数。在模拟设备中,频宽通常以每秒传送周期或赫兹 (Hz)来表示(指通过的频率的宽度)。
33. 网络拥塞
网络中存在太多的数据包导致数据包被延迟或丢失,从而降低了整个网络的传输性能,这种情况叫做拥塞。
如果产生网络拥塞,则网络的性能明显下降,整个网络的吞吐量将随着输入负荷的增大而下降。
拥塞控制:可分为闭环控制和开环控制。开环控制是在设计网络时事先将有关拥塞的因素考虑到,力求网络在工作时不产生拥塞。闭环拥塞是基于反馈环路的概念。
拥塞控制的 4 种算法:
① 慢开始算法
② 拥塞避免算法
③ 快重传算法
④ 快恢复算法
34. CSMA/CD 的原理(载波侦听多路访问/冲突检测方法)
工作原理:发送数据前,先侦听信道是否空闲,若空闲,则立即发送数据,在发送数据时,边发送边继续侦听,若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。(先听后发,边发边听,冲突停发,随机延迟后重发。)
35. 三网指哪三网?
电信网,广播电视网,互联网。
36. 组成网络协议的三个要素
① 语义:对构成协议元素的含义的解释;
② 语法:数据域控制信息的结构和格式;
③ 同步:规定事件的执行顺序。
37. 电路交换,报文交换,分组交换之间的区别以及联系

38. 分组交换的优点和缺点
与报文交换相比较,分组交换的优点和缺点如下。
优点:
① 加速传输:因为分组交换是逐个传输,所以可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了报文的传输时间,此外,传输一个分组所需的缓冲区比传输一个报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的几率及等待的时间也必然减少。
② 简化了存储管理:分组的长度固定,相应的缓冲区大小也固定。
③ 减少出错几率和重发数据量:因为分组较短,其出错几率必然减少,所以每次重发的数据量也就大大
减少,这样不仅提高了可靠性,也减少了传输时延。
缺点:
① 存在传输时延:尽管与报文交换相比的传输时延较短,但是与电路交换相比仍然存在存储转发时延,而且对其结点交换机的处理能力有更高的要求。
② 当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达的目的地的结点时,要对分组按编号进行排序工作,工作量较大。
39. 流量控制在哪些层实现?
流量控制就是要控制发送方数据传输的速率,使接收方来得及接收。
数据链路层:相邻结点的流量控制,
传输层:端到端的流量控制,利用滑动窗口机制在 TCP 连接上实现流量控制。
40. CDMA 及原理
码分多路复用,既共享信道的频率,又共享时间,是一种真正的动态复用技术。
原理:
41. 二层交换机和三层交换机的区别
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的 MAC地址信息,根据 MAC 地址进行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中。
三层交换机就是具有部分路由器功能的交换机,三层交换技术就是二层交换技术+三层转发技术。传统交换技术是在 OSI 网络标准模型第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。
42. 频分复用如何避免频带间的干扰,保护频带?
43. 停止等待协议
44. IPv4 地址缺乏的解决办法以及 IPv4 的替代方案以及 IPv4 和 IPv6 如何相互通信?

IPv6扩展了地址空间,地址长度由IPv4的32位扩展到128位

双协议栈:双协议栈的主机同时有两种IP地址,在和ipv6主机通信时采用ipv6地址。使用DNS查询目的主机采用的何种地址

隧道技术:在ipv6数据报进入ipv4网络时,把6封装成4。6变成了4的数据部分。4数据报离开4网络中的隧道时,再把数据部分(6)交给主机的6协议栈

————————————————
版权声明:本文为CSDN博主「云淡风轻__」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
45. 传统的搜索引擎基本原理,基于内容的搜索?原理和实现?
搜索引擎是一种能够通过因特网接受用户的查询命令,并向用户提供符合其查询要求的信息资源网址的系统。

搜索引擎的原理,可以分为四步:从互联网上抓取网页、建立索引数据库、在索引数据库中搜索排序、对搜索结果进行处理和排序。
(1)、从互联网上抓取网页:利用能够从互联网上自动收集网页的蜘蛛系统程序,自动访问互联网,并沿着任何网页中所有URL爬到其他网页,重复这个过程,并把爬过的所有网页收集回来。
(2)、建立索引数据库:由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其他网页的链接关系等),并根据一定的相关度算法进行大量的复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后利用这些相关信息建立网页索引数据库。
(3)、在索引数据库中搜索排序:当用户输入关键词后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所用相关网页针对该关键词的相关度早已计算好,所以只需按照现成的相关数值排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
(4)、对搜索结果进行处理排序:所有相关网页针对该关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关数值度,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
46. 什么是非对称加密?什么是数据安全的特征?
对阵加密:加密解密的秘钥是相同的。
非对称加密:加密解密的秘钥是一对,公开密钥和私有秘钥,是不同的。如果用其中一个加密,那么拎一个就能解密。
那么非对称加密有什么好处呢?
我利用你的公钥把发给你的信息进行加密,而且我不知道你的私有秘钥,所有别人发给你的加密信息我也看不了。
但是如果是对称加密,如果我要你能解密,我就要你的秘钥,然后用你的秘钥把信息加密发给你,但是这样子我就知道了你的秘钥,别人发给你的消息我也能解密获取。
利用非对称加密可以提高数据安全性,但是会降低加密解密速度。

数据安全的特征(特点):
1.机密性(保密性),就是我的不能让别人知道
2.完整性 :我的数据只有我自己能改。(我的微博你不能发,我花了100块你不能改成200)
3.可用性,(-----恶意弹窗广告????)
————————————————
版权声明:本文为CSDN博主「chenyson」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
**47. 网络安全有哪些方面

网络安全主要有系统安全、网络的安全、信息传播安全、信息内容安全。
1、系统安全

运行系统安全即保证信息处理和传输系统的安全,侧重于保证系统正常运行。避免因为系统的崩演和损坏而对系统存储、处理和传输的消息造成破坏和损失。避免由于电磁泄翻,产生信息泄露,干扰他人或受他人干扰。

2、网络的安全

网络上系统信息的安全,包括用户口令鉴别,用户存取权限控制,数据存取权限、方式控制,安全审计。安全问题跟踩。计算机病毒防治,数据加密等。

3、信息传播安全

网络上信息传播安全,即信息传播后果的安全,包括信息过滤等。它侧重于防止和控制由非法、有害的信息进行传播所产生的后果,避免公用网络上大云自由传翰的信息失控。

4、信息内容安全

网络上信息内容的安全侧重于保护信息的保密性、真实性和完整性。避免攻击者利用系统的安全漏洞进行窃听、冒充、诈骗等有损于合法用户的行为。其本质是保护用户的利益和隐私。

维护网络安全的工具有VIEID、数字证书、数字签名和基于本地或云端的杀毒软体等构成。

48. 网络的分类**

49. 计算机网络各层设备及工作原理总结

50. 计算机网络协议总结(按层总结:什么层,协议,作用,特点等)
**51TCP与UDP的连接区别
TCP 是面向连接的,UDP 是面向无连接的
TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
TCP 保证数据正确性,UDP 可能丢包
TCP 保证数据顺序,UDP 不保证
UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
TCP数据传输慢,UDP数据传送快
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。
TCP对系统资源要求较多,UDP对系统资源要求较少。
TCP 是面向字节流的,UDP 是基于数据报的
————————————————
版权声明:本文为CSDN博主「我是一只的猪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:

【白嫖版】复试全书

计算机组成

51. RAM 和 ROM 的原理和区别(在基本存储单元上存在本质区别)
RAM:随机通道存储器(random access memory)。一般用来存放各种现场的输入输出数据、中间计算结果、与外存交换的信息以及作为堆栈。一般分为双极型 RAM 和 MOS RAM(又分为静态 SRAM、动态 DRAM)。
双极型 RAM 以晶体管的触发器作为基本存储电路,所以管子多,速度快、功耗大、集成度较低、成本高,一般用于高速计算机或者 cache。
MOS RAM 一般分为静态 SRAM 和动态 DRAM。静态 RAM 用由六管构成的触发器作为基本电路,集成度适中,功耗适中,速度较快,不需要刷新电路(为了维持数据,动态 RAM 中需要一个刷新电路,在短周期内对所有基本存储单元进行充电,维持电平状态,来达到数据的保存)。
动态 DRAM 基本存储电路用单管线路组成(电平靠电容存储,如一般计算机中的内存),集成度高,功耗低,成本比 SRAM 低,由于靠电容的电荷保持电平,所以需要刷新电路(典型要求每隔 1ms 刷新一次)。
总的说 RAM 使用晶体管打开或关闭通往位于交点处的电容器来访问电路。它有如下特性:A、易挥发 B、速度快 C、成本高,即不易制作大容量的 RAM。所以这类存储器一般用在计算机设备的内存部分,而且往往容量不会很大。
ROM:read-only memory,只读存储器。一般用来存放固定的程序以及存放各种常数、函数表。一般分为掩摸 ROM、可编程的 ROM(PROM)和可重复擦除的 ROM 三种(按出现时间顺序排列)。
掩摸 ROM:由厂家固化一次性程序,不可擦写。原理是:由晶体管构成,‘0’:存储单元通过晶体管导通连地,上电后该单元视为‘0’电平。‘1’:与‘0’逻辑相反,存储单元没有晶体管接地。出现时间最早。
PROM:可编程 rom,本身不带有程序,只允许用户进行一次擦写操作,出现时间较晚。
可擦写可编程 rom:有紫外线擦除(EPROM,70 年代初)、电擦除(EEPROM)以及 FLASH(闪存)。他们都是可以多次重复擦写的 ROM。
EPROM 原理是通过击穿绝缘层向浮空栅注入电子进行写操作;利用紫外线使浮空栅电子泄露进行擦操作。
EEPROM:原理与 EPROM 相似,在绝缘层间加入隧道二极管,于是可以通过电场作用,使浮空栅带上电子或消去。
FLASH:(太高端了,我也不懂 0.0·。)
52. 一位全加器的真值表以及逻辑表达式
上图是一位全加器示意图:

Ai、Bi 是两个二进制加数,Ci-1 是上一级加法器的进位,Si 是本级一位加法
输出,Ci 是加法进位。真值表如下:
Si=Ai⊙Bi⊙Ci-1
Ci=(Ai⊙Bi)Ci-1+AiBi(⊙表示异或逻辑)
53. 什么是芯片组
芯片组(Chipset)是构成主板电路的核心。一定意义上讲,它决定了主板的级别和档次。它就是"南桥"和"北桥"的统称,就是把以前复杂的电路和元件最大限度地集成在几颗芯片内的芯片组。芯片组是整个身体的神经,芯片组几乎决定了这块主板的功能,进而影响到整个电脑系统性能的发挥,芯片组是主板的灵魂。芯片组性能的优劣,决定了主板性能的好坏与级别的高低。这是因为目前 CPU 的型号与种类繁多、功能特点不一,如果芯片组不能与 CPU 良好地协同工作,将严重地影响计算机的整体性能甚至不能正常
工作。
北桥芯片:提供对 CPU 类型和主频的支持、系统高速缓存的支持、主板的系统总线频率、内存管理(内
存类型、容量和性能)、显卡插槽规格,ISA/PCI/AGP 插槽、ECC 纠错等支持;
南桥芯片:提供了对 I/O 的支持,提供对 KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE 数据传输方式和 ACPI(高级能源管理)等的支持,以及决定扩展槽的种类与数量、扩展接口的类型和数量(如 USB2.0/1.1,IEEE1394,串口,并口,笔记本的 VGA 输出接口)等;
54. 触发器相关的问题
三类:电位触发、主从触发、边沿触发
等等。。。
55. 中断的软件实行过程
中断源产生中断请求,CPU 一般要先屏蔽该中断源的中断,防止错误的中断嵌套->CPU 对现场进行保存,存储断点程序地址并将当前数据压入栈中->PC 指向对应的中断入口,转入执行中断向量指向的中断服务程序->完成中断响应后,恢复现场,程序回到断点处,将栈中的数据重新读出->重新开中断。
56. 查询传输和中断传输,解释比较
中断传输:中断式传送是指处理器进行的各种处理。执行主程序时,输入设备准备好数据,或者输出设备已把数据输出,向处理器发出中断申请,使处理器中止当前程序的执行,转向中断服务程序,读取输入设备的数据,或者把数据送往输出设备。
无条件传送和查询传输:程序控制传送分为无条件传送(同步传送)和程序查询传送(条件传送、异步传送)。无条件传送只对固定的外设(如开关、继电器、7 段显示器等)在规定的时间用 IN 或 OUT 指令进行信息的传输,实质是用程序定时同步传送数据。条件查询的条件是在执行输入或输出指令前,要先查询接口中状态寄存器的状态。输入时,由它只是要输入的数据是否已准备就绪;而输出时,由它只是输出设备是否空闲,由此条件决定执行输入或输出。可以看出,从 CPU 的角度看,中断的响应相对查询来说是被动的、实时的,如网络的通讯请求,键盘、鼠标的操作等等。查询则一般用于主动的、可控的场合,通常在需要输入/输出数据时,对外设的状态进
行查询,以防冲突。而很多外设的速度是很慢的(如打印机),CPU 就会长时间处于等待的状态,无法进行其他操作,这就降低了 CPU 的效率,所以检测到这类设备忙碌的状态时,我们会用设置中断的方法避免这种等待,提高 CPU 的使用率。中断是难以或者无法预测的,查询的操作是用户在程序中制定的,所以一般是可以控制的。
57. 过程调用具体执行了哪些操作

58. PC 机的端口是同步的还是异步的?什么是异步?
USB 好像是同步的。
PC 机的串口是异步的,即 UART,采用 RS-232 标准。
异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束来构成一帧。它的传输帧是由起始位、内容和停止位构成的。每个字符可能还包含有奇偶校验位。波特率一般在 50-9600 baud 。数据信号传输速率单位是 字符/秒 或 bps 。
同步通信:为了提高速度,去掉异步通信中使用的起始位和停止位,而在数据块开始前使用一段同步字符指示通信开始,同步通信对整块数据进行传输,速度较快,通常为几十到几百 Kbaud。
59. 控制单元设计··分为组合逻辑和微程序··两者区别··优缺点·
电路的输出仅由该时刻电路的输入决定的电路,称为组合逻辑电路。
上面那句是概念性的东西,具体在数字电路组合逻辑部分。
郎艳峰上的 EDA 技术用的 FPGA 就是组合逻辑控制的一种,不过那个太低端了。。
程序的特点是:为了达到一定目的,程序按照一定的逻辑关系一条一条地执行,程序执行的快慢取决于机器周期的快慢、CPU 的性能以及软件算法的优劣等。
1、速度上:组合逻辑电路由用户制定好逻辑关系后,输入信号经过电路的响应,直接得出结果,很大程度上是纯硬件的响应,因此在时刻间隙内可以完成可能需要通过多条程序才能完成的算法,不难看出,组合逻辑电路设计的控制单元比程序控制的单元具有更快的处理速度,而且系统越复杂,组合逻辑在速度上
的优势越明显。
2、复杂度上:组合逻辑电路是由设计者按照自己的设想将众多逻辑器件组合而成的,对于较为复杂的系统,设计一个逻辑电路往往需要庞大的工作量,检验和仿真等都是费时费力的工程。在这一点上,程控的方法显得方便的多,程序结构的有条不紊是它在设计复杂度上占优势的主要因素。一个无比复杂的逻辑结构可能只需要设计者为 CPU 设计一些精炼的算法就可以实现,在对处理速度没有十分苛刻的要求情况
下,通过程序设计会大大地减轻设计者的工作量。
3、成本:一般来说,大型可编程逻辑器件的成本要比一些较为高端的处理器或单片机高得多,而且工作量一般比较大,花费的工比较多。
总的来说,工程设计上,要综合实际应用的要求和成本,设计者要尽量选择全方位的设计方案。
60. 关于 IO 接口的,微机原理中的内容,要仔细看下。
接口:接口是位于主机和外设之间的一种缓冲电路,包括了硬件电路和软件控制,现在接口通常为可编程的大规模集成电路芯片。端口:接口电路通常有三种寄存器:数据输入输出缓冲寄存器、控制寄存器、状态寄存器。这些寄存器称为(数据、控制、状态)端口。对 I/O 设备的访问,就是通过对端口访问实现的,每个端口赋予一个唯一的地址码,称为端口地址。
端口的编址:独立编址和统一编址。统一编址是将端口当做存储器单元,与内存统一编址,内存和端口的操作指令是统一的,所以指令功能强,但是端口占用了存储器的地址空间,使存储器容量减少。
独立编址也称为 I/O 映射编址,即端口和内存分开各自独立地拥有自己的地址空间,端口不占用存储器空间。
80x86 采用独立编址。
I/O 端口地址译码:
1、用逻辑门电路进行译码
2、用译码器进行译码
3、比较器译码
4、PROM(可编程rom)和 GAL(通用逻辑阵列)。
61. 中断(概念,补充:中断可不可以被打断,有哪些情况)
指当出现需要时,CPU 暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由 CPU 立即处理的情况,此时,CPU 暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
在响应中断时,CPU 执行两个连续的中断响应周期,每个周期都输出中断响应信号/INTA,第一个周期CPU 使 0~15 位的地址总线(8086 有 20 根地址总线)浮空,第二个周期被响应的外设向数据总线输送一个字节的中断向量号,而后 CPU 读取中断向量号,转向中断服务程序,响应中断。
有些不可屏蔽中断是可以打断其它中断的。如掉电、复位等。
63. 什么是指令,时钟,总线周期,有什么关系
我们把要求计算机执行的各种操作用命令的形式写下来,就是指令
时钟周期:CPU主时钟频率一个振荡周期所需要的时间,即为系统主频的倒数T=1/f;

总线周期:系统完成一个字节的读写操作所需要的时间;

指令周期:指CPU完成一个指令操作所需的时间;

总线周期由若干个时钟周期组成,在8086CPU中,一个总线周期为4个时钟周期;
根据指令复杂程度的不同,指令周期由若干个总线周期组成。
即 时钟周期 < 总线周期 < 指令周期

程序的执行过程

当 CPU 执行程序的时候:

1.首先,CPU 读取 PC 指针指向的指令,将它导入指令寄存器。具体来说,完成读取指令这件事情有 3 个步骤:

步骤 1:CPU 的控制单元操作地址总线指定需要访问的内存地址(简单理解,就是把 PC 指针中的值拷贝到地址总线中)。

步骤 2:CPU 通知内存设备准备数据(内存设备准备好了,就通过数据总线将数据传送给 CPU)。

步骤 3:CPU 收到内存传来的数据后,将这个数据存入指令寄存器。

完成以上 3 步,CPU 成功读取了 PC 指针指向指令,存入了指令寄存器。

2.然后,CPU 分析指令寄存器中的指令,确定指令的类型和参数。
3.如果是计算类型的指令,那么就交给逻辑运算单元计算;如果是存储类型的指令,那么由控制单元执行。
4.PC 指针自增,并准备获取下一条指令。
————————————————
版权声明:本文为CSDN博主「冲冲冲冲冲冲!!!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:

更多推荐

西农复试准备

本文发布于:2024-02-25 01:54:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1697397.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复试   西农

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!