《操作系统课程设计》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:罗宇,褚瑞等编著
  • 出 版 社:机械工业出版社
  • 出版年份:2005
  • ISBN:7111168216
  • 页数:192 页
图书介绍:本书目的是提供一组基于Linux操作系统的实验,让读者掌握基本的Linux操作系统内核编程。本书内容分为三部分:第一部分介绍Linux操作系统原理;第二部分介绍7个基于Linux的实验;第三部分(即附录)包含建立Linux环境及进行Linux用户态及内核编程所需的函数说明等。

目录 3

丛书序言 3

专家指导委员会 3

前言 3

第一部分 基础知识 3

第1章 Linux操作系统简介 3

1.1 Linux的故事 3

1.2 Linux简介 6

1.3 阅读Linux内核源码 8

1.4 小结 12

第2章 Linux的进程管理 13

2.1 进程与进程描述符 13

2.2 进程状态及切换时机 16

2.2.1 Linux的进程状态 16

2.2.2 进程的切换时机 17

2.3 进程的调度算法 18

2.4 进程的创建与消亡 19

2.4.1 进程的创建 19

2.4.2 进程的销毁 22

第3章 Linux的存储管理 25

3.1 物理内存的管理 25

3.1.1 页帧与区域 25

3.1.2 伙伴算法 26

3.1.3 slab分配器 27

3.1.4 换出页面 29

3.2 进程空间的管理 30

3.2.1 页表机制 30

3.2.2 vm_area_struct结构 32

3.2.3 进程空间的相关系统调用 33

3.2.4 页面异常的处理 33

4.1 VFS 37

第4章 Linux的文件系统 37

4.1.1 进程对文件系统的支持 38

4.1.2 VFS的文件模型 38

4.1.3 文件系统的注册与安装 41

4.1.4 各种对象的操作接口 41

4.1.5 目录的缓存机制 44

4.2 EXT2文件系统 45

4.2.1 EXT2文件系统在磁盘上的物理布局 45

4.2.2 主要数据结构及基本操作 46

4.2.3 磁盘块的分配和释放 49

4.3 有关的系统调用及处理流程 49

4.3.1 文件的open操作 49

4.3.2 文件的read操作 51

5.2.1 设备的注册和注销 53

5.2 相关数据结构 53

5.1 设备文件的概念 53

第5章 Linux的设备管理 53

5.2.2 缓冲区管理 54

5.2.3 设备请求队列 56

5.3 块设备文件的open和read操作 56

5.3.1 open()函数的实现 57

5.3.2 read()函数的实现 58

第6章 中断、异常及系统调用 59

6.1 中断和异常的基本知识 59

6.2 异常处理函数 60

6.3 系统调用 61

6.4 中断的处理 62

6.4.1 中断控制器 62

6.4.2 管理中断的数据结构 63

6.5 软中断 65

6.4.3 中断的处理过程 65

第7章 SYS V进程间通信 69

7.1 共同特性 69

7.2 信号量 71

7.3 消息队列 74

7.4 共享内存 76

第二部分 实验 81

实验一 观察Linux的行为 81

Linux下的proc文件系统简介 81

实验内容 86

解决方案 86

实验二 进程间通信 89

Linux进程间通信简介 89

本机内进程通信 89

网络间进程通信 92

实验内容 94

解决方案 95

实验三 理解和增加Linux系统调用 97

内核及系统调用原理 97

实验内容 101

解决方案 102

实验四 内核模块 105

Linux内核模块简介 105

模块的组织结构 105

模块的加载和卸载 106

内核模块的编写实例 107

实验内容 109

解决方案 109

用户空间和内核空间 109

进程 110

概述 113

实验五 proc文件系统编程 113

proc文件系统编程简介 113

函数接口 114

基本的例子 117

实验内容 119

解决方案 120

实验六 同步机制 123

同步机制简介 123

阻塞任务 124

等待队列 124

使用等待队列 126

实验内容 128

解决方案 129

Linux下设备驱动程序的基本结构 131

编写设备驱动程序 131

实验七 设备驱动程序 131

编写Linux设备驱动程序的基本方法 134

radimo:一个块设备驱动程序的例子 137

实验内容 145

解决方案 145

USB设备简述 145

Linux下的USB设备驱动程序简介 147

设备驱动程序的调试方法 148

第三部分 附录 153

附录A 安装Red Hat Linux 153

附录B 编译Linux内核 157

附录C Linux常用命令 163

附录D Linux常用函数 177

附录E 常用内核函数 189