- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 电梯算法: 无访问请求 磁头停止不动 有访问请求时 按照电梯移动规律运动 起始:由最外磁道向内磁道移动 内磁道没有访问请求 改变移动方向(外磁道有请求) 或 停止移动(无请求)
电梯算法:无访问请求 磁头停止不动有访问请求时 按照电梯移动规律运动起始:由最外磁道向内磁道移动内磁道没有访问请求 改变移动方向(外磁道有请求) 或 停止移动(无请求)
2020-05-29 16:35:47 477
原创 管程
//3种等待队列//wait© 执行此操作的进程进入c链尾//如紧急队列非空,唤醒第一个等待者,否则唤醒入口等待队列中的一个进程,并释放管程互斥权//signal© c链为空 空操作//唤醒第一个,有3种方式:Hoare管程、Hansen管程、Java管程//Hoare管程 进入紧急队列//Hansen管程 直接离开管程//Java管程 继续执行//进入管程 申请互斥权//离开管程 紧急等待队列非空 唤醒第一个等待者 否则开放管程...
2020-05-29 15:59:10 565
原创 分支限界法--期限作业
#include <iostream>#include <vector>#include <queue>#include <algorithm>using namespace std;int n, parent[6] = {-1};//int p[6] = {0,6,3,4,8,5}, t[6] = {0,2,1,2,1,1}, d[6] = {0,3,1,4,2,4};int p[5] = {0,5,10,6,3}, t[5] = {0,1,
2020-05-26 06:29:08 455
原创 并发进程
顺序程序进程互斥Peterson互斥算法Dekkel互斥算法Lamport面包店算法Eisenberg-Mcguire算法临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如:semaphore。只能被单一线程访问的设备,例如:打印机。算法正
2020-05-24 15:17:18 277
原创 从三个元素的集合[A,B,C]中选取元素生成一个N个字符组成的序列,使得没有两个相邻字的子序列(子序列长度=2)相同。例:N = 5时ABCBA是合格的,而序列ABCBC与ABABC是不合格的,因为其
从三个元素的集合[A,B,C]中选取元素生成一个N个字符组成的序列,使得没有两个相邻字的子序列(子序列长度=2)相同。例:N = 5时ABCBA是合格的,而序列ABCBC与ABABC是不合格的,因为其中子序列BC,AB是相同的。对于由键盘输入的N(1<=N<=12),求出满足条件的N个字符的所有序列和其总数。测试数据:输入:4输出:72#include <iostream>using namespace std;char letter[3] = {'A', 'B',
2020-05-23 19:36:50 3318 1
原创 两段锁
锁协议排他锁共享锁死锁饿死两阶段锁协议两段锁协议:数据库的两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁1.扩展阶段在对任何数据项的读、写之前,要申请并获得该数据项的封锁。2.收缩阶段每个事务中,所有的封锁请求必须先于解锁请求。破解死锁:同时回滚两个事务严格两阶段锁强两阶段锁两段锁协议与防止死锁的一次封锁法的区别:一次封锁法要求事务必须一次对所有要使用到的数据项进行加锁,否则不能继续运行。显然,一次封锁法符合两段锁协议,但是两段锁协议并不要求一次就要对所有需要
2020-05-13 16:29:35 762
原创 串行化调度
严格的在一个事务写入的值在其提交或者中止之前没有其他事务读或者写避免级联中止的如果事务仅读已提交事务修改的数据,那么是避免级联终止的。串行调度(Serial schedule)各个事务之间没有任何操作交错执行,事务一个一个执行。如果一个调度的结果与某一串行调度执行的结果等价,则称该调度是可串行化调度,否则是不可串调度。冲突可串行化调度如果调度中一对连续操作是冲突的,则意味着如果它们的执行顺序交换,则至少i改变其中一个事务的最终执行结果。如果两个连续操作不冲突,则可以在调度中交换顺序。一个
2020-05-13 15:30:17 4693
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人