Anda di halaman 1dari 23

Deskripsi dan Kontrol Proses

Pada Sistem Operasi

KELOMPOK 2
1.
2.
3.
4.

Alan Kurniawan
Bayu Tricahyo
Dadang Badrudin
Moch. Faisal.C

NIM : 7201130159
NIM : 7201130168
NIM : 7201130181
NIM : 7201130171

FAKULTAS ILMU KOMPUTER


JURUSAN SISTEM INFORMASI
TAHUN 2014

KATA PENGANTAR
Assalamualaikum wr wb Segala puji bagi Allah tuhan semesta
alam yang telah memberikan kami kesehatan sehingga kami dapat
mengerjakan tugas makalah ini dalam keadaan rahmatnya serta
shalawat dan salam kita tetap tercurahkan kepada baginda
Muhammaad Rasulullah SAW yang kita tunggu syafaatnya di yaumul
akhir kelak, Alhamdulillah makalah ini selesai dibuat dengan
mengambil beberapa referensi dari internet tentang pengantar dan
perkembangan komputer semoga apa yang kelompok kami buat ini
dapat memenuhi tugas makalah Deskripsi dan Kontrol Proses
Sistem Operasi yang telah diberikan. Wassalamualaikum wr wb.

Jakarta, 18 Oktober 2014

Kelompok 2

DAFTAR ISI :
I.

KATA PENGANTAR

Hal... 2

II.

DAFTAR ISI

Hal... 3

III.

BAB 1 PENDAHULUAN
1.1 Latar belakang
1.2 Rumusan Masalah
1.3 Tujuan

Hal... 4
Hal... 5
Hal... 5

BAB 2 PEMBAHASAN
2.1 Deskripsi Proses
2.1.1 Konsep Proses
2.2 Proses
2.2.1 Proses State (Status Proses)
2.2.2 Control Proses Block
2.3 Operasi-Operasi Pada Proses

Hal 6
Hal 6
Hal 8
Hal 8-9
Hal10-11
Hal11-22

BAB 3 PENUTUP
3.1 Kesimpulan

Hal 23

IV.

V.

BAB 1. PENDAHULUAN
Dalam Ilmu komputer, Sistem operasi yang dalam bahasa Inggris
disebut Operating system atau OS adalah perangkat lunak sistem
yang bertugas untuk melakukan kontrol dan manajemen perangkat
keras serta operasi-operasi dasar sistem, termasuk menjalankan
software aplikasi seperti program-program pengolah kata dan
browser web.
Secara umum, Sistem Operasi adalah software pada lapisan
pertama yang ditaruh pada memori komputer pada saat komputer
dinyalakan. Sedangkan software-software lainnya dijalankan setelah
Sistem Operasi berjalan, dan Sistem Operasi akan melakukan
layanan inti umum untuk software-software itu. Layanan inti umum
tersebut seperti akses ke disk, manajemen memori, skeduling task,
dan antar-muka user. Sehingga masing-masing software tidak perlu
lagi melakukan tugas-tugas inti umum tersebut, karena dapat
dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang
melakukan tugas-tugas inti dan umum tersebut dinamakan dengan
"kernel" suatu Sistem Operasi.
1.1

Latar belakang
Keberadaan sistem operasi dalam sistem komputer adalah
sebagai

perangkat

lunak

yang

mempunyai

tugas

mengendalikan dan mengkoordinasikan seluruh hardware dan


software

sebagai

sumber

memberikan

pelayanan

pemrogram

untuk

dayanya.

Proses

daya

kepada

memudahkan
sebagai
4

suatu

komputer
program

sekaligus

aplikasi

dan

pemanfaatan

sumber

entitas

dinamis

yang

mengandung sejumlah instruksi, data, program counter,


