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.
ada 2 cara dalam Batch System
yaitu :
1. 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.
2. 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
Cara Kerja Batch Processing System
Cara Kerja Batch Processing adalah
menghimpun data terlebih dahulu, dan diatur pengelompokkan datanya dalam
kelompok-kelompok yang disebut batch. Tiap batch ditandai dengan identitas
tertentu, serta informasi mengenai data-data yang terdapat dalam batch tersebut.
Setelah data-data tersebut terkumpul dalam jumlah tertentu, data-data tersebut
akan langsung diproses. Bactch processing ini merupakan metode pengolahan data
yang banyak digunakan.
Intinya adalah pada batch
processing, data yang dimasukkan akan dihimpun dahulu menjadi satu kelompok
atau batch baru kemudian akan dimasukkan ke database untuk mengupdate master
file. Pada batch processing, data yang dikelompokkan tersebut akan dicek ulang
dan disortir sebelum dikirim ke database sehingga jika terdapat data yang tidak
valid, data akan dimasukkan ke dalam error report. Proses yang memakai batch
processing biasanya ditujukan untuk aplikasi yang memiliki jumlah transaksi
yang besar, sehingga perlu dilakukan pemeriksaan pendahuluan
Batch processing memiliki tujuan
untuk memperbarui tiga file master, persediaan, piutang, dan analisis
penjualan. Perusahaan biasanya memperbarui file batch mereka secara harian,
yang disebut siklus harian. Kelemahan utama pengolahan batch adalah kenyataan
bahwa file baru menjadi mutakhir setelah dilakukan siklus harian. Ini berarti
manajemen tidak selalu memiliki informasi paling mutakhir yang menggambarkan
sistem fisik.
Pengertian Critical Section
critical section adalah dengan
mendesain sebuah protokol di mana proses-proses dapat menggunakannya secara
bersama-sama. Setiap proses harus ‘meminta izin’ untuk memasuki critical
section-nya. Bagian dari kode yang mengimplementasikan izin ini disebut entry
section. Akhir dari critical section itu disebut exit section. Bagian kode
selanjutnya disebut remainder section.
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.
Struktur umum dari proses Pi yang
memiliki segmen critical section adalah :
Solusi dari masalah critical
section harus memenuhi tiga syarat berikut:
Jika suatu proses sedang
menjalankan critical section-nya, maka proses-proses lain tidak dapat
menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses
yang berada dicritical section pada saat yang bersamaan.
2. Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang
menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke
critical section, maka hanya proses-proses yang yang sedang berada dalamentry
section saja yang dapat berkompetisi untuk mengerjakan critical section.
3. Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang
sedang menjalankan critical section, maka proses lain memiliki waktu tunggu
yang ada batasnya untuk menjalankan critical section -nya, sehingga dapat dipastikan
bahwa proses tersebut dapat mengakses critical section-nya (tidak
mengalamistarvation: proses seolah-olah berhenti, menunggu request akses ke
critical sectiondiperbolehkan).
Ada dua jenis solusi masalah
critical section, yaitu:
1. Solusi perangkat lunak.
Dengan menggunakan
algoritma-alogoritma yang nilai kebenarannya tidak tergantung pada
asumsi-asumsi lain, selain bahwa setiap proses berjalan pada kecepatan yang
bukan nol.
2. Solusi perangkat keras.
Tergantung pada beberapa instruksi
mesin tertentu, misalnya dengan me-non-aktifkan interupsi atau dengan mengunci
suatu variabel tertentu
Selanjutnya akan dibahas sebuah
algoritma sebagai solusi masalah dari critical section yang memenuhi tiga
syarat seperti yang telah disebutkan di atas. Solusi ini tidak tergantung pada
asumsi mengenai instruksi-instruksi perangkat keras atau jumlah prosesor yang
dapat didukung oleh perangkat keras. Namun, kita mengasumsikan bahwa insruksi
bahasa mesin yang dasar (instruksi-instruksi primitif seperti load,store, dan
test) dieksekusi secara atomik. Artinya, jika dua instruksi tersebut dieksekusi
secara konkuren, hasilnya ekuivalen dengan eksekusi instruksi tersebut secara
sekuensial dalam urutan tertentu. Jadi, jika load dan store dieksekusi secara konkuren,
load akan mendapatkan salah satu dari nilai yang lama atau nilai yang baru,
tetapi tidak kombinasi dari keduanya.
Pada algoritma 1, variabel yang
digunakan bersama (shared variabel) adalah sebuah variabel
integer turn, yang diinisialisasi awal nilai 0 (atau 1 di proses yang
kedua). Jika turn == i, maka proses Pi diizinkan untuk
mengeksekusi critical sectionnya.
Algoritma ini menjamin bahwa hanya
ada satu proses pada suatu saat yang berada di critical section. Namun,
algoritma ini tidak memenuhi syarat terjadinya kemajuan, karena algoritma ini
membutuhkan pergiliran proses di dalam menjalankan critical section. Misalnya,
jika turn == 0 dan P1 ingin masuk ke critical
section, P1 tidak dapat masuk, meskipun P0 sedang
berada di remainder section. Hal ini
dikarenakan P0 belum masuk ke critical section. dan
oleh karenanya P0 belum mengubah
nilai turn (menjadi turn == 1.)
/**
*
Program ini sesuai dengan solusi critical section dengan
*
menggunakan algoritma 1.
*
Disadur dari buku Silberschatz dkk,
*
Applied Operating Systems Concepts, 2000.
*/
public
class Algoritma_1 extends MutualExclusion
{
public
Algoritma_1() {
turn
= TURN_0;
}
public
void masukCriticalSection(int t) {
while
(turn != t)
Thread.yield();
}
public
void keluarCriticalSection(int t) {
turn
= 1 - t;
}
private
volatile int turn;
}
|
Kelemahan algoritma 1 adalah bahwa
algoritma 1 tidak menyediakan informasi yang cukup mengenai keadaan state
setiap proses, ia hanya mengingat proses mana yang diperbolehkan untuk
memasuki critical section. Untuk memecahkan masalah ini,
variabel turn diganti dengan sebuah array, yaitu:
Setiap elemen dari array tersebut
diinisialisasi awal ke false.
Jika flag[i] bernilai true, maka ini mengindikasikan
bahwa Pi siap untuk masuk ke critical section. Setiap
proses memantau suatu flag yang mengindikasikan ia ingin memasuki critical
section. Dia memeriksa flag proses lain dan tidak akan memasuki critical
section bila ada proses lain yang sedang masuk.
/**
*
Program ini sesuai dengan solusi critical section dengan
*
menggunakan algoritma 2.
*
Disadur dari buku Silberschatz dkk,
*
Applied Operating Systems Concepts, 2000.
*/
public
class Algoritma_2 extends MutualExclusion
{
public
Algoritma_2() {
flag[0]
= false;
flag[1]
= false;
}
public
void masukCriticalSection(int t) {
int
other;
other
= 1 - t;
flag[t]
= true;
while
(flag[other] == true)
Thread.yield();
}
public
void keluarCriticalSection(int t) {
flag[t]
= false;
}
private
volatile boolean[] flag = new boolean[2];
}
|
Di
algoritma 2 ini, proses Pi pertama-tama mengubah
nilai(set) flag[i] menjadi true, menandakan
bahwa Pi mau masuk ke critical section. Kemudian Pi mengecek
apakah proses Pj juga mau masuk kecritical section. Jika
proses Pj mau masuk, maka proses Pi akan menunggu sampai
proses Pj mengubah statenya bahwa ia tidak mau lagi masuk ke critical
section (flag[j] == false). Pada saat itu, maka Pi akan
masuk ke critical section. Ketika keluar dari critical
section, Pi akan mengset nilai flag[i] menjadi
false, memperbolehkan proses lain (jika ada proses lain yang
menunggu) untuk masuk ke critical section.
Solusi dengan algoritma 2 ini
memenuhi syarat mutual exclusion, tetapi tidak memenuhi syarat
terjadinya kemajuan. Untuk mengilustrasikan masalah ini, perhatikan urutan
eksekusi berikut:
T0: P0 sets
flag[0] true
T1:
P1 sets flag[1] true
|
Sekarang P0 dan P1 akan
loop selama-lamanya di dalam statement while masing-masing.
Perhatikan bahwa mengubah urutan instuksi untuk mengset flag[i] dan
mengecek nilai flag[j] tidak akan memecahkan masalah ini. Kita malah
akan berada di situasi di mana ada kemungkinan untuk kedua proses berada dicritical
section pada saat yang bersamaan, yang akan melanggar syarat mutual
exclusion.
Dengan menggabungkan algoritma 1
dan algoritma 2, kita akan memperoleh solusi yang tepat untuk masalahcritical
section, di mana solusi itu akan memenuhi tiga syarat seperti yang
telah disebutkan di atas. Setiap proses menggunakan dua variabel:
boolean
flag[2];
int
turn;
|
Awalnya flag[0] = flag[1] =
false, dan nilai turn tergantung dari proses yang boleh masuk (0
atau 1). Untuk masuk ke critical section, proses Pi pertama-tama
mengset flag[i] menjadi true, dan kemudian mengset
nilai turn menjadi j, sehingga memperbolehkan proses lain
yang ingin masuk ke critical section untuk dapat masuk
ke critical section. Jika kedua proses mencoba untuk masuk ke critical
section pada saat yang bersamaan, turn akan diset ke
nilai i dan j pada saat yang hampir bersamaan. Yang
terakhir mengubah nilai turn akan mempersilakan proses yang lainnya
untuk masuk ke critical section.
/**
*
Program ini sesuai dengan solusi critical section dengan
*
menggunakan algoritma 3.
*
Disadur dari buku Silberschatz dkk,
*
Applied Operating Systems Concepts, 2000.
*/
public
class Algoritma_3 extends MutualExclusion
{
public
Algoritma_3() {
flag[0]
= false;
flag[1]
= false;
turn
= TURN_0;
}
public
void masukCriticalSection(int t) {
int
other;
other
= 1 - t;
flag[t]
= true;
turn
= other;
while
( (flag[other] == true) && (turn == other) )
Thread.yield();
}
public
void keluarCriticalSection(int t) {
flag[t]
= false;
}
private
volatile int turn;
private
volatile boolean[] flag = new boolean[2];
}
|
Solusi Untuk Proses Jamak: Algoritma Tukang Roti
Algoritma ini didasarkan pada
algoritma penjadualan yang biasanya digunakan oleh tukang roti, di mana 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
do
{
choosing[i]
= true;
number[i]
= max(number[0], number [1], ..., number [n+1])+1;
choosing[i]
= false;
for
(j=0; j < n; j++) {
while
(choosing[j]);
while
((number[j]!=0) && ((number[j],j) < number[i],i)));
}
<foreignphrase>critical
section</foreignphrase>
number[i]
= 0;
<foreignphrase>remainder
section</foreignphrase>
}
while (1);
|
Pengertian PCB(Process Control Block)
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.:
1.
Program
counter
2.
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 :
1.
Status
proses. Mendefinisikan status proses (running,ready,block, dsb)
2.
Prioritas.
Menjelaskan prioritas proses
3.
Informasi
berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses
terakhir dieksekusi dsb.
4.
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 :
1.
Berkas yang
dibuka
2.
Pemakaian
pemroses
3.
Pemakaian
sumberdaya lainnya
Pengertian Distributed Processing
Distributed Processing adalah
kemampuan menjalankan semua proses pengolahan data secara bersama antara
komputer yang berfungsi sebagai pusat dengan beberapa komputer yang lebih kecil
dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut
memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara
terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian
total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor
yang lain akan mengambil alih tugasnya. Dalam proses distribusi sudah mutlak
diperlukan perpaduan yang mendalam antara teknologi komputer dan
telekomunikasi, karena selain proses yang harus didistribusikan, semua host
komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer
pusat.
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
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)
- 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 Hendheld System
Sistem handheld adalah sebuah
komputer yang mudah dapat disimpan di saku (dari ukuran yang cukup) dan
digunakan saat Anda sedang me-megangnya. Komputer genggam saat ini, yang juga
disebut personal digital assistant (PDA), dapat dibagi menjadi mereka yang
menerima tulisan tangan sebagai masukan dan mereka dengan keyboard kecil.
yang menerima input tulisan tangan adalah PalmPilot
dari 3Com. Philips, Casio, NEC, Compaq, dan perusahaan lain membuat handheld
dengan keyboard kecil.
Komputer genggam adalah komputer
yang mudah disimpan dalam saku (ukuran cukup) dan digunakan saat Anda
memegangnya. Komputer genggam saat ini, yang juga disebut asisten digital
pribadi (PDA), dapat dibagi menjadi komputer yang menerima tulisan tangan
sebagai masukan dan mereka yang memiliki keyboard kecil. Handheld asli
yang menerima tulisan tangan adalah Newton dari Apple, yang kemudian ditarik dari
pasar. Hari ini, perangkat genggam paling populer yang menerima input
tulisan tangan adalah PalmPilot dari 3Com. Philips, Casio, NEC, Compaq,
dan perusahaan lain membuat handheld dengan keyboard kecil.
Komputer genggam biasanya
digunakan untuk jenis aplikasi personal information manager (PIM): memelihara
jadwal, menyimpan nama dan nomor telepon, melakukan perhitungan sederhana,
mencatat, dan, dengan modem, bertukar e-mail dan mendapatkan informasi dari
Web. Keyboard memiliki kunci kecil yang mulai terbiasa. Mereka yang
menangani tulisan tangan juga menerapkan batasan dan membutuhkan beberapa
pembelajaran. Namun demikian, komputer kelas ini dijual secara luas dan
dihargai oleh banyak pengguna.
Hewlett-Packard baru-baru ini
memperkenalkan komputer genggam pertama dengan layar warna. Sejumlah
perusahaan kini menggabungkan layanan telepon suara dan data menggunakan telepon
seluler atau teknologi nirkabel lainnya
dengan komputer genggam dalam satu perangkat.
1. 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
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
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.
2. 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.
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.
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.
Fitur yang terdapat dalam PDA
Keuntungan dan Kelemahan
menggunakan PDA
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.
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.
3. Perkembangan Sytem
Handheld (Cellular Telephones)
System Operasi yang terdapat dalam
cellular telephones yaitu
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:
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 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 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 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.
PengertianTHREAD
- 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.
- 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
- 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.
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.
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.