2. Sistem Operasi || Semester 3 Manajemen Operasi

 Sistem Operasi
Manajemen Proses

PROSES

Process: Sebuah program dalam eksekusi dari sebuah sistem operasi termasuk nilainya dari sistem program pusat , pendaftaran, dan variabel. 

Unit terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan oleh Sistem Operasi (SO)

Program adalah bersifat pasif kesatuan dalam disk  (executable file), proses itu juga sebuah kesatuan yang aktif.  (executable file loaded into memory)

Proses itu membutuhkan sebuah sumber untuk selesai menyelesaikan tugas seperti CPU time, memori, file, dan I/O device. 

HAL HAL YANG BERKAITAN PROSES

Multiprogramming (Multitasking)

Multiprocessing

Distributed Processing

Multiprogramming

Multiprogramming adalah manajemen banyak proses di satu pemroses.

Pada multiprogramming, pemakai memandang terdapat banyak proses dijalankan bersamaan pada satu saat.

Proses yang dijalankan pada sistem multiprogramming bersifat :

Saling tidak bergantung

Artinya proses tidak saling mempengaruhi satu sama lain.

Satu program pada satu saat

>Multiprogramming, adalah konsep dimana sebuah program dapat terus berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar.

>Pseudoparallelism, adalah konsep eksekusi proses yang dilakukan seolah-oleh berjalan secara paralel.

>Multiprocessing, adalah sebuah konsep pemrosesan yang dilakukan secara serentak. Hal ini juga dapat merujuk pada sebuah sistem yang didukung dan bekerja oleh lebih dari satu processor.

>Distributed Processing, adalah konsep yang mengerjakan semua proses pengolahan data secara bersamaan antara komputer pusat dengan beberapa sub-komputer melalui jaringan komunikasi.

  Dalam multiprogramming sistem melakukan interleave (saling melanjutkan)

  Sehingga seolah-olah proses beroperasi secara bersamaan.

  Pemroses mengeksekusi satu proses tiap saat dan secara cepat beralih ke proses lain secara bergiliran

  Karena dilakukan dengan sangat cepat sehingga menimbulkan efek pseudoparallelism pada pemakai

  Contoh : MS Windows 98/NT/XP, OS/2, MAC System 7

Multiprogramming (1)

          Kelemahan pada Sistem Batch Sederhana, yaitu penggunaan utilitas processor yang seringkali dalam keadaan idle, pada saat menunggu mekanisme dari I/O.

          Ide : pada saat processor menunggu mekanisme dari I/O, processor dapat melakukan eksekusi instruksi yang lain.

Multiprogramming (2)

Multiprogramming (3)

Multiprogramming (4)

Multiprogramming (5)

Multiprocessing

Multiprocessing adalah manajemen banyak proses pada komputer multiprocessor (banyak pemroses).

Awalnya hanya terdapat pada komputer besar mainframe dan minikomputer.

Dimaksudkan untuk peningkatan kinerja dan memberikan kemampuan fault tolerant.

Contoh : Windows NT, UNIX, Linux.

DISTRIBUTED PROCESSING

Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi).

Contoh : MACH, AMOEBA

PEMROSES

Kebutuhan utama pengendalian proses oleh SO dapat dinyatakan dengan mengacu ke proses yaitu

Saling melanjutkan (interleave)

Mengikuti kebijaksanaan tertentu

Mendukung komunikasi antar proses dan penciptaan proses

INTERLEAVE

Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran.

SO harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai

MENGIKUTI KEBIJAKAN TERTENTU

SO 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 & PENCIPTAAN PROSES

SO 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.

Proses mengalami beragam state selama siklus hidupnya sebelum berakhir dan keluar dari sistem.

SO harus mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis.

Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya

STATUS PROSES

Ketika proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:

  1. New: Proses sedang dikerjakan/ dibuat.
  2. Running: Instruksi sedang dikerjakan.
  3. Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal).
  4. Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  5. Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Istilah-istilah tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting.

Diagram State Proses

KETERANGAN GAMBAR

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 karena penjadwal memutuskan untuk mengeksekusi proses tersebut.  

Process Control Block (PCB)

Berfungsi untuk menyimpan informasi mengenai proses.

Informasi di PCB dikelompokan menjadi tiga kelompok, yaitu :

  1. Informasi identifikasi proses

Berkaitan dengan identifikasi proses yang unik, Identifikasi proses yang menciptakan identifikasi pemakai

  1. Informasi status proses

