Android OS Architecture

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
Hi Javadroids,

to remedy your Android-Sickness I'd like to give some medical background of the Android-OS flu virus :(so that you could talk about Android when you're asked: What's Android ? It sounds cheap, not sexy and absolutely unprofessional when your answer was about Google's OS for mobile phones. Well then. What is Android OS?

Talking about an Operating System means talking about its architecture. The Android OS architecture is, if you so will, the most modern architecture of today. It consists of 4 clearly defined layers:

- Application layer (OSI model: Layer 7). This layer presents you the accessing options between human and machine:
a) Home: The starting page, your Home,
b) Social life: Contact, email, SMS, etc.,
c) Phone: The original purpose of a phone,
d) Browser: The modern communication between you and the virtual world.

- Presentation (OSI model: Layer 6+5) or in Android terminology: "APPLICATION FRAMEWORK". This layer enables the presentation of data in different ways so that human could easily see, perceive and distinguish. Colors, texts, images, forms, animation, en-/decryption, etc. and is populated by several tasks called the "Managers". They are:
a) Activity Manager: Android activities (running apps, clock, email, sms, etc.)
b) Package Manager: Android and user libraries
c) Window Manager: Managing the display (screen/X11) according to active requirements
d) Telephone Manager: ...what is that ?
e) and further Managers (Resources, content, notification, etc.)

- The cores (OSI model: Layer 4, 3). The true Android OS is found here. There's 2 cores:
a) Android-SDK libraries (similar but not the same to Java JME/J2ME) and other 3rd party's libraries (SQL, media, etc.)
b) The Dalvik Virtual Machine (DVM) and its core libraries. Don't confuse DVM with JVM. Even DVM is derived from but NOT based on JVM. JVM is a stack-based machine and DVM is a register-based machine. The main difference lies already in their names: Stack versus Register.
For those who interest on these technologies: http://markfaction.wordpress.com/2012/07/15/stack-based-vs-register-based-virtual-machine-architecture-and-the-dalvik-vm/

