Rabu, 11 Mei 2011

Android

v  Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

v  Sejarah Android

Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubi, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler.
v  Produk awal
Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010).
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat mobile yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru.
Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.
v  Versi Android
·         Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

·         Android versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

·         Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

·         Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.



Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.
v  Android bagi komunitas sumber terbuka (open source)
Android memiliki berbagai keunggulan sebagai software yang memakai basis kode komputer yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru di dalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti pushmail Gmail, Google Maps, dan Google Calendar.
v  Fitur Fitur Android
·         Handset layout
Platform disesuaikan dengan lebih besar, VGA, grafik 2D perpustakaan, grafis 3D perpustakaan berdasarkan OpenGL ES 1,0 spesifikasi, dan tata letak smartphone tradisional.
·         Storage (Penyimpanan)
Software database SQLite digunakan untuk tujuan penyimpanan data
·         Connectivity (Konektivitas)
Android mendukung teknologi konektivitas termasuk GSM / EDGE, CDMA, EV-DO, UMTS, Bluetooth, dan Wi-Fi.
·         Messaging (Pesan)
SMS dan MMS tersedia bentuk threaded pesan termasuk pesan teks.

·         Web browser (Web browser)
Browser web yang tersedia di Android didasarkan pada open source WebKit kerangka aplikasi.
·         Java support (Dukungan java)
Perangkat lunak yang ditulis di Jawa dapat dikompilasi akan dieksekusi dalam Dalvik mesin virtual, yang merupakan implementasi VM yang dirancang khusus untuk perangkat mobile digunakan, meskipun tidak secara teknis standar Java Virtual Machine.
·         Media support (Dukungan media)
Android berikut mendukung audio / video / masih format media: H.263, H.264 (dalam 3GP atau MP4 wadah), MPEG-4 SP, AMR, AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam MP4 atau kontainer 3GP), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP.
·         Additional hardware support (Dukungan hardware tambahan)
Android dapat menggunakan video / still camera, touchscreens, GPS, pengukur kecepatan, magnetometer, akselerasi 2D bitblits (dengan hardware orientasi, scaling, konversi format piksel) dan mempercepat grafis 3D.
·         Development environment (Lingkungan pengembangan)
Termasuk perangkat emulator, tools untuk debugging, memori dan kinerja profil, sebuah plugin untuk Eclipse IDE.
·         Market (Pasar)
Mirip dengan App Store pada iPhone OS, yang Android Pasar adalah sebuah katalog aplikasi yang dapat didownload dan diinstal untuk menargetkan hardware over-the-air, tanpa menggunakan PC. Awalnya hanya freeware aplikasi yang didukung. Paid-untuk aplikasi telah tersedia di Pasar Android di Amerika Serikat sejak 19 Februari 2009.

·         Multi-touch
Android memiliki dukungan asli untuk multi-touch tapi fitur dinonaktifkan pada level kernel (mungkin untuk menghindari Apple melanggar paten pada teknologi layar sentuh). Model tidak resmi telah dikembangkan yang memungkinkan multi-touch, tetapi membutuhkan superuser akses ke perangkat berkedip kernel yang unsigned.

v  Kelebihan Android
·         Multitasking – Yups, ponsel Android bisa menjalankan berbagai aplikasi, itu artinya Anda bisa browsing, Facebookan sambil dengerin lagu.
·         Kemudahan dalam Notifikasi – Setiap ada SMS, Email, atau bahkan artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android, tak ketinggalan Lampu LED Indikator yang berkedip-kedip, sehingga Anda tidak akan terlewatkan satu SMS, Email ataupun Misscall sekalipun.
·         Akses Mudah terhadap Ribuan Aplikasi Android lewat Google Android App Market – Kalau Anda seneng install aplikasi ataupun games, lewat Google Android App Market Anda bisa mendownload berbagai aplikasi dengan gratis. Ada banyak ribuan aplikasi  dan games yang siap untuk Anda download di ponsel Android.
·         Pilihan Ponsel yang beranekaragam - Bicara ponsel Android, akan terasa ‘beda’ dibandingkan dengan iOS, jika iOS hanya terbatas pada iPhone dari Apple, maka Android tersedia di ponsel dari berbagai produsen, mulai dari Sony Ericsson, Motorola, HTC sampai Samsung. Dan setiap pabrikan ponsel pun menghadirkan ponsel Android dengan gaya masing-masing, seperti Motorola dengan Motoblur-nya, Sony Ericsson dengan TimeScape-nya. Jadi Anda bisa leluasa memilih ponsel Android sesuai dengan ‘merk’ favorite.
·         Bisa menginstal ROM yang dimodifikasi – tak puas dengan tampilan standar Android, jangan khawatir ada banyak Costum ROM yang bisa Anda pakai di ponsel Android.
·         Widget – benar sekali, dengan adanya Widget di homescreen, Anda bisa dengan mudah mengakses berbagai setting dengan cepat dan mudah.
·         Google Maniak – Jika Anda pengguna setia layanan Google mulai dari Gmail sampai Google Reader, ponsel Android telah terintegrasi dengan layanan Google, sehingga Anda bisa dengan cepat mengecek email dari gMail.