Berisi nilai dari register-register pemroses

  1. Informasi kendali proses.

Berisi informasi yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif

INFORMASI IDENTIFIKASI PROSES

Berkaitan dengan identitas proses yang unik

Dengan identifier ini proses dikaitkan ke tabel-tabel lain

Identifiernya adalah numerik yang meliputi

Identifier proses

Identifier proses yang menciptakan

Identifier pemakai 

INFORMASI STATUS PROSES

Informasi ini esensinya terdiri dari register-register pemroses.

Saat proses berstatus running, informasi-informasi ini berada di register-register.

Ketika proses diinterupsi semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali

Jumlah dan ragam register bergantung pada arsitektur komputernya 

INFORMASI STATUS PROSES

Informasi ini esensinya terdiri dari register-register pemroses.

Saat proses berstatus running informasi-informasi ini berada di register-register.

Saat proses diinterupsi semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali

Jumlah dan ragam register yang terlibat bergantung pada arsitektur komputer

INFORMASI KENDALI PROSES

Adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif

OPERASI-OPERASI PADA PROSES

SO dalam mengelola proses dapat melakukan operasi-operasi terhadap proses.

Operasi-operasi terhadap proses a.l. :

Penciptaan proses (create process)

Penghancuran/terminasi proses (destroy a process)

Penundaan proses (suspend a process)

Pelanjutan kembali proses (resume process)

Pengubahan prioritas proses

Memblok proses

Membangunkan proses

Menjadwalkan proses

Memungkinkan proses berkomunikasi dengan proses lain

PENCIPTAAN PROSES

Penciptaan proses melibatkan banyak aktivitas, yaitu

Menamai (memberi identitas) proses

Menyisipkan proses pada senarai proses atau tabel proses

Menentukan prioritas awal proses

Menciptakan PCB

Mengalokasikan sumberdaya awal bagi proses

Ketika proses baru ditambahkan, SO membangun struktur data untuk mengelola dan alokasi ruang alamat proses itu. Aksi ini berkaitan dengan proses baru.

PENCIPTAAN PROSES

Kejadian yang dapat menyebabkan penciptaan proses a.l. :

Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)

Pada lingkungan interaktif, ketika pemakai baru berusaha logon

Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat menciptakan proses yang akan mengelola pencetakan itu

Proses menciptakan proses lain (proses anak)

Proses yang menciptakan child process disebut proses induk (parent process)

Child process dapat menciptakan proses baru.

Proses-proses dapat membentuk pohon hirarki proses

TABEL ALASAN CREATE PROCESS

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 bebas)

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu

Pada beberapa sistem, proses-proses turunan dihancurkan saat proses-proses induk dihancurkan secara otomatis

Beberapa sistem lain menganggap proses anak independen terhadap proses induk sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan

TABEL ALASAN TERMINATE PROCESS

TABEL ALASAN TERMINATE PROCESS (lanjut)

TABEL ALASAN TERMINATE PROCESS (lanjut)

3. Penundaan / Suspension

Penundaan (suspension) sering dilakukan sistem untuk memindahkan proses-proses tertentu ke hardisk guna mereduksi beban sistem saat situasi beban puncak.

Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain memerintahkan untuk berlanjut (resume).

4. Pelanjutan Kembali Proses

Operasi suspend dan resume penting sebab :

Jika sistem berkinerja buruk dan berpeluang gagal maka proses yang kurang penting dapat di suspend agar kinerja meningkat.

Setelah beban sistem menurun proses-proses suspend dapat diresume agar dapat melanjutkan tugasnya.

Contoh : pada proses pencetakan.

Diagram State Proses Lanjut

lanjut

Pada sistem monoprocessor, proses Running dapat mensuspend dirinya sendiri.

Pada sistem multiprocessor, proses Running dapat disuspend proses Running lain di pemroses yang berbeda, sedangkan proses Ready hanya dapat disuspend oleh proses lain yang Running.

Pada proses Blocked terdapat transisi menjadi SuspendedBlocked karena agar sumber daya yang digunakan pada proses Blocked dapat digunakan proses lain.

lanjut

Tabel Informasi Manajemen Memori

Berfungsi untuk menjaga keutuhan memori utama dan memori sekunder.

Informasi yang dimuat pada tabel ini :

Alokasi memori utama yang digunakan proses

Alokasi memori sekunder yang digunakan proses (bila menggunakan manajemen memori swapping)

Atribut segmen memori utama dan sekunder

