Skip to content

Commit

Permalink
auto commit
Browse files Browse the repository at this point in the history
  • Loading branch information
CyC2018 committed Mar 20, 2018
1 parent d6b9665 commit 1b022f0
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
4 changes: 2 additions & 2 deletions notes/Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
* [双向输出重定向](#双向输出重定向)
* [字符转换指令](#字符转换指令)
* [分区指令](#分区指令)
* [八、正规表示法与文件格式化处理](#八正规表示法与文件格式化处理)
* [八、正则表达式](#八正则表达式)
* [grep](#grep)
* [printf](#printf)
* [awk](#awk)
Expand Down Expand Up @@ -897,7 +897,7 @@ $ split [-bl] file PREFIX
- PREFIX :分区文件的前导名称
```

# 八、正规表示法与文件格式化处理
# 八、正则表达式

## grep

Expand Down
20 changes: 10 additions & 10 deletions notes/计算机操作系统.md
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ Linux 中管道通过空文件实现。

不试图阻止死锁,而是当检测到死锁发生时,采取措施进行恢复。

#### 2.1 每种类型一个资源的死锁检测
**(一)每种类型一个资源的死锁检测**

<div align="center"> <img src="../pics//b1fa0453-a4b0-4eae-a352-48acca8fff74.png"/> </div><br>

Expand All @@ -586,7 +586,7 @@ Linux 中管道通过空文件实现。

每种类型一个资源的死锁检测算法是通过检测有向图是否存在环来实现,从一个节点出发进行深度优先搜索,对访问过的节点进行标记,如果访问了已经标记的节点,就表示有向图存在环,也就是检测到死锁的发生。

#### 2.2 每种类型多个资源的死锁检测
**(二)每种类型多个资源的死锁检测**

<div align="center"> <img src="../pics//e1eda3d5-5ec8-4708-8e25-1a04c5e11f48.png"/> </div><br>

Expand All @@ -607,7 +607,7 @@ Linux 中管道通过空文件实现。
2. 如果找到了这样一个进程,那么将 C 矩阵的第 i 行向量加到 A 中,标记该进程,并转回 1。
3. 如果没有这样一个进程,算法终止。

#### 2.3 死锁恢复
**(三)死锁恢复**

- 利用抢占恢复
- 利用回滚恢复
Expand All @@ -617,25 +617,25 @@ Linux 中管道通过空文件实现。

在程序运行之前预防发生死锁。

#### 3.1 破坏互斥条件
**(一)破坏互斥条件**

例如假脱机打印机技术允许若干个进程同时输出,唯一真正请求物理打印机的进程是打印机守护进程。

#### 3.2 破坏占有和等待条件
**(二)破坏占有和等待条件**

一种实现方式是规定所有进程在开始执行前请求所需要的全部资源。

#### 3.3 破坏不可抢占条件
**(三)破坏不可抢占条件**

#### 3.4 破坏环路等待
**(四)破坏环路等待**

给资源统一编号,进程只能按编号顺序来请求资源。

### 4. 死锁避免

在程序运行时避免发生死锁。

#### 4.1 安全状态
**(一)安全状态**

<div align="center"> <img src="../pics//ed523051-608f-4c3f-b343-383e2d194470.png"/> </div><br>

Expand All @@ -645,15 +645,15 @@ Linux 中管道通过空文件实现。

安全状态的检测与死锁的检测类似,因为安全状态必须要求不能发生死锁。下面的银行家算法与死锁检测算法非常类似,可以结合着做参考对比。

#### 4.2 单个资源的银行家算法
**(二)单个资源的银行家算法**

一个小城镇的银行家,他向一群客户分别承诺了一定的贷款额度,算法要做的是判断对请求的满足是否会进入不安全状态,如果是,就拒绝请求;否则予以分配。

<div align="center"> <img src="../pics//d160ec2e-cfe2-4640-bda7-62f53e58b8c0.png"/> </div><br>

上图 c 为不安全状态,因此算法会拒绝之前的请求,从而避免进入图 c 中的状态。

#### 4.3 多个资源的银行家算法
**(三)多个资源的银行家算法**

<div align="center"> <img src="../pics//62e0dd4f-44c3-43ee-bb6e-fedb9e068519.png"/> </div><br>

Expand Down

0 comments on commit 1b022f0

Please sign in to comment.