Process Control Block Definisi Proses PDF

Title Process Control Block Definisi Proses
Author R. Aris Subiantoro
Pages 55
File Size 821.4 KB
File Type PDF
Total Downloads 183
Total Views 404

Summary

P e r t e m u a n 2 KONSEP PROSES (Status Proses & Implementasinya) L/O/G/O Oleh: Achmad Arrosyidi, www.themegallery.com S.Kom., M.Med.Kom. Pokok Bahasan . 1 Definisi Proses 2 Komponen Proses 3 Status Proses 4 Process Control Block Definisi Proses Secara Umum proses didalam Sistem Operasi dapat ...


Description

P e r t e m u a n

2

KONSEP PROSES (Status Proses & Implementasinya) Oleh: L/O/G/O Achmad Arrosyidi, www.themegallery.com S.Kom., M.Med.Kom.

Pokok Bahasan .

1

Definisi Proses

2

Komponen Proses

3

Status Proses

4

Process Control Block

Definisi Proses Secara Umum proses didalam Sistem Operasi dapat didefinisikan sebagai

PROGRAM YANG SEDANG DIJALANKAN

Definisi Proses Menurut Tanembaum, Andrew S. Proses adalah sebuah program yang dieksekusi yang mencakup program counter,

register, dan variabel di dalamnya.

Definisi Proses Menurut Silberschatz

Proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti program counter dan stack. Sebuah proses juga melibatkan stack yang berisi data sementara (parameter fungsi/ metode, return address, dan variabel lokal) dan data section yang menyimpan variabel-variabel global.

Alasan Proses Harus Diatur • Agar resource selalu tersedia bagi banyak aplikasi • Agar prosesor dapat digunakan oleh banyak aplikasi secara bergantian • Agar prosesor dan I/O device dapat digunakan secara efisien

Hal-hal Berkaitan Proses • • • •

Multiprogramming Multitasking Multiprocessing Distributed processing

MultiProgramming (1) • • •





Definisi : Manajemen banyak proses pada satu pemroses Banyak proses yang dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali sendiri. 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 programprogram Oleh karena perpindahan dari satu proses ke proses dilakukan secara cepat bagi pemakai seolah-olah bekerja secara paralel. Hal ini dikenal dengan paralel semu (pseudoparallelism) Contoh : win98, winNT, winxp, os/2 dan macintosh system 7

MultiProgramming (2) • Lebih dari satu program berada dalam memori utama (RAM), Penjadual (bagian dari SO) memilih jobs untuk diletakkan dalam antrian yang siap dari beberapa program. • Antrian yang siap, diletakkan dalam memori dan keberadaan program-program tsb yang ada dalam antrian (RAM) disebut sebagai Multiprogramming.

MultiProgramming (3) Contoh: • Kita buka Ms. Word, Ms. Excel, Ms. Access dan aplikasi lainnya secara bersama-sama tapi ketika kita mengetik menggunakan Ms.Word maka aplikasi lainnya seperti Ms. Excel dan Ms.Access tetap ada dalam memori utama (RAM) namun aplikasi lain tsb tidak melakukan aktivitas (task). Atau kita dapat mengatakan bahwa tidak digunakan pada saat bersamaan.

MultiTasking (1) • Mengerjakan beberapa tugas (task) dalam paralel. Biasanya CPU memproses satu task dalam waktu tertentu tapi menukar task dalam CPU antar proses (context switching) dengan sangat cepat sehingga seperti CPU mengeksekusi beberapa proses dalam waktu tertentu.

MultiTasking (2) Contoh: • Kita mendengarkan musik dan browsing internet disaat yang sama. • Program musik dijalankan secara paralel dengan browser yang kita gunakan.

MultiProcessing (1) • Definisi : Manajemen banyak proses di komputer multiprocessor • Dengan kata lain komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen • Contoh SO yang mendukung: Windows NT, UNIX, LINUX

MultiProcessing (3) - Sebuah cara dalam komputer dimana bagian yg berbeda dari sebuah tugas (task) didistribusikan antara dua atau lebih yang sama kepada CPU (MultiProcessor), yang mengijinkan komputer untuk menyelesaikan tugas dengan lebih cepat dan untuk menangani task yang besar dan lebih kompleks. - Penggunaan dua atau lebih CPU pada saat bersamaan. - Terlebih karena beberapa komputer yang baru mempunyai banyak core/inti processor, atau fitur yang native multi processor yang disebut dengan multi processor.

