Android操作系统是基于Linux Kernel是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android操作系统是基于Linux Kernel是啥意思相关的知识,希望对你有一定的参考价值。

kernel(内核):是操作系统最基本的部分,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定。

Linux内核:顾名思义即Linux系统的核心,是Linux操作系统最基本的部分,所谓内核通俗的讲,就是负责硬件管理,为应用程序招供操作硬件的接口。

android(安卓): 本质上是一个基于 Linux 内核上面运行的 java 虚拟机,实际上就是一个解释程序。它相当于一个应用程序,应用程序要运行需要一个平台,这个平台是Linux内核。这就是Android操作系统是基于Linux Kernel的意思。
参考技术A 每一个操作系统都有不同的内核。像Windows每个版本的内核都不同,而Mac OX用的是Unix的内核,Linux用的是Linux内核。而Android操作系统的内核是Linux,但是他不是一种Linux操作系统。 参考技术B Android操作系统是在Linux Kernel内核基础上开发的本回答被提问者和网友采纳 参考技术C kernel(内核):是操作系统最基本的部分,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定。

Linux内核:顾名思义即Linux系统的核心,是Linux操作系统最基本的部分,所谓内核通俗的讲,就是负责硬件管理,为应用程序招供操作硬件的接口。

Android(安卓): 本质上是一个基于 Linux 内核上面运行的 java 虚拟机,实际上就是一个解释程序。它相当于一个应用程序,应用程序要运行需要一个平台,这个平台是Linux内核。这就是Android操作系统是基于Linux Kernel的意思。
参考技术D 百科名片
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.3 Gingerbread和Android 3.0 Honeycomb。

目录

简介
系统架构应用程序
中介软件
硬件抽像层 (Hardware Abstraction Layer)
编程语言
Android版本Android1.0(Beta)
Android1.1
Android1.5 Cupcake
Android1.6 Donut
Android2.0/2.1 Eclair
Android2.2 Froyo
Android2.3 Gingerbread
Android3.0 Honeycomb
Android3.0系统特性
开放手机联盟1、手机和其他终端制造商
2、移动运营商
3、半导体公司
4、软件公司
简介
系统架构 应用程序
中介软件
硬件抽像层 (Hardware Abstraction Layer)
编程语言
Android版本 Android1.0(Beta)
Android1.1
Android1.5 Cupcake
Android1.6 Donut
Android2.0/2.1 Eclair
Android2.2 Froyo
Android2.3 Gingerbread
Android3.0 Honeycomb
Android3.0 系统特性
开放手机联盟 1、手机和其他终端制造商
2、移动运营商
3、半导体公司
4、软件公司
展开 编辑本段简介
Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。 2010年末数据显示,仅正式推出两年的操作系统Android已经超越称霸十年的诺基亚(Nokia)Symbian OS系统,采用Android系统主要手机厂商包括宏达电(HTC)、三星(SAMSUNG)、摩托罗拉(MOTOROLA)、LG、Sony Ericsson等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。

编辑本段系统架构
应用程序
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。 View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。
中介软件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。 Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。 Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。 Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。 Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。
硬件抽像层 (Hardware Abstraction Layer)
Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。 HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。
编程语言
Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。 目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。
编辑本段Android版本
Android1.0(Beta)
Android1.1
Android1.5 Cupcake
Android1.6 Donut
Android2.0/2.1 Eclair
Android2.2 Froyo
Android2.3 Gingerbread
Android3.0 Honeycomb

