Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses

Slides:



Advertisements
Presentasi serupa
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Syiah Kuala
Advertisements

PERTEMUAN KE-5 Heintje Hendrata, S.Kom
Pemrograman Terstruktur
Sistem Operasi (pertemuan 1) Memori Razief Perucha F.A
Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
Pertemuan 6 (Organisasi Input/Output)
PERTEMUAN KE-4 Heintje Hendrata, S.Kom. MANAJEMEN PROSES TIK : Mahasiswa dapat memahami konsep dasar proses Heintje Hendrata, S.Kom.
Struktur Sistem Komputer
Proses.
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
KETENTUAN SOAL - Untuk soal no. 1 s/d 15, pilihlah salah satu
Resource Allocation Denial
Manajemen proses Manajemen Proses.
Implementasi Proses.
MANAJEMEN PROSES.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Proses dan Implementasinya
Manajemen Proses.
Luas Daerah ( Integral ).
Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses
Pertemuan 3 Arsitektur Komputer II
Slide 7 – Penjadwalan Process
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Pertemuan 03- Konsep Proses
Struktur CPU By Serdiwansyah N. A..
Ihr Logo 3. SISTEM OPERASI Manajemen Proses by
Pertemuan ke 3 Konsep Proses
Struktur Sistem Operasi
PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI
Pertemuan 3 Manajemen Proses.
Proses Oleh : Wahyu Andhyka Kusuma
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Slide 6 – Management Proses
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
MANAJEMEN PROSES.
MANAJEMEN PROSES.
Struktur Sistem Komputer
PENJADWALAN PROSES DAN IMPLEMANTASI Sistem operasi komputer
PCB (Process Control Block)
SISTEM OPERASI Pertemuan 3 : Manajemen Proses
Sistem Operasi UPN Veteran Surabaya 2012.
Oleh: Chalifa Chazar MANAJEMEN PROSES.
PROSES.
PROSES & THREADS Disajikan Oleh :.
PENJADWALAN PROSES.
Proses Dosen: Abdillah S.Si., MIT.
Proses dan Thread Oleh : Adhitya Nugraha.
Penjadwalan Proses.
Sistem Operasi Silabus : Pendahuluan Struktur Sistem Komputer
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Slide 6 – Management Proses
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
SISTEM OPERASI PERTEMUAN VI.
PROSES.
Manajemen Proses Firdaus, M.T..
Manajemen Proses.
SISTEM OPERASI PERTEMUAN VI.
PENJADWALAN PROSES.
MATERI PENJADWALAN PROSES
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Penjadwalan Proses M. Ghofar Rohman.
PROSES.
Manajemen Proses.
Manajemen Memori Pertemuan 14 & 15 Sistem Operasi (CSG3E3)
DESKRIPSI & KONTROL PROSES PENDAHULUAN 1 1 Edi Wahyudi, S.Kom 1
Pertemuan 6 P R O S E S.
Proses dan Thread Oleh : Adhitya Nugraha.
PROSES. Definisi Proses Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel.
Transcript presentasi:

Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2010

Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses Sub Pokok Bahasan: Konsep proses Elemen-elemen proses Model proses 2 status, 5 status, dan 6 status  TIU: Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses TIK: Mahasiswa dapat menjelaskan konsep proses Mahasiswa dapat menjelaskan elemen-elemen proses Mahasiswa dapat menjelaskan setiap status pada model proses 2 status, 5 status, dan 6 status

Sub Pokok Bahasan: Konsep proses: Definisi proses Status proses

Tugas OS Terhadap Proses Mengeksekusi banyak proses secara interleave (selang-seling) agar utilisasi prosesor maksimal dan response time setiap proses masih bisa diterima Menyediakan resource bagi setiap proses Mendukung komunikasi antar proses dan penciptaan proses baru oleh user

Konsep-Konsep Sebelumnya Platform komputer terdiri dari sekumpulan resource hardware Program aplikasi komputer dibuat untuk melakukan beberapa task (pekerjaan) Sangatlah tidak efisien jika program aplikasi dibuat hanya khusus bagi platform hardware tertentu Sistem operasi harus nyaman dan aman digunakan serta mempunyai banyak fitur dan interface yang konsisten Sistem operasi dapat memberikan gambaran resource secara uniform (seragam) sehingga dapat diminta dan diakses oleh program aplikasi

Mengapa Eksekusi 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

Apakah Proses itu ? Program yang dieksekusi Program yang sedang berjalan di komputer Entitas yang dapat diberikan kepada prosesor untuk dieksekusi Sebuah aktifitas yang sangat dipengaruhi oleh hasil eksekusi sebelumnya, status saat ini, dan sejumlah resource sistem yang tersedia

