图书目录

第1篇Linux系统的安装和使用

第1章安装Linux操作系统3

1.1实验内容3

1.2实验目的3

1.3工具/准备工作3

1.3.1检查硬件3

1.3.2备份硬盘上的所有重要数据5

1.3.3为Linux的安装准备分区5

1.4实验内容与步骤5

1.4.1安装准备5

1.4.2配置一个双引导系统6

1.4.3开始安装7

第2章Linux GUI桌面14

2.1实验内容14

2.2实验目的14

2.3工具/准备工作15

2.3.1登录Linux和使用GNOME15

2.3.2了解Linux系统的shell15

2.3.3了解Linux系统的文件、目录和权限15

2.3.4了解Linux文件系统16

2.4实验内容与步骤16

2.4.1登录规则和口令规则16

2.4.2登录Linux17

2.4.3熟悉GNOME17

2.4.4GNOME应用程序20

2.4.5使用Linux的文件系统21

2.4.6加载USB存储设备22

2.4.7注销GNOME22

第3章简单的UNIX和Linux系统命令23

3.1系统的启动和停止23

3.1.1系统的启动和用户登录23

3.1.2系统的停止23

3.2改变用户身份24

3.3帮助忘了口令的用户设置新口令25

3.4输入输出的重新定向25

3.5管道26

3.6简单的系统功能键27

3.7shell中的特殊字符27

操作系统实验教程目录第4章文件系统的shell命令29

4.1文件类型29

4.2目录结构29

4.2.1改变文件或目录的存取权限(chmod)29

4.2.2改变文件的所有者(chown)和改变文件的同组用户(chgrp)31

4.3目录管理31

4.3.1建立目录(mkdir)31

4.3.2删除目录(rmdir)31

4.3.3列出某目录下的内容(ls)32

4.3.4目录改名和移动目录(mv)32

4.3.5复制目录(cp) 32

4.3.6确定当前所在的目录位置(pwd)33

4.3.7改变工作目录(cd)33

4.3.8显示特定目录的大小(du)33

4.4文件管理34

4.4.1复制文件(cp)34

4.4.2移动文件和文件改名(mv)34

4.4.3删除文件(rm)35

4.4.4显示文件内容(cat和more)35

4.4.5打印文件内容(cat和Lpr)37

4.4.6统计文件中的行、字和字符数(wc)38

4.4.7查找指定的文件(find)38

4.4.8在文件中寻找指定正文(grep)39

4.4.9建立链接命令(ln)40

4.4.10文件压缩命令(compress)40

4.4.11顺序转储命令(tar)40

4.4.12检查磁盘剩余空间(df)41

4.4.13显示每个用户占用的磁盘空间(quot)41

4.4.14检查文件系统(fsck)42

4.5安装和卸载文件系统(mount,umount)42

4.6调用C语言编译器编译源程序43

4.7运行程序43

4.8其他常用命令43

4.9在Linux环境下支持的DOS软盘命令44

4.10网络命令44

第5章shell程序设计47

5.1运行shell命令文件的方法47

5.2shell程序的变量和参数48

5.2.1变量的定义48

5.2.2用户可以定义的专门变量49

5.2.3位置参数49

5.2.4shell预定义变量50

5.3shell语言52

5.4一个典型的.profile文件57

第6章屏幕编辑程序Vi60

6.1进入和退出Vi60

6.2在屏幕上设置光标61

6.3在文件中设置光标62

6.4编辑文本文件63

6.4.1修改文本文件63

6.4.2移动和复制文本文件63

第2篇操作系统模拟算法

第7章处理机管理69

7.1实验内容69

7.2实验目的69

7.3实验题目69

7.3.1设计一个按先来先服务调度的算法69

7.3.2设计一个按优先级调度的算法70

7.3.3设计一个按时间片轮转法调度的算法70

7.4按时间片轮转法进行CPU调度的实例71

7.5实验要求78

第8章死锁的避免79

8.1实验内容79

8.2实验目的79

