PENGERTIAN DAN CONTOH DARI BATCH SYSTEM, CRITICAL SECTION,PROCESS CONTROL BLOCK, DISTRIBUTED PROCESSING, HANDHELD,THREAD.
BATCH SYSTEM
PENGERTIAN
BATCH SYSTEM
Batch system adalah dimana job-job yang mirip dikumpulkan dan
dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi
selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain
adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas
sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada
komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah
sistem operasi. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang
tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn
Monitoring System ) dan IBSYS.
Contoh sebuah Batch System adalah sebuah
e-mail dan transaksi batch processing. Dalam suatu sistem batch processing,
transaksi secara individual dientri melalui peralatan terminal, dilakukan
validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi
lain, dan kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian,
selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih
lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.
BENTUK DARI BATCH SYSTEM
ada 2 cara dalam Batch System yaitu :
- Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.
- Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Critical Section
Critical
Section adalah bagian dari suatu proses yang akan melakukan akses dan
manipulasi data.
Ketika
sebuah proses sedang dijalankan dalam critical section nya, tidak ada
proses lain yang boleh dijalankan dalam critical section tersebut,
karena akan menyebabkan keadaan mutually exclusive.
Mutually
exclusive yakni keadaan terjadinya akses resources yang sama di saat yang
bersamaan. Mutually exclusive memerlukan kondisi tertentu agar dapat terpenuhi.
Critical
section biasanya
digunakan saat program multithreading, dimana program tersebut terdiri
dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical
section diperlukan untuk melindungi variabel dari concurrent access
(pengaksesan program di saat yang bersamaan) yang dapat membuat nilai dari
variabel tersebut menjadi tidak konsisten.
Seperti yang
telah kita ketahui bahwa proses dapat bekerja sendiri (independent process)
dan juga dapat bekerja bersama proses-proses yang lain (cooperating process).
Pada umumnya ketika proses saling bekerjasama (cooperating process) maka
proses-proses tersebut akan saling berbagi data. Pada saat proses-proses
berbagi data, ada kemungkinan bahwa data yang dibagi secara bersama itu akan
menjadi tidak konsisten dikarenakan
Adanya kemungkinan
proses-proses tersebut melakukan akses secara bersamaan yang menyebabkan data
tersebut berubah, hal ini dikenal dengan istilah Race Condition.
Oleh karena
itu, dibutuhkan solusi yang tepat untuk menghindari munculnya Race Condition.
Solusi tersebut harus memenuhi ketiga syarat berikut:
- Mutual Exclusion
- Progress
- Bounded Waiting
Ada dua jenis solusi untuk
memecahkan masalah critical section,
yaitu.
- Solusi Perangkat Lunak. Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
- Solusi Perangkat Keras. Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.
Berikut ini algoritma-algoritma yang
digunakan untuk mengatasi masalah critical section:
1. Algoritma I
Algoritma I
memberikan giliran kepada setiap proses untuk memproses critical section-nya
secara bergantian.
Asumsi yang
digunakan disini setiap proses secara bergantian memasuki critical section-nya.
Statement
while(turn != 4) akan memeriksa apakah pada saat itu proses 4 mendapatkan turn,
jika tidak maka proses 4 akan busy waiting(lihat kembali bahwa printah while
diakhiri dengan “;”). Jika ternyata pada saat itu merupakan giliran proses 4
maka proses 4 akan mengerjakan critical section-nya. Sampai sini jelas terlihat
bahwa mutex terpenuhi! Proses yang tidak mendapatkan turn tidak akan dapat
mengerjakan critical section-nya dan turn hanya akan diberikan pada satu proses
saja.
Setelah
proses 4 selesai mengerjakan critical section maka turn diberikan pada proses
lainnya (turn= j, j merupakan proses selanjutnya yang dapat mengerjakan
critical section). Setelah turn-nya diberikan kepada proses lain, proses 4 akan
mengerjakan remainder section. Disini jelas terlihat bahwa syarat
bounded waiting jelas terpenuhi. Ingat asumsi yang digunakan dalam algoritma
ini adalah setiap proses secar bergantian memasuki critical section-nya, jika
pada saat itu proses 4 ternyata belum mau mengerjakan critical section-nya maka
proses ke-j tidak akan mendapatkan kesempatan untuk mengerjakan critical
section walau saat itu sebenarnya proses ke-j akan memasuki critical section.
Artinya syarat progress tidak terpenuhi pada algoritma ini.
2. Algoritma II
Masalah yang
terjadi pada algoritma 1 ialah ketika di entry section terdapat sebuah proses
yang ingin masuk ke critical section, sementara di critical section sendiri
tidak ada proses yang sedang berjalan, tetapi proses yang ada di entry section
tadi tidak bisa masuk ke critical section. Hal ini terjadi karena giliran untuk
memasuki critical section adalah giliran proses yg lain sementara proses
tersebut masih berada di remainder section. Untuk mengatasi masalah ini maka
dapat diatasi dengan merubah variabel trun pada algoritma pertama dengan array
Boolean flag
[2];
Elemen array
diinisialisasi false. Jika flag[i] true, nilai tersebut menandakan bahwa Pi
ready untuk memasuki critical section. Pada algoritma ini. hal pertama yang
dilakukan ialah mengeset proses Pi dengan nilai True, ini menandakan bahwa Pi
ready untuk masuk ke critical section. kemudian, Pi memeriksa apakah Pj
tidak ready
untuk memasukui critical section. Jika Pj ready, maka Pi menunggu sampai Pj
keluar dari critical section (flag[j] bernilai false). Ketika keluar dari
critcal section, Pi harus merubah nilai flag[i] menjadi false agar prores lain
dapat memasuki critical section.
Contoh:
Pada
algoritma ini, kriteria Mutual-exclusion terpenuhi, tetapi tidak memenuhi
kriteria
progress.
Ilustrasinya seperti di bawah ini.
T0 : Po set
flag [0] = true
T1 : Po set
flag [1] = true
Dari
ilustrasi diatas terlihat bahwa algoritma ini memungkinkan terjadinya nilai
true untuk kedua proses, akibatnya tidak ada proses yang akan berhasil memasuki
critical section.
Jadi untuk
algoritma 2 masih terdapat kelemahan, seperti yang terjadi di atas.
3. Algoritma III
Idenya
berasal dari algoritma 1 dan 2. Algoritma 3 mengatasi kelemahan pada algoritma
1 dan 2 sehingga progres yang diperlukan untuk mengatasi critical section
terpenuhi.
Algoritma
III ditemukan oleh G.L. Petterson pada tahun 1981 dan dikenal juga sebagai
Algoritma Petterson. Petterson menemukan cara yang sederhana untuk mengatur
proses agar memenuhi mutual exclusion. Algoritma ini adalah solusi untuk
memecahkan masalah critical section pada dua proses. Ide dari algoritma
ini adalah menggabungkan variabel yang di- sharing pada Algoritma I dan
Algoritma II, yaitu variabel turn dan variabel flag. Sama seperti
pada Algoritma I dan II, variabel turn menunjukkan giliran proses mana
yang diperbolehkan memasuki critical section dan variabel flag
menunjukkan apakah suatu proses membutuhkan akses ke critical section
atau tidak.
Awalnya flag
untuk kedua proses diinisialisai bernilai false, yang artinya kedua proses
tersebut tidak membutuhkan akses ke critical section. Kemudian jika
suatu proses ingin memasuki critical section, ia akan mengubah flag-nya
menjadi true (memberikan tanda bahwa ia butuh critical section)
lalu proses tersebut memberikan turn kepada lawannya. Jika lawannya
tidak menginginkan critical section (flag-nya false), maka
proses tersebut dapat menggunakan critical section, dan setelah selesai
menggunakan critical section ia akan mengubah flag-nya menjadi false.
Tetapi apabila proses lawannya juga menginginkan critical section maka
proses lawan-lah yang dapat memasuki critical section, dan proses
tersebut harus menunggu sampai proses lawan menyelesaikan critical section
dan mengubah flag-nya menjadi false.
Misalkan
ketika P0 membutuhkan critical section, maka P0 akan mengubah flag[0]
= true, lalu P0 mengubah turn= 1. Jika P1 mempunyai flag[1]
= false, (berapapun nilai turn) maka P0 yang dapat mengakses critical
section. Namun apabila P1 juga membutuhkan critical section, karena flag[1]
= true dan turn= 1, maka P1 yang dapat memasuki critical
section dan P0 harus menunggu sampai P1 menyelesaikan critical section
dan mengubah flag[1] = false, setelah itu barulah P0 dapat
mengakses critical section.
Bagaimana
bila kedua proses membutuhkan critical section secara bersamaan? Proses
mana yang dapat mengakses critical section terlebih dahulu? Apabila
kedua proses (P0 dan P1) datang bersamaan, kedua proses akan menset
masing-masing flag menjadi true (flag[0] = true dan
flag[1] = true), dalam kondisi ini P0 dapat mengubah turn = 1 dan
P1 juga dapat mengubah turn = 0. Proses yang dapat mengakses critical
section terlebih dahulu adalah proses yang terlebih dahulu mengubah turn
menjadi turn lawannya. Misalkan P0 terlebih dahulu mengubah turn=
1, lalu P1 akan mengubah turn= 0, karena turn yang terakhir
adalah 0 maka P0-lah yang dapat mengakses critical section terlebih
dahulu dan P1 harus menunggu.
Algoritma
III memenuhi ketiga syarat yang dibutuhkan. Syarat progress dan bounded
waiting yang tidak dipenuhi pada Algoritma I dan II dapat dipenuhi oleh
algoritma ini karena ketika ada proses yang ingin mengakses critical section
dan tidak ada yang menggunakan critical section maka dapat dipastikan
ada proses yang bisa menggunakan critical section, dan proses tidak
perlu menunggu selamanya untuk dapat masuk ke critical section.
4. Algoritma Tukang Roti
Algoritma
ini didasarkan pada algoritma penjadwalan yang biasanya digunakan oleh tukang
roti, dimana urutan pelayanan ditentukan dalam situasi yang sangat sibuk.
Algoritma ini dapat digunakan untuk memecahkan masalah critical section untuk
n buah proses, yang diilustrasikan dengan n buah pelanggan. Ketika memasuki
toko, setiap pelanggan menerima
sebuah
nomor. Sayangnya, algoritma tukang roti ini tidak dapat menjamin bahwa dua
proses (dua pelanggan) tidak akan menerima nomor yang sama. Dalam kasus di mana
dua proses menerima nomor yang sama, maka proses dengan nomor ID terkecil yang
akan dilayani dahulu. Jadi, jika Pi dan Pj menerima nomor yang sama dan i <
j, maka Pi dilayani dahulu. Karena setiap nama proses adalah unik dan berurut,
maka algoritma ini dapat digunakan untuk memecahkan masalah critical section
untuk n buah proses.
Struktur
data umum algoritma ini adalah
boolean
choosing[n];
int number [n];
Awalnya,
struktur data ini diinisialisasi masing-masing ke false dan 0, dan menggunakan
notasi berikut:
– (a, b)
< (c, d) jika a < c atau jika a= c dan b < d
– max(a0, …,
an-1) adalah sebuah bilangan k, sedemikian sehingga k >= ai untuk setiap i=
0, …, n – 1
Dengan
demikian, diketahui bahwa Algoritma I dan II terbukti tidak dapat
memecahkan masalah critical section untuk dua proses karena tidak memenuhi
syarat progress dan bounded waiting. Algoritma yang dapat menyelesaikan masalah
critical section pada dua proses adalah Algoritma III. Sedangkan untuk masalah
critical section pada n-buah proses dapat diselesaikan dengan menggunakan
Algoritma Tukang Roti.
Penjadwalan
CPU
Penjadwalan
CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di
dalam komputer. Dimana proses-proses tersebut berjalan dalam pola yang disebut
Siklus Burst.
Penjadwalan
sangat penting dalam menentukan performance sebuah komputer karena
mengatur alokasi resource dari CPU untuk menjalankan proses-proses di
dalam komputer. Penjadwalan CPU merupakan suatu konsep dasar dari multiprograming,
karena dengan adanya penjadwalan dari CPU itu sendiri maka proses-proses
tersebut akan mendapatkan alokasi resource dari CPU.
Penjadwalan
CPU mungkin akan dijalankan ketika proses dalam keadaan:
- Berubah dari running ke waiting state.
- Berubah dari running ke ready state.
- Berubah dari waiting ke ready state.
- Dihentikan.
Penjadwalan
nomor 1 dan 4 bersifat Non Preemptive sedangkan lainnya Preemptive.
Penjadwalan
yang biasa digunakan sistem operasi dewasa ini biasanya bersifat Preemptive.
Bahkan beberapa penjadwalan sistem operasi, contohnya Linux 2.6,
mempunyai kemampuan Preemptive terhadap system call-nya ( preemptible
kernel).
Penjadwalan
CPU secara garis besar dibagi menjadi 2, yaitu Penjadwalan Preemptive
dan Penjadwalan Non Preemptive.
·
Penjadwalan Pre-emptive
Penjadwalan Preemptive
mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses
yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih
tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O.
Dengan kata
lain, penjadwalan Preemptive melibatkan mekanisme interupsi yang menyela
proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana
yang akan dieksekusi selanjutnya.
Penjadwalan Preemptive
memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat
sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon
terhadap event dari luar (contohnya seperti ada data yang masuk) yang
membutuhkan reaksi cepat dari satu atau beberapa proses.
Lama waktu
suatu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive
disebut time slice/quantum.
Penjadwalan
berjalan setiap satu satuan time slice untuk memilih proses mana yang
akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal
akan memakan terlalu banyak waktu proses, tetapi bila time slice terlau
lama maka memungkinkan proses untuk tidak dapat merespon terhadap event
dari luar secepat yang diharapkan.
Dalam
waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori: proses
yang memiliki Burst I/O yang sangat lama disebut I/O Bound, dan
proses yang memiliki Burst CPU yang sangat lama disebut CPU Bound.
Terkadang juga suatu sistem mengalami kondisi yang disebut busywait,
yaitu saat dimana sistem menunggu request input(seperti disk, keyboard,
atau jaringan). Saat busywait tersebut, proses tidak melakukan sesuatu
yang produktif, tetapi tetap memakan resource dari CPU. Dengan
penjadwalan Preemptive, hal tersebut dapat dihindari.
Keuntungan
penggunaan penjadwalan pre-emptive:
a) sistem lebih responsif daripada
sistem yang memakai penjadwalan Non Preemptive.
b) Sistem terhindar dari keadaan
busywait.
contoh
sistem operasi yang menerapkan penjadwalan Preemptive:
Windows 95,
Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT .
·
Penjadwalan Non
Pre-emptive
Penjadwalan Non
Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak
pernah melakukan context switch dari proses yang sedang berjalan ke
proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Penjadwalan Non
Preemptive terjadi ketika proses hanya:
a) Berjalan dari running state
sampai waiting state.
b) Dihentikan.
Ini berarti
CPU menjaga proses sampai proses itu pindah ke waiting state ataupun
dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft
Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms
hardware tertentu, karena tidak memerlukan perangkat keras khusus
(misalnya timer yang digunakan untuk meng interupt pada metode
penjadwalan Preemptive).
Dispatcher
Komponen
yang lain yang terlibat dalam penjadwalan CPU adalah dispatcher.
Dispatcher adalah modul yang memberikan
kontrol CPU kepada proses yang sedang terjadwal. Fungsinya:
- Context switching
Mengganti
state dari suatu proses dan mengembalikannya untuk menghindari monopoli CPU
time. Context switching dilakukan untuk menangani suatu interrupt(misalnya
menunggu waktu I/O). Untuk menyimpan state dari proses-proses yang
terjadwal sebuah Process Control Block harus dibuat untuk mengingat
proses-proses yang sedang diatur scheduler. Selain state suatu
proses, PCB juga menyimpan process ID, program counter(posisi
saat ini pada program), prioritas proses dan data-data tambahan lainnya.
- Switching to user mode dari kernel mode.
- Lompat dari suatu bagian di progam user untuk mengulang program.
Dispatcher seharusnya dapat dilakukan secepat
mungkin. Dispatch Latency adalah waktu yang diperlukan dispatcher
untuk menghentikan suatu proses dan memulai proses yang lain.
Process Control Block (PCB)
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process
Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah
tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status
proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori.
Process Control Block adalah
informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi
beragam proses aktif, termasuk ini:
- Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
- Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
- Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9).
- Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
- Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi.
- PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.proses ini.
- CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register.
Elemen-elemen
dari PCB itu sendiri adalah :
Identifikasi
Proses yaitu Identifier numerik yang meliputi :
- Identifier proses
- Identifier proses yang menciptakan
- Identifier pemakai
Informasi
Status Pemroses yang meliputi :
- Register-register yang terlihat pemakai yaitu Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses
- Register-register kendali dan status yaitu Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.:
- Program counter
- PSW, dsb.
- Pointer stack yaitu Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
Informasi
Kendali Pemroses meliputi :
- Informasi penjadwalan dan status yaitu Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan a.l :
- Status proses. Mendefinisikan status proses (running,ready,block, dsb)
- Prioritas. Menjelaskan prioritas proses
- Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.
- Kejadian (Event). Identitas kejadian yang ditunggu proses
- Penstrukturan data yaitu Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
- Komunikasi antar proses yaitu Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB
- Kewenangan proses yaitu Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan
- Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses
- Kepemilikan dan utilisasi sumber daya yaitu Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
- Berkas yang dibuka
- Pemakaian pemroses
- Pemakaian sumberdaya lainnya
Distributed Data Processing System Beserta Contoh Implementasi
Distributed Data Processing System yang
dalam bahasa indonesianya Sistem pengolahan data terdistribusi. Merupakan
Sekumpulan komputer yang saling berkoneksi untuk memenuhi kebutuhan pengolahan
informasi dari satu entity perusahaan atau organisasi modern. Didukung oleh
komputer dan komunikasi, sistem pengolahan data terdistribusi merupakan media
pelayanan data.
Sistem pengolahan data terdistribusi dalam arti
lain yaitu meletakan sumber daya komputer pada tempat dimana user berada,
dimana sumber daya tersebut secara geografis terpisah dan saling
interkoneksi secara on-line atau secara langsung.
Sumber Daya Pengolahan Data Dalam Sistem Terdistribusi
Apa yang dimaksud sumber daya pengolahan data dalam
sistem terdistribusi? Adapun yang dimaksud dengan Sumber daya
yang didistribusikan yaitu berupa sumber daya Platform (Hardware
dan Software System), Aplikasi atau Proses dan Data atau Database.
Terminologi sistem pengolahan datanya dapat berbentuk distribusi horisontal
(setiap node komputer atau jaringan mempunyai kedudukan yang sama dengan node
lainnya).Sedangkan distribusi vertical dimana ada penjenjangan atau
hirarki antar node di setiap lokasi, misalnya kantor pusat, kantor wilayah,
kantor cabang dan unit lebih kecil lainnya yang terdistribusi hirachical
secara komputasi.
Diperlukan jaringan komunikasi komputer pada sistem
pengolahan data terdistribusi untuk dapat saling berhubungan antar site.
Jaringan komputer adalah interkoneksi antara sejumlah komputer autonomous
yang dapat saling bertukar informasi antara komputer yang saling
terhubung. Bentuk komputer yang saling terhubung biasanya disebut dengan Node,
Host atau Site. Bentuk hubungan antar komputer
tidak hanya melalui kawat tembaga saja, tetapi dapat melalui serat optic,
gelombang mikro dan satelit komunikasi
Sistem pengolahan data terdidtribusi dibangun pada top
of network, sedemikian rupa sehingga jaringan tidak nampak pada user.
User tidak perlu tahu kerumitan pengelolaan jaringan, semuanya sudah dilakukan
secara otomatik oleh sistem.
Sistem pengolahan data terdistribusi dapat diakses
oleh pengguna dengan menggunakan dua aplikasi yaitu berupa aplikasi lokal dan
aplikasi global, sehingga distributed data processing system memiliki karakteristik
yaitu :
- Kumpulan dari data logik yang digunakan bersama-sama.
- Data di bagi menjadi beberapa fragment.
- Fragment mungkin mempunyai copy ( replika ).
- Fragment / replika nya di alokasikan pada yang digunakan.
- Setiap site berhubungan dengan jaringan komunikasi.
- Data pada masing-masing site dibawah pengawasan DBMS.
- DBMS pada masing-masing site dapat mengatasi aplikasi lokal, secara otonomi.
- Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.
Alasan Sistem Pengolahan Data Terdistribusi Digunakan Dalam Berbagai Perusahaan, Organisasi Dan Perkantoran
Perkembangan organisasi yang pada umumnya mempunyai
banyak cabang yang tersebar dalam berbagai lokasi. Dan Menginginkan untuk
mengintregrasikan antar cabang-cabang tersebut sehingga pertukaran data dan
informasi dapat dilakukan dengan cepat dan koordinasi antar cabang dapat
ditingkatkan lebih baik lagi.
Distributed data processing system juga
sangat berperan, ini dikarenakan terdapat kebutuhan dan tuntutan baik dari
pihak perusahaan maupun dari sisi customer agar user dan
customer dapat berinteraksi dengan mudah.
Pengaruh Distributed Data Processing System Pada Organisasi
- Meningkatkan kemampuan komputasi
- Meningkatkan kemampuan Data Storage
- Memungkinkan kerja lebih efisien
- Meningkatkan End-user, manajemen punya otoritas lebih
Masalah pada
End-User
Banyak End-user merasa tidak puas terhadap pelayanan dari organisasi
Sentralisasi Data Prosesing :
- Harus membuat/mengisi aplikasi form.
- Menunggu proses yang lama.
- Tidak dapat mengakses ke komputer setiap saat dimana ia membutuhkan.
Persyaratan
& Tujuan pendukung System Pengolahan Data Terdistribusi
- Penggunaan komputer Mini & Mikro(dimana interkoneksi micro computer, mini computer dan large computer lebih efektif biayanya).
- Pemakaian teknik Database. (dapat sharing data oleh banyak user).
- Corporation wide work.
- Struktur jaringan yang fleksibel.
- Penggunaan standard line control & network architecture.
Contoh
Sistem Pengolahan Data terdistribusi
- Internet
- Jaringan komputer dan aplikasi yang heterogen.
- Mengimplementasikan protokol internet.
- Intranet
- Jaringan yang teradminitrasi secara lokal.
- Terhubung ke internet melalui feriwall.
- Menyediakan layanan internet dan eksternal.
- Mobile Computing ( Sistem Komunikasi telepon seluler)
- Menggunakan frekuensi radio sebagai media transmisi
- Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya
- Dapat menghandle/dihububngkan dengan perangkat lain
- Sistem Telepon
- ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
- PSTN jaringan telepon/telekomunikasi yang semuanya digital.
- Network File System (NTFS)
- WWW
- Arsitektur client server yang diterpakan dalam infrastruktur internet
Contoh Impementasi Distributed Data Processing System
Aplikasi facebook.Com yang biasa anda gunakan untuk
bersosialisai dengan saudara, kawan dan orang di seluruh dunia melalui
internet. Bila kita lihat aplikasi tersebut, database tidak didistribusikan,
tetapi proses sistem dan penggunaan fungsi-fungsi atau feature pada
sistem terpisah-pisah prosesnya tidak satu proses saja dalam satu waktu. Pada
waktu tertentu ada orang yang sedang isi status, dan mungkin di waktu yang sama
ada sedang mencari teman, ada yang mengupload foto dan sebagainya. Tampak
disini beberapa proses pada sistem terdistribusi pada setiap client
yang berbeda.
Pada penggunaan aplikasi pembayaran / transaksi online
pada suatu perusahaan, misalnya saja tiket pesawat terbang. Aplikasi tersebut
juga contoh dari aplikasi pengolahan data terdistribusi, dimana data pembayaran
ada tersimpan di database bank, sementara data tiketnya tersimpan di database
server maskapai yang menyediakan aplikasi tiket online tersebut. Jadi dapat
dikatakan bila aplikasi yang digunakan menggunakan database yang terpisah tidak
satu database saja, maka dapat dikatakan itu adalah aplikasi pengolahan data
terdistribusi atau dikenal juga dengan distributed data
processing system.
Pengertian Sistem Operasi Handheld
Handheld device adalah sebuah alat
yang dapat digunakan dengan ukuran yang cukup kecil sehingga dapat dibawa
kemana saja, sesuai dengan namanya handheld device memiliki ukuran seukuran
telapak tangan
contoh: HP
Handheld device menggunakan handheld sistem sebagai sistem kerjanya. sedangkan handheld sistem adalah sebuah system operasi yang lebih kecil dari mikrokomputer yang mempunyai memori yang terbatas, kecepatan Sistem Handheld lebih rendah dan display screen yang kecil. Contoh system handheld adalah Android, Symbian.
contoh: HP
Handheld device menggunakan handheld sistem sebagai sistem kerjanya. sedangkan handheld sistem adalah sebuah system operasi yang lebih kecil dari mikrokomputer yang mempunyai memori yang terbatas, kecepatan Sistem Handheld lebih rendah dan display screen yang kecil. Contoh system handheld adalah Android, Symbian.
Perkembangan Sistem
Operasi Handheld
Sebelum kita masuk lebih jauh tentang perkembangan
OS(sytem operasi) alangkah baiknya kita lebih mengenal dulu tentang apa itu
system operasi. Sistem operasi adalah program yang bertindak sebagai
perantara antara user
dengan perangkat keras komputer. Sistem operasi digunakan untuk
mengeksekusi
program user dan memudahkan menyelesaikan permasalahan user. Selain itu
dengan
adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem
operasi
mempunyai
tujuan untuk menggunakan perangkat keras komputer secara efisien.
Perkembangan
System Handheld
Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari
mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal
digital
assistants (PDA). Pada beberapa sistem terdapat
telepon selular. Sistem ini
mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan
display
screen yang kecil.
Sejarah Perkembangan System Handheld
- 1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
- 1996 Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
- 1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
- 2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
- 2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
- 2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
- 2002 BlackBerry merilis ponsel pintar pertamanya.
- 2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
- 2008 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
- 2009 Palm memperkenalkan webOS melalui Palm Pre.
- 2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
- 2010 Windows Phone OS dirilis.
Perkembangan Sytem Handheld (PDA)
Personal
Digital Assistants disingkat PDA adalah sebuah alat elektronik yang berbasis
komputer dan berbentuk kecil serta dapat dibawa kemana-mana. PDA banyak
digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena
perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti
kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet,
penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video,
dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat
menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS
dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih
dapat digunakan sebagai telepon genggam, akses internet, intranet, atau
extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang
paling utama adalah fasilitas layar sentuh.
Bertahun-tahun
dunia PDA membeku. Lalu Palm Inc. meluncurkan PDA pertamanya di
tahun 1996. Peluncuran inilah yang kemudian mengubah nasib PDA dan sekaligus
mendongkrak popularitas PDA di jagad elektronik.
Alat genggam
yang disinergikan dengan operating system (OS) Palm ini menuai sukses
luar biasa. Kemudahan sinkronisasi dengan PC dan pendekatan pengoperasian
berbasis ikon membuat banyak pengguna merasakan kegunaan alat yang satu ini,
lebih daripada sekedar sebuah piranti genggam biasa.
Dalam jangka
waktu enam tahun, pertumbuhan PDA sendiri boleh dikatakan luar biasa, meskipun
tentu saja tak secepat perangkat komputer pada umumnya. Selama kurun waktu
tersebut, PDA terus tumbuh, baik dari sisi teknologi maupun bisnis. contoh
sistem operasi yang digunakan. Palm OS saat ini masih merupakan pemain
yang paling dominan. Merek-merek yang menggunakan OS ini antara lain adalah
Palm sendiri, Sony, IBM dan Handspring.
Berikutnya adalah WindowsCE atau sekarang disebut PocketPC.
Operating system khusus untuk PDA atau PocketPC ini dibuat oleh Microsoft,
karena itu tampilan pada versi PocketPC 2002 hampir mnyerupai tampilan pada
Windows XP. Sebagai catatan popularitas PocketPC kini terdongkrak cukup kuat
seiring dengan komitmen Microsoft yang besar terhadap perkembangan sistem
operasi ini. Merek yang menggunakan OS ini antara lain HP, Compaq, Casio, dan
Siemen.
Fungsi PDA
Pertama dan terutama fungsi dari sebuah piranti genggam semacam PDA adalah untuk mengelola informasi atau data. Lebih spesifik lagi karena namanya juga Personal Digital Assistant, maka data yang dikelolanya pun bersifat personal. Diantaranya alamat, nomor telepon, alamat e-mail, jadwal kegiatan dan daftar kegiatan yang harus kita kerjakan. Baru setelah fungsi itu PDA dikembangkan sehingga lebih memainkan peran sebagai subnotebook. tentu saja fungsi yang selama ini diperankan oleh organizer juga termasuk didalamnya, seperti jam, kalkulator dan kalender.
Sebagian
besar PDA dapat disinkronisasikan kedalam komputer desktop atau notebook,
sehingga kita dapat me-maintenace informasi/data kita dan meng-update-nya
kedalam komputer baik yang ada dikantor maupun yang ada dirumah.
Saat ini, handheld
keluaran terbaru sudah mampu berperan sebagai alat memainkan musik, pemutar
musik MP3 (MP3 player), membaca buku elektronik (eBook Reader)
bahkan memainkan video streaming. Dengan kemampuan grafis yang tidak
lagi hitam putih, handheld ini sudah melebihi tanggung jawabnya sebagai Asisten
Pribadi sesuai dengan namanya, namun walau begitu jangan sekali-kali menyamakan
kemampuan PDA dengan notebook apalagi PC desktop.
Sistem Kerja
PDA
Sebagai
komputer genggam, PDA memiliki processor dan sistem operasi layaknya
komputer biasa. Sistem operasi ini merupakan peranti lunak utama pada
PDA. Cara kerjanya sama seperti sitem operasi pada komputer seperti Windows XP atau Mac OS, tetapi didesain
khusus untuk PDA. Terdapat dua kesamaan sistem operasi pada PDA yaitu Palm dan Pocket
PC (Windows Mobile). Keduanya bekerja dengan program piranti lunak
yang berbeda, jadi walaupun berisikan banyak dokumen seperti gambar, musik dan
lainnya yang bisa dipakai namun tidak pada pemrogaman. Pada penyimpanan data
tanpa kartu memori, data disimpan dalam RAM dengan ukuran puluhan MegaByte, sedangkan sumber energinya berasal dari baterai (dulunya A3) isi ulang.
Selain itu, bisa juga menggunakan adaptor yang disambungkan ke stop kontak AC.
Kegunaan PDA
·
Telekomunikasi
·
Informasi
·
Pendidikan
·
Olahraga
Fitur yang terdapat dalam PDA
·
Layar sentuh
·
GPS
·
PCPocket
·
Koneksi Nirkabel
·
Agenda
·
Memory
·
LAN
·
Surel
·
Hiburan
·
Kamera
·
Sinkronisasi
Keuntungan dan Kelemahan menggunakan
PDA
Keuntungan
Ukuran kecil dan ringan, piranti ini jelas menjadi penopang mobilitas kerja, sehingga kita bisa membawanya kemana-mana dan dimana saja kita dapat melakukan kerja dengan piranti ini. Sebagian aplikasi berharga murah bahkan ada yang dapat di-download secara gratis dari Internet.Aksesoris dan Perlengkapan. Sebagian aksesoris dan perlengkapan umumnya dapat diperoleh dengan gampang.Instant. Proses booting tidak memakan waktu yang lama dibandingkan desktop atau notebook.Baterai. Umur baterai tergantung model, tapi pada umumnya PDA punya ketahanan digunakan minimal sehari tanpa dicolokkan ke listrik. Bahkan ada yang bisa diganti dengan baterai alkaline biasa.Sinkronisasi Desktop. Anda bisa melakukan sinkronisasi data antara PDA dengan PC secara gampang dan praktis.Wireless. Sebagian piranti PDA dilengkapi fasilitas teknologi tanpa kabel sehingga memudahkan kita bekerja di mana saja.Sinyal Infrared. Memudahkan fasilitas transfer data tanpa perlu kabel atau peranti tambahan lainnya.Cukup satu alat. Dengan alat ini, kita tidak perlu menenteng buku, kalender, arloji, bahkan ponsel, karena saat ini ada PDA yang sudah ter-integrasi dengan ponsel.
Kelemahan
Ukuran dan berat Lantaran berukuran terlalu kecil, kadangkala Kita lupa menaruhnya dimana, atau terjatuh ketika kita simpan didalam saku kemeja atau bahkan kita benar-benar kehilangan piranti yang satu ini. Hampir semua OS di handheld tidak bisa di-upgrade layaknya OS di PC desktop atau notebook.Aksesoris dan perlengkapan. Lantaran terlalu banyak aksesoris dan perlengkapan, terkadang justru membuat ribet dan berat, apalgi jika kita sering bergerak mobile.Input Data. Proses meng-input data lebih lambat, baik menggunakan pena stylus maupun dengan kibor mini. jauh lebih kikuk dibanding input data di PC.Baterai. Bila kita mencolokkan piranti ini ke sumber listrik AC terlalu lama, umur batre akan merosot lebih cepat dibanding umur normalnya.Kenampakan layar. Sebagian PDA memang memiliki layar yang bagus, tetapi sebagian besar layar PDA sangat susah dibaca ketika berada dibawah terik sinar matahari.Kerusakan layar. Layar PDA biasanya sensitif terhadap goresan. kadangkala sensitifnya berlebihan sehingga layarnya mudah rusak.Standarisasi. Standarisasi PDA terlalu banyak, mulai dari hardware-nya maupun software-nya, sehingga meyulitkan untuk pengembangan lebih lanjut.Perubahan yang cepat. Perkembangan yang cepat mebuat kita kadangkala merasa sayang membeli alat yang secara teknologis tidak berumur lama.
Ukuran kecil dan ringan, piranti ini jelas menjadi penopang mobilitas kerja, sehingga kita bisa membawanya kemana-mana dan dimana saja kita dapat melakukan kerja dengan piranti ini. Sebagian aplikasi berharga murah bahkan ada yang dapat di-download secara gratis dari Internet.Aksesoris dan Perlengkapan. Sebagian aksesoris dan perlengkapan umumnya dapat diperoleh dengan gampang.Instant. Proses booting tidak memakan waktu yang lama dibandingkan desktop atau notebook.Baterai. Umur baterai tergantung model, tapi pada umumnya PDA punya ketahanan digunakan minimal sehari tanpa dicolokkan ke listrik. Bahkan ada yang bisa diganti dengan baterai alkaline biasa.Sinkronisasi Desktop. Anda bisa melakukan sinkronisasi data antara PDA dengan PC secara gampang dan praktis.Wireless. Sebagian piranti PDA dilengkapi fasilitas teknologi tanpa kabel sehingga memudahkan kita bekerja di mana saja.Sinyal Infrared. Memudahkan fasilitas transfer data tanpa perlu kabel atau peranti tambahan lainnya.Cukup satu alat. Dengan alat ini, kita tidak perlu menenteng buku, kalender, arloji, bahkan ponsel, karena saat ini ada PDA yang sudah ter-integrasi dengan ponsel.
Kelemahan
Ukuran dan berat Lantaran berukuran terlalu kecil, kadangkala Kita lupa menaruhnya dimana, atau terjatuh ketika kita simpan didalam saku kemeja atau bahkan kita benar-benar kehilangan piranti yang satu ini. Hampir semua OS di handheld tidak bisa di-upgrade layaknya OS di PC desktop atau notebook.Aksesoris dan perlengkapan. Lantaran terlalu banyak aksesoris dan perlengkapan, terkadang justru membuat ribet dan berat, apalgi jika kita sering bergerak mobile.Input Data. Proses meng-input data lebih lambat, baik menggunakan pena stylus maupun dengan kibor mini. jauh lebih kikuk dibanding input data di PC.Baterai. Bila kita mencolokkan piranti ini ke sumber listrik AC terlalu lama, umur batre akan merosot lebih cepat dibanding umur normalnya.Kenampakan layar. Sebagian PDA memang memiliki layar yang bagus, tetapi sebagian besar layar PDA sangat susah dibaca ketika berada dibawah terik sinar matahari.Kerusakan layar. Layar PDA biasanya sensitif terhadap goresan. kadangkala sensitifnya berlebihan sehingga layarnya mudah rusak.Standarisasi. Standarisasi PDA terlalu banyak, mulai dari hardware-nya maupun software-nya, sehingga meyulitkan untuk pengembangan lebih lanjut.Perubahan yang cepat. Perkembangan yang cepat mebuat kita kadangkala merasa sayang membeli alat yang secara teknologis tidak berumur lama.
Perkembangan Sytem Handheld (Cellular Telephones)
System Operasi yang terdapat dalam cellular telephones yaitu :
ü
Symbian
Symbian bisa
dibilang sebagai sistem operasi paling populer di dunia mengingat jumlah
penggunanya mencapai lebih dari 50% dari pengguna smartphone. Sistem operasi
ini dikembangkan oleh Symbian, Ltd.–yang merupakan kolaborasi vendor ponsel
Ericsson, Nokia, Motorola, dan Psion–dan memang dikhususkan sebagai mobile
operating system. Sistem operasi ini ditulis dengan bahasa C++. Awalnya
sistem operasi ini merupakan OS yang close source, namun dalam perkembangannya,
sistem operasi ini berubah menjadi open source dan memungkinkan banyak pihak
untuk mengembangkan aplikasi yang bisa dioperasikan di ponsel ber-OS symbian.
Versi stabil terbaru dari Symbian OS adalah Symbian OS 9.5 dan versi tak-stabil
terbarunya adalah Symbian^2 platform / Q3 yang dirilis pada tahun 2009.
Dalam
perkembangannya Symbian OS memiliki beberapa versi, yaitu
- Symbian OS 6.0 dan 6.1. contohnya adalah Nokia 9210 Communicator
- Symbian OS 7.0 dan 7.0s. Pada versi ini muncul berbagai versi user interface seperti UIQ (Sony Ericsson P800, P900, P910, Motorola A925), Series 60 (Nokia 7650, 3230, 6260, 6600, 6670, 7610, N-Gage, N-Gage QD), Series 80 (Nokia 9210, 9300, 9500), series 90 (Nokia 7710), dan MOAP–Mobile Oriented Application Platform (Contohnya ponsel NTT DoComo). Symbian OS 7.0s adalah versi 7.0 yang diadaptasi agar memiliki kompatibilitas yang lebih baik dengan versi 6.x
- Symbian OS 8.0 dan 8.1. Contohnya adalah Nokia N91
- Symbian OS 9. Digunakan untuk keperluan internal Symbian
- Symbian OS 9.1. Termasuk ponsel Nokia seri S60 3rd edition dan beberapa tipe Sony Ericsson seperti M600 dan P990.
- Symbian OS 9.2. Contohnya Nokia E90, Nokia N95, Nokia N82, dan Nokia 5700
- Symbian OS 9.3. Misalnya Nokia E72, E75, E79, dan N96
- Symbian OS 9.4. Contohnya Samsung OMNIA HD, Nokia N97, Nokia 5800 XpressMusic, Sony Ericsson Satio, dan ponsel S60 5th edition lainnya.
Sistem
operasi Symbian juga rentan terhadap ancaman sekuriti berupa virus. Contoh
virus yang sering menyerang ponsel ber-OS Symbian adalah Cabir, yang
mengirimkan dirinya dari ponsel ke ponsel lain via bluetooth.
Windows
mobile adalah versi mobile dari sistem operasi PC paling populer, Windows,
keluaran Microsoft. Sistem operasi ini didesain khusus agar bisa berjalan pada
smartphone dan perangkat mobile. Sistem operasi yang awalnya dirilis dengan
nama Pocket PC 2000 ini hampir semuanya dilengkapi stylus pen yang digunakan
sebagai ‘mouse’ pada layar ponsel. OS ini sudah berkali-kali di-update versinya
dengan versi terbarunya saat ini adalah Windows Mobile 6.5 yang dirilis 5
Oktober 2009. Ke depannya akan dirilis Windows Mobile 7.0 yang akan keluar sekitar
pertengahan 2010. User interface dari perangkat Windows Mobile menyerupai
Windows pada PC, namun sayangnya, seperti halnya Windows pada PC, sistem
operasi ini bersifat close source sehingga agak menyulitkan pihak ketiga
untuk menyediakan aplikasi yang mendukung.
Versi-versi
yang telah dirilis meliputi:
- Pocket PC 2000
- Pocket PC 2002
- Windows Mobile 2003 yang memiliki 4 edisi, yaitu : Windows Mobile 2003 for Pocket PC Premium Edition, Windows Mobile 2003 for Pocket PC Professional Edition, Windows Mobile 2003 for Smartphone, dan Windows Mobile 2003 for Pocket PC Phone Edition.
- Windows Mobile 2003 Second Edition (Windows Mobile 2003 SE)
- Windows Mobile 5
- Windows Mobile 6 yang memiliki 3 versi, yaitu : Windows Mobile 6 Standard for Smartphone (phone without touchscreen), Windows Mobile 6 Professional for Pocket PC with phone functionality, dan Windows Mobile 6 Classic for Pocket PCs without cellular radio.
Contoh dari
perangkat yang memiliki sistem operasi ini antara lain Audiovox SMT 5600, iMate
SP3i, Samsung SCH-i600, Mio 8390, Sagem myS-7, Orange SPV C500, HP iPAQ rw6100,
Motorola MPx220, O2 Xphone, dan O2 Xphone II.
UPDATE
08-02-2011: Saat ini versi terbaru dari Windows Mobile adalah Windows Phone 7
ü
Palm OS
Palm OS adalah sistem operasi mobile yang dikembangkan oleh Palm, Inc. yang
awalnya dikhususkan sebagai sistem operasi untuk PDA. Namun dalam
perkembangannya, Palm OS juga dibuat untuk smartphone. Sistem operasi ini
didesain untuk kemudahan penggunaan dengan GUI (Graphical User Interface)
berbasis touchscreen. Sistem operasi ini ditulis dengan bahasa pemrograman
C/C++ dan bersifat close source. Contoh perangkat yang menggunakan
sistem operasi Palm adalah Palm Treo 680. Smartphone ini menggunakan
system operasi Palm OS 5.4.9. Beberapa fitur yang ditawarkan adalah Pocket
Express, Microsoft Media Player, Palm files, PDF viewer, Adobe Acrobat reader,
eReader, Pocket Tunes, dan Document To Go.
ü Android
Android
adalah sistem operasi mobile yang berjalan pada kernel Linux, yang
dirilis pada 21 Oktober 2008. Awalnya, sistem operasi ini dikembangkan oleh
Android, Inc, yang kemudian dibeli oleh Google, dan yang terakhir, sistem
operasi ini dibeli oleh Open Handset Alliance, sebuah consortium dari 47
perusahaan hardware, software, dan telecom (termasuk Google) yang didirikan
untuk membuat open standard bagi perangkat lunak mobile. Sistem operasi ini
bersifat free dan open source.
Perangkat
mobile yang mendukung sistem operasi ini di antaranya adalah HTC Dream dan HTC
Magic, ponsel keluaran vendor asal Taiwan, HTC.
Blackberry
OS adalah sistem operasi mobile yang dikembangkan oleh perusahaan Kanada,
Research in Motion (RIM) yang dibuat untuk handheld andalan mereka dengan nama
yang sama. Sistem operasi ini ditulis dalam bahasa Java dan bersifat Close
Source. Versi stabil terakhir yang dikeluarkan adalah versi 5.0.0.419
(Blackberry Storm 9530).
Perangkat
yang menggunakan Blackberry OS sebagai sistem operasi tentu saja adalah semua
varian Blackberry seperti Blackberry Bold, Storm, Curve, Pearl, dan Tour.
iPhone OS
adalah sistem operasi mobile yang dikembangkan oleh Apple, Inc. yang dibuat
untuk produk mereka yaitu iPhone dan iPod Touch. Sistem operasi ini termasuk
dalam keluarga Mac OS X / Unix-like operating system. Walaupun sistem
operasinya bersifat close source, namun komponennya bersifat open source
sehingga memudahkan pihak ketiga untuk mengembangkan aplikasi-aplikasi yang
bisa berjalan pada sistem operasi ini.
User
interface pada sistem operasi ini menggunakan konsep manipulasi langsung pada
layar handheld dengan menggunakan multi-touch gesture. Kontrol pada
interfacenya meliputi slider, swith, dan tombol.
Aplikasi-aplikasi
yang disertakan dalam sistem operasi ini meliputi Messaging, Calendar, Photos,
Camera, Youtube, Google Maps, iPhone, Safari, dan beberapa aplikasi standar
lainnya.
THREAD PADA
SISTEM OPERASI
1.
Thread
- Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
- Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
- Kadang disebut sebagai proses ringan (lightweight).
- Unit dasar dari dari sistem utilisasi pada processor (CPU).
- Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
- Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
2.
Single-Threading dan Multi-Threading Single
Threading adalah sebuah lightweight process
(proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai
pengendali/ controller. Multi-Threading adalah proses dengan thread yang
banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.
3.
Keuntungan Multi-Threading
- Responsive; tanggap: Multi-Threading mengizinkan program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
- Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
- Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
- Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
4.
Kerugian Multi-Threading
- Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
- Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
- Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.
5.
Model-Model Threading
- Kernel-level threading; thread ini dibuat oleh pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana dari threading.
- Thread kernel didukung langsung oleh sistem operasi.
- Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
- Pengaturan thread dilakukan oleh sistem operasi, sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread.
2. User-level threading; sebuah
pemetaan N-1, yang berarti bahwa semua level aplikasi thread dipetakan ke
entitas tunggal yang ada di kernel. Dengan pendekatan ini, switching proses
dapat dilakukan dengan sangat cepat.
- Thread pengguna didukung kernel serta diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna.
- Pustaka (library) menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel.
- Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel.
6.
Thread dalam Sistem Operasi
- Sistem operasi telah mendukung proses multithreading.
- Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
- Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
- Model Multi-Threading
1.
Many-to-One
- Memetakan beberapa thread tingkatan pengguna
- ke sebuah thread tingkatan kernel.
- Pengaturan thread dilakukan dalam ruang
- pengguna, sehingga efisien.
- Hanya satu thread pengguna yang dapat
- mengakses thread kernel pada satu saat.
- One-to-One
- Memetakan setiap thread tingkatan pengguna ke thread kernel.
- Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
- D3 KomSI UGM Sistem Operasi
- Many-to-Many
- Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang
- jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.
- Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.
7.
Cancellation
Thread
cancellation ialah pemberhentian thread sebelum tugasnya selesai. Umpama, jika
dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM
dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu.
Thread yang akan diberhentikan biasa disebut target thread.Pemberhentian target
thread dapat terjadi melalui dua cara yang berbeda:Asynchronous cancellation:
suatu thread seketika itu juga memberhentikan target thread.
Defered
cancellation: target thread secara perodik memeriksa apakah dia harus berhenti,
cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri
secara terurut.
Alternatifnya
adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered
cancellation adalah dengan menggunakan satu thread yang berfungsi sebagai
pengindikasi bahwa target thread hendak diberhentikan. Tetapi pemberhentian
hanya akan terjadi jika target thread memeriksa apakah ia harus berhenti atau
tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus berhenti
pada waktu dimana ia dapat diberhentikan secara aman yang aman. Pthread merujuk
tersebut sebagai cancellation points.
8.
Threads Pools
Pada web
server yang multithreading ada dua masalah yang timbul:Ukuran waktu yang
diperlukan untuk menciptakan thread untuk melayani permintaan yang diajukan
terlebih pada kenyataannya thread dibuang ketika ia seketika sesudah ia
menyelesaikan tugasnya.Pembuatan thread yang tidak terbatas jumlahnya dapat
menurunkan performa dari sistem.Solusinya adalah dengan penggunaan Thread
Pools, cara kerjanya adalah dengan membuat beberapa thread pada proses startup
dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk
bekerja. Jadi ketika server menerima permintaan maka maka ia akan membangunkan
thread dari pool dan jika thread tersedia maka permintaan tersebut akan
dilayani.Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke
pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat
dibutuhkan maka server menunggu sampai ada satu thread yang bebas.
9.
Keuntungan thread pool
Biasanya
lebih cepat untuk melayani permintaan dengan thread yang ada dibanding dengan
menunggu thread baru dibuat.Thread pool membatasi jumlah thread yang ada pada
suatu waktu. Hal ini pentingpada sistem yang tidak dapat mendukung banyak
thread yang berjalan secara concurrent.
REFERENSI







Komentar
Posting Komentar