Process Control Block
Tugas 2
PROCESS
CONTROL BLOCK (PCB) adalah struktur
data yang dipakai oleh OS untuk mengelola proses. Hampir semua OS yang modern
telah memuat PCB(Process Control Block) namun strukturnya berbeda-beda pada
setiap OS tersebut, PCB adalah "manifestasi proses dalam sistem operasi.
PCB juga memuat informasi tentang proses, 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. Sebuah
PCB ditunjukkan dalam gambar berikut.
PCB hanya
berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari
proses yang satu dengan yang lain.
Sebagai contoh, struktur data yang
mengendalikan beberapa PCB adalah process table. Bisa saja beberapa PCB ditaruh
pada daftar dalam waktu yang bersamaan.Process table ini menggambarkan sistem
tersebut ketika OS menemukan tiap-tiap PCB melalui proses ID.
PCB dibagi 3 kelompok
Process identification data:
selalu
menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai
integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti
identifier proses induk, identifier pengguna, identifier grup pengguna, dll.
Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang
tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan
device I/O, atau daerah memori.
Processor state data :
adalah
potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika
proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses
nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu
menyertakan isi dari register CPU tujuan.
Process control data :
digunakan
oleh OS untuk mengelola proses itu sendiri.
Referensi :
http://piktop.blogspot.com/2012/09/process-control-block-pcb.html
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch10s03.html
Wikipedia description
Referensi:http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch22s02.html
http://piktop.blogspot.com/2012/09/process-control-block-pcb.html
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch10s03.html
Wikipedia description
Critical Section
Pengertian Critical Section
Critical
Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya
bersama diakses. Terdiri dari: Entry Section: kode yang digunakan untuk masuk
ke dalam critical section.
Sebuah proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical section. Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section nya. Karena hal ini dapat memungkinkan terjadinya akses ke resources yang sama dalam waktu yang sama. Keadaan seperti ini disebut proses mutually exclusive. Oleh karena itu, diperlukan suatu mekanisme atau aturan agar proses sifat mutually exclusive dapat terpenuhi.
Sebuah proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical section. Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section nya. Karena hal ini dapat memungkinkan terjadinya akses ke resources yang sama dalam waktu yang sama. Keadaan seperti ini disebut proses mutually exclusive. Oleh karena itu, diperlukan suatu mekanisme atau aturan agar proses sifat mutually exclusive dapat terpenuhi.
Dengan
mengontrol variabel mana yang diubah baik didalam maupun diluar critical
section, concurrent access dapat dicegah. Critical section biasanya digunakan
saat program multithreading, dimana program tersebut terdiri dari banyak thread,
akan mengubah nilai dari variabel. Dalam hal ini critical section diperlukan
untuk melindungi variabel dari concurrent access yang dapat membuat nilai dari
variabel tersebut menjadi tidak konsisten.
bagaimana
critical section tersebut diimplementasikan didalam sistem operasi ?
Metode yang paling sederhana adalah dengan
mencegah adanya thread lain yang mengubah variabel yang sedang digunakan dalam
critical section. Selain itu, system call yang dapat menyebabkan context switch
juga dihindari. Jika scheduler meng- interrupt proses yang sedang mengakses
critical section nya, maka scheduler akan membiarkan proses tersebut
menyelesaikan critical section nya atau menghentikannya sementara untuk memberi
kesempatan bagi proses lain untuk menjalankan critical section nya. Proses yang
sedang berada dalam critical section nya dijalankan secara mutually exclusive.
Contoh 22.1.
Critical section
do{
critical section
}while(1)
Critical
Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu
waktu
Exit
Section: akhir dari critical section, mengizinkan proses lain
Remainder
Section: kode istirahat setelah masuk ke critical section
Solusi yang
diberikan harus memuaskan permintaaan berikut:
· Mutual exclution
· Mutual exclution
· Deadlock
free
· Starvation
free
Pendekatan
yang mungkin untuk solusi proses sinkronisasi
. Solusi
Piranti lunak (Software solution)
· Tanpa
Sinkronisasi.
· Dengan
Sinkronisasi.
· Low-level
primitives: semaphore
· High-level
primitives: monitors
Batch System
PENGERTIAN BATCH SYSTEM
Batch system
adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok
kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis
kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses
komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1
rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2
sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. Tapi,
dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada
jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan
IBSYS.
Contoh
sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam
suatu sistem batch processing, transaksi secara individual dientri melalui
peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction
file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara
periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction
file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date
master file yang berkaitan.
1. SISTEM BATCH
Pada tahun 1950-an yaitu saat munculnya komputer generasi
pertama,muncul konsep ini yaitu dengan menggunakan job-job dalam satu
angkatan,konsep ini merupakan cikal bakal dari sistem operasi
selanjutnya,tujuan dari konsep ini adalah untuk meningkatkan utilitas CPU dalam
menangani job-job yang ada.
BENTUK DARI BATCH SYSTEM
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.
Referensi : 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.
Definisi umum dari pemrosesan terdistribusi merupakan cara untuk mempercepat pengolahan data atau informasi dengan mendistribusikan pekerjaan atau intruksi ke banyak komputer yang telah dipilih untuk memberi kekuatan pemrosesan yang lebih cepat. Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
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.
Referensi :
http://arifbudimanhsb.blogspot.com/2016/06/distributed-processing-adalah.html
https://erarahma.wordpress.com/2015/06/26/distribusi-processing/
https://erarahma.wordpress.com/2015/06/26/distribusi-processing/
Handheld System
Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil
dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal
digital assistants (PDA).
Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Sistem operasi yang populer belakngan ini seperti Symbian, Windows Mobile, Palm OS, Android, Blackberry OS, Iphone OS (iOS).
Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Sistem operasi yang populer belakngan ini seperti Symbian, Windows Mobile, Palm OS, Android, Blackberry OS, Iphone OS (iOS).
SISTEM HANDHELD
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. Handheld asli yang diterima tulisan tangan adalah
Apple Newton, yang kemudian ditarik dari pasar. Hari ini, handheld paling
populer yang menerima input tulisan tangan adalah PalmPilot dari 3Com. Philips,
Casio, NEC, Compaq, dan perusahaan lain membuat handheld dengan keyboard kecil.
Windows CE dan EPOC adalah dua sistem operasi yang paling
banyak digunakan dalam komputer genggam. Komputer genggam biasanya di-gunakan
manajer informasi pribadi (PIM) jenis aplikasi: mempertahankan jadwal, menjaga
nama dan nomor telepon, melakukan perhitungan sederhana, mencatat, dan, dengan
modem, saling berkirim e-mail dan mendapatkan informasi dari Web. Keyboard
memiliki kunci kecil yang mengambil membiasakan diri. Mereka yang menangani
tulisan tangan juga memberlakukan kendala dan me-merlukan beberapa
pembelajaran. Namun demikian, kelas ini komputer banyak dijual dan dihargai
oleh banyak pengguna.
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, dan Tour.
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 sistem operasi ini.
User interface pada sistem operasi ini menggunakan konsep
manipulasi langsung pada layar handheld dengan menggunakan multi-touch gesture.
Kontrol pada interfacenya meliputi slider, swith, dan tombol. Aplikasi-aplikasi
yang disertakan dalam sistem operasi ini meliputi Messaging, Calendar, Photos,
Camera, Youtube, Google Maps, iPhone, Safari, dan beberapa aplikasi standar
lainnya.
Thread System
1.Thread
adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
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.
Threading adalah sebuah lightweight process (proses
sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/
controller. Multi-Threading adalah proses dengan thread yang banyak dan
mengerjakan lebih dari satu tugas dalam satu waktu.
3. Keuntungan Multi-Threading
Responsive; tanggap: Multi-Threading mengizinkan
program untuk berjalan terus walau-pun pada bagian program tersebut di block
atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai
contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan
suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
Pembagian sumber daya: Secara default, thread membagi
memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama,
thread tersebut bisa berbagi cache memory.
Ekonomis: Mengalokasikan memori dan sumber daya untuk
membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber
daya dari proses, ini lebih ekonomis untuk membuat threads.
Pemberdayaan arsitektur multiprosesor: Keuntungan dari
multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana
setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada
arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread
dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya
hanya satu thread yang berjalan di setiap waktu.
4. Kerugian Multi-Threading
Multiple thread bisa mengganggu satu sama lain saat
berbagi hardware resource, misalnya chace memory.
Execution time (waktu proses) dari sebuah
single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini
terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian
thread yang berjalan.
Harus ada dukungan dari hardware ataupun software
untuk melakukan multi-Threading.
5. Model-Model Threading
Kernel-level threading; thread ini dibuat oleh
pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan
yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana
dari threading.
Thread kernel didukung langsung oleh sistem operasi.
Pembuatan, penjadwalan, dan manajemen thread dilakukan
oleh kernel pada kernel space.
Pengaturan thread dilakukan oleh sistem operasi,
sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user
thread.
2. User-level threading; sebuah pemetaan N-1, yang
berarti bahwa semua level aplikasi thread dipetakan ke entitas tunggal yang ada
di kernel. Dengan pendekatan ini, switching proses dapat dilakukan dengan
sangat cepat.
Thread pengguna didukung kernel serta
diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna.
Pustaka (library) menyediakan fasilitas untuk
pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari
kernel.
Semua pembuatan dan penjadwalan thread dilakukan dalam
ruang pengguna tanpa campur tangan kernel.
6. Thread dalam Sistem Operasi
Sistem operasi telah mendukung proses multithreading.
Setiap sistem operasi memiliki konsep tersendiri dalam
pengimplementasiannya.
Sistem operasi dapat mendukung thread pada tingkatan
kernel maupun tingkatan pengguna.
1. Many-to-One2
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.
2One-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
3Many-to-Many
Mengelompokkan banyak thread pengguna untuk dipetakan
ke thread kernel yang
jumlahnya lebih sedikit atau sama dengan tingkatan
pengguna.
Mengijinkan sistem operasi untuk membuat sejumlah
thread kernel.
7. Cancellation
Thread cancellation ialah pemberhentian thread sebelum
tugasnya selesai. Umpama, jika dalam program Java hendak mematikan Java Virtual
Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus
dihentikan terlebih dahulu. Thread yang akan diberhentikan biasa disebut target
thread.Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda:Asynchronous
cancellation: suatu thread seketika itu juga memberhentikan target thread.
Defered cancellation: target thread secara perodik
memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread
untuk memberhentikan dirinya sendiri secara terurut.
Alternatifnya adalah dengan menggunakan deffered
cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan
satu thread yang berfungsi sebagai pengindikasi bahwa target thread hendak
diberhentikan. Tetapi pemberhentian hanya akan terjadi jika target thread
memeriksa apakah ia harus berhenti atau tidak. Hal ini memperbolehkan thread
untuk memeriksa apakah ia harus berhenti pada waktu dimana ia dapat
diberhentikan secara aman yang aman. Pthread merujuk tersebut sebagai cancellation
points.
8.Threads Pools
Pada web server yang multithreading ada dua masalah
yang timbul:Ukuran waktu yang diperlukan untuk menciptakan thread untuk
melayani permintaan yang diajukan terlebih pada kenyataannya thread dibuang
ketika ia seketika sesudah ia menyelesaikan tugasnya.Pembuatan thread yang
tidak terbatas jumlahnya dapat menurunkan performa dari sistem.Solusinya adalah
dengan penggunaan Thread Pools, cara kerjanya adalah dengan membuat beberapa
thread pada proses startup dan menempatkan mereka ke pools, dimana mereka duduk
diam dan menunggu untuk bekerja. Jadi ketika server menerima permintaan maka
maka ia akan membangunkan thread dari pool dan jika thread tersedia maka
permintaan tersebut akan dilayani.Ketika thread sudah selesai mengerjakan
tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak
thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu
thread yang bebas.
9. Keuntungan thread pool:
Biasanya lebih cepat untuk melayani permintaan dengan
thread yang ada dibanding dengan menunggu thread baru dibuat.Thread pool
membatasi jumlah thread yang ada pada suatu waktu. Hal ini pentingpada sistem
yang tidak dapat mendukung banyak thread yang berjalan secara concurrent.
Referensi :
http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html
https://mediekaputra.wordpress.com/2011/03/26/critical-section/
https://uniquesciences.wordpress.com/2012/10/04/process-control-block-pcb/
http://xditx32.blogspot.com/2012/09/pengertian-multiprocessingmultitasking.html
Referensi :
http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html
https://mediekaputra.wordpress.com/2011/03/26/critical-section/
https://uniquesciences.wordpress.com/2012/10/04/process-control-block-pcb/
http://xditx32.blogspot.com/2012/09/pengertian-multiprocessingmultitasking.html
Tidak ada komentar:
Posting Komentar