kumpulan register serta stack yang berisi alamat memori.
Proses juga dapat dikatakan sebagai program yang sedang
dieksekusi (program aplikasi / sistem operasi). Proses dapat
dikatakan sebagai unit kerja terkecil yang secara individu
memiliki sumber daya sumber daya dan dijadwalkan oleh
sistem operasi. Dengan demikian sistem operasi mempunyai
kegiatan yang sangat kompleks dalam mengelola seluruh
sumber daya dan memberikan pelayanan terhadap proses
proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem
operasi membutuhkan suatu manajemen proses.

1.2

Rumusan Masalah
a) Deskripsi Proses
b) Proses status
c) Proses control block

1.3

Tujuan
a) Untuk memenuhi tugas Sistem Operasi
b) Mengetahui Pengertian Proses
c) Mengetahui Proses pada sistem operasi

BAB 2. PEMBAHASAN
2.1. Deskripsi Proses
Satu selingan pada diskusi kita mengenai sistem operasi yaitu bahwa ada
sebuah pertanyaan mengenai apa untuk menyebut semua aktivitas CPU. Sistem
batch mengeksekusi jobs, sebagaimana suatu system time-shared telah
menggunakan

program

pengguna,

atau

tugas-tugas/pekerjaan-pekerjaan.

Bahkan pada sistem tunggal, seperti Microsoft Windows dan Macintosh OS,
seorang pengguna mampu untuk menjalankan beberapa program pada saat
yang sama, sebuah Word Processor, Web Browser, dan paket e-mail. Bahkan
pengguna dapat melakukan hanya satu program pada satu waktu, sistem
operasi perlu untuk mendukung aktivitas program internalnya sendiri, seperti
management memory. Dalam banyak hal, seluruh aktivitas ini adalah serupa,
maka kita menyebut seluruh program itu proses-proses (processes).
2.1.1.

Konsep Proses

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah


chip dalam sistem komputer yang menjalankan instruksi-instruksi program
komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer.
Sedangkan proses adalah suatu bagian dari program yang berada pada status
tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita
lebih sering membahas proses dibandingkan dengan program. Pada Sistem
Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori,
tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari
program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat
dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi
oleh prosesor. Hal ini sangat menghemat pemakaian memori.
6

Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu,
sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal
sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah
prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka
bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses?
Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan
satu proses dalam satu waktu, kemudian secara cepat ia berpindah
menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan
perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa
proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB
(Process Control Block) yang memuat informasi tentang proses tersebut, 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. Suatu
sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses
tersebut dapat memiliki kesempatan lebih besar pada eksekusi berikutnya
(misalnya : pada proses yang sudah sangat terlalu lama menunggu eksekusi,
sistem operasi menaikkan nilai prioritasnya).
Awalnya sistem komputer hanya diperbolehkan menjalankan satu program
dalam satu waktu. Program ini memiliki kontrol penuh terhadap sistem, dan
memiliki akses ke semua sumber daya sistem. Kebutuhan ini menghasilkan
gagasan dari sebuah proses, yang merupakan program dalam eksekusi. Proses
adalah unit kerja dalam sistem time-sharing modern.
Sistem Operasi diharapkan semakin kompleks oleh penggunanya. Sebuah
sistem

karena

terdiri

dari

kumpulan

proses:

Operasi-sistem

proses

mengeksekusi kode sistem, dan proses mengeksekusi kode pengguna. Semua


proses ini berlangsung bersamaan dengan meggunakan CPU multiplexing.
Dengan beralih CPU antara proses, sistem operasi dapat membuat komputer
lebih produktif.

2.2.

Proses

Proses adalah program yang sedang dieksekusi. Proses lebih dari sekedar kode
program yang kadang-kadang dikenal sebagai bagian teks. Seperti nilai dari
program counter dan isi dari register prosesor. Selain itu, proses umumnya
termasuk proses stack, yang berisi data temporer (seperti parameter metoda,
alamat return dan variabel lokal), dan sebuah bagian data, yang berisi variabel
global. Program bukanlah sebuah proses. Program adalah sebuah entitas pasif,
seperti isi file yang disimpan pada disk, sedangkan proses adalah suatu entitas
aktif, dengan sebuah program counter menentukan instruksi berikutnya untuk
mengeksekusi dan seperangkat sumber daya yang terkait. Meskipun dua proses
dapat dikaitkan dengan program yang sama, mereka tetap dianggap dua urutan
eksekusi yang terpisah.
2.2.1

