�gӭ���R�ЈD�W(w��ng) Ո | ע��

���] UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��)

�����磺�����]늳���������r�g��2018-06-01
�_���� ���� 퓔�(sh��)�� 385
�� �D �r:¥71.3(7.2��) ���r  ¥99.0 ��䛺�ɿ������T�r
���rȱ؛ �ղ�
�_������ ȫ�����]
?�½������س���
������Ǖ�����>

UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��) ���(qu��n)��Ϣ

UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��) ������ɫ

������UNIXϵ�y(t��ng)�鱳����ȫ�桢ϵ�y(t��ng)�ؽ�B��UNIX����ϵ�y(t��ng)��(n��i)�˵ă�(n��i)����(sh��)��(j��)�Y(ji��)��(g��u)���㷨���������Ȍ�ϵ�y(t��ng)��(n��i)�˽Y(ji��)��(g��u)���˺�Ҫ��B��Ȼ����¹�(ji��)�������ļ�ϵ�y(t��ng)���M(j��n)���{(di��o)�Ⱥʹ惦���������ڴ˻��A(ch��)��ӑՓ��UNIXϵ�y(t��ng)�Ć��}�����(q��)�ӳ���ӿ����M(j��n)���gͨ���c�W(w��ng)�j(lu��)������ÿ��֮����߀�o���˴������І��l(f��)�Ժ͌�(sh��)�H���x���}Ŀ��

UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��) ��(n��i)�ݺ���

������UNIXϵ�y(t��ng)�鱳����ȫ����ϵ�y(t��ng)�ؽ�B��UNIX����ϵ�y(t��ng)��(n��i)�˵ă�(n��i)����(sh��)��(j��)�Y(ji��)��(g��u)���㷨���������Ȍ�ϵ�y(t��ng)��(n��i)�˽Y(ji��)��(g��u)���˺�Ҫ��B��Ȼ����¹�(ji��)�������ļ�ϵ�y(t��ng)���M(j��n)���{(di��o)�Ⱥʹ惦���������ڴ˻��A(ch��)��ӑՓ��UNIXϵ�y(t��ng)�Ć��}�����(q��)�ӳ���ӿڡ��M(j��n)���gͨ���c�W(w��ng)�j(lu��)������ÿ��֮����߀�o���˴������І��l(f��)�Ժ͌�(sh��)�H���x���}Ŀ��

UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��) Ŀ�

�� 1�¡�ϵ�y(t��ng)��ò 1

1.1���vʷ��1

1.2��ϵ�y(t��ng)�Y(ji��)��(g��u)��3

1.3����������4

1.3.1���ļ�ϵ�y(t��ng)��4

1.3.2��̎���h(hu��n)����8

1.3.3����(g��u)��ԭ�Z��10

1.4������ϵ�y(t��ng)����(w��)��11

1.5���P(gu��n)��Ӳ���ļ��O(sh��)��12

1.5.1���Д��c���⡡13

1.5.2��̎��C(j��)��(zh��)�м���13

1.5.3���惦������14

1.6�������Y(ji��)��14

�ڡ�2�� ��(n��i)�ˌ�(d��o)�ԡ�15

2.1��UNIX����ϵ�y(t��ng)���wϵ�Y(ji��)��(g��u)��15

2.2��ϵ�y(t��ng)�����B��17

2.2.1���ļ���ϵ�y(t��ng)��ò��17

2.2.2���M(j��n)�̡�19

2.3����(n��i)�˔�(sh��)��(j��)�Y(ji��)��(g��u)��27

2.4��ϵ�y(t��ng)������28

2.5�������Y(ji��)��28

2.6����(x��)�}��29

��3�¡���(sh��)��(j��)���_�^(q��)���پ��_��30

3.1�����_�^����30

3.2�����_�صĽY(ji��)��(g��u)��32

3.3�����_�^(q��)�ęz����33

3.4���x�űP�K�c���űP�K��43

3.5�����پ��_�ă�(y��u)�c(di��n)�cȱ�c(di��n)��45

3.6�������Y(ji��)��46

3.7����(x��)�}��47

��4�¡��ļ��ă�(n��i)����ʾ��48

4.1��������(ji��)�c(di��n)��48

4.1.1�����x��48

4.1.2����������(ji��)�c(di��n)�Ĵ�ȡ��50

4.1.3��ጷ�������(ji��)�c(di��n)��53

4.2����Ҏ(gu��)�ļ��ĽY(ji��)��(g��u)��53

4.3��Ŀ䛡�58

4.4��·������������(ji��)�c(di��n)���D(zhu��n)�Q��59

4.5�������K��61

4.6�������ļ�����������(ji��)�c(di��n)��62

4.7���űP�K�ķ��䡡68

4.8�������ļ���͡�71

