Framework
juunnry
学习是一种生活,工作是一种享受
展开
-
操作系统:读者-写者问题
读者写者问题:哲学家就餐问题对于互斥访问有限资源的竞争问题(如I/O设备)一类的建模过程十分有用。另一个著名的问题是读者-写者问题(Courtois 等人,1971),它为数据库访问建立了一个模型。例如,设想一个飞机订票系统,其中有许多竞争的进程试图读写其中的数据。多个进程同时读数据库是可以接受的,但如果一个进程正在更新(写)数据库,则所有的其他进程都不能访问该数据库,即使读操作也不行。所有等...原创 2018-11-18 15:04:58 · 1723 阅读 · 0 评论 -
操作系统:银行家算法避免死锁
银行家算法是用来避免死锁的,该方法将系统的状态分为安全和不安全,只要系统处于安全状态,便可避免死锁的发生。之所以成为银行家算法,是由于该算法能用于银行系统现金贷款的发放而得名。安全状态的定义为:系统按照某种进程顺序,如,来为进程分配资源,直到最大需求,使每个进程都能顺序完成,此时称系统处于安全状态。银行家算法是由大牛Dijkstra提出的,为实现银行家算法,系统中应该设置若干数据结构:...原创 2018-11-18 15:07:36 · 1280 阅读 · 0 评论 -
段页式存储管理方式
基本分页存储管理方式(1)页面与页表:页面将一个进程的逻辑地址空间分成若干个大小相等的片,分页地址中页号和页内地址的计算P=INT[A/L],d=[A] MOD L;页表:系统为每个进程建立了一张页面映像表简称页表;(2)地址变换机构:实现从逻辑地址到物理地址的转换 请求分页存储管理方式页表中增加了状态位、访问字段位、修改位增加了缺页中断机构,与一般的中断有明显区别:(...原创 2018-11-18 15:08:39 · 1692 阅读 · 0 评论 -
算法二十二:数组和之间差最小
有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。例如: var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];分析:要是序列的和之差最小,考虑将两个序列组合成一个序列1,对序列求和sum,选取一个数组,使得这个数组的和最接近sum/2,对合成...原创 2018-11-18 14:48:19 · 1173 阅读 · 0 评论 -
算法二十四:最后胜出队伍
n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。 所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......胜者晋级,...原创 2018-11-18 14:53:49 · 329 阅读 · 0 评论 -
数据结构基础:拓扑排序
对一个有向无环图G进行拓扑排序,是将G中所有的顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v>属于E(G),则u在线性序列中出现在v之前。方法:1. 在有向图中选取一个没有前驱的顶点输出值2. 从图中删除该顶点和所有以它为尾的弧3. 重复上述过程,直到所有顶点均输出代码:TopoSort.h#ifndef TOPOSORT#define T...原创 2018-11-18 15:03:31 · 302 阅读 · 0 评论