Process State (status proses)

Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun
adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses
bisa dibangkitkan dari output proses lainnya sebagai input.
Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses
didefiniskan sebagai bagian dari aktivitas proses yang sedang berlangsung saat
itu.

Gambar 1. Proses State ( Proses Status)


8

Keterangan :
1. Proses di blok untuk melayani input karena sumber daya yang
diminta belum tersedia / meminta layanan I/O sehingga menunggu
kejadian muncul.
2. Penjadwalan mengambil proses lain.
3. Penjadwalan mengambil proses ini (baru).
4. Input telah tersedia.
Penjelasan Status (State)
Terdapat transisi di antara state-state selama siklus hidup proses, yaitu:
Proses yang baru diciptakan akan segera mempunyai status Ready.
Proses dengan status running blocked karena sumber daya yang
diminta

belum

masukan/keluaran

tersedia

atau

meminta

sehingga

menunggu

layanan

kejadian

perangkat

muncul.

Proses

menunggu kejadian alokasi sumber daya atau selesainya layanan


perangkat masukan/keluaran (event wait).
Proses dengan status running ready karena penjadwal memutuskan
eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis
(time-out).
Proses dengan status blocked ready saat sumber daya yang
diminta/diperlukan

telah

tersedia

atau

layanan

perangkat

masukan/keluaran selesai (event occurs).


Proses dengan status ready running karena penjadwal memutuskan
penggunaan pemroses untuk proses itu karena proses yang saat itu
running berubah state (menjadi ready atau blocked) atau telah
menyelesaikan sehingga disingkirkan dari sistem Proses menjadi
mendapatkan jatah pemroses.
2.2.2.

Process Control Block (PCB)

Setiap proses digambarkan dalam sistem operasi oleh sebuah Process Control
Block (PCB) yang juga disebut sebuah control block. Control Block berisikan
banyak bagian dari informasi yang berhubungan dengan sebuah proses yang
spesifik, termasuk hal-hal di bawah ini :
9

A Status Proses.
Status new, ready, running, waiting, terminated, dan juga banyak lagi.
B Program Counter.
Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi
untuk proses ini.
C CPU register.
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan
komputer. Register tersebut termasuk accumulator, register indeks, stack
pointer, general-purposes register, ditambah code information pada
kondisi apa pun. Beserta dengan program counter, keadaan/status
informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan
proses tersebut berjalan/bekerja dengan benar setelahnya.
D Informasi manajemen memori.
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan
batas register, tabel halaman, atau tabel segmen tergantung pada sistem
memori yang digunakan oleh sistem operasi.
E Informasi pencatatan.
Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan,
batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
F Informasi status I / O.
Informasi termasuk daftar dari perangkat I/O yang di gunakan pada
proses ini, daftar berkas-berkas yang sedang diakses dan banyak lagi.

Gambar 3. Process Control Block


10

2.3 OPERASI-OPERASI PADA PROSES


Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi
terhadap proses. Operasi tersebut adalah :

Penciptaan proses

Penghancuran/terminasi proses

Penundaan proses dan Pelanjutan kembali proses

Pengubahan prioritas proses

Menjadwalkan proses

Memungkinkan proses berkomunikasi dengan proses lain.

1. PENCIPTAAN PROSES
Melibatkan banyak aktivitas, yaitu :
Memberi identitas proses
Menyisipkan proses pada senarai atau tabel proses
Menentukan prioritas awal proses
Menciptakan PCB
Mengalokasikan sumber daya awal bagi proses Ketika proses baru
ditambahkan, sistem operasi membangun struktur data untuk mengelola
dan mengalokasikan ruang alamat proses.
Kejadian yang dapat menyebabkan penciptaan proses :

Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja


