操作系统
操作系统学习笔记
不停---
吹皱一池春水
buting.site
展开
-
操作系统进程互斥算法
1.DekkerBOOLEAN flag[2] = { false };int turn = 0;void Lock(int id){ //dekker flag[id] = 1; while (flag[(id + 1) % 2]) { if (turn == (id + 1) % 2) { flag[id] = 0; while (turn == ((id + 1) % 2)); flag[id] = 1; } }}void unLock(int id原创 2020-05-21 14:09:32 · 507 阅读 · 0 评论 -
操作系统---虚拟内存管理
1.外存资源1.1 Swap空间1.2File文件1.3 输入井1.4 输出井2.外存空间划分2.1静态等长,2^i,称为block2.2 分配形式空闲块链空闲块表字块映像图、3.进程和外存对应关系3.1界地址每进程占一组外存连续块每进程占两组外存连续块(双对界)3.2页式进程一页,外存一块3.3 段式每段占外存若干连续块4.无虚拟问题4.1 不能运行比内存大的程序4.2 进程全部装入内存,浪费空间(进程活动具有局部性)单控制流的进程需要较少部分在内存多控制流进原创 2020-05-19 23:35:17 · 174 阅读 · 0 评论 -
死锁检测算法
Available: 长度为m的向量每种类型可用资源的数量Allocation : 一个n X m 的矩阵当前分配给各个进程每种类型资源的数量进程Pi 拥有资源Ri 的Allocation[i,j] 个实例死锁检测算法:Work 和 Finish 分别是长度为m 和 n 的向量初始化(a) Work =Available // work 为当前空闲资源量(b) Allocati...原创 2020-04-27 16:32:50 · 5896 阅读 · 3 评论 -
银行家算法---- Banker's Algorithm
银行家算法是一个避免死锁产生的算法。以银行借贷分配策略为基础,判断并保证系统处于安全状态。客户在第一次申请贷款时,声明所需的最大资金量,在满足所有贷款需求并完成项目时,及时归还。在客户贷款数量不超过银行拥有的最大值时,银行家尽量满足顾客的需求。银行家---- 操作系统资金------资源客户----- 申请资源的线程银行家算法— 数据结构Max(总需求量):n x m 矩阵线程...原创 2020-04-24 23:39:32 · 738 阅读 · 0 评论