Anda di halaman 1dari 28

Konsep Proses

Definisi Manajemen Proses:


Apa itu proses?
a.Proses adalah konsep utama dalam sistem operasi
dan pertama kali dipakai pada sistem operasi
MULTICS (Multiplexed Information and computing
system) pada tahun 1960-an.
b.Proses adalah unit kerja terkecil yang secara
individu dijadwalkan oleh sistem operasi.
c.Proses adalah program yang sedang dieksekusi
(TASK)
Istilah Lain dari Proses
a. Multiprogramming (Multitasking) : manajemen
banyak proses dengan satu pemroses.
b. Multiprocessing :
• Manajemen banyak proses dengan
komputer Multiprocessor (banyak
pemroses di dalamnya), dimana masing-
masing pemroses melakukan pemrosesan
secara independen.
• Saat ini Multiprocessing telah mulai
digunakan pada server dan
workstation desktop.
Istilah Lain dari Proses
c. Distributed Processing
Manajemen proses-proses yang dieksekusi
dibanyak sistem komputer yang terdistribusi.
Diagram State Proses
• Proses Melewati serangkaiaan state- state diskrit.
Ada beberapa kejadian dapat menyebabkan
proses pada sistem operasi berubah state. Ada 3
state dasar yang dialami proses yaitu :
1. State Ready : Proses siap (ready) dieksekusi , tapi
pemroses tidak tersedia untuk eksekusi proses
ini.
2. State Running : Pemroses sedang mengeksekusi
instruksi proses itu.
3. State Blocked : Proses menunggu kejadian untuk
melengkapi tugasnya. Contoh : selesainya
operasi perangkat I/O, tersedianya memory, dsb.
Diagram State Proses
Operasi Proses
1. Penciptaan proses (create a proses)
2. Penghancuran / terminasi proses (destroy a process)
3. Penundaan proses (suspend a process)
4. Pelanjutan kembali proses (resume a process)
5. Pengubahan Prioritas proses
6. Mem-block proses
7. Membangun proses
8. Menjadwalkan proses
9. Memungkinkan proses berkomunikasi dengan
proses lain
Operasi Proses
Untuk Penciptaan proses melibatkan banyak attribut,
yaitu:
1. Menamai (memberi identitas) proses
2. Menyisipkan proses pada tabel proses
3. Menentukan prioritas awal proses
4. Menciptakan PCB (Process Control Block)
5. Mengalokasikan sumber daya dengan awal bagian
proses.
Operasi Proses
Contoh Kejadian yang menyebabkan Penciptaan
prosedur:
1. Pada lingkungan batch, sebagai tanggapan atas
pemberian satuan kerja (job)
2. Pada lingkungan interaktif, ketika pemakai baru
berusaha log-on
3. Sebagai tanggapan suatu aplikasi, seperti permintaan
pencetakan file
4. Proses menciptakan proses-proses lainnya
Implementasi Proses
Sistem Operasi Mencatat state process dengan
menggunakan beragam tabel. Tabel-tabel tersebut
antara lain:
1. Tabel Memory : Digunakan untuk menjaga keutuhan
antara memori utama dan memori sekunder.tabel ini
memuat informasi sebagai berikut :
a. Alokasi memori utama yang dipakai proses.
b. Alokasi memori sekunder yang dipakai proses.
(Swapping)
c. Atribut segmen memori utama dan sekunder.
d.Informasi-informasi lain yang digunakan untuk
Manajemen memori.
Implementasi Proses
2. Tabel I/O digunakan untuk mengelola perangkat
masukan / keluaran.
3. Tabel File berisi informasi mengenai ekstensi file,
lokasi pada memori sekunder, status saat itu dan
menyimpan atribut - atribut file - file lainnya.
Implementasi Proses
4. Tabel Proses mengelola informasi mengenai proses
yang terdapat pada sistem operasi, lokasinya di memori.
Tabel ini juga berisi status dan atribut - atribut proses
yang lain. Proses ditempatkan pada memori utama
dilokasi tertentu. proses mempunyai satu ruang alamat
tersendiri. Ruang alamat yang digunakan proses disebut
Citra Proses ( Process Image ), karena selain seluruh
kode biner program, proses ditambahi atribut - atribut
berkaitan penempatan pada suatu lokasi memori dan
status eksekusi pada saat itu.
Program Control Block (PCB)
Sistem Operasi memerlukan banyak informasi mengenai
masing-masing proses, informasi ini ada ada pada PCB
dimana dikelompokkan menjadi tiga kelompok yaitu :
1.Identifikasi proses
Identifikasi proses berkaitan dengan identitas
proses yang unik. Dengan identitier ini, proses
dikaitkan ke tabel-tabel lain. Identifikasi proses meliputi:
(a) Identitas Proses, (b) Identitas Proses yang
menciptakan, (c) Identitas Pemakai.
Program Control Block (PCB)
2. Informasi status proses
Informasi ini essensinya terdiri dari isi register-register
pemroses. Saat proses berstatus running, informasi-
Informasi ini berada diregister-register. Ketika
proses diinterupsi, semua informasi register harus
disimpan agar dapat dikembalikan saat proses
dieksekusi kembali. Jumlah ragam register yang
terlibat bergantung arsitektur komputer. Register-
register pada informasi status pemroses, meliputi: (a)
Register yang terlihat pemakai (bahasa assembler),
(b) Register kendali dan status (program counter,
PSW), (c) Pointer Stack (Stack dan system call).
Program Control Block (PCB)
(3). Informasi Kendali Proses
Informasi Kendali Proses adalah informasi-informasi
lain yang diperlukan sistem operasi untuk
mengendalikan suatu proses. Informasi kendali proses
tersebut, meliputi: (a) Informasi Penjadwalan dan status,
yang meliputi status proses, Struktur Data, Prioritas,
Informasi berkaitan dengan penjadwalan, kejadian,
(b) Penstrukturan data,
(c) Komunikasi antar proses,
(d)Kewenangan proses,
(e)(e) Manajemen memori, dan
(f)(f). Kepemilikan dan utilisasi sumber daya.
Pengendalian Proses
Pengendalian atau pengalihan proses adalah suatu
keadaan dimana pada suatu saat, proses running
diinterupsi dan sistem operasi memberi proses lain state
running, dan menggilir kendali ke proses itu. Kejadian-
kejadian yang menyebabkan terjadinya pengalihan
proses, adalah: (1) Interupsi Sistem, (2) Trap, dan
(3)Supervisor.
Interupsi sistem disebabkan oleh kejadian eksternal dan
tidak bergantung pada proses saat iru sedang running.
Tipe-tipe running, antara lain: (1)Interupsi clock, (2)
Interupsi masukan/keluaran, (3)Page/memory fault.
Trap adaah interupsi karena terjadinya kesalahan atau
kondisi-kondisi perkecualian yang dihasilkan proses
yang running. Supervisor call adalah panggilan meminta
Pengendalian Proses
Tahap- Tahap Pengalihan Proses :
1. Simpan konteks pemrosesan, termasuk register PC
dan register-register lain.
2. Perbaharui PCB proses running.
3. Pindahkan PCB proses ke senarai yang cocok.
4. Pilih satu proses lain untuk dieksekusi sesuai dengan
teknik penjadualan.
5. Perbaharui PCB proses yang dipilih termasuk
perubahan state menjadi running.
6. Perbaharui struktur data manajemen memori.
 