v  Kekurangan Android
·         Koneksi Internet yang terus menerus – Yups, kebanyakan ponsel Android memerlukan koneksi internet yang simultan alias terus menerus aktif. Penulis sendiri menggunakan Motorola Milestone, dan koneksi internet GPRS selalu aktif setiap waktu, itu artinya Anda harus siap berlangganan paket GPRS yang sesuai dengan kebutuhan.
·         Iklan – Aplikasi di Ponsel Android memang bisa didapatkan dengan mudah dan gratis, namun konsekuensinya di setiap Aplikasi tersebut, akan selalu Iklan yang terpampang, entah itu bagian atas atau bawah aplikasi
Read More

Rabu, 27 April 2011

Concurrency

Concurrency merupakan landasan umum perancangan sistem operasi. Proses-proses disebut kongkurensi jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Untuk penanganan kongkuren, bahasa pemograman saat ini telah memiliki mekanisme kongkurensi dimana dalam penerapannya perlu dukungan sistem operasi dimana bahasa berada.
Read More

Kategori Kernel

Ada 4 kategori kernel:

1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.

2. Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.

3. Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat.

4. Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.
Read More

Microkernel

Microkernel adalah inti (kernel) dari operating system yang paling sederhana, tidak ada fasilitas apapun, menjadikannya kernel ini berukuran sangat kecil dan biasanya sangat stabil (hampir bisa dipastikan tidak ada lagi bugsnya).

Microkernel hanya memiliki fungsi manajemen sederhana untuk mendeliver services :
  • low-level address space management : sistem pengalamatan physical atau virtual untuk memory, network host, peripheral, dan lain-lain
  • thread management : pengaturan proses (='molekul') yang terpecah menjadi thread (='atom') dan dijalankan secara paralel.
  • inter-process communication (IPC) : pengaturan komunikasi antar thread pada satu atau beberapa proses. IPC bisa punya ruang lingkup di dalam atau antar komputer.
Arsitektur microkernel sangat berbeda dengan monolithic kernel :
  • Monolithic kernel memiliki struktur vertical layered : setiap aplikasi memanggil servis yang berada di bawahnya
  • Microkernel memiliki struktur horizontal : aplikasi memanggil servis yang berada sejajar dengan menggunakan IPC
Read More

Symmetric Multiprocessing

Kernel dapat berjalan pada processor manapun. Memungkinkan bagian-bagian kernel berjalan secara paralel. Biasanya setiap processor melakukan self-scheduling dari pool proses atau thread yang tersedia.
Read More

Load Balancing

Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Load balancing hanya perlu untuk dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri( private queue) untuk proses-proses yang akan dipilih untuk dieksekusi. Ada dua jenis load balancing: push migration dan pull migration. Pada push migration, ada suatu task spesifik yang secara berkala memeriksa load dari tiap-tiap prosesor, jika terdapat ketidakseimbangan, maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. Pull migration terjadi saat prosesor yang idle menarik ( pulling) proses yang sedang menunggu dari prosesor yang sibuk. Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing.
Read More

Real Time System(RTS)

Real time system disebut juga dengan Sistem waktu nyata. Sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem. Sebuah Real time system adalah sistem yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan. Aplikasi penggunaan sistem seperti ini adalah untuk memantau dan mengontrol peralatan seperti motor, assembly line, teleskop, atau instrumen lainnya. Peralatan telekomunikasi dan jaringan komputer biasanya juga membutuhkan pengendalian secara Real time.
Berdasarkan batasan waktu yang dimilikinya, Real time system ini dibagi atas:
1. Hard Real time
Sistem hard real-time dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu. Jika kebutuhan waktu tidak terpenuhi, maka aplikasi akan gagal. Dalam definisi lain disebutkan bahwa kontrol sistem hard real-time dapat mentoleransi keterlambatan tidak lebih dari 100 mikro detik.Secara umum, sebuah proses di kirim dengan sebuah pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau menjalankan I/O. Kemudian penjadwal dapat menjamin proses untuk selesai atau menolak permintaan
karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum. Pemberian jaminan seperti ini tidak dapat dilakukan dalam sistem dengan secondary storage atau virtual memory, karena sistem seperti ini tidak dapat meramalkan waktu yang dibutuhkan untuk mengeksekusi suatu proses.


2. Soft Real time
Komputasi soft real-time memiliki sedikit kelonggaran. Dalam sistem ini,proses yang kritis menerima prioritas lebih daripada yang lain. Walaupun menambah fungsi soft real-time ke sistem time sharing mungkin akan mengakibatkan ketidakadilan pembagian sumber daya dan mengakibatkan delay yang lebih lama, atau mungkin menyebabkan starvation, hasilnya adalah tujuan secara umum sistem yang dapat mendukung multimedia, grafik berkecepatan tinggi, dan variasi tugas yang tidak dapat diterima di lingkungan yang tidak mendukung komputasi soft real-time.

Read More