Pengertian dan Contoh dari Batch System,Critical Section,Process Control Blok,Distributed Processing,HandHeld,dan Thread.
1. 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.


A.
BENTUK-BENTUK
DARI BATCH SYSTEM
ada 2 cara dalam Batch System yaitu :
1. Resident Monitor
a. Operator bertugas mengatur urutan job
b. Job-job yg sama cukup dicetak sekali saja, cara inilah
yg disebut “Batch system”
Teknik pengurutan job secara manual
begini akan menyebabkan tingginya waktu menganggur CPU. Muncul teknik
pengurutan job otomatis yg mampu mentransfer secara otomatis dari suatu proses
ke proses lainnya.Program kecil dan bersifat residen dimemori serta berisi
urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor
2. Overlap Operasi antara I/O dg
CPU
Off line
Processing, data yg dibaca dari card reader disimpan dulu dalam tape driver
sebelum dibawa ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di
tape
Spooling
adalah suatu program dapat dikerjakan walaupun I/O masih
mengerjakan proses lainnya dan disk secara bersamaan menggunakan data
untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan
beberapa program pada memori pada satu waktu.

B.
Contoh
Batch System
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.
PENGERTIAN CRITICAL SECTION

PENGERTIAN CRITICAL SECTION
2. PENGERTIAN
CRITICAL SECTION
critical section adalah
sebuah protokol yang di disain supaya proses-proses dapat menggunakannya secara
bersama-sama. Setiap proses harus memesan waktu untuk memasuki critical
section-nya. Yang disebut entry section. dan Akhir dari critical
section itu disebut exit section. Dan setelah itu
ada remainder section.
Solusi dari
masalah critical section harus memenuhi tiga syarat berikut:
1.
Mutual Exclusion.
2.
Jika suatu proses sedang
menjalankan critical section-nya, maka proses-proses lain tidak
dapat menjalankan critical section mereka. Tidak ada dua
proses yang berada di critical section pada saat yang
bersamaan.
3.
2. Terjadi kemajuan (progress).
4.
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 dalam entry section saja yang dapat berkompetisi
untuk mengerjakan critical section.
5.
3. Ada batas waktu tunggu (bounded waiting).
6.
Jika ada suatu 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 mengalami starvation: proses seolah-olah
berhenti, menunggu request akses ke critical section diperbolehkan).
7.
Solusi Untuk Dua
Proses
8.
Ada dua jenis solusi
masalah critical section, yaitu:
9.
1. Solusi perangkat lunak.
10.
Dengan menggunakan
algoritma-alogoritma yang nilai kebenarannya tidak tergantung pada
asumsi-asumsi lain, selain bahwa setiap proses berjalan pada kecepatan yang
bukan nol.
11.
2. Solusi perangkat keras.
12.
Tergantung pada beberapa
instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi atau dengan
mengunci suatu variabel tertentu.
ocenttp://
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] = truedan 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 waitingyang 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 sectionmaka 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:
1.
Berubah dari running ke waiting state.
2.
Berubah dari running ke ready state.
3.
Berubah dari waiting ke ready state.
4.
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.
1. 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 .
2. 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:
1.
Berjalan dari running
state sampai waiting
state.
2.
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:
1.
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 Blockharus 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.
1.
Switching to user mode dari kernel mode.
2.
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.


16.
ocen
22.blogspot.com/2012/04/pengertian-critical-section.html
17.
http://ocen22.blogspot.com/2012/04/pengertian-critical-section.html
18.
http://ocen22.blo
gspot.com/2012/04/pengertian-critical-section.html

