
| 《Linux操作系统实验教程》特色 操作系统是理论性与实践性并重的课程,《Linux操作系统实验教程》力求做到课程教学与实验教学彼此呼应、原理讲授与实验环节紧密结合,掌握基本理论与提高编程能力相互并重。 《Linux操作系统实验教程》注重总体规划的科学性与合理性、实验环节的实用性与可操作性;实验设计紧扣基本原理与核心技术,实验内容涵盖用户空间编程与内核设计分析;实验安排循序渐进、层层渗透,实验形式丰富多样、富有启发性。 书中每个(组)实验包含实验目的、背景知识、实验内容、解决方案和程序框架等内容。通过实验把操作系统基本原理与Linux实现机制联系起来,以此激发学生的实验兴趣,将所学知识融会贯通和综合运用,进一步提高学生分析问题和解决问题的能力。 《Linux操作系统实验教程》将同时提供配套的电子教案及所有已通过验证的实验题参考源码,为任课教师提供相应的技术支持。 |
| 第1章 Linux的安装和编译 1.1 实验目的 1.2 背景知识 1.2.1 Linux简史 1.2.2 Linux内核的功能和结构 1.2.3 Linux内核的版本和发行版本 1.2.4 Linux内核的目录结构 1.3 实验内容 1.3.1 实验1 安装Ubuntu8.0.4 1.3.2 实验2 编译Linux内核 1.3.3 实验3 Linux下C语言程序开发过程 第2章 进程与线程 2.1 实验目的 2.2 背景知识 2.2.1 进程与线程的概念 2.2.2 多进程编程 2.2.3 多线程编程 2.3 实验内容 2.3.1 实验l 创建进程 2.3.2 实验2 线程共享进程中的数据 2.3.3 实验3 多线程实现单词统计工具 第3章 传统的进程间通信 3.1 实验目的 3.2 背景知识 3.2.1 进程间通信的方式 3.2.2 信号通信 3.2.3 管道通信 3.3 实验内容 3.3.1 实验1 信号通信 3.3.2 实验2 匿名管道通信 3.3.3 实验3 命名管道通信 3.3.4 实验4 使用命名管道建立客户/服务器关联程序 第4章 SystemV的进程间通信 4.1 实验目的 4.2 背景知识 4.2.1 SystemV的进程间通信机制 4.2.2 消息队列 4.2.3 信号量 4.2.4 共享主存 4.3 实验内容 4.3.1 实验1 消息队列实现进程间通信 4.3.2 实验2 信号量实现进程同步 4.3.3 实验3 基于信号量采用多线程技术实现进程同步 4.3.4 实验4 共享主存实现进程间通信 第5章 Shell程序设计 5.1 实验目的 5.2 背景知识 5.2.1 Shell简介 5.2.2 Shell的主要功能 5.2.3 Shell主要功能的实现 5.2.4 Shell编程 5.3 实验内容 5.3.1 实验1 编写一个简单的Shell程序——MyShell 5.3.2 实验2 基于Shell的网络管理 第6章 页面替换算法 6.1 实验目的 6.2 背景知识 6.2.1 存储管理的目的和功能 6.2.2 存储管理涉及的基本概念 6.2.3 实存管理的原理和实现技术 6.2.4 虚存管理的原理和实现技术 6.3 实验内容 6.3.1 实验l模拟实现动态分区存储管理 6.3.2 实验2模拟实现请求分页虚存页面替换算法 第7章 文件系统的设计与实现 7.1 实验目的 7.2 背景知识 7.2.1 文件系统的基本概念 7.2.2 文件管理的数据结构 7.2.3 Ext2文件系统 7.3 实验模拟实现一个Linux文件系统 7.3.1 实验说明 7.3.2 解决方案 7.3.3 主要功能模块设计 7.3.4 程序框架 第8章 时钟与定时器 8.1 实验目的 8.2 背景知识 8.2.1 定时器机制的概念 8.2.2 时间维护 8.2.3 定时器 8.3 实验内容 8.3.1 实验l 统计进程时间 8.3.2 实验2 通过alarmq()实现sleep()函数功能 8.3.3 实验3 基于单定时器实现任意数目的逻辑定时器 第9章 网络通信编程 9.1 实验目的 9.2 背景知识 9.2.1 网间进程通信概念 9.2.2 网间进程通信协议 9.2.3 套接字编程 9.3 实验内容 9.3.1 实验1 UDP通信 9.3.2 实验2 基于TCP的客户/服务器程序 第10章 事件驱动编程 10.1 实验目的 10.2 背景知识 10.2.1 视频游戏的概念 10.2.2 curses库的历史 10.2.3 使用curses库 10.3 实验内容 10.3.1 实验1 利用curses库实现弹球游戏 10.3.2 实验2 利用多线程实现弹球游戏 第11章 综合实验:一个小型远程访问FTP服务系统 11.1 实验目的 11.2 背景知识 11.2.1 客户/服务器计算模型 11.2.2 中间件 11.2.3 FTP技术简介 11.3 综合实验功能设计 11.4 综合实验解决方案 11.4.1 服务器端接收客户请求的套接字结构 11.4.2 客户端发送套接字连接请求的核心代码 11.4.3 与线程处理相关的核心函数 11.4.4 接收客户请求与实现客户会话的线程 11.4.5 文件管理 11.4.6 套接字通信 11.5 综合实验程序框架 11.5.1 客户端代码框架 11.5.2 服务端代码框架 第12章 内核模块 12.1 实验目的 12.2 背景知识 12.2.1 内核模块概述 12.2.2 内核模块编程 12.2.3 内核模块机制的实现 12.3 实验内容 第13章 中断与系统调用 13.1 实验目的 13.2 背景知识 13.2.1 中断机制 13.2.2 系统调用的概念 13.2.3 系统调用的执行流程 13.2.4 新系统调用机制sysenter/sysexit 13.3 实验内容 第14章 同步机制 14.1 实验目的 14.2 背景知识 14.2.1 进程同步和同步机制 14.2.2 Linux内核的并发性和同步机制 14.3 实验内容 第15章 进程调度 15.1 实验目的 15.2 背景知识 15.2.1 调度策略和调度机制 15.2.2 Linux2.4的调度算法及其不足 15.2.3 Linux2.6调度算法的设计与实现 15.3 实验内容 第16章 存储管理 16.1 实验目的 16.2 背景知识 16.2.1 x86的分段机制 16.2.2 物理存储管理 16.2.3 进程虚拟存储管理 16.2.4 slab分配器 16.3 实验内容 第17章 虚拟文件系统 17.1 实验目的 17.2 背景知识 17.2.1 虚拟文件系统的基本概念和原理 17.2.2 文件系统的安装和挂载 17.2.3 虚拟文件系统的结构和通用文件模型 17.3 实验内容 第18章 proc文件系统 18.1 实验目的 18.2 背景知识 18.2.1 proc文件系统简介 18.2.2 proc文件系统数据结构 18.3 实验内容 18.3.1 实验1 向proc文件系统中添加可读写文件 18.3.2 实验2 通过proc文件系统查看进程信息 第19章 设备驱动程序 19.1 实验目的 19.2 背景知识 19.2.1 基础知识 19.2.2 字符设备 19.2.3 块设备 19.2.4 磁盘I/O调度程序 19.3 实验内容 附录 附录A vi编辑器 附录B emacs编辑器 附录C Linux常用命令 附录D LimLx函数 附录E 操作系统实验报告内容 参考文献 |
商品评论(0条)