OS: Arsitektur Android OS

From OnnoWiki
Revision as of 10:34, 14 February 2026 by Onnowpurbo (talk | contribs) (Created page with " BAGIAN G — ANDROID SISTEM OPERASI BAB 13. Arsitektur Android OS Android sebagai Sistem Operasi (Bukan Sekadar OS Mobile) Dalam konteks Sistem Operasi, Android adalah sistem...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

BAGIAN G — ANDROID SISTEM OPERASI BAB 13. Arsitektur Android OS Android sebagai Sistem Operasi (Bukan Sekadar OS Mobile) Dalam konteks Sistem Operasi, Android adalah sistem operasi berbasis Linux kernel yang dirancang untuk lingkungan resource-constrained namun highly interactive. Sejalan dengan pola arsitektur OS modern yang dibahas pada bab-bab awal buku, Android menerapkan arsitektur berlapis (layered architecture) untuk mencapai abstraksi, isolasi, efisiensi, dan keamanan.

Secara konseptual, Android dapat dipahami sebagai: Linux kernel → resource manager (CPU, memori, I/O, jaringan, security). User space khusus Android → runtime, framework, dan system services. Application layer → aplikasi berjalan di atas framework, bukan langsung ke kernel. Pendekatan ini konsisten dengan prinsip kernel vs user space yang telah dibahas sebelumnya, namun Android menambahkan lapisan tambahan untuk mengakomodasi perangkat keras heterogen dan ekosistem aplikasi yang masif.

Android Software Stack Android software stack tersusun atas beberapa lapisan utama berikut. Linux Kernel (Kernel Space) Android menggunakan Linux kernel yang telah dimodifikasi. Secara fungsi inti, kernel Android tetap Linux, namun dengan tambahan subsistem khusus, antara lain: Binder IPC → mekanisme inter-process communication utama Android Ashmem (Anonymous Shared Memory) → shared memory efisien Wakelocks → kontrol power management SELinux (Mandatory Access Control) → keamanan berbasis kebijakan Contoh verifikasi kernel Android x86 (nanti di bab Android x86 Lab): uname -a cat /proc/version Insight OS: Android tidak mengganti kernel Linux, tetapi memperluasnya agar sesuai dengan karakteristik mobile & embedded system. Hardware Abstraction Layer (HAL) HAL adalah lapisan pemisah antara kernel dan user space framework. Tujuannya adalah menyembunyikan detail perangkat keras dari Android Framework. Peran utama HAL: Menyediakan API standar untuk hardware (kamera, audio, sensor, WiFi). Memungkinkan Android berjalan di berbagai vendor hardware tanpa mengubah framework. Struktur konseptual: Android Framework

       ↑
       HAL (C / C++)
       ↑

Linux Kernel Drivers Poin penting: Tanpa HAL, setiap perubahan hardware akan memaksa perubahan besar di framework → tidak scalable.

Native Libraries Lapisan ini berisi native libraries (C/C++) yang digunakan oleh runtime dan framework, antara lain: Bionic libc → implementasi standard C library Android OpenGL ES / Vulkan → grafis SQLite → database embedded Media Framework → audio & video Contoh melihat library native (di Android x86 shell): ls /system/lib ls /system/lib64 Perbandingan akademik: Linux desktop → glibc Android → Bionic libc (lebih ringan, lebih ketat) Android Runtime (ART) Android Runtime (ART) bertanggung jawab atas eksekusi aplikasi. Fungsi utama ART: Ahead-of-Time (AOT) compilation Just-in-Time (JIT) compilation Garbage collection Thread management Aplikasi Android tidak berjalan sebagai native ELF binary biasa, melainkan sebagai: Bytecode → dikompilasi → dijalankan oleh ART Keterkaitan OS: ART beroperasi di user space, tetapi mengandalkan scheduler, memory manager, dan IPC kernel Linux.

Android Framework (Java/Kotlin API) Framework adalah API tingkat tinggi yang digunakan oleh aplikasi, mencakup: Activity Manager Window Manager Package Manager Location Manager Telephony & Connectivity Services Framework ini berkomunikasi dengan: System services (daemon user space) Kernel (melalui Binder IPC) Analogi OS klasik: Framework ≈ user-space system services pada OS desktop/server. Application Layer Lapisan teratas adalah aplikasi Android, baik: System apps User apps Setiap aplikasi: Berjalan sebagai process terpisah Memiliki UID sendiri Terisolasi oleh Linux process isolation + SELinux Cek isolasi process di Android: ps -A | head Inti keamanan: Isolasi aplikasi Android langsung bergantung pada mekanisme kernel Linux, bukan sekadar kebijakan framework.

Kernel Linux di Android Android memanfaatkan fitur inti Linux yang telah dibahas pada bab kernel: Scheduler → mengatur thread aplikasi Virtual memory → isolasi & efisiensi RAM Device driver → interaksi hardware Networking stack → TCP/IP, WiFi, cellular SELinux → mandatory access control Contoh cek status SELinux (Android x86): getenforce Output: Enforcing → kebijakan aktif Permissive → logging saja Catatan akademik: Android adalah contoh OS modern yang sangat ketat pada security by design. HAL & User Space (Interaksi Nyata) Alur nyata interaksi sistem: App → Framework → System Service → HAL → Kernel Driver → Hardware Contoh kasus: App kamera Framework memanggil Camera Service Camera Service memanggil HAL kamera HAL berinteraksi dengan driver kernel Hardware kamera aktif Relevansi pembelajaran: Mahasiswa dapat memetakan ulang alur ini ke: OpenWRT (user space ↔ kernel) Linux server (daemon ↔ syscall) Embedded OS lainnya

AOSP (Android Open Source Project) Overview AOSP adalah basis open source Android. Karakteristik utama AOSP: Tanpa Google proprietary services Bisa dibangun & dimodifikasi Cocok untuk pembelajaran OS engineering Struktur umum source AOSP: build/ frameworks/ hardware/ kernel/ system/ Filosofi buku: Android bukan black box. Ia adalah sistem operasi open source yang bisa dibedah, dibangun, dan dipahami. AOSP akan digunakan secara praktis pada: BAB 14: Android x86 from Scratch PRAKTIKUM 9: Android x86 Build Lab Refleksi Akademik (OBE Alignment) Setelah bab ini, mahasiswa diharapkan mampu: Menjelaskan arsitektur Android sebagai sistem operasi Memetakan peran kernel Linux dalam Android Memahami HAL sebagai kunci portabilitas hardware Mengaitkan Android dengan konsep OS klasik (process, memory, IPC, security) Bab ini menjadi jembatan konseptual sebelum mahasiswa: Membangun Android x86 sendiri Mengamati Android sebagai OS yang bisa di-boot Melihat langsung relasi kernel ↔ user space

Penutup Android dalam buku ini bukan dipelajari sebagai platform aplikasi, melainkan sebagai: contoh nyata sistem operasi modern berbasis Linux yang berhasil diadopsi secara global. Dengan memahami Android pada level arsitektur OS, mahasiswa tidak hanya: Mengerti cara pakai Android, tetapi Siap menjadi OS engineer yang memahami sistem dari kernel hingga aplikasi.