软件过程是什么
软件过程(Software Processes)是指软件生存周期中的一系列相关过程。过程是活动的集合,活动是任务的集合,任务则起到把输入加工成输出的作用。
层次化存储结构
寄存器在CPU中Cache的功能
提高CPU数据输入输出的速率,突破冯诺依曼瓶颈(还有寄存器,内存吧), 即CPU与存储系统间数据传送带宽的限制。
在计算机的存储系统体系中, Cache是访问速度最快的层次(这里不讨论寄存器,因为寄存器是存在于CPU中)
使用cache改善系统性能的依据是程序的局部性原理
按访问方式:
按地址访问的存储器(内存、U盘、硬盘[有磁道]、软盘、光盘) 和 按内容访问的存储器(cache)
相联存储器: cache,内容访问的存储器, 将数据或数据的一部分作为关键字, 该关键字与存储器中的每个单元进行比较,找出存储器中所有与关键字对应的数据。
用在高速缓冲存储器、虚拟存储器中用作段表、页表、块表存储器, 用在数据库和知识库中。
快表
页表放到高速缓存(Cache)中,速度快,提高了查询速度。
快表是一块小容量的相联存储器( Associative Memory),由高速缓存器组成速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
段表、页表放到内存中,是一种慢表,放到cache中是快表,快表用来存放当前访问最频繁的少数活动页面的页号。
内存编址计算
其实比较简单,计算出总的地址单元数*字节B (8bit) / 单片有多少bit.
注意一般是 字节B 一般是 8bit ;地址+1;进制转换即可。参考这里或教材笔记。
磁盘工作原理
磁盘工作原理比较难的题目。(视频很清晰便于理解)
微内核结构的操作系统
优缺点:优点如图,缺点 运行效率低。
存储系统(内存) ——页面置换(淘汰)算法
计算机读取磁盘中的一个文件时,需要将文件内容加载到内存中,但是文件可大可小,内存确是固定的8G或者16G甚至更大。那么如何做到呢? ---虚拟存储管理
虚拟存储( virtual memory)技术的概念是:把很大的程序(数据)分成许多较小的块,全部存储在辅存(硬盘、U盘)中。运行时,把要用到的程序(数据)块先调入主存,并且把马上就要用到的程序块从主存调入高速缓存(catch)。这样,一边运行程序,一边进行所需程序(数据)块的调进调出只要及时供应所需处理的程序与数据,程序就能顺利而高速地运行下去。因此,对于应用程序员来说就好像有一个比实际主存大得多且可以放下整个程序的虚拟主存空间。当辅存中的程序块调入主存时,必须使程序在主存中定位(程序运行时找到数据在内存中的位置),该工作由系统自动完成,应用程序员不用考虑如何把程序地址映像和变换成实际主存的物理地址,因此,虚存技术对于应用程序员来说是透明的。
假设磁盘中的文件加载到了内存中,我们通过键盘对数据进行了修改, 点击保存时候,磁盘中的文件就永久的保存了,这其中发生了什么?
通过键盘修改文件内容,实际首先修改的是内存中的内容,然后内存中的内容再回写到磁盘中,那么内存如何知道该在磁盘的哪个位置回写呢? 这就需要理解“外页表”的原理。外页表中记录了虚拟地址到磁盘物理地址的映射,当我们修改了内存中的内容, 通过虚拟地址找到磁盘的实际地址,写回到磁盘。
虚拟存储管理还有“页表”的一个东西,它是记录了虚拟地址到内存物理地址的映射关系,当我们写内存操作内存时,实际上是通过虚拟地址找到内存的物理地址,然后改变内存中的内容。(页表考题:逻辑地址与物理地址的对应关系)
而下面是内存中关于页面置换算法的知识点和考题:
广泛应用于分层的存储体系中。
最优(Optimal,OPT)算法
随机(RAND)算法
先进先出(FIFO)算法:有可能产生“抖动”
最近最少使用(LRU)算法:不会“抖动”
举例说明:例如在一个虚存系统中,进程的内存空间为3页(每页放一个数字),已开始内存为空,有以下访问序列:2,3,2,1,5,2,4,5,3,2,5,2。分别用以上两种方法分别计算缺页次数。
A:使用FIFO(页面淘汰算法)
FIFO:先进先出,也就是,
先调2(缺) 内存为2.
调3(缺) 内存2.3.
调2(不缺)内存2.3
调1(缺)内存2.3.1
调5(缺)内存5.3.1(因为先进先出,所以替换调最先进来的2)
调2(缺)内存5.2.1(同样替换调3)
调4(缺)内存5.2.4
调5(不缺)内存5.2.4
调3(缺)3.2.4
调2(不缺)3.2.4
调5(缺)3.5.4
调2(缺)3.5.2 所以一共缺了9次
B:使用LRU(最近最少使用算法)
LRU:最近最少使用算法,也就是替换掉最远没有使用的,看示例:
还是跟上面一样,先调用2(缺) 内存2
调3(缺) 内存2.3
调2(不缺) 内存2.3
调1(缺) 内存2.3.1
调5(缺) 内存2.5.1(为什么是替换掉3呢,因为最近使用了1和2 而3没有进行使用)
调2(不缺)内存2.5.1
调4(缺)内存2.5.4(1最近没有使用)
调5(不缺)内存2.5.4
调3(缺)3.5.4
调2(缺)3.5.2
调5(不缺)3.5.2
调2(不缺)3.5.2 所以一共缺页7次。
什么是缺页中断?
进程线性地址空间里的页面不必常驻内存,在执行一条指令时,如果发现他要访问的页没有在内存中(即存在位为0),那么停止该指令的执行,并产生一个页不存在的异常,对应的故障处理程序可通过从外存加载该页的方法来排除故障,之后,原先引起的异常的指令就可以继续执行,而不再产生异常。
缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。
缺页次数/页面引用次数=缺页率
【小马:LRU题型很多都是换数字不换文字,理解原理即可解百题。】如下:
此类题型解题思路技巧:
如下类似题型,利用以上解题思路可轻松得出答案:
数据库系统
候选码
什么是候选码函数依赖
A决定B,则A->B,则称B依赖于A。 其实是一个决定的过程,有点类似查询中的主键外键。
关系代数
关系运算符(其实就是表数据的组合条件查询规则得到的结果)
1NF, 在关系模式R中, 当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项, 关系R是第一范式。
2NF 当且仅当 R是1NF, 并且每个非主属性完全依赖于主键(不存在部分函数依赖)时, 关系R为第二范式。(主属性只有一个)
3NF, 当且仅当R是2NF, 不存在非主属性传递依赖于码时, 关系R是第三范式。(不能有 个别码依赖于非主属性 的关系在)
选D、D吗?小马觉得选B、D
【小马:无损连接,但不保持函数依赖。 无损连接,原来的关系还可以成立;不保持函数依赖,其中有依赖丢失,B->C依赖丢失。】
主码传递依赖于D数学(算法)应用
决策树决策表(画树计算概率选择)
不确定型决策
状态转移(最终两个加起来还是百分百)
博弈论(例子很好理解)
动态规划(枚举列出解决)
线性规划(画坐标图,再看图或者代入式子解决)。找线, 则xy分别为0时的点的连线。
解题方法:可以依次分析每一个1-6路径上的最大流量(最大的开始),然后将最大流量“抽取”出来,依次累加,就可以得到1到6的最大流量。直至最后,虽然部分节点之间还有流量,但是无法从1到6连通了,也就是剩下了残余的流量,无法使用。此时累加每次抽出的最大流量即可。
最短路径
使用动态规划法反推,以终点开始反推,再以起点开始正推。(无向有权图)
到t分别是569,min值分别是 21=N , 12+N,19+N;从S开始,1开始走的路径,2开始走的路径,判断最小的,大的依次淘汰。
节点两两相同就可以,贪心,先通最短的两个,依次即可。
网友评论