
操作系统
操作系统学习笔记
不停---
吹皱一池春水
buting.site
展开
-
操作系统进程互斥算法
1.Dekker BOOLEAN 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 · 544 阅读 · 0 评论 -
操作系统---虚拟内存管理
1.外存资源 1.1 Swap空间 1.2File文件 1.3 输入井 1.4 输出井 2.外存空间划分 2.1静态等长,2^i,称为block 2.2 分配形式 空闲块链 空闲块表 字块映像图、 3.进程和外存对应关系 3.1界地址 每进程占一组外存连续块 每进程占两组外存连续块(双对界) 3.2页式 进程一页,外存一块 3.3 段式 每段占外存若干连续块 4.无虚拟问题 4.1 不能运行比内存大的程序 4.2 进程全部装入内存,浪费空间(进程活动具有局部性) 单控制流的进程需要较少部分在内存 多控制流进原创 2020-05-19 23:35:17 · 207 阅读 · 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 · 6002 阅读 · 3 评论 -
银行家算法---- Banker's Algorithm
银行家算法是一个避免死锁产生的算法。 以银行借贷分配策略为基础,判断并保证系统处于安全状态。 客户在第一次申请贷款时,声明所需的最大资金量,在满足所有贷款需求并完成项目时,及时归还。 在客户贷款数量不超过银行拥有的最大值时,银行家尽量满足顾客的需求。 银行家---- 操作系统 资金------资源 客户----- 申请资源的线程 银行家算法— 数据结构 Max(总需求量):n x m 矩阵 线程...原创 2020-04-24 23:39:32 · 817 阅读 · 0 评论