日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

android和linux操作系统的区别

發布時間:2024/7/23 linux 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android和linux操作系统的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android是由Google為移動設備開發的開源操作系統。Android軟件的原始開發商Android公司是由Google,Inc.于2005年購買的。它是基于Linux 2.6內核開發的。Linux操作系統于1991年由Linus Torvalds作為臺式計算機的開源操作系統開發。Linux操作系統是作為MINIX操作系統開發的,不支持使用Intel 80386機器的32位功能。雖然Android是基于Linux開發的,但操作系統并沒有完全使用標準的Linux內核。Android架構在此時只支持兩種類型的架構,即:x86和ARM。然而,Linux內核支持不同類型的架構,包括桌面/筆記本電腦/服務器系統中最常用的x86架構。Android系統使用移動互聯網設備(MID)的x86架構和手機的ARM平臺。


在開發Android操作系統的同時,其Linux內核還添加了一些功能:警報驅動程序,內核調試器,記錄器,電源管理和Android共享內存驅動程序。這些增強功能是建立在標準Linux內核之上的。Android內核是基于Linux2.6內核的,它是一個增強內核版本,除了修改部分Bug外,它提供用于支持Android平臺的設備驅動,其核心驅動主要包括:


Android Binder,基于OpenBinder框架的一個驅動,用于提供Android平臺的進程間通訊(IPC,inter-process communication)。
? ? 源代碼位于drivers/staging/android/binder.c


Android電源管理(PM),一個基于標準Linux電源管理系統的輕量級的Android電源管理驅動,針對嵌入式設備做了很多優化。
? ? 源代碼位于kernel/power/earlysuspend.c
? ? ? ? ? ? ? ? ? ? ? ? kernel/power/consoleearlysuspend.c
? ? ? ? ? ? ? ? ? ? ? ? kernel/power/fbearlysuspend.c
? ? ? ? ? ? ? ? ? ? ? ? kernel/power/wakelock.c
? ? ? ? ? ? ? ? ? ? ? ? kernel/power/userwakelock.c


低內存管理器(Low Memory Killer),相對于Linux標準OOM(Out Of Memory)機制更加靈活,它可以根據需要殺死進程來釋放需要的內存。
? ? 源代碼位于drivers/staging/android/lowmemorykiller.c


匿名共享內存(ashmem),為進程間提供大塊共享內存,同時為內核提供回收和管理這個內存的機制。
? ? 源代碼位于mm/ashmem.c


Android PMEM(Physical),PMEM用于向用戶空間提供連續的物理內存區域,DSP和某些設備只能工作在連續的物理內存上。
? ? 源代碼位于drivers/misc/pmem.c


Android Logger,一個輕量級的日志設備,用于抓取Android系統的各種日志。
? ? 源代碼位于drivers/staging/android/logger.c


Android Alarm,提供了一個定時器用于把設備從睡眠狀態喚醒,同時它也提供了一個即使在設備睡眠時也會運行的時鐘基準,
? ? 源代碼位于drivers/rtc/alarm.c


USB Gadget驅動,一個基于標準Linux USB gadget驅動框架的設備驅動,Android的USB驅動是基于gaeget框架的,
? ? 源代碼位于drivers/usb/gadget/


Android Ram Console,為了提供調試功能,Android允許將調試日志信息寫入一個被稱為RAM Console的設備里,它是一個基于RAM的Buffer。
? ? 源代碼位于drivers/staging/android/ram_console.c。


Android timed device,提供了對設備進行定時控制功能,目前支持vibrator和LED設備。
? ? 源代碼位于drivers/staging/android/timed_output.c(timed_gpio.c)。


Android操作系統自發布以來已經有了很多更新。對操作系統的每一次更新都包含很少的錯誤修復以及一些新功能。Android操作系統的每個新版本都以基于甜點項目的獨特名稱發布。這些版本遵循字母順序,例如; 蛋糕,甜甜圈,Eclair,Froyo,姜餅,蜂窩等。未來版本的Android命名為冰淇淋三明治將在2011年第4季度發布。Linux發布在各種各樣的風格,包括:debian,ubuntu,knoppix,gentoo, pacman,RPM,fedora,紅帽企業Linux,mandriva Linux,slackware和slax為主。基于ubuntu的發行版有幾個變種,例如:Edubuntu,Gobuntu,Kubuntu,Lubuntu,Xubuntu,Ubuntu Netbook,Ubuntu手機和Ubuntu Server版本。


大多數Linux發行版使用GNU C庫來滿足庫程序的需要。Android操作系統有自己的C庫,稱為Bionic,旨在提供快速的執行路徑和避免邊緣情況。該庫包含C BSD庫中的內容和Android的原始源代碼。Bionic 不與GNU C庫,ucLibc,或任何已知的Linux C庫相兼容。這意味一下幾件事情:
- 你不能指望依賴GNU C庫頭文件編譯出來的東東,能夠正常地動態鏈接到Bionic.
- 你應該 確實地 依賴Bionic并且使用Android工具鏈來編譯你的程序,工具鏈處理一些至關重要的細節問題,讓你的程序能正常運行。

此外,Android,Inc.已經開發了自己的Dalvik虛擬機,而不是Java虛擬機,它使用自己的字節碼而不是Java字節碼。


Android使用的存儲媒體被稱為“另一個Flash文件系統”(YAFFS)。由于移動設備中的空間限制,因此使用閃存。與傳統硬盤相比,閃存還提供快速讀取訪問時間和更好的抗動能沖擊阻力。Android中使用的閃存系統是NAND類型。標準的Linux系統使用磁盤驅動器而不是閃存。Ext3是標準Linux系統中使用最廣泛的文件系統。android采用Yaffs2作為MTD nand flash文件系統,源代碼位于fs/yaffs2/目錄下。Yaffs2是一個快速穩定的應用于NAND和NOR Flash的跨平臺的嵌入式設備文件系統,同其他Flash文件系統相比,Yaffs2使用更小的內存來保存他的運行狀態,因此它占用內存小;Yaffs2的垃圾回收非常簡單而且快速,因此能達到更好的性能;Yaffs2在大容量的NAND Flash上性能表現尤為明顯,非常適合大容量的Flash存儲。


在Android操作的設備中,減少浪費的電力由自己的Linux Power Manager管理,而不是Linux中采用的高級電源管理(APM)或高級配置和電源接口(ACPI)功能。


總結

以上是生活随笔為你收集整理的android和linux操作系统的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。