(job) Sistem operasi dengan kendali batch job, setelah menciptakan
proses baru, kemudian melanjutkan membaca job berikutnya.

Pada lingkungan interaktif, ketika pemakai baru berusaha logon.

Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file,


sistem operasi dapat menciptakan proses yang akan mengelola
pencetakan itu. Sistem operasi menciptakan proses untuk memenuhi
satu

fungsi

pada program pemakai, tanpa mengharuskan pemakai

menunggu.

Proses penciptaan proses lain (proses anak). Untuk


modularitas atau

mengeksploitasi

kongkurensi,

mencapai

program pemakai

memerintahkan pembuatan sejumlah proses. Proses dapat menciptakan


11

proses baru yaitu anak proses (child process), sedangkan proses yang
menciptakannya disebut proses induk
anakpun

kembali

dapat

(parent

process).

Proses

menciptakan proses-proses anak lainnya.

Proses-proses dapat membentuk pohon hirarki proses.


TAHAP-TAHAP PENCIPTAAN PROSES
Penciptaan proses dapat disebabkan beragam sebab Penciptaan proses
meliputi beberapa tahap :

Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel
proses utama yang berisi satu isian perproses.

Alokasikan ruang untuk proses.

PCB harus diinisialisasi.

Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.

Bila diperlukan struktur data lain maka segera dibuat struktur data itu.

2. PENGHANCURAN PROSES
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :

Sumber daya-sumber daya yang dipakai dikembalikan.

Proses dihancurkan dari senarai atau tabel sistem.

PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain.


Terdapat dua pendekatan, yaitu :
1. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses
induk dihancurkan secara otomatis.
2. Beberapa sistem lain menganggap proses anak independen terhadap
proses induk, sehingga proses anak tidak secara otomatis dihancurkan
saat proses induk dihancurkan.
Alasan-alasan penghancuran proses, sebagai berikut :

Selesainya proses secara manual, Proses mengeksekusi panggilan


layanan sistem operasi untuk menandakan bahwa proses telah berjalan
secara lengkap.

12

Batas waktu telah terlewati, proses telah berjalan melebihi batas waktu
total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe
waktu yang diukur,termasuk waktu total yang dijalani (wait clock
time),jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak

