边角料? 交通系统的死锁 堵车 资源 空间 独占,等待空闲,资源不可剥夺 ,资源循环等待 4个条件 如何描述? 有向环图;占有 等待;进程与资源的关系。 如何检测? 看是否有环出现。进程资源依赖关系图。问题在于 系统中进程 资源 数量 不清楚

解决方案

鸵鸟算法 假设没有出现死锁 忽略 现代方法

死锁预防 prevention

idea:destroy the condition of dead lock.破环四个条件的其中一个;认为有死锁风险。

  1. spooling 最大的用处在打印机里。给每一个进程虚拟的打印机。让每一个进程虚拟资源,那么资源独占不存在。
  2. 哲学家。打破环,有一个人先拿右手,不是全都先拿左后拿右。管程可以剥夺,资源让渡,交给os,os再次分配。只有资源剥夺需要操作系统。

死锁避免 avoid

资源分配记录 ,绕过黑色区间。 算法 银行家:djstra; 喜欢分配资源,贷款。。 首先,资源建模,进程建模。矩阵 4个进程 3个资源。 扫描矩阵 看满足谁。然后进程退出,返回资源。与分配的资源。拿到新的资源。选一个人分配。 哲学家就餐问题,使用银行家算法描述,资源分配与资源请求过程的描述。在p操作里用银行家算法来决定是否可以分配,改了内核呢,对操作系统要求太苛刻,对于资源分配器价值不高,没有实用价值。 鸡肋。。理论

死锁检测与恢复

如何知道锁住? 不太可能追踪到所有进程与资源。 经典 银行家算法。现有的资源 看能不能用银行家算法解决。

恢复 重启。量级 进程 一组进程 整个计算机。 存盘。check point. trade off 多高频度,时间 存储。 git


翻译问题?

  • safety:灾难性
  • security:未被授权操作 关注点 系统允许权限范围内

os中的权限

  • 文件管理权限
  • 用户权限
  • (硬件)处理器的权限 特权态 用户态。根源 特定指令。基础 系统调用 权限匹配

melt down 乱序执行;spectre 分支预测