分享
 
 
 

Linux操作系统实验教程

  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,操作系统/系统开发,LINUX ,

作者: 罗宇 等编著

出 版 社: 电子工业出版社

出版时间: 2009-2-1字数:版次: 1页数: 167印刷时间:开本: 16开印次:纸张:I S B N : 9787121082177包装: 平装编辑推荐

本套教材在国家规划教材的基础上,进行全面更新,以适应高校课程与教堂改革的需要,并注意教材的可读性和可用性,为任课教师提供各种教堂服务(包括教学电子课件、教学指导材料、习题解答和实验指导等)。

内容简介

本书是国防科技大学国家精品课程“操作系统”配套教材,系统地讲解了Linux操作系统原理和基于Linux的各种编程,特别是Linux操作系统内核编程。本书内容分为三部分:第一部分介绍Linux操作系统原理;第二部分介绍10个基于Linux的实验;第三部分附录包含Linux环境下的操作及与编程有关的命令和函数列表。

本书适合作为高等学校计算机科学与技术、软件工程、信息安全、信息与计算科学、信息管理与信息系统等专业操作系统实验和课程设计教材,也是Linux开发人员熟悉Linux环境下应用及内核编程的入门参考书。

目录

第一部分 Linux操作系统基本原理

第1章 Linux操作系统简介

1.1 Linux的渊源和发展简史

1.2 Linux的基本特性

1.3 Linux内核的开发模式与内核版本号

1.4 Linux发行版介绍

1.5 Linux内核源代码组织结构

1.6 学习Linux的辅助软件介绍

第2章 Linux的进程管理

2.1 进程与进程描述符

2.2 进程状态及切换时机

2.2.1 Linux的进程状态

2.2.2 进程的切换时机

2.3 进程的调度算法

2.4 进程的创建与消亡

第3章 Linux的存储器管理

3.1 物理内存的管理

3.1.1 页帧与区域

3.1.2 伙伴算法

3.1.3 slab分配器

3.2 进程地址空间的管理

3.2.1 页表机制

3.2.2 vm_area_struct结构

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

3.2.4 页面异常的处理

第4章 Linux的文件系统

4.1 VFS

4.1.1 VFS的作用

4.1.2 进程描述符中与文件系统相关的成员

4.1.3 VFS的文件模型

4.1.4 文件系统的注册与安装

4.1.5 各种对象的操作接口

4.2 EXT2文件系统

4.2.1 EXT2在磁盘上的物理布局

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

4.2.3 磁盘块的分配与释放

4.3 主要文件系统的系统调用处理流程

4.3.1 文件的open操作

4.3.2 文件的read操作

第5章 Linux的设备管理

5.1 设备文件的概念

5.2 设备模型基础

5.3 相关数据结构

5.3.1 字符设备管理

5.3.2 块设备管理

5.3.3 buffer

5.3.4 设备请求队列和I/O调度算法

5.4 块设备文件的open和read操作

5.4.1 块设备驱动程序组成

5.4.2 open函数

5.4.3 read函数

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

6.1 中断和异常的基本知识

6.2 异常处理函数

6.3 系统调用

6.4 中断的处理

6.4.1 中断控制器

6.4.2 管理中断的数据结构

6.4.3 中断的处理过程

6.5 软中断

第7章 Sys V进程间通信

7.1 共有的特性

7.2 信号量

7.3 消息队列

7.4 共享内存

第二部分 基于Linux操作系统的实验

第8章 用户态编程实验

8.1 实验1——bash脚本编程

8.1.1 实验内容

8.1.2 bash脚本编程简介

8.1.2.1 注释和简单命令

8.1.2.2 环境变量

8.1.2.3 控制结构

8.1.2.4 函数

8.1.3 实验指南

8.2 实验2——观察Linux行为

8.2.1 实验内容

8.2.2 proc文件系统简介

8.2.3 实验指南

8.2.3.1 Linux环境下C语言编程环境简介

8.2.3.2 实验程序框架

8.3 实验3——实现Linux命令解释器

8.3.1 实验内容

8.3.2 myshell的语法

8.3.3 myshell的程序框架

8.3.4 myshell命令行的语法分析

8.3.5 简单命令的执行

8.3.6 myshell的Makefile

8.3.7 实验指南

第9章 内核编程基础实验

9.1 实验4——内核模块

9.1.1 实验内容

9.1.2 Linux内核模块简介

9.1.3 内核符号表

9.1.4 内核模块编程介绍

9.1.4.1 内核模块实例

9.1.4.2 模块编程的基本知识

9.1.4.3 Makefile介绍

9.1.5 实验指南

9.1.6 测试

9.2 实验5——proc文件系统编程

9.2.1 实验内容