Distributed Processing • Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi). • Contoh : MACH, AMOEBA

Komponen Proses (1) PC (Program Counter)

Stack

Register

Komponen Proses Data Section

Nilai dari Variabel

Komponen Proses (2) PC (Program Counter)

Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.

Stack Berisi data sementara (parameter fungsi/metode, return address, dan variabel lokal Beserta dengan program counter, keadaan/status informasi harus disimpan ketika perubahan akibat gangguan jika terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya

Komponen Proses (3) Data Section Suatu kode program terdiri atas instruksi dan variabel diolah menurut algoritma tertentu yang menyimpan variabel-variabel global. . Nilai dari Variabel Perubahan yang terjadi pada nilai/isi dari variabel disebabkan oleh program yang dijalankan (proses) Register Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan/arsitektur hardware komputer. Terdiri atas: accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun.

PENGENDALIAN PROSES Sistem Operasi mengendalikan proses berdasarkan :  Saling melanjutkan (interleave)  Mengikuti kebijaksanaan tertentu  Mendukung komunikasi antar proses dan penciptaan proses

INTERLEAVE o Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses (processor) mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran. o SO harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai.

Mengikuti kebijakan tertentu o SO harus mengalokasikan sumber daya ke proses-proses mengikuti kebijaksanaan yang ditentukan (misal suatu aplikasi memiliki prioritas lebih tinggi) sambil menghindari deadlock

Proses Vs Program Proses adalah sebuah entitas yang aktif Bersifat aktif, karena dapat mempengaruhi isi dari komponen proses stack (yang berisikan data temporer). Contoh: proses akan mempengaruhi isi dari komponen proses. Program adalah sebuah entitas yang pasif Program tidak melakukan aktifitas, karena tidak dalam kondisi dijalankan/dieksekusi. Contoh: program berbentuk file yang tersimpan di dalam flashdisk, program tersebut tidak melakukan aktivitas.

Process Control Block Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block(PCB). PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Gambar Elemen PCB

Elemen-elemen PCB Running (1) ELEMEN

URAIAN

Identifier

Identitas unik untuk membedakan suatu proses dengan proses lainnya

State

Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll)

Priority

Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll) Priority

Program counter

Alamat instruksi berikutnya yang akan dieksekusi Memory pointers

Elemen-elemen PCB Running (2) ELEMEN

URAIAN

Memory pointers

Pointer yang menunjuk pada alamat memori kode program dan data yang berhubungan dengan proses dan blok memori yang di-shared dengan proses lain (jika ada)

Context data

Data yang terdapat pada register prosesor ketika suatu proses sedang dieksekusi

I/O status information

Informasi tentang permintaan terhadap I/O device yang belum terpenuhi (misal akses ke harddisk), daftar file yang sedang digunakan oleh proses, dll

Accounting information

Informasi tentang jumlah waktu prosesor yang telah digunakan, jumlah waktu proses, batas waktu proses, nomor urutan, dsb.

Process Control Block

Perindahan cpu dari satu proses ke proses lain

OPERASI PADA PROSES

• Pembentukan Proses (Process Creation) • Penghentikan Proses (Termination)

Pembentukan Proses Ada beberapa aktivitas berkenaan dengan pembuatan proses, antara lain : a. Memberi identitas (nama) pada proses yang dibuat;

b. Menyisipkan proses pada list proses atau tabel proses; c. Menentukan prioritas awal proses; d. Membuat PCB;

e. Mengalokasikan resource awal bagi proses tersebut.

Pembentukan Proses Ada beberapa kejadian yang menyebabkan pembuatan suatu proses baru, antara lain: a. Pada lingkungan batch sebagai tambahan atas pemberian job. Setelah menciptakan proses baru, sistem operasi melanjutkan untuk membaca job selanjutnya. b. Pada ingkungan interaktif, pada saat user baru saja logon; c. Sebagai tanggapan atas suatu aplikasi (seperti: mencetak file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu); d. Proses menciptakan proses lain (child)..

