基本信息·出版社:人民邮电出版社 ·页码:236 页 ·出版日期:2009年08月 ·ISBN:7115211086/9787115211088 ·条形码:9787115211088 ·版本:第1版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
嵌入式Linux操作系统 |
|
|
|
嵌入式Linux操作系统 |
|
基本信息·出版社:人民邮电出版社
·页码:236 页
·出版日期:2009年08月
·ISBN:7115211086/9787115211088
·条形码:9787115211088
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:高等院校嵌入式人才培养规划教材
内容简介 《嵌入式Linux操作系统》介绍了操作系统的几大组成部分,并以Linux操作系统为例说明了各功能的实现。
全书共分10章,内容包括嵌入式Linux操作系统概念,Linux系统安装与使用,操作系统的存储管理、进程管理、文件管理、设备管理等几个核心模块,其中涉及对Linux内核代码的部分分析介绍。在《嵌入式Linux操作系统》最后一章,综合介绍了开发嵌入式Linux系统的全过程,包括建立开发环境、编译Bootloader、编译内核、部署根文件系统等全过程。《嵌入式Linux操作系统》可作为高等院校“嵌入式操作系统”课程的教材,也可供嵌入式Linux爱好者参考使用。
编辑推荐 《嵌入式Linux操作系统》:嵌入式学院是华清远见在6年高端嵌入式人才培养的基础上倾力打造的“嵌入式领域就业优势倍增”项目,学院充分整合行业经验及专业优势,并借助自身丰富的合作企业资源及专业、科学的实训体系,帮助合作院校时刻紧跟嵌入式行业用人需求的最新趋势,引导毕业生在知识结构上更好地实现与企业真实需求的对接,从而有效提高其就业竞争优势,顺利进入嵌入式专业领域。华清远见嵌入式学院将继续专注于为更多希望从事嵌入式行业工作,但又缺乏相关经验的人员提供更专业的嵌入式实训课程,培养出更多合格的嵌入式人才,以促进行业的健康、持续发展。华清远见嵌入式学院官方网站为www embedu org。
《高等院校嵌入式人才培养规划教材》系列教材
●ARM嵌入式体系结构与接口技术
●uc/0s II嵌入式操作系统
●嵌入式LinUX操作系统
●嵌入式Linux c语言开发
●嵌入式应用程序设计
本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。
《ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,考虑到各院校不同的教学侧重点,编写了uc/0s II和Linux两个版本;考虑到本专业对学生c语言能力要求较高,编写了《嵌入式Linux c语言开发》这本教材,可供“C语言基础”课程的后续提高课程使用;《嵌人式应用程序设计》介绍了贯穿前面所学知识的实训内容,供“Linux应用开发”课程使用。书中源代码、PPT课件等辅助教学资料,请到WwW.Ptpedu.com.cn下载。
目录 第1章 嵌入式Linux操作系统简介
1.1 操作系统
1.2 嵌入式系统
1.3 嵌入式操作系统
1.4 嵌入式Linllx基础
1.4.1 Linux发展概述
1.4.2 Linux作为嵌入式操作系统的优势
1.4.3 Linux发行版本
1.4.4 如何学习Linux
1.5 LinuX安装
1.5.1 基本概念
1.5.2 硬件需求
1.5.3 安装准备
1.5.4 安装过程
1.6 LinuX文件及文件系统
1.6.1 文件类型及文件属性
1.6.2 文件系统类型介绍
1.6.3 Linux目录结构
思考题
第2章 Linux操作系统使用与系统配置
2.1 TJinux基本命令
2.1.1 用户系统相关命令
2.1.2 文件目录相关命令
2.1.3 压缩打包相关命令
2.1.4 比较合并文件相关命令
2.1.5 网络相关命令
2.2 Linux系统服务
2.2.1 独立运行的服务
2.2.2 xinetd设定的服务
2.2.3 设定服务命令的常用方法
思考题
第3章 嵌入式LiflUX编程环境
3.1 Linux编辑器vi的使用
3.1.1 vi的模式
3.1.2 vi的基本流程
3.1.3 vi各模式的功能键
3.2 gcc编译器
3.2.1 gcc编译流程解析
3.2.2 gcc编译选项分析
3.3 gdb调试器
3.3.1 gdb使用流程
3.3.2 gdb基本命令
3.4 Make工程管理器
3.4.1 Makefile基本结构
3.4.2 Makefile变量
3.4.3 Makefile规则
3.4.4 Make管理器的使用
3.5 使用autotoob
3.5.1 autotools使用流程
3.5.2 使用autotools所生成的Makefil
思考题
第4章 存储管理
4.1 进程虚存空间的管理
4.1.1 进程的虚存区域
4.1.2 虚存空间的映射和虚存区域的建立
4.2 内存空间/地址类型
4.3 分页机制与MMU
4.4 高速缓存
4.5 内存区域zone
4.6 获得内存页面
4.7 slab分配器
4.8 kmalloc
4.9 高端内存
4.10 虚拟内存的申请和释放
思考题
第5章 操作系统进程
5.1 进程的基本概念
5.2 Linux系统进程
5.2.1 Linux进程基础
5.2.2 进程描述符
5.2.3 进程的状态与转换
5.2.4 进程队列指针
5.2.5 进程队列的全局变量
5.3 Linux进程的创建
5.4 Linux进程相关的系统调用
5.4.1 exeeve系统调用
5.4.2 wait系统调用
5.4.3 exit系统调用
5.5 Linux的进程调度
5.6 实时Linux
思考题
第6章 进程间通信
6.1 什么是进程问通信
6.2 互斥与同步
6.3 信号量
6.3.1 什么是信号量
6.3.2 信号量的内核实现
6.3.3 信号量的使用
6.4 共享内存
6.4.1 什么是共享内存
6.4.2 共享内存的内核实现
6.4.3 共享内存的使用
6.5 消息队列
6.5.1 什么是消息队列
6.5.2 消息队列的内核实现
6.5.3 消息队列的使用
6.6 管道
6.6.1 什么是管道
6.6.2 管道的内核实现
6.6.3 管道的读写规则
思考题
第7章 中断与系统调用
7.1 什么是中断
7.2 嵌入式平台硬件中断特点
7.3 Linux内核中断机制概述
7.4 编写中断处理程序ISR
7.4.1 中断处理系统结构
7.4.2 注册中断处理函数
7.4.3 中断标志flags
7.4.4 ISR上下文
7.5 Tasklet机制
7.6 上半部和下半部
7.6.1 上半部和下半部的设计
7.6.2 中断处理程序的不可重人性
7.7 工作队列
7.8 系统调用
7.8.1 初始化系统调用
7.8.system-call函数
7.8 -3参数的传递与验证
思考题
第8章 文件管理
8.1 磁盘的物理组织
8.2 文件和目录
8.2.1 文件的分类
8.2.2 目录
8.2.3 文件系统
8.3 虚拟文件系统
8.3.1 虚拟文件系统概述
8.3.2 vFS超级块
8.3.3 文件控制块
8.3.4 vFS的目录项
8.3.5 文件对象
8.3.6 主要数据结构间的关系
8.4 文件系统注册与卸载
8.4.1 和文件系统相关的数据结构
8.4.2 文件系统类型注册函数
8.4.3 挂载文件系统
8.4.4 文件系统卸载
思考题
第9章 设备管理
9.1 设备及设备管理的功能
9.1.1 设备分类
9.1.2 设备管理
9.2 I/O内核子系统
9.2.1 I/O系统的基本功能
9.2.2 I/O空间
9.2.3 I/0控制方式
9.3 Linux设备驱动程序
9.3.1 设备管理
9.3.2 Linux字符设备
9.3.3 L,inux块设备
9.3.4 Linux网络接口
9.3.5 L,inux设备文件
9.3.6 Linux设备注册与注销
9.3.7 操作I/O端口
9.3.8 Linux逻辑I/O与设备驱动程序的接口
思考题
第10章 嵌入式LiflUX的构建
10.1 嵌入式开发环境的搭建
10.1.1 嵌入式交叉编译环境的搭建
10.1.2 超级终端和Minicom配置及使用
10.1.3 下载映像到开发板
10.1.4 编译嵌入式Lanux内核
10.1.5 Linux内核目录结构
10.1.6 制作文件系统
10.2 Bootloader介绍
10.2.1 u-Boot概述
10.2.2 u-Boot的常用命令
10.3 嵌入式Linux根文件系统构建
10.3.1 根文件系统目录结构
10.3.2 FHS目录结构
10.3.3 文件存放规则
思考题
参考文献
……
序言 随着消费群体对产品要求的日益提高,嵌入式技术在机械器具制造、电子产品制造、通信、信息服务等行业领域得到了大显身手的机会,应用日益广泛,相应地企业对嵌入式人才的需求也越来越多。因此近几年来,各高等院校开始纷纷开设嵌入式专业或课程。但是,各院校在嵌入式专业教学建设的过程中几乎都面临教材难觅的困境。虽然目前市场上的嵌入式开发相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合学校的教学要求。学校教学需要一套充分考虑学生现有知识基础和接受度的,明确各门课程教学目标的,便于学校安排课时的嵌入式专业教材。
针对教材缺乏的问题,我们以多年来在嵌入式工程技术领域内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关岗位的真实需求,调研了数十所开设“嵌入式工程技术”专业的高等院校的课程设置情况、学生特点和教学用书现状。通过细致的整理和分析,对专业技能和基本知识进行合理划分,我们编写了这套高等院校嵌入式人才培养规划教材,包括以下5本:
《ARM嵌入式体系结构与接口技术》
《UC/OS II嵌入式操作系统》
《嵌入式Linux操作系统》
《嵌入式Linux c语言开发》
《嵌入式应用程序设计》
本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。《删嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,考虑到各院校不同的教学侧重点,编写了Uc/os II和Linux两个版本;考虑到本专业对学生c语言能力要求较高,编写了《嵌入式Linux c语言开发》这本少课时的教材,可供“c语言基础”课程的后续提高课程使用;《嵌入式应用程序设计》介绍了贯穿前面所学知识的实训内容,供“Linux应用开发”课程使用。
本书是其中之一。操作系统是计算机系统中最重要的系统软件,是计算机科学与技术相关专业的核心课程。操作系统课程中涉及的概念、原理是从事嵌入式开发人员必备的知识。
操作系统理论深奥,是计算机专业中较难掌握的一门课程。加之以往的操作系统教材多以理论介绍为主,很少涉及操作系统源代码,通过学习,学生只掌握了一些简单的概念,对操作系统的基本原理没有掌握很透彻,学习效果不好。本书从原理和编程实现两个方面讲解操作系统科学,旨在帮助学生加深对操作系统原理的理解,主要以Linux操作系统为例,分别说明了操作系统中有关进程管理、内存管理、文件管理、设备管理等几大核心功能,本书注重实用,使学生达到学用结合的目的。
文摘 插图:
系统中对于物理页有大量的需求,当程序映像加载到内存中的时候,操作系统需要分配页。当程序结束执行并卸载时需要释放这些页。另外,为了存放核心相关的数据结构(如页表自身)也需要物理页。这种用于分配和回收页的机制和数据结构对于维护虚拟内存子系统的效率也许是最重要的。
系统中的所有的物理页都使用page数据结构来描述。每一个物理页对应一个page变量。个zone的所有page变量集合形成数组,由zone的zone mere map成员指针指向数组的起始地址,页数组的初始化在系统启动时完成。
页分配器的算法是建立在伙伴系统之上的。伙伴系统将内存区域组织为以页为单位的块,n称为该块的“级别”,具有相同级别的块用链表接在一起。每次分配必须指定一个级别,并以该级别块的大小为单位。
在分配时,依次从级别,z到最大级别开始搜索,直到找到一个非空的块为止,如果这个非空块级别不是n,则将其拆成两份,一份放到其对应的级别的空闲块中,而另一份如果还不是级别n就继续拆分。直到最后返回那个级别为n的块。
在回收时,首先计算出被回收的块的伙伴,然后查看这个伙伴是否在级别为n的空闲链中。如果找到了,则这个块将与这个伙伴合并(伙伴从空闲链删除,并修整“当前块”的位置即可),然后n=n+1,继续这个合并过程。当伙伴不在该空闲链中时,合并过程结束。free-area所管理的内存如图4.3所示。