ARTIKEL [Pengertian Dan Contoh ] Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, & Thread.
BACTH SYSTEM
Pengertian Batch System
Batch system adalah dimana
job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah
kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain
dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari
generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan
di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya
maasih blum dilengkapi oleh sebuah sistem operasi. Tapi, dalam beberapa fungsi
sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini.
Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.
Contoh Bacth 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.
Bentuk Dari Bacth System
Ada 2 cara dalam Bacth System yaitu :
· Multi-programming adalah salah satu teknik
penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan
sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon
dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau
sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan
tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai
scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.
· Multiprocessing adalah
istilah teknologi informasi 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
Sumber
: http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html
CRITICAL SECTION
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.
Struktur umum dari
proses Pi yang memiliki segmen critical section adalah :
do {
entry section
critical
section
exit section
remainder
section
} while
(1);
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. Dari kode di atas, dapat kita lihat
bahwa untuk bisa memasuki critical section sebuah proses harus
melalui entry section.
Solusi dari masalah critical section harus memenuhi tiga
syarat berikut:
1. Mutual Exclusion.
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 di critical
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 dalam entry
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
mengalami starvation: proses seolah-olah berhenti, menunggu request ak
ses ke critical section diperbolehkan).
Solusi Untuk Dua Proes
Ada dua jenis solusi masalah critical section, yaitu:
·
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.
·
Solusi
perangkat keras.
Tergantung pada beberapa
instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi atau dengan
mengunci suatu variabel tertentu
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 Pidiizinkan 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:
boolean flag[2]; |
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 Piakan 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 di critical
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
masalah critical 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];
} |
Sumber: : ftp://ftp.gunadarma.ac.id/linux/docs/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch18s04.html
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2003/49/produk/SistemOperasi/c42.html
PROCCES CONTROL BLOCK
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.
Sumber
: http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html
DISTRIBUTED PROCESSING
Pengertian Distributed processing
Distributed Processing yaitu
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.
Tujuan lain yang ingin dicapai dalam
komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang
dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang
terpisah, tidak perlu diketahui oleh pengguna tersebut.
Transparansi ini memungkinkan pengguna
sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut
seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa
digunakannya. Dalam prosesnya setiap komputer berinteraksi satu sama lain untuk
mencapai tujuan bersama.
A. Distributed
data processing
Merupakan sekumpulan peralatan
pemrosesan yang saling terhubung melalui jaringan yang mengerjakan tugas-tugas
tertentu.
Pemrosesan terdistribusi dapat
dikelompokan berdasarkan beberapa kriteria :
1. Struktur
antar hubungan
2. Kesaling
tergantungan komponen-komponen.
3. Keselarasan
antar komponen.
B. Distributed
database system
Merupakan sekumpulan database yang
saling terhubung secara logical dan secara fisik terdistribusi pada berbagai
tempat melalui jaringan computer.
Sistem yang mengelola database
terdistribusi dan menyediakan mekanisme agar distribusi transparent adalah
distributed database management system (DDBMS).
Ciri – ciri Distributed
database system :
1. Data disimpan pada
sejumlah tempat. Setiap tempat secara logic terdiri dari processor tunggal.
2. Processor pada tempat yang berbeda
tersebut dihubungkan dengan jaringan computer.
3. Bukan sekumpulan file
yang berada pada berbagai tempat tetapi merupakan database pada berbagai
tempat.
4. Setiap tempat mempunyai kemampuan
untuk mandiri memproses permintaan user yang membutuhkan akses kedata ditempat
tersebut, dan juga mampu untuk memproses data yang tersimpan di tempat lain
Keuntungan dan Kelemahan Distributed
database system
-Keuntungan :
1. Pengelolaan
secara transparan data terdistribusi dan replicated.
2. Meningkatkan
ketersediaan data
3. Meningkatkan
kehandalan
4. Memudahkan
pengembangan system
-Kelemahan :
1. Kompleksitas
manajemen
2. Control
integritas lebih sulit
3. Biaya
pengembangan
4. Menambahkan
kebutuhan penyimpanan
5. Menambah
biaya pelatihan.
sumber :http://andisugandi204.blogspot.com/2018/04/distributed-processing.html
HANDHELD COMPUTER
Pengertian
Handheld
Sistem Handheld
adalah sebuah system operasi yang lebih kecil dari mikrokomputer yang mempunyai
memori yang terbatas, kecepatan Sistem Handheld lebih rendah dan display screen
yang kecil. Contoh system handheld adalah Android, Symbian.
Contoh dari handheld :
a) PDA (Personal Digital Assistants)
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 ber-tambah 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.
b) Symbian OS
Symbian bisa dibilang sebagai
sistem operasi paling populer di dunia mengingat jumlah peng-gunanya 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
me-ngirimkan dirinya dari ponsel ke ponsel lain via bluetooth.
c) Windows Mobile
Windows mobile adalah versi
mobile dari sistem operasi PC paling populer, Windows, keluaran Microsoft.
Sistem operasi ini didesain khusus agar bisa berjalan pada smartphone dan
perangkat mobile. Sistem operasi yang awalnya dirilis dengan nama Pocket PC
2000 ini hampir semuanya dilengkapi stylus pen yang digunakan sebagai ‘mouse’
pada layar ponsel. OS ini sudah berkali-kali di-update versinya dengan versi
terbarunya saat ini adalah Windows Mobile 6.5 yang dirilis 5 Oktober 2009. Ke
depannya akan dirilis Windows Mobile 7.0 yang akan keluar sekitar pertengahan
2010. User interface dari perangkat Windows Mobile menyerupai Windows pada PC,
namun sayangnya, seperti halnya Windows pada PC, sistem operasi ini bersifat
close source sehingga agak menyulitkan pihak ketiga untuk menyediakan aplikasi
yang mendukung.
Versi-versi yang telah dirilis meliputi:
• Pocket PC 2000
• Pocket PC 2002
• Windows Mobile 2003 yang memiliki 4 edisi, yaitu : Windows Mobile 2003 for
Pocket PC Premium Edition, Windows Mobile 2003 for Pocket PC Professional
Edition, Windows Mobile 2003 for Smartphone, dan Windows Mobile 2003 for Pocket
PC Phone Edition.
• Windows Mobile 2003 Second Edition (Windows Mobile 2003 SE).
• Windows Mobile 5
• Windows Mobile 6 yang memiliki 3 versi, yaitu : Windows Mobile 6 Standard for
Smartphone (phone without touchscreen), Windows Mobile 6 Professional for
Pocket PC with phone functionality, dan Windows Mobile 6 Classic for Pocket PCs
without cellular radio.
Contoh dari perangkat yang memiliki sistem operasi ini antara lain Audiovox SMT
5600, iMate SP3i, Samsung SCH-i600, Mio 8390, Sagem myS-7, Orange SPV C500, HP
iPAQ rw6100, Motorola MPx220, O2 Xphone, dan O2 Xphone II. UPDATE 08-02-2011:
Saat ini versi terbaru dari Windows Mobile adalah Windows Phone 7.
d) Palm OS
Palm OS adalah
sistem operasi mobile yang dikembangkan oleh Palm, Inc. yang awalnya
dikhususkan sebagai sistem operasi untuk PDA. Namun dalam perkembangannya, Palm
OS juga dibuat untuk smartphone. Sistem operasi ini didesain untuk kemudahan
penggunaan dengan GUI (Graphical User Interface) berbasis touchscreen. Sistem
operasi ini ditulis dengan bahasa pemrograman C/C++ dan bersifat close source.
Contoh perangkat yang meng-gunakan 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.
e) 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.
f) Blackberry OS
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,danTour.
g) Iphone OS (iOS).
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 system operasi ini.
User interface pada sistem operasi ini
menggunakan konsep manipulasi langsung pada layar handheld dengan menggunakan
multi-touch gesture. Kontrol pada interfacenya meliputi slider, swith, dan
tombol. Aplikasi-aplikasi yang disertakan dalam sistem operasi ini meliputi
Messaging, Calendar, Photos, Camera, Youtube, Google Maps, iPhone, Safari, dan
beberapa aplikasi standar lainnya.
·
Thread 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.
Proses itu ada 2 macem :
1. Proses berat
(heavyweight) disebut proses tradisional
2. Proses ringan
(lightweight) disebut THREAD
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.
sumber :
-https://maungampus.blogspot.com/2013/09/pengertian-thread-dan-macam-macamnya.html
-https://tintakopi.wordpress.com/2011/10/24/thread-multithread/
Komentar
Posting Komentar