成功加入购物车
图书条目标准图
房胜 / 清华大学出版社 / 2015-08 / 平装
售价 ¥ 7.90 2.0折
定价 ¥39.50
品相 八五品
优惠 满包邮
延迟发货说明
上书时间2023-08-27
卖家超过10天未登录
操作系统实践--基于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
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30