4.9�������Y(ji��)��71

4.10����(x��)�}��72

��5�¡��ļ�ϵ�y(t��ng)��ϵ�y(t��ng)�{(di��o)�á�74

5.1��ϵ�y(t��ng)�{(di��o)��open��75

5.2��ϵ�y(t��ng)�{(di��o)��read��78

5.3��ϵ�y(t��ng)�{(di��o)��write��82

5.4���ļ���ӛ䛵����i��83

5.5���ļ���ݔ��/ݔ��λ�õ��{(di��o)��—lseek��83

5.6��ϵ�y(t��ng)�{(di��o)��close��84

5.7���ļ��Ľ�����86

5.8�������ļ��Ľ�����87

5.9����׃Ŀ䛼�����88

5.10����׃�����߼��S�ə�(qu��n)��ʽ��90

5.11��ϵ�y(t��ng)�{(di��o)��stat��fstat��90

5.12���ܵ���90

5.12.1��ϵ�y(t��ng)�{(di��o)��pipe��91

5.12.2�������ܵ��Ĵ��_��92

5.12.3���ܵ����x�͌���92

5.12.4���ܵ����P(gu��n)�]��94

5.12.5������95

5.13��ϵ�y(t��ng)�{(di��o)��dup��95

5.14���ļ�ϵ�y(t��ng)�İ��b�Ͳ�ж��97

5.14.1�����ļ�·�����п�Խ���b�c(di��n)��100

5.14.2���ļ�ϵ�y(t��ng)�IJ�ж��103

5.15��ϵ�y(t��ng)�{(di��o)��link��104

5.16��ϵ�y(t��ng)�{(di��o)��unlink��108

5.16.1���ļ�ϵ�y(t��ng)��һ���ԡ�109

5.16.2�������l����110

5.17���ļ�ϵ�y(t��ng)�ij���113

5.18���ļ�ϵ�y(t��ng)�S�o(h��)��114

5.19�������Y(ji��)��116

5.20����(x��)�}��116

��6�¡��M(j��n)�̽Y(ji��)��(g��u)��121

6.1���M(j��n)�̵Ġ�B(t��i)�͠�B(t��i)���D(zhu��n)�Q��121

6.2��ϵ�y(t��ng)�惦������125

6.2.1���^(q��)��125

6.2.2��퓺�퓱���126

6.2.3����(n��i)�˵İ��š�128

6.2.4��u�^(q��)��130

6.3���M(j��n)�̵������ġ�131

6.4���M(j��n)�������ĵı��桡133

6.4.1���Д�����⡡133

6.4.2��ϵ�y(t��ng)�{(di��o)�õĽӿڡ�136

6.4.3���������ГQ��139

6.4.4����U�����أ�abortive return�������������ġ�140

6.4.5����ϵ�y(t��ng)���Ñ���ַ���g֮�g��ؐ��(sh��)��(j��)��141

6.5���M(j��n)�̵�ַ���g�Ĺ�����141

6.5.1���^(q��)�����i�ͽ��i��142

6.5.2���^(q��)�ķ��䡡142

6.5.3���^(q��)���ӵ��M(j��n)�̡�143

6.5.4���^(q��)��С�ĸ�׃��144

6.5.5���^(q��)���b�롡146

6.5.6���^(q��)��ጷš�148

6.5.7���^(q��)�c�M(j��n)�̵Ĕ�ӡ�148

6.5.8���^(q��)�ď�(f��)�ơ�150

6.6��˯�ߡ�151

6.6.1��˯���¼������ַ��151

6.6.2���㷨sleep��wakeup��152

6.7�������Y(ji��)��156

6.8����(x��)�}��156

��7�¡��M(j��n)�̿��ơ�159

7.1���M(j��n)�̵Ą�(chu��ng)����159

7.2��ܛ�Д���̖��166

7.2.1��ܛ�Д���̖��̎����169

7.2.2���M(j��n)�̽M��175

7.2.3�����M(j��n)�̰l(f��)��ܛ�Д���̖��175

7.3���M(j��n)�̵ĽKֹ��176

7.4���ȴ��M(j��n)�̵ĽKֹ��178

7.5����������������á�181

7.6���M(j��n)�̵��Ñ���(bi��o)�R̖��188

7.7����׃�M(j��n)�̵Ĵ�С��191

7.8��shell����193

7.9��ϵ�y(t��ng)���e���M(j��n)��init��195

7.10�������Y(ji��)��198

7.11����(x��)�}��199

��8�¡��M(j��n)���{(di��o)�Ⱥ͕r�g��206

8.1���M(j��n)���{(di��o)�ȡ�206

8.1.1���㷨��206

8.1.2���{(di��o)�ȅ���(sh��)��207

8.1.3���M(j��n)���{(di��o)�ȵ����ӡ�210

8.1.4���M(j��n)�̃�(y��u)�ș�(qu��n)�Ŀ��ơ�212

8.1.5����ƽ�����{(di��o)�ȡ�213

8.1.6����(sh��)�r̎����214

8.2�����P(gu��n)�r�g��ϵ�y(t��ng)�{(di��o)�á�215

8.3���r犡�218

8.3.1�����†��ӕr犡�218

8.3.2��ϵ�y(t��ng)�ă�(n��i)�����r��218

8.3.3��ֱ���D������220

8.3.4��ӛ���ͽy(t��ng)Ӌ(j��)��223

8.3.5��Ӌ(j��)�r��223

8.4�������Y(ji��)��224

8.5����(x��)�}��224

��9�¡��惦�������ԡ�226

9.1�����Q��226

9.1.1�����Q���g�ķ��䡡226

9.1.2���M(j��n)�̵ēQ����229

9.1.3���M(j��n)�̵ēQ�롡232

9.2��Ո���{(di��o)퓡�236

9.2.1��Ո���{(di��o)퓵Ĕ�(sh��)��(j��)�Y(ji��)��(g��u)��238

9.2.2��͵��M(j��n)�̡�243

9.2.3������e��246

9.2.4���ں���Ӳ��֧���µ�Ո���{(di��o)�ϵ�y(t��ng)��253

9.3�����Q��Ո���{(di��o)퓵Ļ��ϵ�y(t��ng)��254

9.4�������Y(ji��)��254

9.5����(x��)�}��255

�ڡ�10�� ݔ��/ݔ����ϵ�y(t��ng)��258

10.1���(q��)�ӳ���ӿڡ�258

10.1.1��ϵ�y(t��ng)���á�259

10.1.2��ϵ�y(t��ng)�{(di��o)���c�(q��)�ӳ���

�ӿڡ�261

10.1.3���Д�̎������267

10.2���űP�(q��)�ӳ���268

10.3���K���(q��)�ӳ���271

10.3.1���ַ���clist��273

10.3.2����(bi��o)��(zh��n)��ʽ�µĽK���(q��)�ӳ���276

10.3.3��ԭʼ��ʽ�µĽK���(q��)�ӳ���280

10.3.4���K��̽ԃ��282

10.3.5���������ƽK�ˡ�283

10.3.6���g�ӽK���(q��)�ӳ���283

10.3.7��ע�Ե�ϵ�y(t��ng)��284

10.4������285

10.4.1������Ԕ��(x��)��ʾ����288

10.4.2�������ķ�����290

10.5�������Y(ji��)��291

10.6����(x��)�}��291

�ڡ�11�� �M(j��n)���gͨ�š�294

11.1���M(j��n)�̸�ۙ��294

11.2��ϵ�y(t��ng)�� IPC��297

11.2.1����Ϣ��299

11.2.2�������惦�^(q��)��304

11.2.3����̖����308

11.2.4�������u�r��316

11.3���W(w��ng)�j(lu��)ͨ�š�317

11.4���׽��֡�318

11.5�������Y(ji��)��322

11.6����(x��)�}��323

�ڡ�12�� ��̎��C(j��)ϵ�y(t��ng)��325

12.1����̎��C(j��)ϵ�y(t��ng)�Ć��}��325

12.2������̎��C(j��)��Q������326

12.3����̖����Q������328

12.3.1����̖�����x��329

12.3.2����̖�Ì�(sh��)�F(xi��n)��329

12.3.3���ׂ��㷨��336

12.4��Tunisϵ�y(t��ng)��340

12.5�����ܾ����ԡ�340

12.6����(x��)�}��340

�ڡ�13�� �ֲ�ʽUNIXϵ�y(t��ng)��342

13.1���l(w��i)��̎��C(j��)ϵ�y(t��ng)��343

13.2���~��˹?f��n)��B�ӡ�350

13.3��͸���ͷֲ�ʽ�ļ�ϵ�y(t��ng)��353

13.4���o����M(j��n)�̵�͸���ֲ�ʽģ�͡�356

13.5�������Y(ji��)��357

13.6����(x��)�}��358

���A��ϵ�y(t��ng)�{(di��o)�á�361

������377

�����īI(xi��n)��382





չ�_ȫ��

UNIX����ϵ�y(t��ng)�O(sh��)Ӌ(j��) ���ߺ���

Ī��˹·J. �ͺգ�Maurice J.Bach����AT&T��˾ؐ����(sh��)�(y��n)�ҹ������꣬��UNIXϵ�y(t��ng)���O(sh��)Ӌ(j��)˼��������˽������v��UNIXϵ�y(t��ng)���S����(j��ng)�(y��n)��

��Ʒ�uՓ(0�l)
���o�uՓ����
�������]
��݋���]
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