By the way: Google claims DVM works faster than JVM. But ORACLE tested on her own ARM machine (http://en.wikipedia.org/wiki/ARM_architecture) and boasted that JSE (Java Standard Edition) ran double-faster than DVM. Whoever is honest you're the judge and juror in person.

- The Linux Kernal (OSI model: Layers 2, 1). Matter of facts. As everyone knows that Android bases on LINUX. The HW-drivers (Disk, wifi, audio, keyboard, mouse, etc.) are implemented here. Especially: The soul of UNIX/LINUX: The File System (inodes, mappings, blocks, etc.).
For NON-technical readers:
http://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-inodes.html
And for those who love to explore the depth:
http://www.ibm.com/developerworks/linux/library/l-linux-filesystem/

So, if you guys read my posting, do some more own research and develop your own view then you could tout and boast about your Android-Expertise....I'LL TAKE MY HAT OFF TO YOU !
Joe
 
  • Like
Reactions: corek and JackV

hoithegiantinhlagi

Active Member
13/3/13
334
105
43
BR-VT
Hi Joe, can you help me explain a question?
I don't know why Mac OS was supported by Google while Linux isn't? while both were developed base Linux Kernal.
It's mean when you wanna build an android app in Mac OS you needn't to install any USB driver to connect your smart phone, but in Linux OS is opposite!!!
 

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
Hi Joe, can you help me explain a question?
I don't know why Mac OS was supported by Google while Linux isn't? while both were developed base Linux Kernal.
No offense, I don't understand your question. Android supports neither Mac OS nor "pure" LINUX. By the way, MacOS was derived from the base of UNIX-BSD (Berkeley Software Distribution of university of Berkeley) and Linux was developed from "Minix" (for mini Unix). If BSD Unix is a horse then Minix is a pony. They look alike, but NOT the same.
It's mean when you wanna build an android app in Mac OS you needn't to install any USB driver to connect your smart phone, but in Linux OS is opposite!!!
USB is a HW-SW interface and NOT a part of any OS (Android, Mac and Linux). It's a nice-to-have feature and has nothing to do with Android or Mac OS or Linux . Android apps have to be emulated on both platforms (here are 2 links as examples).
- MacOS: http://beta.appinventor.mit.edu/learn/setup/setupmac.html
- Ubuntu-Linux: https://play.google.com/store/apps/details?id=com.galoula.LinuxInstall&hl=en
 

corek

New Member
17/6/13
22
4
3
Hi Joe, can you help me explain a question?
I don't know why Mac OS was supported by Google while Linux isn't? while both were developed base Linux Kernal.
It's mean when you wanna build an android app in Mac OS you needn't to install any USB driver to connect your smart phone, but in Linux OS is opposite!!!
In Linux Distributions or Mac OS, you probadly don't need to install a USB driver to debug an Android application on the Android devices.
The official documentation for Android mentioned it in here : http://developer.android.com/tools/extras/oem-usb.html#InstallingDriver.
 

hoithegiantinhlagi

Active Member
13/3/13
334
105
43
BR-VT
Hey Joe, It seems that you really do not know what I mean right?
You should read this: http://developer.android.com/tools/device.html
In the 3rd index: Set up your system to detect your device.
  • If you're developing on Mac OS X, it just works. Skip this step.
  • If you're developing on Ubuntu Linux, you need to add a udev rules file that contains a USB configuration for each type of device you want to use for development.

 

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
Hey Joe, It seems that you really do not know what I mean right?
You should read this: http://developer.android.com/tools/device.html
In the 3rd index: Set up your system to detect your device.
  • If you're developing on Mac OS X, it just works. Skip this step.
  • If you're developing on Ubuntu Linux, you need to add a udev rules file that contains a USB configuration for each type of device you want to use for development.
NOPE. I do understand your question but you seem not to understand the principle of an Operating System. So you confuse OS with add-on features (similar to a browser with Adobe-Flash add-on). Any extra driver for whatever external device, regardless of its origin, is never a part of an OS. USB is NOT a part of Android-OS. UBS was/is included for sake of "bulk memory" (cards, disk, etc.) or for a connection to a whatever external device. The above hints make it clear that you're lucky on MacOS but not on Linux. By the way, what Linux ? Ubuntu? Red Hat ?

USB = Universal Serial Bus, a new high-speed development to replace the old serial or parallel Interface (for old TTY or Printer) http://en.wikipedia.org/wiki/USB.

Again:
USB is an interface to any external device: Phone, memory card/disk, printer, scanner, TV, etc. and NEVER a part of any OS. Or in other words: Are drivers of phone, memory card/disk, printer, scanner, TV part of Android or MacOS or Linux ?
 

corek

New Member
17/6/13
22
4
3
By the way, what Linux ? Ubuntu? Red Hat ?
Linux is a Operating System kernel, it's a part of an OS, a heart of an OS. It consits of core processing of OS, memory management, file system, task scheduling, ..
Linux Distribution is built on the top of Linux kernel. It consists of kernel + many applications like media players, document processors. It's OS completely.

Ubuntu, Red Hat, Slackware, Fedora are Linux distributions.

Again:
USB is an interface to any external device: Phone, memory card/disk, printer, scanner, TV, etc. and NEVER a part of any OS. Or in other words: Are drivers of phone, memory card/disk, printer, scanner, TV part of Android or MacOS or Linux ?
Surely, they live in.
 

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
Yes Corek,
MacOS, SunOS are offspring of BSD-UNIX and BSD-UNIX was derived from AT&T UNIX. HP-UX, XENIX belong to the AT&T UNIX clan. AIX was spawned by GNU-LINUX. All IX are children of AT&T UNIX. It's like the Humanoids: Ape, Orangutan, Gorilla and Human. They are all alike, but somehow different.
Surely, they live in.
True, but they aren't any part of an Operating System. Without them an OS is naked but still alive, not dead.
Without add-ons a browser is still a functional browser. With add-ons a browser just becomes more lively. Agreed ?
 

corek

New Member
17/6/13
22
4
3
True, but they aren't any part of an Operating System. Without them an OS is naked but still alive, not dead.
Without add-ons a browser is still a functional browser. With add-ons a browser just becomes more lively. Agreed ?
I agree with you :D. "live" instead of "is part of" that i used in above sentence because they all drivers can arrive (provided by HW manufacters) and live in OS but they can go away if they want. The relationship is loose as you mentioned.
 

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
You're better and better...
My English compiler got some input errors, pls give me some advice to fix it! See above ^
Thank you.
If you don't mind:
I agree with you :D. "live" instead of "is part of" that I i used in (the) above sentence because they all drivers are can arrive (provided by HW manufacturers) and live within OS but they can could be removed if they weren't needed go away if they want. The relationship is loose as you mentioned.
1) The first personal pronoun I must be in capital (incorrect: i)
2) The strike-through sentences are not wrong but very un-English.
3) Conditional "could be removed if they weren't" because it's a hypothesis.
 
  • Like
Reactions: corek

hattieu0708

New Member
10/12/13
1
0
1
34
Chanh tươi được xem là 1 trong 5 cách trị nám có hiệu quả cao.
Vitamin C, vitamin A, B1, B2 và PP cũng như các axit hữu cơ, axit citric, axit…. có trong chanh được xem là thần dược dưỡng trắng da, tẩy tế bào chết tự nhiên. Điều đó cũng có nghĩa là chanh tươi có thể giúp điều trị nám da hiệu quả.
Để có cách trị nám hiệu quả bằng chanh tươi, bạn có thể dùng chanh làm mặt nạ dưỡng da.
Cách 1: Pha nước cốt chanh và nước với lượng bằng nhau bôi lên vết nám hàng ngày. Sau 15 phút thì rửa sạch.
Cách 2: Pha nước cốt chanh với mật ong. Bôi lên vết nám hàng ngày.
Cách 3: Nghiền 1 quả chuối sau đó trộn với 1 thìa nước cốt chanh và 2 thìa mật ong sẽ dưỡng da hiệu quả đồng thời giảm hắc tố melanin.
Cách 4: Trộn nước ép cà chua với nước ép chanh với lượng bằng nhau rồi đắp lên mặt.
Cách 5: Trộn 1 thìa bột nghệ, 1 thìa nước ép đu đủ và 1 thìa nước cốt chanh. Thoa lên vùng da bị nám trong 20 phút sẽ cho hiệu quả điều trị nám da cao.
 

Joe

Thành viên VIP
21/1/13
2,942
1,303
113
Topic khá hay và hữu ích. Bác chủ top cho em xin cái skype hoặc số phone nhé, em đang cần hỏi bác cái này xíu a, mãi mới tìm thấy bác :)
If you talk to me then I have to tell you that I have NEITHER Skype NOR a Vietnamese mobile phone. Sorry!