d^b
zIGC3_w@Osf<%xMdk*qE8WY?cy|FVL>%T8pO?`$+vL&>b0kGxY;ew1CpWMtp!k~yw>
z!U>t>IQ_In+S6SI&O+ug?G`yhM6@ZFIKFuGNS&NPSkDZd5Ti<9@(0s8
z(|jdoIt%v?3lV8PZ5*zrBX$%u-;MsuLzP~qS+W9%9KIZQ_by=^l6k=?G;;zhWF%{=
zTSx``G4OZy!768bIgQ79C|vKgNO#g)o|mV@(FFRVt}Quwy!9Af|)sUT&2Nraqg2B$dFtN~ZS3@E^BD8-k{aXA$YWZ%txc=C4Pd7Zw8ORkTfWvafhD-yH7xBcu8anul;
zHNmoliRr*@k&KBrYBb?E%kjz3>lHid1)w`x>WBLV@xsn_{9W#r%z7}RKR=z54?XgvY6dqlhBTU-5LN?-g6#&+P!OG)PF%7uebP5-*wYKF
z2gh|}Ntg4Q2sbTEdVzzyL}R#~U08s9qw*Zz^Jmxt;55_-dka#hE=GKp$-2Z~jYmy+
z!0ogt&ShZOiQ;|PKmS-pM&P;BrHk)c@RjrRu^et~t2kN~I|cX@HwJ%TD=sN%B)4A{
zF%q->T6KJD`BlDl()k4*C)FFZuj6>*)4|};1$(&^wmCW_huV?&zvrQ`?n!zp%=FC#
zp(?XBaQ`=Fg74lD^_GyMzi-w3Z#Pt~ZY8C`@j*A-SJjVqW}Ya>s>mRuOuzqszW@IR
DOt4O5
literal 0
HcmV?d00001
diff --git a/pics/flow.png b/pics/flow.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa0492a4e84154e69a25591eee0915c081ff89b7
GIT binary patch
literal 17408
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
literal 0
HcmV?d00001
From f9e00173c6c1096ab9e845b1b90306ad40e38d4e Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Wed, 21 Mar 2018 15:43:40 +0800
Subject: [PATCH 4/5] auto commit
---
notes/Linux.md | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/notes/Linux.md b/notes/Linux.md
index cf05beab..45e7a287 100644
--- a/notes/Linux.md
+++ b/notes/Linux.md
@@ -50,6 +50,7 @@
* [九、进程管理](#九进程管理)
* [查看进程](#查看进程)
* [进程状态](#进程状态)
+ * [SIGCHILD](#sigchild)
* [孤儿进程和僵死进程](#孤儿进程和僵死进程)
* [十、I/O 复用](#十io-复用)
* [概念理解](#概念理解)
@@ -1058,8 +1059,23 @@ daemon 2
## 进程状态
+| 状态 | 说明 |
+| :---: | --- |
+| R | running or runnable (on run queue) |
+| D | uninterruptible sleep (usually IO) |
+| S | interruptible sleep (waiting for an event to complete) |
+| Z | defunct/zombie, terminated but not reaped by its parent |
+| T | stopped, either by a job control signal or because it is being traced|
+
+## SIGCHILD
+
+当一个子进程改变了它的状态时:停止运行,继续运行或者退出,有两件事会发生在父进程中:
+
+- 得到 SIGCHLD 信号;
+- 阻塞的 waitpid(2)(或者 wait)调用会返回。
+
## 孤儿进程和僵死进程
From 4154ec2cd6a204ee435087882b268169436ec1e4 Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Wed, 21 Mar 2018 15:58:53 +0800
Subject: [PATCH 5/5] auto commit
---
notes/计算机操作系统.md | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/notes/计算机操作系统.md b/notes/计算机操作系统.md
index 0c56070e..bac42e6a 100644
--- a/notes/计算机操作系统.md
+++ b/notes/计算机操作系统.md
@@ -22,7 +22,8 @@
* [页面置换算法](#页面置换算法)
* [五、设备管理](#五设备管理)
* [磁盘调度算法](#磁盘调度算法)
-* [六、参考资料](#六参考资料)
+* [六、链接](#六链接)
+* [参考资料](#参考资料)
@@ -812,7 +813,9 @@ SCAN 算法在 SSTF 算法之上考虑了磁头的移动方向,要求所请求
CSCAN 对 SCAN 进行了改动,要求磁头始终沿着一个方向移动。
-# 六、参考资料
+# 六、链接
+
+# 参考资料
- Tanenbaum A S, Bos H. Modern operating systems[M]. Prentice Hall Press, 2014.
- 汤子瀛, 哲凤屏, 汤小丹. 计算机操作系统[M]. 西安电子科技大学出版社, 2001.