首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 操作系统 >

Linux操作系统实验教程

2010-03-22 
基本信息·出版社:高等教育出版社 ·页码:467 页 ·出版日期:2009年04月 ·ISBN:9787040262940 ·条形码:9787040262940 ·版本:第1版 ·装帧:平装 ...
商家名称 信用等级 购买信息 订购本书
Linux操作系统实验教程 去商家看看
Linux操作系统实验教程 去商家看看

 Linux操作系统实验教程


基本信息·出版社:高等教育出版社
·页码:467 页
·出版日期:2009年04月
·ISBN:9787040262940
·条形码:9787040262940
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:高等学校计算机实践教学系列教材

内容简介 学习操作系统的最好途径是理论和实践相结合,《Linux操作系统实验教程》是操作系统实验课程教材,以Linux 2.6内核版本为平台,精心设计系列实验题目,每个(组)实验题目包括:实验目的、背景知识和实验内容,在每个具体的实验内容中又包括实验说明、解决方案和程序框架,为操作系统实践教学提供指导。
《Linux操作系统实验教程》内容丰富、覆盖面广,由浅入深、循序渐进,可与高等教育出版社出版的《操作系统教程(第4版)》教材配套使用,也可作为操作系统课程的实验教材单独使用,既可以作为高等学校计算机相关专业实验课用书,也可作为Linux应用和内核编程参考资料。
编辑推荐 《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 操作系统实验报告内容
参考文献
……
序言 操作系统是计算机系统的核心和灵魂,是计算机系统必不可少的组成部分,也是计算机专业教学的重要内容。该课程概念众多、内容抽象、灵活性与综合性强,不但需要讲授操作系统的概念和原理,还需要加强操作系统实验,上机进行编程实践,这样才能让学生更好地掌握操作系统的精髓,真正做到深刻理解和融会贯通。人们已充分认识实践环节在学好操作系统过程中的重要性。实践是操作系统课程教学活动的重要环节,但实验教学难度大,由于实用操作系统的应用环境约束性强,实验环节的可操作性差,而且模块众多、盘根错节、技术细节剖析困难,动手及实践能力很难培养。编写本实验教程是为了在学习操作系统基本原理的同时,强调理论联系实际,为操作系统实验教学提供一定的指导和帮助。
操作系统实验教学的基本目的和要求:
(1)学生应该通过实验加深理解和更好地掌握操作系统的基本概念、原理、技术和方法,巩固所学知识,激发实验兴趣,掌握实验要领,培养对操作系统课程所学知识融会贯通和综合运用的能力。
(2)学生应该通过实验提高自己剖析和设计操作系统的能力,加强分析问题、解决问题能力的培养,加强创新意识与探索精神、科学作风与综合素质的培养。
(3)学生应该通过实验深入了解和熟练掌握一种操作系统的组成、特点、源码构成、内部结构、替换模块、扩充功能,以及编译、调试、运行的方法,达到拓宽编程思路、把握操作系统整体的目的。
(4)学生应该通过实验养成良好的理论联系实际、自己动手操作的习惯,以获得项目管理和团队协作的实际训练和具体经验。
编写操作系统实验教程,首先要选择实验环境和平台,其次要精选上机实验内容,这对提高实验课程的教学质量十分重要,Linux是开放源码操作系统,也是当今最流行和广为使用的主流操作系统之一。本书选用Linux内核版本V2.6作为操作系统实验和实习环境,通过在实用操作系统环境下的实际锻炼,不但让学生对操作系统的基本原理有更深入的理解,学生的动手实践能力更上一个台阶,而且能进一步掌握Linux操作系统的系统结构、设计和实现的基本思路和原理,也能更好地适应社会信息化对计算机专业人才的需求。
作者根据多年来操作系统研究和教学的经验,参考国内外出版的操作系统实验教材,精心设计系列实验供实验教学选择使用,本书中的实验题目和示例都已经在V2.6.22内核版本上通过调试,并能正确运行。
本实验教程的内容分3个部分。第一部分(第1章~第11章)为Linux APl使用与操作系统算法实验。
文摘 插图:


2.2 背景知识
2.2.1 进程与线程的概念
进程和线程都是现代操作系统中程序运行的基本单位,多用户、多任务操作系统利用进程和线程来实现系统对应用任务的并发性。通俗地讲,程序是一个包含可执行代码的文件,是一种存在于系统中的静态资源;进程是一个具有独立功能的程序关于某个数据集合上的一次并发执行的运行活动,是一种有生命周期的动态实体,是支持程序执行的一种系统机制。在单线程结构进程中,进程作为构成系统的基本实体,既是内部独立的执行单元,又是独立竞争资源的基本单元。在多线程结构进程中,进程是系统进行资源分配和保护的基本单元,而线程是进程内独立的执行单元,即一条执行路径。线程包含独立的堆栈和处理器及寄存器状态,每个线程共享其所附属进程的所有资源,包括打开的文件、页表(因此也就共享整个用户地址空间)、信号等。一个程序可对应多个进程,而每个进程又可以有许多子进程,依次循环下去,产生子孙进程,形成进程族系。
线程和进程的关系主要包括以下几个方面。
①进程是资源分配和管理的基本单位,线程是程序执行的独立单位。
②进程在执行过程中拥有独立的主存空间,而线程不能够独立存在,必须运行在所属进程的地址空间内。
③线程属于进程的组成部分,进程可包含多个线程。当进程被撤销时,该进程所产生的线程都会被强制撤销。
热点排行