一、操作系统
题型一:页面淘汰问题
地址映射过程中,若在页面中发现所要访问的页面不在内存中,
则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,
则操作系统必须在内存选择一个页面将其移出内存,
以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。
场见的页面置换算法:
最佳置换算法:
最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面
eg:
如上图:要访问页面7时,缺页,直接将7加进来,要访问0时缺页,直接将0加进来,1同理,访问2时7是最久访问过的,所以淘汰7将2加到7的位置
当第6列,要访问3时,产生缺页,这里面页面都被访问过,1是长时间未被访问,所以直接淘汰1,将3加入到1的位置
2.先进先出置换算法(FIFO):是最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,
总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大
3.最近最久未使用(LRU)算法:这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为
它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。
所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰
二、零散知识点
1> FTP 21为控制口、20为数据口
三、数据结构
3.1 图的遍历
分为深度优先遍历和广度优先遍历
深度优先遍历:无向深度遍历:先沿着一个方向进行遍历,将已经遍历的标记,并入栈,访问到底后,再依次出栈,沿着其他方向重新执行以上操作
有向深度遍历:
广度优先遍历:从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,
并使得“先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问,直至图中所有已被访问的顶点的邻接点都被访问到。
如果此时图中尚有顶点未被访问,则需要另选一个未曾被访问过的顶点作为新的起始点,
重复上述过程,直至图中所有顶点都被访问到为止。
广度优先遍历使用队列
3.2 霍夫曼编码
首先从所有字符中取出最小权值作为左右子树
第一步:取出10,14构成新树
第二步,将新树的节点构成新集合(40、16、24、20)
取出16、20
第三步,取出新节点(40、24、36)
取出新节点(40、60)
替换成字母,加上权值
c:111
a:0
d:110
e:101
所以编码为1110110101
第二问是求压缩比:
压缩前是定长编码:每个字符用3位编码,压缩后长度为
1*40%+3*10%+3*16%+3*14%=2.2
压缩比为(3-2.2)/3=27%
四、网络
4.1 主机地址的计算
155.32.80.192/26 前26位是网络地址,后6位是主机地址
则主机地址的个数为2的6次方减去2(0.0.0.0,255.255.255.255)=62
表示的主机地址:155.32.80.193-193+61
4.2 IPv6的地址空间是IPv4的2^96倍
五、编译器
5.1 编译程序中接收以单词为单位的输入,并产生有关信息供以后各阶段使用。算符优先法、LR分析法和递归下降法
是几种常见的语法分析技术。LR分析法主要有SLR(1)、LR(0)、LR(1)和LALR(1)等4种,其中LR(1)的分析能力里最强
LR(0)的分析能力最弱
5.2 编译器的工作工程分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成
词法分析:是计算机科学中将字符序列转换为单词(Token)序列的过程
词法分析器的任务是把源文件的字符流转换成记号流
语法分析主要检查语法,括号等上下文无关
语法分析器根据语法规则识别出记号流中的结构(短语、句子)并构造一棵能够正确反映该结构的语法树
语义分析,上下文有关
六、UML
6.1状态图:
状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为
表现为一个对象所经历的状态序列,引起状态转移的事件(Event)
以及因状态转移而伴随的动作(Action)。
一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram)
状态有Opened、Closed、Locked。
事件有 Open、Close、Lock和Unlock。
七、加解密
7.1
公开秘钥加密算法:非对称加密算法,是指加密秘钥和解密秘钥完全不同,其中一个为公钥,另一个为私钥
并且不能从一个推导出另一个
非对称加密算法有:ECC、DSA、RSA
对称加密算法:DES、AES、IDEA、RC-5
八、软件工程
8.1 常见的内聚
1)功能内聚:如果模块内所有元素完成一个功能,则为功能内聚
2)顺序内聚:各元素密切相关于某一个功能,而且处理元素是顺序执行
3)通信内聚:模块中的所有元素都使用同一输入,或产生同一输出
4)过程内聚:元素密切相关,还要按一定的次序执行
5)时间内聚:模板中包含的元素必须在同一时间内执行
6)逻辑内聚:模块完成的任务在逻辑上属于相同或相似的一类
7)偶然内聚:如果同一模块由若干个毫无相关的处理元素组成,则叫偶然内聚
8.2 软件模型
CMM(软件能力成熟模型)分为五个等级,一级最低,五级最高
CMMI(软件能力成熟度模型集成)将CMM模型结合在一起
8.3常见的耦合
非直接耦合:两个模块没有直接关系,他们之间的联系完全是通过主模块的控制和调用来实现的
数据耦合:两个模块间有调用关系,传递简单的数据
标记耦合:两个模块间传递的数据结构,如数组
8.4软件维护工具
软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具
九、组成原理
9.1 霍夫曼编码
1)求字符权值
9.2 内存编址问题
解题思路:
先算出十六进制的差:CFFFFH+1-A0000H=30000H
将30000H转成10进制再除以1024=192字节
除以1024的原因是,十六进制计算的结果是位,要转换成字节