Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh. Terdiri dari beberapa layer mulai dari aplikasi, framework aplikasi, pustaka, runtime Android yang menjalankan mesin virtual Dalvik, hingga kernel Linux. Sistem keamanan Android menerapkan konsep sandbox dan perizinan untuk membatasi akses aplikasi.
1. GOOGLE ANDROIDSTRUCTURE, KERNEL SYSTEM, MEMORY MANAGEMENT, SECURITY.
Gambaran Umum Android
Sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon
pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan
finansial dari Google
1.Struktur Sistem Operasi Android:
Bagan Struktur Sistem Operasi:
2. 1.1 Layer Applications dan Widget
Inilah layer pertama pada OS Android, biasa dinamakan layer Applications danWidget.
Layer ini merupakan layer yang berhubungan dengan aplikasi-aplikasi intiyang berjalan pada
Android OS. Seperti klien email, program SMS, kalender, browser, peta, kontak, dan lain-lain.
Semua aplikasi ini dibuat dengan menggunakan bahasa Java. Apabila kalian membuat aplikasi,
maka aplikasi itu ada di layer ini.
1.2 Layer Applications Framework
Applications Framework merupakan layer dimana para pembuat aplikasi
menggunakan komponen-komponen yang ada di sini untuk membuat aplikasi tersebut.
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk
mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk
mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi.
Beberapa contoh komponen yang termasuk dalam Applications Framework:
Activity Manager berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga
keadaan ”Backstack“ untuk navigasi penggunaan
Content Providers berfungsi untuk merangkum data yang memungkinkandigunakan oleh
aplikasi lainnya, seperti daftar nama
Resuource Manager untuk mengatur sumber daya yang ada dalam program.
Sertamenyediakan akses sumber daya diluar kode program, seperti
karakter, grafik, dan file layout.
Location Manager berfungsi untuk memberikan informasi detail mengenai lokasi perangkat
android berada.
Notification Manager mencakup berbagai macam peringatan seperti, pesanmasuk, janji, dan
lain sebagainya yang akan ditampilkan pada status bar.
1.3 Layer Libraries
Libraries merupakan layer tempat fitur-fitu rAndroid berada. Pada umumnya
libraries diakses untuk menjalankan aplikasi. Android menggunakan beberapa paket
pustakayang terdapat pada C/C++ dengan standar Berkeley Software Distribution
(BSD)hanya setengah dari yang aslinya untk tertanam pada kernel Linux.Beberapa
pustaka diantaranya:
Media Library untuk memutar dan merekam berbagai macam format audio danvideo.
Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan3D.
SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
SSl dan WebKit untuk browser dan keamanan internet.
3. Pada Layer ini terdapat Android Runtime yang merupakan layer yangmembuat
aplikasi Android bisa dijalankan.Didalam Sisem Operasi ini tertanam paket pustaka
inti yang menyediakan sebagian besar fungsi Android. Inilah yang membedakan
Androiddibandingkan dengan sistem operasi lain yang juga mengimplementasikan
Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android
menjadi lebih tangguh dengan paket pustaka yang telah ada.
1.4 Android Runtime
terdapat2 bagian utama, diantaranya:
Core
Libraries
Android dikembangkan melalui bahasa pemrograman Java, tetapi Android Runtime
bukanlah mesin virtual Java dan hampir semua fungsi yang terdapat pada pustaka Java
serta beberapa pustaka khusus android. Core Libraries biasa dikatakan sebagai sebuah
Kamus,yang berfungsi sebagai penerjemah bahasa Java/C.
Mesin Virtual
Dalvik
Dalvik merupakan sebuah mesin virtual yangdikembangkan oleh Dan Bornstein yang
terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah
interpreter mesin virtualyang mengeksekusi file dalam format Dalvik Executable (*.dex).
Dengan formatini Dalvik akan mengoptimalkan efisiensi penyimpanan dan
pengalamatanmemori pada file yang dieksekusi.
1.5 Kernel System
Kernel merupakan suatu pernagkat lunak yang menjadi bagian utama dari sebuah
system operasi. Tugasnya adalah mengatur jalannya program dan aplikasi untuk
mengakses suatu perangkat keras computer secara aman mencakup juga pengaturan
kapan suatu program dapat menggunakan satu bagian dari perangkat keras.
Macam macam kernel Yaitu:
Kernel Monolitik,
Kernel monolotik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan
lapisan perangkat keras yang berada di bawah sistem operasi.
Kernel hibrida,
Kernel hibrida adalah pendekatan desain microkernel yang di modifikasi. Pada hybrid
kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan
performanya
Mikrokernel,
Mikrokernel menyediakan sedikit saja dari abstraksi perngakat keras dan menggunakan
aplikasi yang berjalan di atasnya untuk melakukan beberapa fungsionalitas lainnya
Exokernel
Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat
mengakses hardware secara langsung. Dalam pendeketana desain exokernel, library yang
dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang
dilakukan dalam desan monolithic kernel.
4. Sistem kernel pada android
Linux Kernel merupakan layer tempat keberadaan inti dari Sistem Operasi Android
Layer ini berisi file-file system yang mengatur system processing, memory, resource,driver,
dan system Android lainnya. Kernel yang digunakan adalah kernel Linux versi2.6, dan versi
3.x pada Android versi 4.0 ke atas. Kernel ini berbasis Monolithic.Android dibangun di atas
kernel Linux 2.6.Tetapi secara keseluruhan Android bukanlah Linux, karena dalam Android
tidak terdapat paket standar yang dimilikiLinux lainnnya. Linux merupakan sistem operasi
terbuka yang handal dalammanajemen memori dan proses. Oleh karena itulah OS android
hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori,
manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera,
keypad,WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur
aplikasi dan lubang keamanan
Memory Management
Manajemen berkas pada Sistem Operasi Android dibagi menjadi 2. Penyimpanan
berkas pada memori utama, dan penyimpanan berkas pada memori sekunder(Ekternal).
Manajemen pada Android tidak berbeda jauh dari manajemen berkas di Linux atau window,
karena pada tiap ROM Android berbagai versi telah tersedia (Embedded). Namun dalam hal
ini Android memiliki Fleksibelitas. Pengguna dapat menggunakan File Manager yang lain,
tidak harus menggunakan bawaan dari Android itu sendiri.
Layaknya pada Windows atau Linux, pengaturan berkas mampu mengatur berkas, baik
dari perintah Copy/Paste, Create, Delete, Rename, Share/Send. Namun ada banyak
kelebihan pada Manajemen berkas di Android dibanding dengan Sistem Operasi
Windowatau Linux. Misalnya saja, dengan satu Aplikasi File manager yaitu ES FILE
EXPLORER,kita dapat melakukan Compress dan Decompress ZIP files, Unpack RAR files,
SearchingFile, bahkan melakukan backup aplikasi, mampu menampilkan berbagai format
photo,dokumen, dan juga video. Pada Sistem Operasi Windows, terdapat aplikasi Explorer
tidak mampu melakukan seperti halnya fungsi pada Android, melainkan membutuhkan
aplikasi lain sebagai pendukung.
Sistem Operasi Android yang berbasis pada Linux 2.6 memiliki kemiripan dalam
manajemen memori seperti menggunakan memori virtual, yang disebut Dalvik Cache pada
Android. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:
a) Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama
diantara sejumlah proses yang aktif. Agar dapat memanfaatkan pemroses dan fasilitas
masukan/keluaran secara efisien, maka memori banyak dibutuhkan.
b) Upaya agar proses tidak dibatasi kapasitas memori fisik di sistem komputer. Android
memanfaatkan virtual memori untuk mendukung kinerja system sebagai sistem
operasi multiprogramming, virtual memori dapat meningkatkan efisisensi sistem.
5. Sistem Keamanan
Aplikasi Android berjalan di sandbox, sebuah area terisolasi yang tidak memiliki
akses pada sistem, kecuali izin akses yang secara eksplisit diberikan oleh pengguna
ketika memasang aplikasi. Sebelum memasang aplikasi, Play Store akan menampilkan
semua izin yang diperlukan, misalnya: sebuah permainan perlu mengaktifkan getaran atau
menyimpan data pada Kartu SD, tapi tidak perlu izin untuk membaca SMS atau mengakses
buku telepon. Setelah meninjau izin tersebut,
pengguna dapat memilih untuk menerima atau menolaknya, dan bisa memasang aplikasi
hanya jika mereka menerimanya.
Sistem sandbox dan perizinan pada Android bisa mengurangi dampak kerentanan
terhadap bug pada aplikasi, namun ketidaktahuan pengembang dan terbatasnya
dokumentasi telah menghasilkan aplikasi yang secara rutin meminta izin yang tidak perlu,
sehingga mengurangi efektivitasnya. Beberapa perusahaan keamanan perangkat lunak
seperti Avast, Lookout Mobile Security, AVG Technologies, dan McAfee, telah merilis
perangkat lunak antivirus ciptaan mereka untuk perangkat Android. Perangkat lunak ini
sebenarnya tidak bekerja secara efektif karena sandbox juga bekerja pada aplikasi tersebut,
sehingga membatasi kemampuannya untuk memindai sistem secara lebih mendalam.
Google baru-baru ini menggunakan pemindai perangkat perusak Google Bouncer untuk
mengawasi dan memindai aplikasi di Google Play.Tindakan ini bertujuan untuk menandai
aplikasi yang mencurigakan dan memperingatkan pengguna atas potensi masalah pada
aplikasi sebelum mereka mengunduhnya. Android versi 4.2 Jelly Bean dirilis pada tahun
2012 dengan fitur keamanan yang ditingkatkan, termasuk pemindai perangkat perusak.
Pada ssstem pemindai ini tidak hanya memeriksa aplikasi yang dipasang dari Google Play,
namun juga bisa memindai aplikasi yang diunduh dari situs-situs pihak ketiga. Sistem akan
memberikan peringatan yang memberitahukan pengguna ketika aplikasi mencoba mengirim
pesan teks premium, dan memblokir pesan tersebut, kecuali jika pengguna mengijinkannya.
Telepon pintar Android juga memiliki kemampuan untuk melaporkan lokasi titik akses
Wi-Fi, terutama jika pengguna sedang bepergian, untuk menciptakan basis data yang berisi
lokasi fisik dari ratusan juta titik akses tersebut. Basis data ini membentuk peta elektronik
yang bisamemosisikan lokasi telepon pintar. Hal ini memungkinkan pengguna untuk
menjalankan aplikasi seperti Foursquare, Google Latitude, Facebook Places,
Untuk mengirimkan iklan berbasis lokasi. Beberapa perangkat lunak pemantau pihak
ketiga juga bisa mendeteksi saat informasi pribadi dikirim dari aplikasi ke server jarak jauh.
Sifat sumber terbuka Android memungkinkan kontraktor keamanan untuk menyesuaikan
perangkat dengan penggunaan yang sangat aman. Misalnya, Samsung bekerjasama
dengan General Dynamics melalui proyek "Knox" Open Kernel Labs.