Pengendalian Proses
Tahap- Tahap Pengalihan Proses :
7. Kembalikan konteks pemroses dengan konteks
simpan yang memberitahu konteks proses terakhir saat
dialihkan dari state running.
8. Pengalihan proses melibatkan pengalihan konteks dan
perubahan state, memerlukan usaha lebih besar daripada
pengalihan konteks.
9. Pengalihan konteks dapat terjadi tanpa pengalihan
state proses yang sedang running.
 
Threads
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. Perbedaan
antara proses dengan thread tunggal dengan proses
dengan thread yang banyak adalah proses dengan thread
yang banyak dapat mengerjakan lebih dari satu tugas
pada satu satuan waktu.
Threads
Suatu proses didefinisikan oleh resource yang digunakan
dan lokasi yang akan dieksekusi. Namun adakalanya
proses-proses akan menggunakan resource secara
bersama-sama. Suatu unit dasar dari CPU utilization
yang berisi program counter, kumpulan register, dan
ruang stack disebut dengan thread atau lightweight
process (LWP). Thread akan bekerjasama dengan thread
yang lainnya dalam hal penggunaan bagian kode, bagian
data, dan resource-resource sistem operasi, seperti open
file dan sinyal secara kolektif yang sering disebut
dengan task.
Threads
Seperti halnya proses, thread memiliki status ready,
blocked, running atau terminated, dan hanya satu thread
yang aktif dalam satu waktu. Thread dapat membuat
child thread. Jika satu thread dalam keadaan blocked,
maka thread yang lainnya dapat dijalankan. Tidak seperti
proses, antara satu thread dengan thread yang lainnya
tidak saling bebas, sebab semua thread dapat mengakses
setiap alamat dalam suatu task, thread dapat membaca
dan menulis stack dari thread yang lainnya. Sehingga
tidak ada proteksi antara satu thread terhadap thread
yang lainnya.
Threads
Contoh Thread:
Banyak perangkat lunak yang berjalan pada PC modern
dirancang secara multi-threading. 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.
Threads
Contoh Thread:
Kadang kala ada situasi dimana sebuah aplikasi
diperlukan untuk menjalankan beberapa tugas yang
serupa. Sebagai contohnya sebuah web server dapat
mempunyai ratusan klien yang mengaksesnya 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.
Threads
Keuntungan Thread:
a)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.
Threads
Keuntungan Thread:
b) 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.
Threads
Keuntungan Thread:
c). 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. 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
context switch proses 5 kali lebih lama dibandingkan
context switch thread.
Threads
Keuntungan Thread:
d). 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 (satu-satuan waktu pada
CPU biasa disebut time slice atau quantum).

Anda mungkin juga menyukai