pemakai terakhir kali memberi masukan (pada proses interaktif


Memori tidak tersedia, proses memerlukan memori lebih banyak daripada

yang dapat disediakan sistem.


Pelanggaran terhadap batas memori, Proses mencoba mengakses lokasi

memori yang tidak diijinkan diakses.


Terjadi kesalahan karena pelanggaran proteksi, Proses berusaha
menggunakan sumber data atau file yang tidak diijinkan dipakainya, atau
proses mencoba menggunakannya tidak untuk peruntukannya, seperti

menulis file read only.


Terjadi kesalahan aritmatika

Proses

mencoba perhitungan terlarang,

seperti pembagian dengan nol,atau mencoba menyimpan angka yang

lebih besar daripada yang dapat diakomodasi oleh perangkat keras


Waktu telah kedaluwarsa, Proses telah menunggu lebih lama dari pada

maksimum yang ditentukan untuk terjadinya suatu kejadian spesifik.


Terjadi kegagalan, Kesalahan muncul pada masukan/keluaran, seperti
masukan/keluaran ketidakmampuan

menemukan

file,

kegagalan

membaca atau menulis setelah sejumlah maksimum percobaan yang


ditentukan (area rusak didapatkan pada tape atau operasi tak valid

seperti membaca dari line printer).


Instruksi yang tidak benar, Proses berusaha mengeksekusi intruksi yang
ada

(akibat

percabangan

ke

daerah

data

dan

dan

berusaha

mengeksekusi data itu)


Terjadi usaha memakai instruksi yang tidak dijinkan, Proses berusaha

menggunakan instruksi yang disimpan untuk sistem operasi.


Kesalahan penggunaan data, Bagian data adalah tipe yang salah atau

tidak diinisialisasi.
Diintervensi oleh sistem operasi atau operator, Untuk suatu alasan,

operator atau sistem operasi mengakhiri proses (terjadi deadlock)


Berakhirnya proses induk, Ketika parent berakhir, sistem operasi
mungkin dirancang secara otomatis mengakhiri semua anak proses dari

parent itu.
Atas permintaan dari proses induk Parent process biasanya mempunyai
otoritas mengakhiri suatu anak proses.
13

3. PENUNDAAN PROSES dan PELANJUTAN KEMBALI PROSES


Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan
beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering
dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi
beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain
meresume.

Untuk

jangka

panjang,

sumber

daya-sumber

daya

proses

dibebaskan. Keputusan membebaskan sumber daya-sumber daya bergantung


sifat

masing-masing

sumber

daya.

Memori

utama

seharusnya

segera

dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain.


Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik
(instruksi) dimana proses ditunda.
Operasi suspend dan resume penting, sebab :

Jika sistem berfungsi secara buruk dan mungkin gagal maka prosesproses
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh :
Pada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend.
Setelah kertas dimasukkan kembali, proses pun dapat diresume.

Pemakai yang ragu/khawatir mengenai hasil proses dapat mensuspend


proses (bukan membuang / abort proses). Saat pemakai yakin proses akan
berfungsi secara benar maka dapat me-resume (melanjutkan kembali di
instruksi saat disuspend) proses yang disuspend.

Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem,


beberapa proses dapat disuspend dan diresume saat beban kembali ke
tingkat normal. Gambar berikut menunjukkan modifikasi diagram state
dengan memasukkan kejadian suspend dan resume.

14

Gambar 4. Diagram lima state proses


Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :

Suspended ready

Suspended blocked

Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.

Pada sistem monoprocessor, proses running dapat mensuspend dirinya


sendiri karena tak ada proses lain yang juga running yang dapat

memerintahkan suspend.
Pada sistem multiprocessor, proses running dapat disuspend proses
running lain pada pemroses berbeda. Proses ready hanya dapat di
suspend oleh proses lain.

Pada proses blocked terdapat transisi menjadi suspended blocked. Pilihan ini
dirasa

aneh.

Apakah

tidak

cukup

menunggu

selesainya

operasi

masukan/keluaran atau kejadian yang membuat proses ready atau suspended


ready?. Bukankah state blocked, ready blocked, suspended blocked sama-sama
tidak mendapat jatah waktu pemroses ?. Kenapa dibedakan ?.
15

Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked


mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih
baik disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses
tersebut dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik
sumber daya-sumber daya yang dipegang proses yang berkondisi seperti ini
dipakai proses-proses lain. Proses blocked disuspend sistem atau secara
manual menjadi suspended blocked. Bila akhirnya operasi masukan/keluaran berakhir

maka

segera

proses suspended

blocked mengalami

transisi.

Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera
dilakukan.

Suspend dan resume dapat

digunakan

untuk

menyeimbangkan

beban sistem saat mengalami lonjakan di atas normal.


4. Pengubahan Prioritas Proses
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. Suatu sistem
operasi dapat saja menentukan semua proses dengan prioritas yang sama,
sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi
dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut dapat
memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada
proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi
menaikkan nilai prioritasnya).
5. Menjadwalkan Proses
Merupakan kumpulan kebijaksanaan didalam sitem operasi yang berkaitan
dengan urutan kerja yang dilakukan sistem computer, penjadwalan juga
bertugas untuk memutuskan :
- Proses yang harus berjalan
- Kapan dan berapa lama proses berjalan.
Multiprogramming bertujuan untuk memaksimalkan penggunaan CPU dengan
cara mengatur alokasi waktu yang digunakan oleh CPU, sehingga proses
berjalan sepanjang waktu dan memperkecil waktu idle.

16

Penjadwalan direpresentasikan dalam bentuk antrian yang disimpan sebagai


linkedlist dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu
pointer field yang menunjuk ke proses berikutnya. Jenis-jenis antrian
penjadwalan adalah sebagai berikut :

