![]()
内容推荐 本书旨在通过实践加深学生对操作系统理论和操作系统核心内容及经典算法的理解。考虑到教学对象的差异性和教学计划的多样性,本书从深度和广度上分层次地安排内容。书中先回顾操作系统的重点知识与理论,并对实践项目中需要用到的开发环境、编程语言、调试技术等进行介绍;接下来,选择体现操作系统核心功能的8个实验项目进行练习,并提供实验说明、参考代码、实验报告模板等;最后,以开源操作系统Nachos为例,通过系统分析源代码使学生理解操作系统的运行方式。 本书既适合作为高校计算机及相关专业操作系统实践课程的教材和参考书,也适合作为对操作系统感兴趣的技术人员和读者的自学读物。 目录 前言 第一部分 准备知识 第1章 操作系统概论 1.1 操作系统的概念 1.2 操作系统的功能 1.2.1 处理器管理 1.2.2 存储器管理 1.2.3 设备管理 1.2.4 文件管理 1.2.5 用户接口管理 1.3 常见的操作系统 1.3.1 UNIX操作系统 1.3.2 Linux操作系统 1.3.3 Windows操作系统 1.4 本章小结 第2章 虚拟机的安装与使用 2.1 虚拟机软件VMware Workstation概述 2.2 搭建实践环境 2.3 在Windows下安装VMware 2.4 VMware下Ubuntu的安装与配置 2.5 虚拟机Linux与宿主机Windows的文件访问 2.5.1 安装VMware Tools实现虚拟机与主机文件共享 2.5.2 在Ubuntu虚拟机下开启Samba服务 2.6 本章小结 第3章 C语言基础 3.1 C语言基本语法回顾 3.1.1 分析一个简单的C程序 3.1.2 数据类型 3.1.3 变量与常量 3.1.4 运算符 3.1.5 函数 3.2 结构体 3.2.1 结构体类型的定义 3.2.2 结构体变量的定义 3.2.3 结构体变量的初始化 3.2.4 结构体变量的引用 3.3 指针 3.3.1 指针基础 3.3.2 指针变量的操作 3.3.3 指针与函数 3.3.4 数组与指针 3.4 C标准库 3.5 本章小结 第4章 shell编程 4.1 vim程序编辑器 4.1.1 vim的基本概念 4.1.2 vim的工作模式 4.1.3 vim的使用实例 4.2 用shell进行编程 4.2.1 shell的基本概念 4.2.2 shell脚本文件 4.2.3 变量及传递参数 4.2.4 数据类型 4.2.5 基本运算符 4.2.6 echo和test命令 4.2.7 流程控制 4.3 Linux下shell的常见命令 4.4 本章小结 第5章 文件 5.1 系统调用与C语言标准库 5.2 Linux文件系统调用函数 5.3 C语言标准库中的文件I/O函数 5.4 本章小结 第6章 系统进程编程基础 6.1 进程的基本概念 6.1.1 进程与进程控制块 6.1.2 进程状态 6.2 进程与线程 6.2.1 线程的基本概念 6.2.2 线程与进程的比较 6.2.3 线程分类与多线程模型 6.3 Linux进程的创建与管理 6.3.1 fork函数 6.3.2 wait和waitpid函数 6.3.3 exec函数 6.4 Windows进程创建与终止 6.4.1 CreateProcess函数 6.4.2 ExitProcess函数 6.5 本章小结 第7章 C语言调试技术 7.1 Linux与Windows下的C语言开发环境 7.2 Windows下基于Dev C++和VS 2015的调试 7.3 Linux下的GDB命令行调试 7.4 Linux下基于DDD的图形界面调试 7.5 本章小结 第二部分 核心实验 第8章 Linux编程实验 8.1 实验目的 8.2 实验准备 8.3 基本知识及原理 8.4 实验说明 8.5 实验内容 8.6 实验总结 8.7 参考代码 8.8 实验报告 第9章 进程控制实验 9.1 实验目的 9.2 实验准备 9.3 基本知识及原理 9.4 实验说明 9.5 实验内容 9.6 实验总结 9.7 参考代码 9.8 实验报告 第10章 系统调用实验 10.1 实验目的 10.2 实验准备 10.3 基本知识及原理 10.4 实验说明 10.5 实验内容 10.6 参考代码 10.7 实验报告 第11章 作业调度实验 11.1 实验目的 11.2 实验准备 11.3 基本知识及原理 11.4 实验说明 11.5 实验内容 11.6 实验总结 11.7 参考代码 11.8 实验报告 第12章 同步与互斥实验 12.1 实验目的 12.2 实验准备 12.3 基本知识及原理 12.4 实验说明 12.5 实验内容 12.6 实验总结 12.7 参考代码 12.8 实验报告 第13章 银行家算法实验 13.1 实验目的 13.2 实验准备 13.3 基本知识及原理 13.4 实验说明 13.5 实验内容 13.6 实验总结 13.7 参考代码 13.8 实验报告 第14章 内存管理实验 14.1 实验目的 14.2 实验准备 14.3 基本知识及原理 14.4 实验说明 14.5 实验内容 14.6 实验总结 14.7 参考代码 14.8 实验报告 第15章 文件系统实验 15.1 实验目的 15.2 实验准备 15.3 基本知识及原理 15.4 实验说明 15.5 实验内容 15.6 实验总结 15.7 参考代码 15.8 实验报告 第三部分 Nachos源码分析 第16章 Nachos系统简介 16.1 Nachos概述 16.2 Nachos是如何运行的 16.3 系统源码 16.4 系统开发环境 16.5 系统的编译 |