欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 操作系统&服务器 > 操作系统实践 基于Linux的应用与内核编程 房胜[PDF][55.08MB]

操作系统实践 基于Linux的应用与内核编程 房胜[PDF][55.08MB]

2019-08-02 1341 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

(1)《操作系统实践——基于Linux的应用与内核编程》不是系统讲解Linux的书籍,而主要是通过实验来帮助读者更好地掌握操作系统的原理、方法和概念。

(2)*部分是Linux操作和应用编程,主要是为学习过C语言、但未接触过Linux编程的读者提供一个快速上手的途径;第二部分是Linux内核编程,按操作系统课程的内容结构进行编排的,目的是配合操作系统理论教学,使读者对操作系统课程中的重要概念、理论和方法有一个直观、具体、生动的认识。

目录

第1章Linux概述

1.1Linux的发展

1.1.1Linux概念

1.1.2Linux和UNIX的渊源

1.1.3与Linux相关的协议和标准

1.2Linux的内核架构

1.2.1Linux操作系统结构

1.2.2Linux内核体系结构

1.2.3内核版本和获取

1.2.4内核源代码目录结构

1.3Linux的主要版本

1.3.1Linux版本介绍

1.3.2Ubuntu的首次使用

1.4本章小结

习题

第2章Linux基本命令与应用

2.1认识命令行

2.1.1Terminal

2.1.2命令用法初体验

2.1.3其他虚拟终端

2.1.4相关概念

2.2使用文本文件

2.2.1创建文本文件

2.2.2查看文本文件内容

2.2.3查找及统计

2.3目录和文件

2.3.1目录及文件的基本操作

2.3.2文件权限

2.4管理用户和用户组

2.4.1相关配置文件

2.4.2相关操作

2.5其他常见命令

2.5.1挂载和卸载设备

2.5.2安装和卸载软件

2.6本章小结

习题

练习

第3章从Hello Linux程序开始

3.1Hello Linux

3.1.1hello_linux的诞生

3.1.2Linux平台C语言编码风格

3.1.3开发工具

3.2gcc编译

3.2.1单文件的编译

3.2.2多个源文件的编译

3.2.3其他介绍

3.3gdb调试

3.3.1gdb介绍

3.3.2使用gdb调试C语言文件

3.4本章小结

习题

练习

第4章利用Makefile管理一个工程

4.1第一个Makefile

4.1.1利用make编译一个程序文件

4.1.2利用make编译多个程序文件

4.2Makefile的基本概念与规则

4.2.1Makefile的基本概念

4.2.2规则

4.3本章小结

习题

练习

第5章Linux系统中的时间

5.1时间表示

5.1.1Linux系统时间

5.1.2Linux应用程序时间函数

5.2利用程序显示系统时间

5.2.1常用时间函数

5.2.2高级时间函数

5.3时间的测量与计时

5.3.1时间测量

5.3.2计时器

5.4本章小结

习题

练习

第6章多进程程序开发

6.1进程概念

6.2进程的创建

6.3连续调用多次fork函数

6.4启动外部程序

6.5本章小结

习题

练习

第7章进程间通信

7.1概述

7.2管道通信

7.2.1管道概述

7.2.2无名管道

7.2.3命名管道

7.3套接字通信

7.3.1用文件套接字实现本地进程通信

7.3.2用网络套接字实现网络进程通信

7.4本章小结

习题

练习

第8章利用Qt开发GUI应用程序

8.1Qt及Qt Creator

8.1.1Qt简介

8.1.2Qt Creator

8.1.3Qt的安装和启动

8.1.4Qt Creator的界面组成

8.2用Qt Creator完成一个GUI项目

8.2.1创建Qt GUI项目

8.2.2程序的运行

8.3信号和槽

8.3.1信号和槽的概念

8.3.2用信号槽机制响应GUI事件

8.3.3关于信号槽的进一步说明

8.4Qt设计师

8.4.1简介

8.4.2Qt设计师的功能

8.5本章小结

习题

练习

第9章MySQL数据库

9.1安装MySQL

9.2MySQL的基本用法

9.2.1MySQL管理

9.2.2数据库操作

9.2.3数据类型

9.2.4表操作

9.2.5创建一个数据库

9.3使用C语言访问MySQL数据库

9.3.1连接数据库

9.3.2执行SQL语句

