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
Struktur Android OS
Application, Application
Framework, Libraries, Linux
Kernel
Kernel Android OS
mencakup memory
management, security
setting, power management,
dan beberapa driver
hardware
Memory
Management
Alur penyimpanan pada
Sistem Operasi Android
Security
Sistem Keamanan Pada
Pernagkat Android
DISUSUN OLEH :
Widiyantoko
(D42112264)
Prodi Teknik Informatika
Jurusan Teknik Elektro
Universitas
Hasanuddin
2014
1.Struktur Sistem Operasi Android:
Bagan Struktur Sistem Operasi:
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.
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.
Dalam 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.
2. 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.
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
3. 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.
4. 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 bisa
memosisikan 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.

Android os

  • 1.
    GOOGLE ANDROIDSTRUCTURE, KERNELSYSTEM, 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 Struktur Android OS Application, Application Framework, Libraries, Linux Kernel Kernel Android OS mencakup memory management, security setting, power management, dan beberapa driver hardware Memory Management Alur penyimpanan pada Sistem Operasi Android Security Sistem Keamanan Pada Pernagkat Android DISUSUN OLEH : Widiyantoko (D42112264) Prodi Teknik Informatika Jurusan Teknik Elektro Universitas Hasanuddin 2014
  • 2.
    1.Struktur Sistem OperasiAndroid: Bagan Struktur Sistem Operasi: 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.
  • 3.
    1.2 Layer ApplicationsFramework 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.
  • 4.
    Pada Layer initerdapat 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. Dalam 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. 2. 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,
  • 5.
    Exokernel menyediakan hardwareabstraction 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. 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 3. 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:
  • 6.
    a.Memori utama sebagaisumber 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. 4. 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 bisa
  • 7.
    memosisikan lokasi teleponpintar. 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.