Anda di halaman 1dari 16

SISTEM OPERASI

Proses Dan Thread

• Semua program yang berjalan pada computer menggunakan setidaknya satu


proses atau thread untuk memaksimalkan kinerja processor
• Pelaksanaan proses dan thread berbeda sesuai dengan sistem operasi yang
tersedia
SISTEM OPERASI
Proses Dan Thread
2.1 PROSES
•Program yang sedang dieksekusi
•Serangkaian terus menerus dari tindakan untuk mencapai hasil yang
spesifik
•Proses tidak hanya sekedar suatu kode program (text section),
melainkan meliputi beberapa aktivitas yang bersangkutan seperti
program counter dan stack,register, dan variabel di dalamnya.
•Sebuah proses juga melibatkan stack yang berisi data sementara
(parameter fungsi/metode, return address, dan variabel local) dan data
section yang menyimpan variable-variable global
•Sistem Operasi mengeksekusi proses dengan dua cara yaitu Batch
System yang mengeksekusi jobs dan Time shared System yang
mengatur pengeksekusian program pengguna (user) atau tasks.
2.1.1 Karakteristik
Proses
1.Resource ownership (kepemilikan sumber daya)
Proses mempunyai ruang alamat virtual untuk menangani image proses yang
didefinisikan dalam PCB

2. Scheduling execution (penjadwalan eksekusi)


Mengikuti suatu path eksekusi (trace), ada pergantian dari suatu proses ke
lainnya. Unit dari kepemilikan sumber daya diacu sebagai proses atau task
suatu thread yang salah dapat mengganggu thread yang lain di dalam proses
yang sama, karena thread berbagi ruang memori virtual dan sumber daya lain
yang sama
2.1.2 Keadaan Proses
Suatu proses selalu berubah-ubah selama suatu program dieksekusi atau
dijalankan. Beberapa status tersebut ialah :

• New: Proses sedang dikerjakan/ dibuat.


• Running: Instruksi sedang dikerjakan.
• Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti
sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
•Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
•Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
Gambar Proses Control Block
2.1.3 Process Control Block
(PCB)
Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses.
Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :

•Process
•ProgramState >> berisi
Counter informasi
>> berisi status
informasi proses (new,
mengenai running,
alamat waiting,
instruksi ready,
yang akan terminated).
digunakan

selanjutnya.
•CPU Register >> berisi register-register CPU apa saja yang digunakan

•CPU Scheduling
•Memory Information
Management >> berisi
Information >>penjadwalan proses
berisi informasi beserta
tentang algoritmanya
berapa jumlah memori

yang
•I/O digunakan,
Status limit>>
Information register, tabel segment,
berisi informasi dll perangkat
tentang berkenaanapa
dengan penggunaan
saja yang memori
digunakan

dalam proses
•Accounting >> berisi informasi statistik eksekusi proses seperti waktu yang diperlukan,

jumlah proses, dll


2.2 THREAD

• Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol thread
tunggal ini hanya memungkinkan proses untuk menjalankan suatu
tugas pada satu waktu.
• Merupakan unit dari proses yang dieksekusi di antara sebuah proses
• Sebuah proses dapat dimiliki beberapa thread yang dapat dikelola
secara independen sesuai dengan jadwal
Proses Thread
Contoh Multi Thread
●Situasi dimana sebuah aplikasi diperlukan untuk menjalankan
beberapa tugas yang serupa

●Contohnya adalah
ratusan klien sebuah
yang web server yang
mengaksesnya dapat mempunyai
secara concurrent

●Kalau web server berjalan sebagai proses yang hanya mempunyai


thread tunggal maka ia hanya dapat melayani satu klien pada
pada satu satuan waktu.
●Bila ada klien lain yang ingin mengajukan permintaan maka ia
harus menunggu sampai klien sebelumnya selesai dilayani.

● Solusinya adalah dengan membuat web server menjadi multi-


threading.

●Dengan ini maka sebuah


akan mendengar web serverklien,
permintaan akan membuat thread yang lain
ketika permintaan
diajukan maka web
akan melayani server akan
permintaan menciptakan thread lain yang
tersebut.
THREAD DALAM
PROSES
●Perbedaan antara proses thread tunggal dengan proses thread
banyak (multi thread) adalah proses dengan thread yang banyak
dapat mengerjakan lebih dari satu tugas pada satu satuan waktu
2.2.1 Keuntungan
Thread
●Responsi : Membuat aplikasi yang interaktif menjadi
multithreading dapat membuat sebuah program terus berjalan
meskipun sebagian dari program tersebut diblok atau melakukan
operasi yang panjang, karena itu dapat meningkatkan respons
kepada pengguna. Sebagai contohnya dalam web browser yang
multithreading, sebuah thread dapat melayani permintaan
pengguna sementara thread lain berusaha menampilkan image,
dan informasi lainnya.

●Berbagi
dengan sumber
threaddaya
lain: yang
threaddimiliki
berbagi memori dan sumber
oleh proses yangdaya
sama.
Keuntungannya adalah mengizinkan sebuah aplikasi untuk
mempunyai beberapa thread yang berbeda dalam lokasi memori
yang sama.
Keuntungan
Thread
●Ekonomi : dalam pembuatan sebuah proses banyak 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 context switch thread.

●Utilisasi
dapatarsitektur multiprocessor:
sangat meningkat Keuntungan
pada dari multithreading
arsitektur multiprocessor, dimana
setiap
sistemthread dapat
kita dan berjalan
program pada processor
mendukung yang berbeda.
multithreading, Bila
maka kita
dapat menambahkan jumlah core dalam processor atau jumlah
processor dalam sistem. hal ini memperbolehkan untuk membagi
thread-thread proses pada setiap core secara paralel.
Proses Thread
Sistem Operasi
●User Thread
Thread yang pengaturannya dilakukan oleh pustaka thread pada
tingkatan pengguna. Karena pustaka yang menyediakan fasilitas
untuk pembuatan dan penjadwalan thread, thread pengguna cepat
dibuat dan dikendalikan.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.

●Kernel Thread
Thread yang didukung langsung oleh kernel. Pembuatan,
penjadwalan dan manajemen thread dilakukan oleh kernel pada
kernel space.
Model Multi Thread

Anda mungkin juga menyukai