Informasi-informasi lain yang digunakan untuk pengelolaan memori

lanjut

Tabel Informasi I/O

Digunakan untuk mengelola perangkat I/O.

Pada saat tertentu perangkat I/O digunakan proses tertentu

Sehingga proses I/O tsb perlu dijaga agar proses lain tidak memakainya.

Sistem operasi perlu mengetahui status operasi I/O dan lokasi memori utama yang digunakan untuk transfer data.

lanjut

Tabel Informasi Sistem File

Berisi informasi mengenai:

Ekstensi file

Lokasi pada memori sekunder

Atribut-atribut file lainya.

Tabel Proses

Mengelola informasi proses pada SO.

Lokasi tabel proses di memori

Berisi status dan atribut-atribut proses yang lain.

Struktur tabel kendali pada SO

5. Pengubahan/Pengalihan Proses

Pada suatu saat proses Running diinterupsi dan sistem operasi memberi proses lain state Running sehingga kendali dialihkan ke proses tersebut.

Dalam hal tersebut muncul beberapa masalah

Apa kejadian yang memicu pengalihan proses?

Perbedaan antara process switching dan context switching.

Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam pengalihan proses?

Kejadian penyebab pengalihan proses

Interupsi System

Trap

Supervisor Call

lanjut

Interupsi System

Kejadian eksternal dan tidak bergantung proses yang sedang Running

Selesainya opeasi I/O

Tipe – tipe interupsi antaralain

Interupsi clock

Interupsi I/O/ (I/O interrupt)

Page/memory fault

lanjut

Trap

Interupsi karena terjadi kesalahan atau kondisi pengecualian yang dihasilkan proses Running.

Usaha ilegal dalam mengakses file.

Saat terjadi trap, mungkin terjadi pengalihan proses atau mungkin juga me resume terhadap proses.

lanjut

Supervisor Call

Yaitu panggilan meminta atau mengaktifkan bagian sistem operasi

Contoh : proses Running meminta layanan I/O seperti membuka file, panggilan tsb menyebabkan transfer ke rutin bagian sistem operasi

Pengalihan Proses VS Pengalihan Konteks

Banyak buku sistem operasi menyamakan antara pengalihan proses dan pengalihan konteks.

Yang membedakan pengalihan konteks terjadi tanpa pengalihan state proses yang sedang Running, sedangkan pengalihan proses pasti melibatkan pengalihan konteks.

Pengalihan proses terjadi jika proses yang Running beralih menjadi state lain (ready, blocked, dan sebagainya).

Langkah pengalihan proses

Simpan konteks pemroses, termasuk register PC dan register lain

Perbaiki PCB proses yang Running.

Pindahkan PCB proses ke senarai yang cocok

Pilih satu proses lain untuk dieksekusi

Perbaharui PCB proses yang dipilih

Perbaharui struktur data memori

Kembalikan konteks pemroses dengan konteks simpanan yang menjelaskan konteks proses terakhir saat dialihkan dari state Running.

[Stalling-95]

Kedudukan Sistem Operasi

Sistem operasi juga perangkat lunak, yaitu program yang perlu dieksekusi pemroses.

Kedudukan sistem operasi dibanding proses lain

Sebagai kernel tersendiri yang berbeda dengan proses lain

kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi.

Fungsi sistem operasi dieksekusi dalam proses pemakai

Sistem opeasi juga sebagai kumpulan proses (process-based operating system).

lanjut

Kernel sebagai Nonproses

Kernel sistem operasi berada diluar proses

Kernel disimpan dalam memori tersendiri

lanjut

Dieksekusi dalam proses pemakai

Sebagai alternatif lain eksekusi sistem operasi.

Berdasarkan pandangan bahwa sistem operasi sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam fungsi.

lanjut

Sistem operasi sebagai kumpulan proses

Fungsi kernel utama diorganisaikan sebagai proses yang terpisah

Mikrokernel

Mikrokernel adalah inti sistem operasi yang menyediakan landasan perluasan sistem operasi

Saat ini mendapat banyak perhatian

Landasan pendekatanya adalah hanya fungsi-fungsi inti yang secara mutlak harus berada pada kernel, layanan yang kurang esensi dibangun diatas mikrokernel tsb.

Fungsi mikrokernel sebagai mediator pertukaran pesan, memvalidasi, melewatkan pesan antar komponen, dan memberi hak pengaksesan perangkat keras.


Download PPT Selengkapnya Disini

KLIK DISINI

 

LihatTutupKomentar