Monday, September 19, 2016
Materi Pelajaran
Manajemen Proses dalam Sistem Operasi
- PENGERTIAN PROSES
Proses adalah sebuah
program yang sedang dieksekusi atau program yang sedang di jalankan atau software
yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah
proses sequential.
Sedangkan program
adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem
operasi. Proses berisi instruksi dan data. program counter dan semua
register pemroses, dan stack berisi data sementara seperti parameter
rutin, alamat pengiriman dan variabel-variabel lokal.
Secara Umum proses
adalah program dalam esekusi. Suatu proses adalah lebih dari kode program,
dimana kadang kala dikenal sebagai bagian tulisan
Hal – hal yang berkaitan dengan proses yaitu :
- MULTIPROGAMMING ( MULTITASKING )
Multiprogramming adalah manajemen
banyak proses pada satu pemroses. Istilah yang digunakan multiprogramming
(multitasking) bukan multiprocessing. Mulitprocessing telah
digunakan untuk konsep lain, yaitu komputer dengan banyak pemroses di satu
sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara
independen. Saat ini, kebanyakan komputer pribadi, workstation adalah
sistem pemroses tunggal yang menjalankan sistem operasi multiprogramming
(multitasking) seperti MS-Windows 3.0, MS-Windows NT, OS/2 dan
Macintosh System 7.
Banyak proses
dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali
tersendiri. Program yang dijalankan bersifat :
·
Tidak bergantung (Independent)
·
Proses terpisah satu dari lainnya & tidak berpengaruh
·
Satu program pada satu saat (one program at any instant)
·
Pada satu waktu hanya satu proses yang dilayani pemroses, menggunakan interleave
bukan overlap diantara program-program
Oleh karena
perpindahan dari satu proses ke proses dilakukan secara cepat bagi bagi pemakai
seolah-olah bekerja secara paralel. Hal ini dikenal dengan paralel semu (pseudoparallelism).
- MULTIPROCESSING
Multiprocessing adalah
manajemen banyak proses di komputer multiprocessor (banyak pemroses di
dalamnya). Dengan kata lain komputer dengan banyak pemroses di satu sistem
komputer dengan masing-masing pemroses melakukan pemrosesan secara independen.
Dulunya sistem ini hanya terdapat di sistem besar, mainframe dan
minikomputer. Saat ini komputer workstation telah dapat dilengkapi multiprocessor.
Menggunakan
komputer semaksimal mungkin dengan beberapa CPU sehingga beberapa program bisa
dijalankan secara bersama-sama, masing-masing dengan menggunakan prosesornya
sendiri-sendiri. Sistem operasi yang mendukung multiprocessing
yaitu : Microsoft Windows NT, UNIX, Linux.
- DISTRIBUTED PROCESSING / COMPUTING
Distributed
Processing adalah manajemen banyak proses yang dieksekusi di
banyak sistem komputer yang tersebar (terdistribusi). Trend masa datang adalah
menuju komputasi tersebar (distributed computing). Banyak riset dan
pengembangan sistem operasi tersebar di antaranya AMOEBA, MACH, dan
sebagainya.
Sistem
Operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen proses, seperti :
·
Membuat dan menghapus proses pengguna dan
sisitem proses. Sistem operasi bertugas mengalokasikan sumber daya yang
dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali
setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya
·
Menunda atau melanjutkan proses. Sistem Operasi
akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan
prioritas dari proses-proses yang ada
·
Menyediakan mekanisme untuk proses sinkronisasi.
Sistem Operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan
·
Menyediakan mekanisme untuk proses komunikasi.
Sistem Operasi menyediakan mekanisme agar beberapa proses dapat saling
berinteraksi dan berkomunikasi satu sama lain tanpa menyebabkan terganggunya
prosoes lainnya
·
Menyediakan mekanisme untuk penangan deadlock.
Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap
proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk
mendapatkan sumber daya yang sedang dimiliki oleh proses lain
- KEBUTUHAN PENGENDALIAN SUATU PROSES
Kebutuhan utama
pengendalian proses oleh Sistem Operasi dapat dinyatakan dengan mengacu ke
proses yaitu :
·
Saling melanjutkan (Interleave).
Dikatakan interleave
(bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses
setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran.
Sistem Operasi harus interleave (saling melanjutkan) eksekusi
proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu
tanggap yang memadai.
·
Mengikuti kebijaksanaan tertentu.
Sistem Operasi harus
mengalokasikan sumber daya ke proses-proses mengikuti kebijaksanaan yang
ditentukan (misal suatu aplikasi memiliki prioritas lebih tinggi) sambil
menghindari deadlock .
·
Mendukung komunikasi antar proses dan penciptaan proses.
·
Sistem Operasi harus mendukung komunikasi antar proses dan penciptaan
proses oleh pemakai sehingga membantu menstrukturkan aplikasi. Jadi pada sistem
dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam
tahap eksekusinya yaitu proses mengalami beragam state selama siklus
hidupnya sebelum berakhir dan keluar dari sistem.
- DIAGRAM STATE DASAR
v Diagram 3 kondisi
(state) Proses
Status proses atau bagian keadaan proses memiliki tiga
elemen yaitu:
- Running
Running / kerja, benar-benar
menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).
Ada tiga kemungkinan
bila sebuah proses memiliki status Running:
·
Jika program telah selesai dieksekusi maka status dari proses tersebut akan
berubah menjadi Terminated.
·
Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka
akan terjadi interrupt dan proses tersebut kini berstatus Ready.
·
Jika suatu event terjadi pada saat proses dieksekusi (seperti ada
permintaan M / K) maka proses tersebut akan menunggu event tersebut
selesai dan proses berstatus Waiting.
2.
Blocked
Blocked / terhenti, tidak dapat berjalan sampai kegiatan eksternal terlaksana
(proses menunggu kejadian untuk melengkapi tugasnya) Bisa berupa proses
menunggu : Selesainya operasi perangkat I/O; Tersedianya memori; Tibanya pesan
jawaban
3.
Ready
Ready / siap, proses siap dikerjakan tetapi menunggu giliran dengan proses lain
yang sedang dikerjakan (bisa berjalan, sementara berhenti untuk memungkinkan
proses lain dikerjakan).
Suatu proses dapat berada pada salah satu state,
dimana hubungan dari ketiga state untuk proses digambar sebagai berikut:
Keterangan:
·
Proses baru diciptakan berada pada state ready
·
Proses dari running menjadi blocked karena sumberdaya yang
diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O)
sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event
wait.
·
Proses dari running jadi ready karena penjadwal memutuskan
eksekusi proses lain oleh karena jatah waktu telah habis (timeout).
·
Proses dari blocked jadi ready karena sumber daya yang
diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event
occur
·
Proses dari ready jadi running
Dalam status proses
terdapat dua status tambahan, yaitu saat pembentukan danterminasi:
·
New adalah status yang dimiliki pada saat proses baru saja dibuat.
·
Terminated adalah status yang dimiliki pada saat proses telah selesai dieksekusi.
v Diagrarn State Lanjut (5 Keadaan)
Penundaan (suspension) 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
process) tidak berlanjut sampai proses lain me‑resume. Untuk jangka panjang,
sumber daya‑sumber daya proses dibebaskan (dilucuti). 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.
D.
PCB (Program Control Block)
Sistem Operasi memerlukan banyak informasi mengenai
proses guna pengelolaan proses. Informasi ini ada di PCB. PCB berisikan banyak
bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik,
yaitu:
Gambar Diagram PCB
Struktur datanya menyimpan informasi lengkap mengenai
proses sehingga dapat terjadi siklus hidup proses. Informasi di PCB
dikelompokkan menjadi 3, yaitu :
1.
Informasi Identifikasi Proses
-
Identifier proses
-
Identifier proses yang menciptakan
-
Identifier pemakai
2.
Informasi Status Pemroses
-
Register-register yang terlihat pemakai yang dapat diakses dengan bahasa
assembly untuk diproses pemroses
-
Register-register kendali dan status. Register-register yang digunakan
untuk mengendalikan operasi proses. Antara lain: program counter, PSW, Dsb
-
Pointer Stack. Tiap proses mempunyai satu stack atau lebih. Stack digunakan
untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack
menunjuk posisi paling atas dari stack
3.
Informasi Kendsali Proses
-
Informasi penjadwalan
-
Penstrukturan data
-
Komunikasi antar proses
-
Kewenanganproses
-
Kepemilikan dan utilisasi sumber daya
E.
OPERASI-OPERASI PADA PROSES
·
Pembuatan Proses (Create)
Penciptaan
proses karena terdapat batch baru. SO dengan kendali batch job, setelah
menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
Penciptaan
proses melibatkan banyak aktivitas, yaitu:
o
Menamai (memberi identitas proses)
o
Menyisipkan proses pada senarai proses atau
tabel proses
o
Menentukan prioritas awal proses
o
Menciptakan PCB
o
Mengalokasikan sumber daya awal bagi proses
Penyebab penciptaan
proses antara lain :
o
Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job).
o
Pada lingkungan interaktif, ketika pemakai baru berusaha log on.
o
Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file,
sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
o
Proses menciptakan proses lain (proses anak). Proses yang menciptakan
proses disebut proses induk (parent process). Proses anak-pun kembali
dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon
hirarki proses.
·
Penghancuran proses (Destroyed)
Penghancuran
proses terjadi karena:
o
Selesainya proses secara normal.
o
Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses
telah berjalan secara lengkap.
o
Batas waktu telah terlewati.
o
Proses telah berjalan melebihi batas waktu total yang dispesifikasikan
o
Memori tidak tersedia.
o
Pelanggaran terhadap batas memori
o
Terjadinya kesalahan karena pelanggaran
proteksi, dan sebagainya.
Penghancuran lebih rumit bila proses telah menciptakan
proses-proses lain. Terdapat dua pendekatan, yaitu :
o
Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
o
Beberapa sistem lain menganggap proses anak independen terhadap proses
induk Proses anak tidak secara otomatis dihancurkan saat proses induk
dihancurkan.
Penghancuran proses melibatkan
pembebasan proses dari sistem, yaitu :
o
Sumber daya-sumber daya yang dipakai dikembalikan.
o
Proses dihancurkan dari senarai atau tabel sistem.
o
PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
·
Penundaan Proses (suspend a process)
Penundaan (suspension) adalah operasi penting
dan telah diterapkan dengan beragam cara. Penundaan dapat diinisialisasi oleh
proses itu sendiri atau proses lain. Penundaan biasanya berlangsung singkat dan
sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi
beban sistem selama beban puncak. Proses yang ditunda (suspended process)
tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber
daya-sumber daya proses dibebaskan. Pada sistem monoprocessor, proses running
dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga
running yang dapat memerintahkan suspend. Pada sistem multiprocessor,
proses running dapat di-suspend proses running lain pada pemroses berbeda.
Proses ready hanya dapat di-suspend oleh proses lain.
·
Proses Pelanjutan Kembali (resume a process)
Jika sistem berfungsi secara buruk dan mungkin gagal
maka proses-proses dapat di- suspend agar di-resume setelah masalab
diselesaikan. Pemakai yang ragu / khawatir mengenai basil proses dapat
men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin
proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di
instruksi saat di-suspend) proses yang di-suspend.
Sebagai tanggapan terhadap fluktuasi jangka pendek
beban sistem, beberapa proses dapal di-suspend dan di- resume
saat beban kembali ke tingkat normal.
·
Proses Blocked
Pada proses blocked terdapat transisi menjadi suspendedblocked.
Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi
masukan/keluaran atau kejadian yang membual proses ready atau suspendedready?
Bukankah state blocked, readyblocked, suspendedblocked sama-sama tidak
mendapatjatah waktu pemroses? Kenapa dibedakan ?. Jawabannya adalah karena
penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah
terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar
sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan
proses-proses lain.
Proses blocked di-suspend sistem atau secara
manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran
berakhir maka segera proses suspendedblocked 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.
·
Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
o
Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah
waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan
pemroses sehingga mengalami kekurangan waktu.
o
Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio)
waktu sibuk pemroses.
o
Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
-
Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir
dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar.
Waktu tanggap ini disebut terminal respons time.
-
Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal)
sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event
response time.
-
Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke
sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang
dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi
(waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time =
waktu eksekusi + waktu menunggu.
-
Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara
untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang
dapat dieksekusi dalam satu unit/interval waktu
·
SINKRONISASI
Komunikasi antara proses membutuhkan place by calls untuk mengirim
dan menerima data primitive. Terdapat design 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.
o
Pengiriman yang diblok : Proses pengiriman di blok sampai pesan diterima
oleh proses penerima (receiving process) atau oleh mailbox.
o
Pengiriman yang tidak diblok : Proses pengiriman pesan dan mengkalkulasi
operasi.
o
Penerimaan yang diblok : Penerima mem blok sampai pesan tersedia.
Ketika dalam
keadaan sinkron, terjadi dua kejadian:
o
Blocking send, yaitu pemblokiran pengirim sampai pesan sebelumnya diterima.
o
Blocking receive, yaitu pemblokiran penerima sampai terdapat pesan yang akan
dikirim.
Sedangkan untuk
keadaan asinkron, yang terjadi adalah:
o
Non-blocking send, yaitu pengirim dapat terus mengirim pesan tanpa memperdulikan apakah
pesan sebelumnya sampai atau tidak.
o
Non-blocking receive, yaitu penerima menerima semua pesan baik berupa pesan yang valid atau
pesan yang salah (null).
F.
IMPLEMENTASI PROSES :
1.
Tabel-tabel untuk proses
o
Tabel memori
o
Tabel I/O
o
Tabel berkas
o
Tabel proses
·
Tabel manajemen memori
Menjaga keutuhan antara memori utama & memori sekunder
Informasi:
o
Alokasi memori utama yang
dipakai proses
o
Alokasi memori sekunder yang
dipakai proses
o
Atribut segmen memori utama
dan sekunder
o
Informasi2 lain yang digunakan
utk pengelolaan memori
·
Tabel I/O
Pada waktu digunakan proses tertentu, dijaga agar tidak digunakan proses lain
Informasi:
o
Status operasi I/O
o
Lokasi memori utama
o
Transfer data dengan perangkat
I/O
·
Tabel sistem file
Berisi informasi mengenai ekstensi berkas,
lokasi pada memori sekunder, status saat itu & atribut berkas lainnya
·
Tabel proses
Mengelola informasi proses pada SO
o
Proses -> memori utama
-> lokasi ruang alamat tertentu/tersendiri -> Ruang alamat = process image (citra proses)
-
Data pemakai
-
Program pemakai
-
Stack sistem
-
PCB (Program Control Block)
Gambar
struktur umum tabel kendali Sistem Operasi
2.
Elemen Citra Proses
·
PCB
·
Stack pemakai (user stack)Ruang
alamat proses eksklusif
·
Ruang alamat -> dipakai
bersama proses lain
·
Lihat gambar.
Makasih sudah share
ReplyDeleteMesin pemisah lcd