Apa Saja Elemen Proses yang Sedang Running ? (1) Identifier Identitas unik untuk membedakan suatu proses dengan proses lainnya State Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll) Priority Prioritas suatu proses terhadap proses yang lain Program counter Alamat instruksi berikutnya yang akan dieksekusi 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)

Apa Saja Elemen Proses yang Sedang Running ? (2) 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 account, dsb.

Process Control Block (PCB) (1) Struktur data yang menyimpan elemen-elemen proses Dibuat dan diatur oleh sistem operasi Mendukung adanya multi proses Bersama-sama dengan kode program dan data yang diperlukan membentuk sebuah proses Proses = PCB + kode program + data yang diperlukan

Process Control Block (PCB) (2) Sebagian isi PCB:

Agenda: Konsep proses: Definisi proses Status proses

Status Proses Status proses merupakan kondisi suatu proses (setiap saat setiap proses mempunyai sebuah kondisi) Sebuah kondisi bisa dimiliki oleh banyak proses Trace proses: Adalah daftar urut-urutan alamat memori suatu proses yang telah dieksekusi Program dispatcher: Bagian dari sistem operasi yang mengatur giliran pemanfaatan prosesor kepada suatu proses ke proses yang lain

Contoh Trace Proses Sedang mengakses I/O  wait

Contoh Eksekusi Proses (1) Asumsi: tidak ada memori virtual  semua proses ditaruh di memori

Contoh Eksekusi Proses (2) Proses A Dispatcher Proses B Proses C Gabungan trace 3 buah proses: Dilihat dari sisi prosesor

Contoh Eksekusi 3 buah Proses

Pembentukan Proses Siapa yang membentuk proses ? Sistem operasi Setiap proses dilengkapi dengan PCB Apa yang dapat menyebabkan terbentuknya proses baru ? Masuknya job baru (program aplikasi) Pada model batch system: proses terbentuk akibat job baru (berupa baris-baris program) yang ditulis pada tape magnetic atau harddisk yang sedang dieksekusi Log on dari user Pada sistem interaktif: proses terbentuk ketika user melakukan log on pada sistem Sebagai bentuk layanan OS kepada program aplikasi Misal: Ada program aplikasi yang perlu mencetak ke printer  OS membentuk proses yang mengatur printer Dibentuk oleh proses lain (process spawning) Parent process = proses induk = proses yang membentuk proses lain Child process = proses anak = proses yang dibentuk oleh proses induk Misal: Print server atau file server akan selalu membentuk proses baru setiap ada permintaan dari client

Apa Penyebab Terminasi Proses ? (1) Proses telah selesai secara normal: Model batch job: terdapat instruksi halt yang menandakan proses telah selesai Sistem interaktif: proses di-close oleh user (close, log off, turn off, dsb) Jatah waktu telah habis: Total waktu sejak proses dibentuk Total waktu proses aktif Total waktu sejak user memberikan input Dsb Memori tidak tersedia: Proses membutuhkan memori lebih besar tetapi tidak terpenuhi Bounds violation: Proses mencoba mengakses lokasi memori proses lain

Apa Penyebab Terminasi Proses ? (2) Protection error: Proses mencoba menggunakan resource (file) yang tidak boleh diakses Misal: mencoba menulis pada file dengan atribut read only Arithmatic error: Kesalahan komputasi, misal division by zero Time overrun: Proses telah menunggu melebihi batas waktu yang telah ditentukan I/O failure: Terjadi kesalahan pada saat mengakses I/O Misal: Tidak dapat menemukan file yang dicari Gagal membaca/menulis file sesudah mencoba beberapa kali (akibat adanya bad sector atau membaca data dari printer)

Apa Penyebab Terminasi Proses ? (3) Instruksi invalid: Proses mencoba mengeksekusi instruksi yang tidak ada (akibat pencabangan mengarah pada area data) Privileged instruction: Proses mencoba menggunakan instruksi yang disediakan khusus bagi sistem operasi (misal perintah ke I/O) Kesalahan data Tipe data salah atau data tidak diinisialisasi Ada intervensi dari operator atau OS Dilakukan pada saat terjadi deadlock (hang) Proses induk (parent) diterminasi Jika proses induk diterminasi  proses semua proses anaknya ikut terterminasi Diterminasi proses induk Proses induk berhak untuk melakukan terminasi terhadap proses anaknya

Model Proses Proses dengan 2 status: Proses dengan 5 status: Running Not running Proses dengan 5 status: New Ready 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 2-status: Hanya digunakan sebuah antrian  di dalam antrian terdapat 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 proses-proses 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 ter-blok (misal butuh memori lebih besar, menunggu I/O device) Terminate

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 ditaruh 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 (uniprosesor) 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

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

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 Running  Exit: 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 Apa kelebihannya ?

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 di harddisk 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

Referensi: [STA09] Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall