SISTEM OPERASI
Manajemen Proses
Kelas 2017 A
Kelompok 4
Anggota :
UNIVERSITAS MULAWARMAN
Teknik Informatika
2018
I. PEMBAHASAN
A. DEFINISI
Perencanaan Proses
Perencanaan proses adalah fungsi di dalam proses manufacturing yang menetapkan proses dan
parameter apa yang digunakan untuk merubah part awal menjadi part akhir, yang didahului
adanya gambar teknik (Chang, 1998).
Proses planning merupakan penentuan proses perakitan dan pembuatan dan pengurutan dimana
proses ini harus diselesaikan untuk menyelesaikan prosduk dari bentuk awal sampai bentuk akhir
(Groover, 2001). Langkah-langkah dari proses planning meliputi :
1. Interpretasi gambar rancangan
2. Proses dan urutan
3. Pemilihan peralatan
4. Pemilihan tools, dies, mold, dan gages
5. Metode Analisa
6. Standar kerja
7. Cutting tools dan cutting condition
Secara umum tugas utama menajeman proses meliputi :
1. Mengelola siklus hidup proses-proses
2. Melakukan penjadwalan proses
3. Menangani komunikasi antar proses
4. Mengelola alokasi sumber daya komputer ke proses.
B. MATERI
Proses merupakan konsep inti dalam system opersai. System operasi bertanggung
jawab atas pengelolaan siklus hidup proses meliputi penciptaan proses, penghentian
proses, serta pengalihan eksekusi proses.
PENCIPTAAN PROSES
1. Sistem operasi akan membangkitkan suatu nomor identitas atau ID unik untuk
proses yang diciptakan
2. Setelah itu sistem operasi akan membuat suatu rekaman data dengan nomor ID
tersebut dan menyisipkan rekaman tersebut pada suatu struktur data di memori
utama yang disebut dengan table proses (process table)
3. Setelah itu, sistem operasi mengalokasi ruang memori utama untuk menyimpan
image proses yang terdiri atas bagian kode program, stack dan PCB (Process
Control Block)
4. Pada tahap berikutnya, sistem operasi akan melakukan inisialisasi PCB proses
yang diikuti dengan proses no 5 berikut.
5. Penyisipan PCB proses ke antrian ready dan mengubah status proses menjadi
ready.
PENGHENTIAN PROSES
Penghentian proses yang normal terjadi karena aplikasi telah selesai. Adanya
kondisi kesalahan serta hal-hal yang tidak dikehendaki dapat menyebabkan proses
dihentikan secara paksa.
Sistem operasi juga bertanggung jawab untuk pengalihan eksekusi proses. Ketika
suatu proses yang sedang running sudah habis jatah waktu eksekusinya maka sistem
operasi bertanggung jawab untuk mengalihkan eksekusi ke proses yang lain.
1. Interupsi
Interupsi disebabkan oleh aksi ekstenal, misalnya oleh piranti I/O, pewaktu
(timer), ataupun kesalahan akses memori utama. Munculnya interupsi tidak
tergantung pada proses yang pada saat itu sedang running. Pada saat muncul,
kendali lebih dahulu diserahkan ke interrupt handler atau rutin penanganan
interupsi. Secara umum, rutin tersebut akan terlebih dahulu melakukan
penyimpanan konteks prosesor (processor context), yaitu isi seluruh register
prosesor pada saat tersebut, ke PCB proses. Beberapa contoh interupsi :
a. Interupsi waktu (Clock Interrupt)
Interupsi ini digunakan untuk memerikasi pemakaian jatah waktu pengguna
prosesor. Jika jatah waktu telah habis (time-out) maka prosesor akan
dialokasikan ke proses lain.
b. Interupsi I/O (I/O Interrupt)
Interupsi ini dilakukan oleh piranti I/O untuk menginformasikan selesainya
operasi I/O ataupun adanya data baru dari piranti I/O.
c. Interupsi kesalahan Memori (Memory Faul Interrupt)
Interupsi ini umumnya terjadi jika prosesor mencoba mengakses alamat logika
yang datanya belum disalinkan ke memori utama. Ketika interupsi ini terjadi,
rutin penanganannya akan menyelin page/segment yang hendak diakses
tersebut ke memori utama. Dengan kata lain, sistem operasi menggunakan
interupsi seperti ini untuk mengelola penyalinan page/segment proses dari
memori maya pada media sekunder ke memori utama.
2. Trap
Trap adalah interupsi yang dipicu oleh terjadinya kesalahan eksekusi ataupun
kondisi-kondisi khusus (exception condition) dari proses yang sedang running.
1. Sistem operasi menyimpan (backup) konteks prosesor, yaitu ini seluruh register
prosesor, proses yang sedang running (P0) ke PCB proses tersebut (PCB0).
2. Sistem operasi kemudian memperbarui isi PCB proses tersebut (PCB0), termasuk
mengubah status eksekusinya ke status blocked ataupun ready.
3. Selanjutnya, PCB (PCB0) dipindahkan keantrian yang sesuai, yaitu antrian ready
jika status proses beralih ke status ready ataupun ke salah satu antrian I/O jika
beralih ke status blocked.
4. Setelah itu, sistem operasi melakukan dispatch ke proses lainnya P1, dengan
memperbarui PCB proses baru (P1), termasuk mengubah status eksekusinya
menjadi running.
5. Kemudian sistem operasi memperbarui isi struktur data manajemen memori yang
berkaitan dengan proses baru (P1)
6. Terakhir, sistem operasi akan menyalin (restore) konteks prosesor yang
tersimpan di PCB proses baru (PCB1) ke prosesor dan mulai meneksekusi kode
instruksi proses P1.
Jika jatah eksekusi proses P1 telah habis dan tidak ada proses lain dalam sistem
selain P0 maka prosesor akan dialihkan kembali ke P0 mengikuti langkah-langkah
diatas.
2. PENJADWALAN PROSES
Sistem operasi bertanggung jawab untuk melakukan penjadwalan proses. Sistem
operasi modern umumnya merupakan sistem multitasking, yaitu sistem yang memiliki
kemampuan untuk menjalankan sejumlah proses secara konkuren.
Antrian penjadwalan meliputi antrian yang berisi proses-proses yang siap dieksekusi
(ready queue), antrian untuk proses-proses yang menunggu layanan operasi dari
suatu peranti I/O (peranti I/O atau I/O queue seperti disk, magnetic tape dan
terminal). Selain itu, terdapat job (long-term) queue yang berisi semua proses dalam
sistem.
1. Keadilan (fairness)
Proses-proses harus diperlakukan sama, yaitu mendapatkan jatah waktu prosesor
yang adil, namun tidak selalu berarti jatah waktu yang sama.
2. Efisiensi (Processor utilization)
Penjadwalan menjaga agar prosesor dipakai secara terus menerus selama masih
ada proses yang aktif diantrian ready.
3. Waktu tanggapan (Response time)
Waktu tanggapan diusahakan seminimal dan sependek mungkin.
4. Waiting time
Durasi waktu yang dihabiskan suatu prose dalam antrain ready selama siklus
hidupnya.
5. Turn around time
Durasi waktu dari saat suatu proses mulai aktif dalam sistem sampai proses
tersebut selesai.
6. Throughput
Merupakan rata-rata proses yang dapat diselesaikan persatuan waktu
Ada 2 macam model komunikasi antar proses yang saling bekerja sama , yaitu :
1. Komunikas langsung
2. Komunikasi tidak langsung
Send (Pesan,P2)
P1 P2
bidirection
Gambar 5 : Komunikasi Langsung
P1 P2
Send (Pesan,M1)
M1 Receive (Pesan,M1)
(Mailbox 1 )
Gambar 6 : Komunikasi tidak Langsung
Pada gambar 5 : komunikasi langsung, alamat identitas atau alamt penerima
dinyatakan secara eksplisit dalam sintax pengiriman pesan, yaitu :
Send (pesan,proses tujuan)
Pada gambar 6 : pada komunikasi tidak langsung, pengiriman dan penerimaan pesan
dilakukan menggunakan suatu perantara yang disebut dengan mailbox. Jadi
pengiriman akan menyampaikan pesan ke mailbox dengan sintax :
Send (pesan, alamat mailbox)
Pada hakekatnya pengiriman tidak menentukan secara rinci proses mana yang
menjadi tujuan proses. Setiap proses yang dapat membaca dari mailbox yang
digunakan, otomatis dapat menjadi pihak penerima pesan. Penerima mengambil
pesan dari mailbox dengan sintax :
Receive (pesan,alamat mailbox)
Dari gambar terlihat ada tiga sambungan (link) komunikasi tak langsung yang
mungkin dilakukan.
1. Antara P1 dan P3 lewat M2 dan komunikasinya bersifat bidirectional
2. Antara P1 dan P3 lewat M1 dan komunikasinya bersifat unidirectional, yaitu
dari P1 ke P3 saja dan tidak sebaliknya.
3. Antara P1 dan P2 lewat M1 dan komunikasinya bersifat unidirectional, yaitu
dari P1 ke P2 saja.
Perhatikan, sekalipun P2 dan P3 punya akses M1, namun keduanya tidak dapat
menyelenggarakan komunikasi. Ini dikarenakan keduanya hanya memiliki akses
baca dari M1.
4. SINKRONISASI PROSES
Implementasi Sinkronisasi
Pada umumnya implementasi sinkronisasi harus dilakukan pada tiga bagian lapisan
sistem komputer, yaitu aplikasi pengguna, perangkat keras dan sistem operasi
Pada program aplikasi menerapkan sinkronisasi, ada kode tambahan yang harus
ditambahakan sebagai implementasi dari mekanisme sinkronisasi. Kode tambahan ini
disebut entry section dan exit section dan harus diletakka mengeapit bagian kode
yang diidentifikasi sebagai critical section seperti gambar diatas.
Entry section berfungsi untuk memastikan mutual exclusive. Bagian ini menguji
apakah proses dapat melanjutkan ke critical sectionnya. Misalnya pada kasus diatas,
terdapat dua proses P1 dan P2 yang hendak melakukan critical section-nya masing-
masing. Pengaturan eksekusi critical section menggunakan variabel kontrol giliran,
yaitu nilai gilitan=0 berarti P1 diijinkan untuk eksekusi critical section-nya, dan nilai
giliran=1 berarti P2 yang diijinkan eksekusi critical section-nya.
Entry section pada proses P1 akan menguji nilai giliran terus menerus dan selama
nilai giliran tidak sama dengan 0 maka pengujian akan diulang terus. Hal yang mirip
terjadi pada proses P2, tetapi proses P2 akan melakukan pengujian nilai terus
menurus selama nilai giliran tidak sama dengan 1. Pengujian yang terus menurus
atau looping ini disebut dengan busy waiting dan tetap menggunakan siklus eksekusi
prosesor.
Fungsi bagian exit section adalah untuk memastikan sifat progress dari
mekanisme sinkronisasi, yaitu jika P1 sudah selesai mengeksekusi critical section-
nya maka P1 tidak boleh menghalangi proses lainnya untuk melanjutkan ke critical
section-nya. Oleh sebab itu, bagian exit section P1 mengubah nilai giliran=1, artinya
P1 mempersilahkan P2 untuk menlanjutkan critical section-nya jika P2 sedang
menunggu di bagian entry section-nya sendiri.
Entry section proses bertugas menguji nilai kunci (lock). Jika lock tertutup atau
lock=true maka proses tersebut harus melakukan busy waiting. Jika lock terbuka atau
lock=false maka proses dapat melanjutkan eksekusi ke bagian critical section
sekaligus mengubah nilai lock=true. Dibagian exit section, proses mengubah nilai
lock=false sehingga proses lain yang menunggu terbukanya lock tersebut dapat
melanjutkan ekseskusi ke bagian critical mereka juga.
Baik fungsi wait (lock) maupun signal (lock) merupkan rutin yang disediakan oleh
sistem operasi. Mengapa harus sistem operasi? Ini dikarenakan kita membutuhkan
kemampuan untuk mengatur siklus atau status dari proses yang telibat. Yaitu
mengubah suatu proses berstatus running menjadi blocked ataupun sebaliknya.
Fungsi wait diletakkan pada bagian entry section, sedangkan fungsi signal diletakkan
pada bagian exit section. Fungsi wait berfungsi untuk menguji status lock. Jika lock
terbuka maka proses akan melanjutkan eksekusinya ke critical section sekaligus
mengunci lock. Namun jika lock terkunci maka fungsi wait akan membuat status
proses bersangkutan menjadi blocked dan dimasukkan dalam antrian lock
bersangkutan. Setelah suatu proses menyelesaikan bagian critical section maka
proses akan melanjutkan eksekusi ke bagian exit section dengan memanggil fungsi
signal. Fungsi signal akan membebaskan lock dan sekaligus membangunkan, operasi
wake-up, semua proses yang menggungu diantrian lock tersebut.
II. TANYA JAWAB
Manajemen proses merupakan konsep pokok dalam sistem operasi, sehingga masalah
manajemen proses adalah masalah utama dalam perancangan sistem operasi. Proses
adalah program yang sedang dieksekusi. Proses dapat juga didefinisikan sebagai unit
kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh
sistem operasi. Proses berisi instruksi, data, program counter, register pemroses,
stack data, alamat pengiriman dan variabel pendukung lainnya.
Sebagaimana proses bekerja, maka proses tersebut merubah state
(keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh
aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan
berikut ini:
a. New: Proses sedang dikerjakan/ dibuat.
b. Running: Instruksi sedang dikerjakan.
c. Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi
(seperti sebuah penyelesa penyelesaian I/O
d. Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
e. Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
Struktur data antrean atau queue adalah suatu bentuk khusus dari linear list, dengan
operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut
sisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan pada
sisi lainnya, yang disebut sisi depan (FRONT), dari list. Sebagai contoh dapat kita
lihat antrean (Q1, Q2,...,QN). Kita notasikan bagian depan dari antrean Q sebagai
FRONT (Q) dan bagian belakang sebagai REAR (Q). Jadi untuk antrean Q = [Q1,
Q2,...,QN] : FRONT (Q) = Q1 dan REAR (Q) = QN kita menggunakan notasi NOEL
(Q) untukmenyatakan jumlah elemen di dalam antrean Q. NOEL (Q) mempunyai
harga integer. Untuk antrean Q = [Q1, Q2,..., QN], maka NOEL(Q) = N. Operator
penyisipan (insertion) disebut INSERT dan operator penghapusan (deletion) disebut
REMOVE.
b. Penciptaan proses
Penciptaan proses dapat dipicu oleh permintaan pengguna untuk menjalankan suatu
aplikasi melalui aplikasi shell, baik yang berbasis antarmuka teks maupun grafis.
Selain itu, proses dapat pula diciptakan dalam suatu eksekusi batch seperti
eksekusi shell script, misalnya eksekusi autoexec.bat di sistem operasi Windows
ataupun eksekusi berkas script berekstensi *.bash di sistem operasi Linux.
Tabel penyebab penciptaan proses :
c. Penghentian proses
Penghentian proses yang normal terjadi karena aplikasi telah selesai. Adanya kondisi
kesalahan serta hal-hal yang tidak dikehendaki dapat menyebabkan proses dihentikan
secara paksa.
Dalam penghentian proses secara normal, langkah-langkah SO untuk penghentian
proses sebagai berikut :
proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode
program. Proses termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan
oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register.
Suatu proses umumnya termasuk process stack, yang berisikan data temporer (seperti
parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data
section, yang berisikanvariabel global.
Program itu bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti
isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses
dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada
instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang
berkenaan dengannya.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut
dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna
dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama
dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses
yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi.
Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu
ia bekerja.
IV. REFRENSI