编辑本段Android3.0
2011年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0 Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用Android3.0系统的是MOTO XOOM 。该机是摩托罗拉移动在2011年1月5日,在美国拉斯维加斯 CES电子消费展推出的旗下首款平板电脑。
系统特性
·专用于平板电脑
·全新设计的UI增强网页浏览功能 ·n-app purchases功能 ·经过优化的Gmail电子邮箱; ·全面支持Google Maps
编辑本段开放手机联盟
开放手机联盟
为了推广Android,Google和几十个手机相关企业建立了开放手机联盟(Open Handset Alliance)。 联盟成员包括中国台湾HTC、韩国三星电子、美国摩托罗拉公司、NVIDIA、SiRF、Skype、联发科技MTK以及中国电信在内的34家技术和无线应用的领军企业。这34家企业中并不包含把持Symbian的Nokia公司,以及凭借着iPhone风光正在的Apple公司。微软没有加入,加拿大RIM和它的Blackberry也被挡在门外。 手机开放联盟大家庭成员名单:
1、手机和其他终端制造商
HTC(宏达国际电子)- 中国台湾 Samsung Electronics(三星电子)- 韩国 Motorola Mobility(摩托罗拉移动技术)- 美国 Sony Ericsson(索尼爱立信)- 英国 LG Electronics(LG电子)- 韩国 Lumigon (丹麦陆力更手机公司)- 丹麦 ARCHOS(爱可视)- 法国 TOSHIBA(东芝)- 日本
2、移动运营商
China Telecom(中国电信)- 中国 China Mobile(中国移动)- 中国 China Unicom(中国联通)- 中国 KDDI - 日本 NTT DoCoMo(日本电信电话公司)- 日本 Sprint Nextel(美国斯普林特Nextel公司)- 美国 Telecom Italia(意大利电信)- 意大利 Telefónica - 西班牙 T-Mobile - 德国
3、半导体公司
ARM- 英国 Texas Instruments(德州仪器)- 美国 Qualcomm(高通)- 美国 NVIDIA(英伟达)- 美国 MediaTek(联发科)- 中国台湾 ST(意法半导体)- 欧洲 Infineon(英飞凌科技)- 德国 ST-Ericsson(ST爱立信)- 欧洲 Audience (听众)- 美国 Broadcom (博通)- 美国 Intel(英特尔)- 美国 Marvell (俊茂微电子)- 美国 SiRF(瑟夫)- 美国 Synaptics(新思)- 美国 HP(惠普)- 美国
4、软件公司
Aplix - 日本 Ascender - 美国 Skype(eBay)- 美国 Esmertec(微迅)- 瑞士 Living Image - 美国 NMS Communications - 加拿大 Noser Engineering AG - 德国 Nuance Communication - 美国 PacketVideo - 美国 SkyPop - 美国 Sonix Network - 美国 The Astonishing Tribe - 瑞典 Wind River Systems(风河)- 美国
另外,虚机团上产品团购,超级便宜

苹果5S刷入Kerne1Cache出错怎么回事

参考技术A ios系统 recovery翻译过来就是“恢复”的意思,是开机后通过特殊按键组合(各个厂商各个型号不尽相同)能够进去的一个系统(工程模式),在这个界面你可以直接用sd 卡上的zip 的rom 升级或者备份你的系统,老版本的recovery只有三个选项,只能用update.zip这个文件名的文件升级,而且无法备份系统,不能用任何文件名的zip文件升级。新版本已经多出很多选项可以供你操作。如何进入recovery模式?这个每款手机的操作各不相同就不再展开介绍,咱们只说Recovery通用的部分。 1)主功能界面reboot system now 重启手机
apply SDcard:update.zip 安装存储卡中的update.zip升级包(刷机包必须为为update.zip才能升级)
wipe data/factory reset 清除用户数据并恢复出厂设置(刷机前必须执行的选项)
wipe cache partition 清除系统缓存(刷机前必须执行的选项决)
nstall zip from SDcard 从SDcard上安装zip格式的升级包
backup and restore 备份和还原系统(相当于手机版的ghost一键备份、还原)
mounts and storage 挂载和存储选项
advanced 高级设置wipe data/factory reset 和 wipe cache partition就是传说中的“双wipe”了,刷机前最好执行以下,不然可能会出现各种各样的小问题~ 2)install zip from SD card界面apply sdcard:update.zip 升级SD卡中的update.zip刷机包
choose zip from sd card 从SD卡中选择zip格式的升级包(升级刷机包一般选这个)
toggle signature verification 检验签名
toggle script asserts 脚本声明 3)backup and restore界面Backup 备份当前系统
Restore 还原上一个系统
Advanced Restore 高级还原选项(用户可以自选之前备份的系统,然后进行恢复) 4)mounts and storage功能详解mount /system 挂载system文件夹
mount /data 挂载data文件夹
unmount /cache 取消cache文件夹挂载
unmount /sdcard 取消内存卡挂载
mount /sd-ext 挂载内存卡Ext分区
format boot 格式化boot
format system 格式化system
format data 格式化data
format cache 格式化cache
format sdcard 格式化内储卡
format sd-ext 格式化内存卡Ext分区
mount USB storage 开启Recovery模式下的USB大容量存储功能5)Advance 功能详解Reboot Recovery 重启Recovery(重启手机并再次进入Recovery)
Wipe Dalvik Cache 清空虚拟机缓存(可以解决一些程序FC的问题)
Wipe Battery Stats 清空电池调试记录数据(感觉电量有问题的机油也可以试试)Report Error 错误报告
Key Test 按键测试
Partition SD Card 对内存卡分区
Fix Permissions 修复Root权限在Partition SD Card选项有几种容量可供选择,选择相应的数值之后按电源键,会对卡进行分区,此过程不可逆!Recovery是刷机必须使用到的工具,操作上其实不困难。

以上是关于Android操作系统是基于Linux Kernel是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

第十章

Android手机是基于linux的,可以当做一般的linux电脑用吗

Android深度探索(卷1)HAL与驱动开发阅读心得10

Android操作系统是基于Linux Kernel是啥意思

苹果5S刷入Kerne1Cache出错怎么回事

linux mount 操作