Android深度探索读后感 第一章

第一章 介绍Android驱动开发和移植技术

一、Android的四层系统架构:

Android的系统架构分为4层,分别为:Linux内核,C/C++代码库,Android SDK API,应用程序。

Linux内核:Linux内核包括Linux的驱动以及内存管理,进程管理,电源管理等程序。

Linux的驱动:驱动就是驱使硬件设备行动。驱动是直接与底层硬件直接打交道,按照一定的工作方式,读写设备的寄存器,具有完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射等功能,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和数据

内存管理: 内存管理的基本单位是物理页;内存管理单元的作用是以页为单位把虚拟地址转换为物理地址。

进程管理:进程是资源分配的基本单位,线程是资源调度的基本单位。其中,线程只拥有必不可少的一些资源,线程的这一功能使同一个进程的线程切换更加方便,提高了系统性能。  线程的实现有:用户级线程;内核级线程;混合线程模型的3种方法。

电源管理通过降低设备电压、频率,可以减少能量的消耗,有效地管理嵌入式系统中电源的功耗,达到省电的目的。

二、Android系统移植的主要工作:应用移植和系统移植。

应用程序,指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。它具有将应用程序层的程序移植到某一个特定硬件平台上的功能。

系统移植:可移植性指与软件从某一环境转移到另一环境下。系统移植具有让Android操作系统在某一个特定硬件平台上运行。

三,查看Linux内核版本:Linux内核有linux2.4、linux2.6、linux3.x3个版本;有2种查看方法。Linux版本号定义有一定的原则。

四.Linux设备驱动:直接和硬件交互的一类程序,有字符设备、网络设备、块设备。

字符设备字符设备:是以字符为单位进行传输的设备。

网络设备是网络设备及部件是连接到网络中的物理实体。网络设备有很多的种类。

块设备的作用是将信息存储在固定大小的块中。

时间: 2024-10-09 20:33:28

Android深度探索读后感 第一章的相关文章

《Android深度探索》第一章心得体会

<Android深度探索>第一章讲的是Android系统移植与驱动开发概述.Android的系统架构分为四层:Linux内核.C/C++代码库.Android SDK API.应用程序.Android移植的主要工作:移植Linux驱动和移植HAL.学习Linux驱动要准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动:准备一块开发板:学习GNU C:学习相关的硬件知识:不断地实践.Linux将存储器和外设分为3大类:字符设备.块设备.网络设备. 通过对第一章的学习,我了解到由于

Android深度探索读后感第二章

第二章 搭建Android开发环境 Android底层开发的环境,主要包括:Android应用程序开发环境,Android  NDK开发环境和交叉编译环境的搭建. Android应用程序开发环境:第一步:安装JDK.第二步:配置Windows上JDK的变量环境 .第三步: 下载安装Eclipse第四步:下载安装Android SDK .第五步:为Eclipse安装ADT插件. 一.Android底层开发需要一定的工具:如JDK6,交叉编译环境Eclipse3.4linux内核源代码CDT.And

Android深度探索第四章总结

Android深度探索第四章主要是源代码的下载和编译.要下载Android源代码首先需要配置Android源代码下载环境(1.创建一个用于存放下载脚本文件的目录:2.下载repo脚本文件:3.创建用于存放Android晕代码的目录:4.初始化:5.开始下载Android源代码).介绍了Android源代码目录结构(/bootable这个目录下存放 android 部分启动相关代码,包括 android 的 recovery模式,一般用于进行 OTA 升级,由 C++ 编写,可以看到用于显示的ui

Android深度探索第三章总结

Android深度探索第三章主要是Git使用入门.这一章首先让我们先安装Git,在进行编程是可以查看Git文档man git—checkout安装git—doc后会安装git文本格式和HTML格式的文本.查看文本用git help <sub—command>.使用命令"git init"初始化的版本库(暂且称为working repository)将会生成两类文件:第一类是版本库目录.git目录,它里面存放的是版本的历史记录信息和实际项目文件的拷贝;你可以把这类版本库叫做&

《Android深度探索》第二章心得体会

<Android深度探索>第二章讲的是搭建Android开发环境.搭建Android底层开发环境主要包括Android应用程序开发环境和Android NDK开发环境和交叉编译环境的搭建.搭建Android开发环境的步骤:安装JDK:安装Android SDK:安装Eclipse:安装ADT:配置ADT:建立AVD:下载Android NDK:安装CDT:命令行方式编译Android NDK程序:导入Android NDK的例子:配置Android NDK 的集成开发环境:安装交叉编译环境.

Android深度探索第四章读后感

第一章中讲过Android移植主要就是Linux内核的移植,而Linux内核移植主要是Linux驱动的移植,所以为了开发和测试Linux驱动,有必要学习在Ubuntu Linux下如何搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境.Linux内核开发环境的搭建是重点中的重点.下面根据书上的内容和网上的资料写出了步骤: 1配置Android源代码下载环境: # mkdir ~/bin # PATH=~/bin:$PATH \\创建用于存放脚本文件的目录 # curl ht

Android深度探索读后感 第四章

第四章 源代码的下载和编译 Android源代码包含的东西:内嵌在android系统中的应用程序:拍照,计算器,日历,相册,拨号器等的源代码:android SDK带的各种工具:如:adb,  emulator  mksdcard  apt等的源代码,android ndk的源代码.Hal源代码. 一.下载.编译和测试源代码: 1.配置android源代码下载环境: (1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件放到任何目录中,使用~/bin): #madir  ~/bin

Android深度探索--第五章读后感

对于编写linux驱动程序的步骤:主要有第一步,建立其驱动骨架,任何类型的程序都有一个基本的结构:第二步,注册和注销设备文件,任何一个linux驱动都需要有一个设备文件,否则应用程序将无法与驱动程序交互.建立设备文件的工作一般在第一步编写的处理linux初始化工作的函数中完成,删除设备文件一般在第1步编写的处理linux退出工作的函数中完成:第三步,指定与驱动相关的信息,驱动程序是自描述的:第四步是指定回调函数,linux 驱动包含了多种动作,也可称为事件:第五步,编写业务逻辑,这一步是Linu

Android深度探索第三章读后感

第三章主要介绍了Git.   Git并不是学习Android移植和Linux内核.驱动开发必须掌握的技术,但对于想深入研究底层技术的人来说,Git将成为学习过程中必不可少的工具. 学习新技术的最好方式不是阅读技术书籍或者在网上查看牛人写的文章,而是自己阅读自己感兴趣的源代码.因为源代码是最能体现软件作者的真正思路的.学习Linux内核开发也是相同的道理,只是找几本书看看,并不能真正体会Linux内核的核心设计理念.直接阅读Linux内核的源代码才是唯一可以接近Linux内核的方法 .虽然一开始很