Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

Android OS Architecture

Discussion in 'Rom & Root Android' started by Joe, 17/7/13.

  1. Joe

    Joe Thành viên VIP

    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:

    By the way: Google claims DVM works faster than JVM. But ORACLE tested on her own ARM machine ( 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:
    And for those who love to explore the depth:

    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 !
    corek and JackV like this.
  2. hoithegiantinhlagi

    hoithegiantinhlagi Active Member

    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!!!
  3. Joe

    Joe Thành viên VIP

    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.
    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:
    - Ubuntu-Linux:
  4. corek

    corek New Member

    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 :
  5. hoithegiantinhlagi

    hoithegiantinhlagi Active Member

    Hey Joe, It seems that you really do not know what I mean right?
    You should read this:
    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.

  6. Joe

    Joe Thành viên VIP

    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)

    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 ?
  7. corek

    corek New Member

    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.

    Surely, they live in.
  8. Joe

    Joe Thành viên VIP

    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.
    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 ?
  9. corek

    corek New Member

    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.
  10. Joe

    Joe Thành viên VIP

    You're better and better...
    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.
    corek likes this.
  11. phuhoanganh12

    phuhoanganh12 New Member

    cam ơn thông tin của bạn
  12. hattieu0708

    hattieu0708 New Member

    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.
  13. Joe

    Joe Thành viên VIP

    If you talk to me then I have to tell you that I have NEITHER Skype NOR a Vietnamese mobile phone. Sorry!

Chia sẻ trang này