Job Queue. Semua proses yang masuk pada suatu sistem akan diletakkan
ke dalam job queue.
Ready Queue. Sedangkan proses-proses yang ada di memori utama dan
menunggu untuk dieksekusi diletakkan pada suatu list yang disebut dengan
ready queue. Pada antrian ini berisi

Device Queue. Deretan proses yang sedang menunggu peralatan I/O


tertentu disebut dengan device queue.

Setiap proses dapat berpindah dari satu antrian ke antrian lain. Gambar 5.1
menunjukkan contoh ready queue dan device queue. Representasi dari
penjadwalan proses dapat dilihat pada Gambar 5.2.

Gambar 5.1: Ready queue dan device queue

17

Gambar 5.2: representasi penjadwalan proses


A. Penjadwal (Scheduler)
Terdapat dua bentuk penjadwal, yaitu:
a. Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang
harus dibawa ke ready queue.
b. Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk
dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses
tersebut.
6. MEMUNGKINKAN PROSES BERKOMUNIKASI DENGAN PROSES LAIN
Sebelumnya kita telah ketahui seluk beluk dari suatu proses mulai dari
pengertiannya,

cara

kerjanya,

sampai

operasi-operasinya

seperti

proses

pembentukannya dan proses pemberhentiannya setelah selesai melakukan


eksekusi. Kali ini kita akan mengulas bagaimana hubungan antar proses dapat
berlangsung, misal bagaimana beberapa proses dapat saling berkomunikasi dan
bekerja-sama.
A Proses yang Kooperatif
Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi
dapat dibedakaan menjadi yaitu proses independent dan proses kooperatif.
Suatu proses dikatakan independen apabila proses tersebut tidak dapat
terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada
sistem.
18

Berarti, semua proses yang tidak membagi data apa pun (baik sementara/
tetap) dengan proses lain adalah independent. Sedangkan proses kooperatif
adalah proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses
lain yang sedang dijalankan dalam sistem. Dengan kata lain, proses
dikatakan kooperatif bila proses dapat membagi datanya dengan proses lain.
Ada

empat

alasan

untuk

penyediaan

sebuah

lingkungan

yang

memperbolehkan terjadinya proses kooperatif:


1.Pembagian informasi: apabila beberapa pengguna dapat tertarik pada
bagian informasi yang sama (sebagai contoh, sebuah berkas bersama), kita
harus menyediakan sebuah lingkungan yang mengizinkan akses secara
terus menerus ke tipe dari sumber-sumber tersebut.
2.Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas
khusus untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke
dalam subtask, setiap bagian dari subtask akan dijalankan secara parallel
dengan yang lainnya.
Peningkatan kecepatan dapat dilakukan hanya jika komputer tersebut
memiliki elemen-elemen pemrosesan ganda (seperti CPU atau jalur I/O).
3.Modularitas: kita mungkin ingin untuk membangun sebuah sistem pada
sebuah model modular-modular, membagi fungsi sistem menjadi beberapa
proses atau threads.
4.Kenyamanan: bahkan seorang pengguna individu mungkin memiliki
banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai
contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile
secara paralel.
B Komunikasi Proses Dalam Sistem
Cara lain untuk meningkatkan efek yang sama untuk sistem operasi yaitu
untuk menyediakan alat-alat proses kooperatif untuk berkomunikasi dengan
yang lain lewat sebuah komunikasi dalam proses (IPC = Inter-Process
Communication). IPC menyediakan sebuah mekanisme untuk mengizinkan
proses- proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka
tanpa berbagi ruang alamat yang sama. IPC adalah khusus digunakan
19

dalam sebuah lingkungan yang terdistribusi dimana proses komunikasi