3.
Pengertian Sistem Operasi - PCB (process control block)
PCB (process control block) dalam
Sistem Operasi
Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem
Operasi,Sistem operasi adalah seperangkat program yang mengelola sumber daya
perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat
lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak
sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat
menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi
booting.
Sistem operasi mempunyai penjadwalan yang sistematis mencakup
perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber
daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan
keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara
program aplikasi dan perangkat keras komputer,meskipun kode aplikasi biasanya
dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS
atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua
perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk
superkomputer dan server web.Contoh sistem operasi modern adalah Linux,
Android, iOS, Mac OS X, dan Microsoft Windows.
Definisi Proses
Proses adalah program yang sedang dieksekusi. Menurut
SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang
terkadang disebut text section . Proses juga mencakup program counter , yaitu
sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi
selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack
yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti
parameter method, alamat return dan variabel lokal), dan sebuah data section
yang menyimpan variabel global.
Kami tekankan bahwa program itu sendiri bukanlah sebuah proses;
suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang
disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif,
dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang
akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar
sebuah proses dapat dieksekusi.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. Prioritas proses merupakan suatu nilai atau besaran
yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses
yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau
dieksekusi lebih dulu dibandingkan dengan
proses yang berprioritas lebih rendah. Suatu sistem operasi dapat
saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses
memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai
prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan
lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat
terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Proses control block
Tiap proses digambarkan dalam sistem operasi oleh sebuah process
control block PCB - juga disebut sebuah control block. PCB berisikan banyak
bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik,
termasuk hal-hal dibawah ini:
1.Status proses: status mungkin, new, ready, running, waiting,
halted, dan juga banyak lagi.
2.Program counter: suatu stack yang berisi alamat dari instruksi
selanjutnya untuk dieksekusi untuk proses ini.
3.CPU register: Register bervariasi dalam jumlah dan jenis,
tergantung pada rancangan komputer. Register tersebut termasuk
accumulator , indeks register, stack pointer , general-purposes register ,
ditambah code information pada kondisi apa pun. Besertaan dengan program
counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi,
untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya
(lihat Gambar 2-3).
4.Informasi managemen memori: Informasi ini dapat termasuk suatu
informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau
tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi
(lihat Bab Managemen memori).
5.Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan
waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan
banyak lagi.
6.Informasi status I/O: Informasi termasuk daftar dari perangkat
I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
7.PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain.
Gambar Proses Control Blok
Elemen-elemen dari Process Control Block (PCB) :
1.Identifier : menjelaskan proses yang sedang terjadi
2.State : kondisi yang terjadi pada proses
3.Priority : urutan perintah yang jelas pad suatu proses
4.Program counter : instruksi pada proses
5.Memory pointers : media penyimpanan (penunjuk alamat) pada
proses
5.Context data : data yang berkaitan dengan proses
6.I/O status information : terdapat masukan dan keluaran yang
diinginkan
7Accounting information : memberikan informasi yang dibutuhkan
Macam-Macam Jenis Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada
setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam
status yang umum, yaitu:
1.Ready adalah status dimana proses siap untuk dieksekusi pada
giliran berikutnya
2.Running adalah status dimana saat ini proses sedang dieksekusi
oleh prosesor
3.Blocked adalah status dimana proses tidak dapat dijalankan pada
saat prosesor siap/bebas.
Elemen-Elemen Dari Process Control Block (PCB)
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,
Element-elemen PCB antara lain:
Identifikasi Proses
yaitu Identifier numerik yang meliputi
1.
Identifier proses
2.
Identifier proses yang menciptakan
3.
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
Informasi yang terdapat pada setiap
proses meliputi :
1.
Status
Proses = New, ready, running,
waiting dan terminated.
2.
Program
Counter = Menunjukkan alamat berikutnya
yang akan dieksekusi oleh proses tersebut.
3.
CPU
Registers = Register bervariasi tipe dan
jumlahnya tergantung arsitektur komputer yang bersangkutan.
Register-register tersebut terdiri-atas: accumulator, index register,
stack pointer, dan register serbaguna dan beberapa informasi tentang kode
kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada
saat terjadi interrupt. Gambar 3-3 menunjukkan switching proses dari satu
proses ke proses berikutnya.
4.
Informasi
Penjadwalan CPU = Informasi tersebut berisi prioritas dari suatu
proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang
lainnya.
5.
Informasi
Manajemen Memori =
Informasi tersebut berisi nilai (basis) dan limit register, page table, atau
segment table tergantung pada sistem memory yang digunakan oleh SO.
6.
Informasi Accounting = Informasi tersebut berisi jumlah CPU dan real time yang
digunakan, time limits, account numbers, jumlah job atau proses, dll
7.
Informasi Status I/O = Informasi tersebut berisi deretan I/O device
(seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file
yang dibuka, dll.
4.
Pengertian Distributed Processing
Pengertian
Distributed Processing :
Mengerjakan semua
proses pengolahan data secara bersama antara komputer 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 yang lain akan mengambil alih tugasnya.
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 autonomousyang 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
- 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
dataprocessing
http://fidiastrida.blogspot.com/2012/09/multiprogramming-multiprocessing.html

5.Pengertian Handheld
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
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.
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.
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
o Telekomunikasi
o Informasi
o Pendidikan
o Olahraga
Fitur yang terdapat dalam PDA
o Layar
sentuh
o GPS
o PCPocket
o Koneksi
Nirkabel
o Agenda
o Memory
o LAN
o Surel
o Hiburan
o Kamera
o 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.
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 interfaceseperti 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 sourcesehingga 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
o 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 bersifatclose 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.
o 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.
http://endrg.blogspot.com/2012/03/perkembangan-handheld.html

6.Pengertian Thread dan Macam-macamnya
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-Threadingadalah
proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam
satu waktu.
3. Keuntungan Multi-Threading
1.
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.
2.
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.
3.
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.
4.
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
1.
Multiple thread bisa mengganggu satu sama lain saat berbagi
hardware resource, misalnya chace memory.
2.
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.
3.
Harus ada dukungan dari hardware ataupun software untuk
melakukan multi-Threading.
5. Model-Model Threading
1.
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.
1.
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.
2.
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
·
3.
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.
https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/
Proses itu ada 2 macem :
1. Proses berat
(heavyweight) disebut proses tradisional
2. Proses ringan
(lightweight) disebut THREAD
Thread adalah unit dasar
dari utilitas CPU. Di dalamnya terdapat ID thread, program counter, register,
dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama.
Keuntungan memakai Thread:
* Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun
pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan
operasi yang lama/panjang. Contohnya 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. Keuntungan
dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan
alokasi.
* Ekonomis: Mengalokasikan
memori dan sumber daya untuk membuat proses itu sangat mahal. Alternatifnya
thread membagi sumber daya dari proses, Jadi lebih ekonomis.
* Pemberdayaan arsitektur
multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan
arsitektur multiprosesor, dimana setiap thread dapat berjalan secara parallel
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.
Selain itu lo juga musti
tau:
1. User thread adalah
pengelolaan thread yang dilakukan oleh user level (pengguna)
2. Kernel thread adalah
pengelolaan thread yang dilakukan oleh kernel komputer sehingga user tidak
dapat menginterupsi.
Macem-macem
Thread
Single threading : proses
hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses
dapat mengeksekusi sejumlah thread dalam satu waktu.
Model
MultiTrading:
One to one: Memetakan setiap user thread ke dalam 1 kernel
threa.
Kelebihan: Model one-to-one lebih sinkron daripada model
many-to-one karena mengizinkan thread lain untuk berjalan ketika suatu thread
membuat pemblokingan terhadap sistem pemanggilan, hal ini juga membuat multiple
thread bisa berjalan secara parallel dalam multiprosesor .
Kekurangan: Dalam pembuatan user thread diperlukan pembuatan
korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread
dapat mempengaruhi kinerja dari aplikasi, maka kebanyakan dari implementasi
model ini membatasi jumlah thread yang didukung oleh sistem.
Model ini ada pada Windows
NT dan OS/2.
One to Many: memetakan beberapa tingkatan thread user hanya ke
satu buah kernel thread.
Kelebihan: Managemen proses thread dilakukan oleh (di
ruang) pengguna, sehingga menjadi lebih efisien.
Kekurangan: multi thread tidak dapat berjalan atau bekerja
secara paralel di dalam multiprosesor karena hanya satu thread saja yang bisa
mengakses kernel dalam suatu waktu.
Model ini ada pada Solaris
Green dan GNU Portable.
Many to Many : Membolehkan setiap tingkatan user thread
dipetakan ke banyak kernel thread.
Kelebihan:
* Developer dapat membuat user thread sebanyak yang
diperlukan dan kernel thread yang bersangkutan dapat berjalan secara parallel
pada multiprocessor.
* Dan ketika suatu thread
menjalankan blocking system call maka kernel dapat menjadwalkan thread lain
untuk melakukan eksekusi.
Kekurangan:
* Developer dapat membuat
user thread sebanyak mungkin, tetapi konkurensi tidak dapat diperoleh karena
hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Model ini ada pada
Solaris, IRIX, dan Digital UNIX.


Komentar
Posting Komentar