Deskripsi Dan Kontrol Proses Kelompok 2
description
Transcript of Deskripsi Dan Kontrol Proses Kelompok 2
Deskripsi dan Kontrol ProsesPada Sistem Operasi
KELOMPOK 2
1. Alan Kurniawan NIM : 72011301592. Bayu Tricahyo NIM : 72011301683. Dadang Badrudin NIM : 72011301814. Moch. Faisal.C NIM : 7201130171
FAKULTAS ILMU KOMPUTERJURUSAN SISTEM INFORMASI
TAHUN 2014
1
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
2
DAFTAR ISI :
I. KATA PENGANTAR Hal... 2
II. DAFTAR ISI Hal... 3
III. BAB 1 PENDAHULUAN1.1 Latar belakang Hal... 41.2 Rumusan Masalah Hal... 51.3 Tujuan Hal... 5
IV. BAB 2 PEMBAHASAN2.1 Deskripsi Proses Hal… 62.1.1 Konsep Proses Hal… 62.2 Proses Hal… 82.2.1 Proses State (Status Proses) Hal… 8-92.2.2 Control Proses Block Hal…10-112.3 Operasi-Operasi Pada Proses Hal…11-22
V. BAB 3 PENUTUP3.1 Kesimpulan Hal… 23
3
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 daya komputer sekaligus
memberikan pelayanan kepada program aplikasi dan
pemrogram untuk memudahkan pemanfaatan sumber
dayanya. Proses sebagai suatu entitas yang dinamis
mengandung sejumlah instruksi, data, program counter,
4
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
5
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.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu,
sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal
6
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.
7
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 tersedia atau meminta layanan perangkat
masukan/keluaran sehingga menunggu kejadian 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.
10
Gambar 3. Process Control Block
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 mencapai
modularitas atau mengeksploitasi kongkurensi, program pemakai
11
memerintahkan pembuatan sejumlah proses. Proses dapat menciptakan
proses baru yaitu anak proses (child process), sedangkan proses yang
menciptakannya disebut proses induk (parent process). Proses
anakpun kembali dapat 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)
13
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.
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 proses-
proses
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 pro s es
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 ?.
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
15
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.
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.
16
• 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 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