Pembentukan Proses Selama eksekusi, suatu proses mungkin akan membuat suatu proses yang baru. Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child. Proses pembuatan proses anak membentuk pohon proses. Pembagian sumber daya : • Parent dan child membagi semua sumber daya yang ada • Child menggunakan sebagian dari sumber daya yang digunakan parent Bentuk eksekusi : • Parent melanjutkan eksekusi beriringan dengan children. • Parent menunggu hingga beberapa atau seluruh children selesai. Bentuk ruang alamat : • Child adalah duplikat dari proses parent. • Child mempunyai program yang diambil dari dirinya.

Pembentukan Proses Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan (child process) yang dilakukan oleh proses induk (parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.

Pembentukan Proses Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat M/K. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagibagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi

Penghentian Proses Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit.

Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.

Penghentian Proses Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun, ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan. Parent dapat menghentikan eksekusi proses child dengan menggunakan system

call abort.

Terminasi Proses Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi perintah terakhir atau diterminasi dengan sengaja oleh proses lain, biasanya proses induk yang melakukan hal ini. Pada saat terminasi, semua sumber-daya yang digunakan oleh proses akan dialokasikan kembali oleh sistem operasi agar dapat dimanfaatkan oleh proses lain.

Suatu proses yang diterminasi karena selesai melakukan tugasnya, sistem operasi akan memanggil system call exit() sedangkan proses yang diterminasi dengan sengaja oleh proses lain melalui system call abort. Biasanya proses induk melakukan terminasi sengaja pada turunannya.

Alasan terminasi 1. Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. Dalam keadaan ini, proses induk perlu mempunyai mekanisme untuk memeriksa status turunannya-nya.

2. Task yang diperlukan.

ditugaskan

kepada

turunan

tidak

lagi

3. Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan. Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination.

Model-model Proses •

Proses dengan 2 status: – Running – Not running



Proses dengan 5 status: – – – – –



New Ready Running Exit Blocked

Proses dengan 6 status – Proses dengan 5 status + Suspend



Proses dengan 7 status: – Proses dengan 5 status + Ready/Suspend + Blocked/Suspend

Model Proses Dengan 2-Status (1) • •

Merupakan model proses paling sederhana Setiap proses akan selalu berada pada salah satu dari 2 status berikut: – Running – Not-running

Model Proses Dengan 2-Status (2) • Apa yang dilakukan OS ? – OS membentuk proses baru dilengkapi dengan PCB untuk proses tersebut • Masukkan proses baru ke sistem: – Jika tidak ada proses yang sedang Running Proses langsung diberi status Running langsung dieksekusi – Jika ada proses yang sedang Running masukkan proses dengan status Not-running • Jika proses yang running ter-interrupt, maka: – OS menjalankan program dispatcher untuk memilih proses berikutnya yang akan dieksekusi – Masukkan proses tersebut ke status Not-running

Model Antrian Pada Proses Dengan 2-Status  Diagram antrian proses dengan 2status:  Hanya digunakan sebuah antrian  di dalam antrian terdapat berbagai macam status proses (siap running terblok menunggu I/O berbagai macam status proses (siap running, ter-blok, menunggu I/O, dll)  Kelemahan:  Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanya dengan algoritma FIFO  Dispatcher harus mencari proses yang siap running diantara prosesproses yang lain yang terblok karena sedang menunggu hasil I/O  Butuh algoritma yang lebih rumit

Model Proses Dengan 5-Status • Proses yang sedang antri dikelompokkan menjadi 2: • Proses yang siap running/ready (misal terhenti karena time out) • Proses yang terblok (misal butuh memori lebih besar menunggu I/O device)

Nama Status pada proses dengan 5-status (1)

• New: – Status untuk proses yang baru saja terbentuk Misal: log on dari user, buka MS-word, dll – Program dan data tidak langsung diletakkan ke memori, jika: • Jumlah proses yang sedang ditangani sudah maksimum agar performansi sistem terjaga • Memori tidak mencukupi

• Ready: – Proses yang siap untuk dieksekusi – Sudah berada di memori

Nama Status pada proses dengan 5-status (2)

• Running: – Proses sedang dieksekusi – Dalam satu saat hanya satu proses yang boleh running (uniprocessor)

• Blocked: – Proses yang terpaksa berhenti karena sedang menunggu suatu event terjadi Misal: proses yang sedang menunggu selesainya aktifitas di I/O

• Exit: – Proses yang sudah selesai (keluar dari daftar proses yang dapat dieksekusi) – Penyebab: program sudah selesai atau dibatalkan

Perpindahan Status Untuk Proses 5-Status (1)  Null  New: • Pembentukan proses baru

 New  Ready: • Penambahan proses baru yang siap dieksekusi • Proses baru telah ‘diakui’ oleh sistem operasi • Proses dipindah dari harddisk ke memori  Ready  Running: • Satu proses terpilih dieksekusi

 Exit Running • Proses telah selesai atau dibatalkan

 Running  Ready: • Proses yang sedang running dipaksa berhenti (preempted) • Penyebab:  Waktu habis (time out)  Datang proses berprioritas lebih tinggi

Perpindahan Status Untuk Proses 5-Status (2)  Running  Blocked: • Proses yang sedang running terpaksa berhenti • Penyebab:  Sedang menunggu file yang sedang diakses oleh proses lain  Sedang menunggu proses di I/O selesai  Butuh memori lebih besar  Sedang menunggu data hasil eksekusi proses lain  Sedang menunggu proses yang akan diajak berkomunikasi tetapi sedang sibuk

 Blocked Ready: • Proses terbebas dari blocked setelah event yang ditunggu telah tersedia

Perpindahan Status Untuk Proses 5-Status (3)

 Ready  Exit:

• Proses yang siap dieksekusi dipaksa keluar (terminasi) • Penyebab:  Proses anak yang ‘dibunuh’ oleh proses induk  Dihentikan oleh user

 Blocked  Exit:

• Proses yang terblok diterminasi • Penyebab sama dengan penyebab Ready  Exit

Eksekusi Proses Dengan Dua Antrian (1)  Cara kerja: • Proses baru  Ready queue • Jika tidak ada proses yang running  langsung dieksekusi • Proses yang sedang running selesai/ter-blok  Pilih satu proses di ready queue untuk dieksekusi

• Jika selesai  keluar

• Jika time out  masuk ready queue

• Jika perlu resource lain  masuk blocked queue

Eksekusi Proses Dengan Dua Antrian (2) • Apa kelemahan sistem dengan 2 antrian ? Jika proses yang ter-blok sangat banyak dan masing masing menunggu event yang berbeda-beda Jika datang suatu event, maka OS harus menyeleksi proses yang mana yang sedang membutuhkan event yang datang • butuh waktu • butuh algoritma lebih rumit

Eksekusi Proses Dengan Banyak Antrian (1)

Eksekusi Proses Dengan Banyak Antrian (2)

 Cara kerja: • Sama seperti pada eksekusi proses dengan dua antrian • Bedanya untuk setiap event yang berbeda disediakan sebuah antrian tersendiri  Kelebihan: • Jika suatu event yang ditunggu telah tiba pemilihan proses yang membutuhkan event tersebut lebih mudah dan cepat (algoritmanya lebih sederhana)  Pengembangan lebih lanjut: • Jika terdapat proses dengan prioritas berbeda untuk setiap prioritas disediakan ready queue masing-masing

Model Proses Dengan 6-Status • Status yang ditambahkan suspend state

Mengapa perlu ada suspend state ? (1)

• Memori telah dipenuhi oleh proses atau bagian proses yang berada pada status blocked akibat sedang menunggu suatu event (I/O, memori, dll), sehingga tidak ada proses yang siap dieksekusi, maka: – Semua proses menunggu – Prosesor menganggur

• Semakin lama ukuran program semakin besar, maka: – Memori yang dibutuhkan semakin besar – Jumlah program yang dapat dieksekusi semakin sedikit

Mengapa perlu ada suspend state ? (2)

• Tambah memori mahal

– Lakukan swapping (pindahkan proses yang berada pada status blocked dari memori ke harddisk)

• Proses berubah status dari blocked menjadi suspend • Memori yang kosong bertambah besar:

– Dapat dimanfaatkan oleh proses yang butuh memori lebih besar, atau – Dapat ditambahkan proses baru ke memori atau – Pindahkan proses lain yang ter-suspend dan siap running dari harddisk ke memori

S e l e s a i Sampai Ketemu di Pertemuan ke-3

L/O/G/O www.themegallery.com...


Similar Free PDFs