9.3.3处理数据

9.4本章小结

习题

练习

第10章Linux综合应用

10.1概述

10.1.1系统需求

10.1.2本章内容结构

10.2原型设计

10.2.1添加资源文件

10.2.2界面设计

10.2.3界面布局

10.2.4添加动作

10.3系统设计

10.3.1系统架构

10.3.2客户端功能设计

10.3.3服务器功能设计

10.4系统实现

10.4.1数据结构(通信协议)

10.4.2客户端实现

10.4.3服务器端实现

10.4.4几点说明

10.5Linux应用综合实训

10.6本章小结

第11章构建Linux内核系统

11.1概述

11.2内核初始化

11.3内核配置

11.4内核构建

11.5本章小结

练习

第12章添加最简单的Linux内核模块

12.1用户态与内核态

12.1.1C/C 应用程序的运行机制

12.1.2Linux内核模块

12.2添加最简单的Linux内核模块

12.2.1LKM代码框架

12.2.2LKM编译

12.2.3kello.c的编译、添加和删除

12.2.4LKM与C应用程序的差异

12.3printk和某些常见宏

12.3.1实时显示内核模块运行信息

12.3.2显示位置信息

12.4本章小结

练习

第13章基于proc的Linux进程控制块信息读取

13.1proc伪文件系统

13.1.1proc中的文件

13.1.2proc中文件的内容

13.1.3proc伪文件系统介绍

13.2Linux中的进程控制块

13.2.1Linux进程控制块task_struct

13.2.2进程重要信息解读

13.3通过proc读取Linux进程信息

13.3.1创建proc文件

13.3.2基于seq_file机制的proc文件操作

13.3.3task_struct信息读取过程

13.3.4tasklist内核模块编译和添加

13.3.5tasklist内核模块工作流程

13.4task_struct重要信息

13.4.1Linux进程调度策略

13.4.2进程优先级

13.4.3进程控制块中的其他信息

13.5向proc文件写入数据

13.5.1用户空间和内核空间之间传递数据

13.5.2内核空间内存分配

13.5.3proc文件的写操作函数

13.6本章小结

习题

练习

第14章POSIX多任务及同步机制

14.1fork创建进程

14.1.1fork创建进程的流程

14.1.2fork/exec创建进程的流程

14.1.3fork进阶问题

14.2POSIX线程机制

14.2.1POSIX概述

14.2.2POSIX线程创建

14.3POSIX多线程及同步机制

14.3.1多个线程的资源竞争访问

14.3.2POSIX同步机制

14.4条件变量与生产者消费者问题

14.4.1同步与互斥

14.4.2POSIX条件变量

14.4.3条件变量在生产者消费者问题中的应用

14.5本章小结

习题

练习

第15章用户态和内核态信号量

15.1信号量与同步问题

15.1.1信号量概述

15.1.2同步问题

15.2POSIX信号量

15.2.1无名信号量

15.2.2有名信号量

15.2.3POSIX信号量用于线程同步问题

15.2.4POSIX信号量用于进程间同步

15.2.5Linux中的信号量技术

15.3内核信号量和内核线程

15.3.1Linux内核信号量

15.3.2Linux内核线程

15.3.3内核信号量和线程的例子

15.3.4Linux内核同步技术

15.4本章小结

习题

练习

第16章基于共享内存的进程间通信

16.1共享内存

16.2共享内存映射文件

16.2.1单个进程的内存映射文件

16.2.2多个进程间的内存映射文件的同步

16.3POSIX共享内存对象

16.4本章小结

习题

练习

第17章Linux内存管理

17.1Linux物理内存管理机制

17.1.1内存结点node

17.1.2内存结点zone 

17.1.3物理页框page 

17.2IA32的寻址机制

17.2.1IA32的段机制

17.2.2IA32的页面映射机制

17.2.3IA32中的控制寄存器以及PAE、PSE

17.3IA32结构上的Linux地址映射机制

17.3.1Linux中段地址映射机制

17.3.2IA32 Linux段地址映射实验

17.3.3IA32 Linux页地址映射

17.3.4IA32 Linux页地址映射实验

17.4Linux进程地址空间

17.4.1Linux中进程的虚拟地址空间

17.4.2获取进程虚拟地址空间信息

17.4.3Linux中进程的虚拟存储区域vma

17.4.4获取进程的虚拟内存区域信息

