A.
PROSES
Proses
adalah konsep pokok dari sistem operasi.Proses
merupakan program sedang dieksekus. Secara sederhana, proses adalah sebuah
program yang dieksekusi. . Proses merupakan unit kerja terkecil yang secara
individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi.
Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber daya
ke proses sesuai kebutuhan.
Proses yang dieksekusi mempunyai
lima status yang terdiri dari:
a. new: Pembentukan suatu
proses
b. running: Instruksi-instruksi yang
sedang dieksekusi
c. waiting: Proses menunggu untuk
beberapa event yang terjadi
d. ready: Proses menunggu untuk
dialirkan ke pemroses (processor)
e. terminated: Proses telah selesai dieksekusi
Process Control Block (PCB)
Setiap 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 di bawah ini:
Status
proses: status yang mungkin adalah new, ready, running, waiting,
halted, dan seterusnya.
Program
counter: suatu penghitung yang mengindikasikan alamat dari instruksi
selanjutnya yang akan dieksekusi untuk proses tersebut.
CPU
register: Register bervariasi dalam jumlah dan tipenya, tergantung pada
arsitektur komputer. Register tersebut termasuk accumulator, index
register, stack pointer, general-purposes register,
ditambah informasi condition-code. Bersama dengan program
counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk
memungkinkan proses tersebut berjalan/bekerja dengan benar.
Informasi
manajemen 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.
Informasi
pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu nyata yang
digunakan, batas waktu, jumlah account, 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 berkas-berkas yang sedang diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat
penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang
lain.
B.
Proses
merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread
tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu
waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan
agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Misalnya user
melakukan pekerjaan secara bersamaan yaitu mengetik dan menjalankan pemeriksaan
ejaan didalam proses yang sama. Thread merupakan unit dasar dari penggunaan
CPU, yang terdiri dari Thread ID, program counter, register set, dan stack.
Sebuah thread berbagi code section, data section, dan sumber daya sistem
operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga
sering disebut lightweight process. Sebuah proses tradisional atau heavyweight
process mempunyai thread tunggal yang berfungsi sebagai pengendali.
Perbedaannya ialah proses dengan thread yang banyakmengerjakan lebih dari satu
tugas pada satu satuan waktu.
Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Keuntungan Thread
Beberapa keuntungan dari penggunaan
thread adalah sebagai berikut:
- Responsif. Aplikasi interaktif menjadi tetap responsif meski pun sebagian dari program sedang diblok atau melakukan operasi yang panjang kepada pengguna. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan gambar.
- Berbagi sumber daya. Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
- Ekonomis. Pembuatan sebuah proses memerlukan dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan konteks penukaran thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan konteks penukaran proses lima kali lebih lama dibandingkan konteks penukaran thread.
- Utilisasi arsitektur multiprocessor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu (satusatuan waktu pada CPU biasa disebut time slice atau quantum).
- Model Multithreading. Dukungan thread disediakan pada tingkat user yaitu user threads atau tingka kernel untuk kernel threads. User Threads disediakan oleh kernel dan diatur tanpa dukungan kernel, sedangkan kernel therads didukung dan diatur secara langusng oleh sistem operasi. Hubungan antara user threads dan kernel threads terdiri dari tiga model relasi, yaitu:
- Model Many to One: Model Many-to-One memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi, multiple thread tidak dapat berjalan secara paralel pada multiprocessor. Thread tingkat pengguna yang diimplementasi pada sistem operasi yang tidak mendukung thread kernel menggunakan model Many-to-One.Model One to One:
- Model One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini, jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.
- Model Many To Many: Model ini me-multipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. thread. Jumlah thread kernel spesifik untuk sebagian aplikasi atau sebagian mesin. Many-to-One model mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency (berjalan bersama) tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas). Model Many-to-Many tidak mengalami kelemahan dari dua model di atas. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.
Yuk kunjungi website kampus kami di www.uts-sumbawa.ac.id dan jangan lupa website fakultas kami di www.ft.uts-sumbawa.ac.id. thanks
sumber :
http://mayangadi.blogspot.com/2012/10/konsep-kerja-proses-dan-threads-sistem.html
https://dewa18.wordpress.com/2009/10/28/manajemen-proses/