8.3实验题目79

用银行家算法和随机算法实现资源分配79

8.4资源分配算法的示例83

8.5实验要求92

第9章主存空间的分配与回收93

9.1实验内容93

9.2实验目的93

9.3实验题目93

9.3.1采用可变式分区管理,使用首次或最佳适应算法实现主存的

分配与回收93

9.3.2采用可变式分区管理,使用空闲区链实现主存的分配与回收95

9.3.3采用分页管理,使用位示图实现主存的分配与回收98

9.3.4采用分页管理,使用主存分块表实现主存的分配与回收算法99

9.4程序示例100

9.4.1采用可变式分区管理方式,空闲区采用分区说明表时,使用

首次适应算法实现主存的分配与回收100

9.4.2采用存储分块表实现主存的分配与回收的示例104

9.5实验要求112

第10章虚拟存储器管理113

10.1实验内容113

10.2实验目的113

10.3实验题目113

10.3.1模拟请求分页虚拟存储管理中的硬件地址变换过程113

10.3.2采用先进先出或LRU算法,实现分页管理的缺页调度114

10.4实验要求116

第11章磁盘存储空间的分配与回收117

11.1实验内容117

11.2实验目的117

11.3实验题目117

11.3.1用位示图管理磁盘空间的分配与回收117

11.3.2模拟UNIX系统的空闲块成组链接法,实现磁盘空间管理118

11.4实验要求121

第12章文件系统122

12.1实验内容122

12.2实验目的122

12.3实验题目122

采用二级目录结构实现磁盘文件操作122

12.4实验要求128

第13章SPOOLING技术129

13.1实验内容129

13.2实验目的129

13.3实验题目129

SPOOLING假脱机输入输出技术模拟129

13.4SPOOLING的程序示例133

13.5实验要求138

第14章磁盘文件139

14.1实验内容139

14.2实验目的139

14.3实验题目139

14.3.1模拟设计MSDOS操作系统中磁盘文件的存储结构139

14.3.2模拟设计便于直接存取的索引文件结构140

14.4索引文件的示例142

14.5实验要求146

第3篇UNIX和Linux的系统调用

第15章进程控制149

15.1实验内容149

15.2实验目的149

15.3进程控制的API149

15.3.1进程创建的函数149

15.3.2给进程指定一个新的运行程序的函数exec( )153

15.3.3进程终止156

15.3.4父子进程同步157

第16章进程通信160

16.1实验内容160

16.2实验目的160

16.3进程之间通信的API160

16.3.1管道通信机制160

16.3.2消息缓冲机制166

16.3.3信号量机制173

16.3.4共享主存段机制178

第17章文件系统183

17.1实验内容183

17.2实验目的183

17.3文件系统的API183

17.3.1顺序文件的系统调用183

17.3.2文件的随机存取189

第4篇Windows 2000的系统调用

第18章进程的控制和通信193

18.1实验内容193

18.2实验目的193

18.3应用程序基础193

18.3.1GUI应用程序194

18.3.2进程对象195

18.4进程控制202

18.4.1进程创建202

18.4.2运行进程207

18.4.3退出和终止进程211

第19章线程同步和调度220

19.1实验内容220

19.2实验目的220

19.3线程的执行220

19.3.1创建新线程220

19.3.2为线程分配优先权225

19.3.3启动和停止线程227

19.3.4终止线程230

19.4线程的同步232

19.4.1事件232

19.4.2互斥体237

19.4.3信号量241

第20章存储器管理247

20.1实验内容247

20.2实验目的247

20.3内存机制247

20.4虚拟内存的系统调用250

20.4.1虚拟内存检查250

20.4.2虚拟内存处理255

第21章文件系统263

21.1实验内容263

21.2实验目的263

21.3文件输入输出263

21.3.1利用文件对象实现数据通信263

21.3.2利用文件映射对象实现数据通信270

21.3.3异步读写文件276

21.3.4创建临时文件279

21.3.5利用邮件槽对象实现数据通信281

参考文献288