tersebut mungkin saja tetap ada dalam komputer-komputer yang berbeda
yang tersambung dalam sebuah jaringan. IPC adalah penyedia layanan
terbaik dengan menggnakan sebuah sistem penyampaian pesan, dan
sistem- sistem pesan dapat diberikan dalam banyak cara.
C Sinkronisasi
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan
menerima data primitive. Terdapat rancangan yang berbeda-beda dalam
implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok
(blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan
nama sinkron atau asinkron.

Pengiriman yang diblok: Proses pengiriman di blok sampai pesan


diterima oleh proses penerima (receiving process) atau oleh mailbox.

Pengiriman yang tidak diblok: Proses pengiriman pesan dan


mengkalkulasi operasi.

Penerimaan yang diblok: Penerima mem blok samapai pesan


tersedia.

Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid


atau null.

D Buffering
Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh
proses memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan
dimana antrian tersebut diimplementasikan:

Kapasitas nol (zero capacity): antrian mempunyai panjang maksimum


0, maka link tidak dapat mempunyai penungguan pesan (message
waiting). Dalam kasus ini, pengirim harus memblok sampai penerima
menerima pesan.

Kapasitas terbatas (Bounded capacity): antrian mempunyai panjang


yang telah ditentukan, paling banyak n pesan dapat dimasukkan. Jika
antrian tidak penuh ketika pesan dikirimkan, pesan yang baru akan
menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa
20

menunggu. Link mempunyai kapasitas terbatas. Jika link penuh,


pengirim harus memblok sampai terdapat ruang pada antrian.
Kapasitas tak terbatas(Unbounded capacity): antrian mempunyai
panjang yang tak terhingga, maka, semua pesan dapat menunggu
disini. Pengirim tidak akan pernah di blok
TABEL-TABEL PROSES
Tiap proses mempunyai state yang perlu diperhatikan sistem operasi yang dicatat
dalam beragam tabel atau senarai yang saling berhubungan, yaitu :
A Tabel informasi manajemen memori, Untuk menjaga keutuhan memori
utama dan memori sekunder yang menyimpan informasi tentang :

Alokasi memori utama yang dipakai proses.

Alokasi

memori sekunder

yang

dipakai proses (menggunakan

manajemen memori dengan swapping).

Atribut segmen memori utama dan sekunder.

Informasi-informasi lain yang digunakan untuk pengelolaan memori.

B Tabel informasi manajemen masukan/keluaran, Untuk mengelola perangkat


masukan/keluaran, dimana perangkat tersebut digunakan proses tertentu,
sehingga perlu dijaga agar proses lain tidak memakainya. Sistem operasi
perlu mengetahui status operasi masukan/keluaran dan lokasi memori
utama yang digunakan untuk transfer data.
C Tabel informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi
pada memori sekunder, status saat itu dan menyimpan atribut-atribut file
lainnya.
D Tabel proses, Untuk mengelola informasi proses di sistem operasi, lokasinya
di memori, status dan atribut proses lainnya.
Proses ditempatkan di memori utama di lokasi 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

21

atribut-atribut lain yang berkaitan penempatannya pada suatu lokasi memori dan
status eksekusi pada saat itu.
Elemen-elemen citra proses, sebagai berikut
ELEMEN CITRAPROSES

KETERANGAN

Data pemakai

Bagian yang dapat memodifikasi berupa data


program, daerah stack pemakai.
Program biner yang dieksekusi.

Stack system

Digunakan untuk menyimpan parameter dan


alamat pemanggilan untuk prosedur dan system
calls

PCB (Program Control Block)

Berisi informasi yang diperlukan oleh sistem operasi


dalam mengendalikan proses

Struktur umum tabel-tabel kendali ditunjukkan pada gambar berikut :

Gambar 6 : Struktur tabel-tabel kendali pada sistem operasi


22

BAB III PENUTUP


3.1 Kesimpulan
Dengan membaca makalah ini, maka dapat disimpulkan :
1)

Proses adalah program dalam eksekusi. Proses lebih dari sekedar kode

program yang kadang-kadang dikenal sebagai bagian teks. Seperti nilai dari
program counter dan isi dari register prosesor.
2)

Mengetahui penjelasan tentang proses state.

3)

Mengetahui model dari eksekusi proses.

23

Anda mungkin juga menyukai