17.4.5Linux中进程、内存和文件的关系

17.5本章小结

习题

练习

第18章Linux设备驱动程序

18.1概述

18.1.1设备管理基本概念

18.1.2Linux字符设备管理

18.2字符设备CMOS驱动程序

18.2.1CMOS RTC信息

18.2.2获取CMOS RTC信息的驱动程序内核模块

18.2.3CMOS RTC驱动程序内核模块测试

18.3基于内存映射的杂项设备驱动程序

18.3.1Linux中的杂项设备

18.3.2设备驱动中的内存映射

18.3.3基于内存映射的杂项设备驱动程序

18.3.4测试

18.4本章小结

习题

练习

第19章Linux虚拟文件系统

19.1概述

19.1.1VFS在Linux中的作用

19.1.2VFS支持的文件系统类型

19.1.3VFS的基本数据结构

19.2VFS对象的操作

19.2.1注册文件系统

19.2.2文件系统装载

19.2.3与进程相关的文件系统数据结构

19.2.4从当前进程访问Linux内核VFS文件系统

19.3proc文件系统

19.3.1主要数据结构

19.3.2proc文件系统的操作

19.4本章小结

习题

练习

参考文献

实验目录

第2章Linux基本命令与应用

实验1: 认识命令行的相关实验23

实验2: 创建文本文件26

实验3: 查看文本文件28

实验4: 文本文件查找及统计29

实验5: 目录及文件基本操作35

实验6: 文件权限38

实验7: 管理用户和用户组42

实验8: 其他常见操作45

第3章从Hello Linux程序开始

实验1: 简单程序开发52

实验2: 单步编译和多步编译57

实验3: 浏览gdb内置命令59

实验4: 利用gdb调试程序63

第4章利用Makefile管理一个工程

实验1: Makefile与命令行编译的比较68

实验2: 编写Makefile72

第5章Linux系统中的时间

实验1: 编程显示系统时间79

实验2: Linux中的时间测量79

实验3: Linux中的计时器81

第6章多进程程序开发

实验1: 利用fork创建进程85

实验2: 连续调用多次fork函数86

实验3: 启动外部程序87

第7章进程间通信

实验1: 管道通信99

实验2: 文件套接字通信103

实验3: 网络套接字通信106

第8章利用Qt开发GUI应用程序

实验1: Qt的安装与启动112

实验2: 创建Qt GUI项目115

实验3: 信号槽机制118

第9章MySQL数据库

实验1: MySQL数据库操作124

实验2: MySQL表操作127

实验3: 创建一个MySQL数据库129

实验4: 用C语言访问MySQL数据库136

第12章添加最简单的Linux内核模块

实验1: 添加最简单的内核模块kello162

实验2: 内核模块输出信息显示162

第13章基于proc的Linux进程控制块信息读取

实验1: 测试proc文件系统功能168

实验2: 创建显示系统进程信息的proc模块179

实验3: 显示Linux进程控制块中更多的信息182

第14章POSIX多任务及同步机制

实验1: Linux进程创建193

实验2: POSIX线程创建198

实验3: POSIX线程互斥和参数传递202

实验4: 使用POSIX条件变量实现线程同步206

第15章用户态和内核态信号量

实验1: 使用POSIX信号量实现线程同步217

实验2: 使用POSIX信号量实现进程同步223

实验3: 创建Linux内核线程并使用内核信号量实现同步228

第16章基于共享内存的进程间通信

实验1: 使用内存映射文件实现进程间通信237

实验2: 使用共享内存对象实现进程同步239

第17章Linux内存管理

实验1: 获取IA32段寄存器中的描述符254

实验2: 获取IA32中的全局段表信息256

实验3: 获取C程序中一个逻辑地址对应的物理地址263

实验4: 显示进程的虚拟内存地址空间分布信息268

实验5: 获取一个进程的虚拟存储区域信息272

第18章Linux设备驱动程序

实验1: 实现读取CMOS实时时钟信息的驱动程序286

实验2: 实现一个基于内存映射的设备驱动程序289

第19章Linux虚拟文件系统

实验1: 访问Linux内核虚拟文件系统300

实验2: 加载newproc文件系统303

文档截图

QQ截图20190802113017.jpg

操作系统实践  基于Linux的应用与内核编程 房胜[PDF][55.08MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论