操作系统课程设计 第2版

作者
朱敏 杨啸 左劼 庞潇 张铭洋 张馨艺 王心翌 陈富秋 参
丛书名
高等院校计算机课程设计指导丛书
出版社
机械工业出版社
ISBN
9787111695721
简要
简介
内容简介书籍计算机书籍 本书基于作者多年的操作系统课程教学实践,在第1版读者反馈的基础上,充分考虑教学对象的差异性和教学计划的多样性,精心调整、优化实践内容,旨在提供独立于任何操作系统理论教材的系统化实践参考。本书按照由浅入深、循序渐进的原则安排内容,首先介绍实践相关的理论和技术知识,接下来通过8个操作系统核心功能及特性的实验项目,帮助读者理解操作系统关键原理,并通过剖析一个小型开源操作系统Nachos的源代码,使读者透彻理解操作系统的功能和实现机制。
目录
前言
第一部分 准备知识
第1章 操作系统概论 2
1.1 操作系统的概念 2
1.2 操作系统的功能 2
1.2.1 处理器管理 2
1.2.2 存储器管理 3
1.2.3 设备管理 4
1.2.4 文件管理 4
1.2.5 用户接口管理 5
1.3 常见的操作系统 5
1.3.1 UNIX操作系统 5
1.3.2 Linux操作系统 6
1.3.3 Windows操作系统 7
1.4 本章小结 7
第2章 虚拟机的安装与使用 8
2.1 虚拟机软件VMware Workstation概述 8
2.2 搭建实践环境 8
2.3 在Windows下安装VMware 9
2.4 VMware下Ubuntu的安装与配置 12
2.5 虚拟机Linux与宿主机Windows的文件访问 17
2.5.1 安装VMware Tools实现虚拟机与主机文件共享 17
2.5.2 在Ubuntu虚拟机下开启Samba服务 24
2.6 本章小结 25
第3章 C语言基础 26
3.1 C语言基本语法回顾 26
3.1.1 分析一个简单的C程序 26
3.1.2 数据类型 26
3.1.3 变量与常量 28
3.1.4 运算符 29
3.1.5 函数 30
3.2 结构体 32
3.2.1 结构体类型的定义 32
3.2.2 结构体变量的定义 34
3.2.3 结构体变量的初始化 35
3.2.4 结构体变量的引用 35
3.3 指针 37
3.3.1 指针基础 37
3.3.2 指针变量的操作 37
3.3.3 指针与函数 39
3.3.4 数组与指针 39
3.4 C标准库 40
3.5 本章小结 41
第4章 shell编程 42
4.1 vim程序编辑器 42
4.1.1 vim的基本概念 42
4.1.2 vim的工作模式 42
4.1.3 vim的使用实例 44
4.2 用shell进行编程 46
4.2.1 shell的基本概念 46
4.2.2 shell脚本文件 46
4.2.3 变量及传递参数 47
4.2.4 数据类型 48
4.2.5 基本运算符 50
4.2.6 echo和test命令 51
4.2.7 流程控制 52
4.3 Linux下shell的常见命令 53
4.4 本章小结 55
第5章 文件I/O 56
5.1 系统调用与C语言标准库 56
5.2 Linux文件系统调用函数 57
5.3 C语言标准库中的文件I/O函数 62
5.4 本章小结 66
第6章 系统进程编程基础 67
6.1 进程的基本概念 67
6.1.1 进程与进程控制块 67
6.1.2 进程状态 67
6.2 进程与线程 68
6.2.1 线程的基本概念 68
6.2.2 线程与进程的比较 69
6.2.3 线程分类与多线程模型 69
6.3 Linux进程的创建与管理 70
6.3.1 fork函数 70
6.3.2 wait和waitpid函数 71
6.3.3 exec函数 72
6.4 Windows进程创建与终止 72
6.4.1 CreateProcess函数 72
6.4.2 ExitProcess函数 73
6.5 本章小结 74
第7章 C语言调试技术 75
7.1 Linux与Windows下的C语言开发环境 75
7.2 Windows下基于Dev C++和VS 2015的调试 76
7.3 Linux下的GDB命令行调试 82
7.4 Linux下基于DDD的图形界面调试 86
7.5 本章小结 92
第二部分 核心实验
第8章 Linux编程实验 94
8.1 实验目的 94
8.2 实验准备 94
8.3 基本知识及原理 94
8.4 实验说明 96
8.5 实验内容 97
8.6 实验总结 97
8.7 参考代码 98
8.8 实验报告 99
第9章 进程控制实验 102
9.1 实验目的 102
9.2 实验准备 102
9.3 基本知识及原理 102
9.4 实验说明 103
9.5 实验内容 105
9.6 实验总结 105
9.7 参考代码 106
9.8 实验报告 110
第10章 系统调用实验 113
10.1 实验目的 113
10.2 实验准备 113
10.3 基本知识及原理 113
10.4 实验说明 116
10.5 实验内容 119
10.6 参考代码 119
10.7 实验报告 122
第11章 作业调度实验 126
11.1 实验目的 126
11.2 实验准备 126
11.3 基本知识及原理 126
11.4 实验说明 128
11.5 实验内容 129
11.6 实验总结 130
11.7 参考代码 130
11.8 实验报告 134
第12章 同步与互斥实验 137
12.1 实验目的 137
12.2 实验准备 137
12.3 基本知识及原理 137
12.4 实验说明 139
12.5 实验内容 143
12.6 实验总结 144
12.7 参考代码 144
12.8 实验报告 152
第13章 银行家算法实验 156
13.1 实验目的 156
13.2 实验准备 156
13.3 基本知识及原理 156
13.4 实验说明 158
13.5 实验内容 159
13.6 实验总结 159
13.7 参考代码 160
13.8 实验报告 167
第14章 内存管理实验 169
14.1 实验目的 169
14.2 实验准备 169
14.3 基本知识及原理 169
14.4 实验说明 173
14.5 实验内容 176
14.6 实验总结 176
14.7 参考代码 177
14.8 实验报告 181
第15章 文件系统实验 185
15.1 实验目的 185
15.2 实验准备 185
15.3 基本知识及原理 185
15.4 实验说明 188
15.5 实验内容 190
15.6 实验总结 190
15.7 参考代码 191
15.8?实验报告 200
第三部分 Nachos源码分析
第16章 Nachos系统简介 204
16.1 Nachos概述 204
16.2 Nachos是如何运行的 204
16.3 系统源码 204
16.4 系统开发环境 205
16.5 系统的编译与测试 205
第17章 Nachos系统调用 207
17.1 以Add为例分析系统调用 207
17.2 系统调用流程及相关源文件分析 211
第18章 Nachos的同步与互斥 214
18.1 同步与互斥机制 214
18.2 信号量 214
18.3 锁 215
18.4 条件变量 216
18.5 案例分析:同步磁盘的实现 217
第19章 Nachos的线程调度 219
19.1 线程的结构分析 219
19.2 线程调度类分析 223
19.3 线程调度作业 224
19.4 测试结果 225
第20章 Nachos文件系统 226
20.1 Nachos文件系统的相关源码 226
20.2 Nachos的文件系统类 226
20.3 其他的文件系统相关类 230
参考文献 233


推荐

车牌查询
桂ICP备20004708号-3