9.2.2 proc文件系统编程简介

9.2.2.1 proc文件系统编程示例

9.2.2.2 proc文件系统的核心数据结构

9.2.2.3 proc文件系统编程接口

9.2.3 实验指南

9.3 实验6——编译内核及增加Linux系统调用

9.3.1 实验内容

9.3.2 Fedora下编译内核

9.3.2.1 第1步——下载内核

9.3.2.2 第2步——生成内核配置文件.config

9.3.2.3 第3步——编译和安装新的内核

9.3.3 添加psta系统调用

9.3.4 测试新增系统调用psta

9.3.5 noexec系统调用的实现

第10章 内核编程综合实验

10.1 实验7——进程隐藏

10.1.1 实验内容

10.1.2 背景知识介绍

10.1.3 proc文件系统实现简介

10.1.4 实验指南

10.1.4.1 功能⑴的实现

10.1.4.2 功能(5)的实现

10.1.4.3 功能(7)的实现

10.2 实验8——字符设备驱动开发

10.2.1 实验内容

10.2.2 字符设备驱动开发介绍

10.2.2.1 测试字符设备

10.2.2.2 描述设备的数据结构

10.2.2.3 设备号的操作

10.2.2.4 字符设备的注册与注销

10.2.2.5 文件操作集

10.2.2.6 同步

10.2.3 字符设备chatdev的实现

10.2.4 聊天程序chat的实现

10.3 实验9——naive文件系统的设计与实现

10.3.1 实验内容

10.3.2 项目的准备工作及建议

10.3.3 实验指南

10.3.3.1 第1步——创建设备

10.3.3.2 第2步——格式化分区

10.3.3.3 第3步——定义并注册naive文件系统

10.3.3.4 第4步——安装/卸载文件系统分区

10.3.3.5 第5步——显示根目录的内容

10.3.3.6 第6步——在根目录下创建内容为空的文件

10.3.3.7 第7步——写文件和读文件

10.3.3.8 第8步——删除文件

10.3.3.9 第9步——创建目录

10.3.3.10 第10步——删除目录

10.4 实验10——块设备驱动开发

10.4.1 实验内容

10.4.2 实验基础和思路

10.4.2.1 参考驱动程序1——块设备驱动程序sbull

10.4.2.2 参考驱动程序2——USB字符设备驱动程序usb-skeleton

10.4.3 U盘驱动的帮助函数

10.4.3.1 函数原型及其使用

10.4.3.2 工作原理和过程

10.4.4 实验指南

第三部分 Linux环境下的操作及常用命令和函数

附录A Linux常用命令

A.1 用户终端命令

A.2 vi编辑器的用法

附录B Linux常用函数

B.1 进程管理函数

B.2 文件管理函数

B.3 进程间通信

B.4 多线程库

附录C 内核配置文件的生成

C.1 配置文件初步生成

C.2 修改内核配置文件

C.3 内核编译选项介绍

参考文献

书摘插图

第1章Linux操作系统简介

Linux的发展史极富传奇性。本章首先介绍Linux的渊源和发展史,接着介绍Linux的特点和开发模式,随后介绍内核代码的组织结构和Linux的学习方法。

1.1Linux的渊源和发展简史

1965年,美国麻省理工学院、通用电气公司及贝尔实验室联手开发在当时看起来非常先进的MULTICS操作系统。经过数年开发后,贝尔实验室认为该项目没有成功的希望便撤出了自己的开发人员,这些人中便有Ken Thompson和Dennis Ritchie。随后,Ken Thompson在实验室闲置的PDP-7机器上开发出了UNIX操作系统。最早的UNIX是用汇编语言开发的,20世纪70年代初期,Dennis Ritchie发明了C语言并用C语言重写了UNIX操作系统,直到如今C语言依然是系统编程语言的首选。

1974年,Ritchie和Thompson在Communications of the ACM发表了一篇经典论文“TheUNIX Time—Sharing System”,使UNIX得到广泛关注。1975年,美国贝尔实验室发布了UNIX第六版(V6),当时一些大学及研究机构得到该系统及其源代码,并用于研究和教学。美国加州大学伯克利分校就是依据这个版本开始研究并加以发展的,并在1977年发布1 BSD(1stBerkeley Software Distribution),BSD UNIX后来成为UNIX家族最重要的分支之一。

20世纪80年代初期,UNIX开始商业化,AT&T发布了System Ⅲ和System V等。一些商业公司也陆续跟进,发布自己的商用UNIX版本,如IBM公司的AⅨ、Sun公司的SunOS(后来命名为Solaris)等,这些商业版本的UNIX源代码不再开放。商业公司的利益角逐导致1984年之前UNIX蓬勃发展的景象不再复现。

……

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有