Pertemuan 2.1. proses pada so 2

102
Proses Pada SO Martin Suhartana, ST MTI

description

 

Transcript of Pertemuan 2.1. proses pada so 2

Page 1: Pertemuan 2.1. proses pada so 2

Proses Pada SO

Martin Suhartana, ST MTI

Page 2: Pertemuan 2.1. proses pada so 2

Definisi Proses SO• Proses adalah sebuah program yang sedang dieksekusi. Sedangkan

program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi.

• Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya.

• Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K.

• Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan.

• Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.

Page 3: Pertemuan 2.1. proses pada so 2

Defini Proses SO

• Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi.

• Proses adalah program yang sedang dieksekusi.

• Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.

Page 4: Pertemuan 2.1. proses pada so 2

Pengertian Proses

• Suatu program dalam (yang sedang di) eksekusi• Instance dari program yang berjalan pada suatu komputer• Entitas yang dapat dilewatkan ke & dieksekusi pada suatu processor• Suatu unit aktifitas yang dicirikan oleh eksekusi serangkaian instruksi, current state (status terkini) & himpunan instruksi sistem terkait (associated).

Page 5: Pertemuan 2.1. proses pada so 2

DESKRIPSI PROSES• Definisi :

– Adalah program yang sedang dieksekusi• Unit terkecil yang secara individu memiliki sumber daya-

sumber daya dan dijadwalkan oleh Sistem Operasi (SO)• SO mengelola semua proses di sistem dan

mengalokasikan sumber daya ke proses-proses sesuai dengan kebijaksanaan untuk memenuhi sasaran sistem

• Hal-hal berkaitan proses– Multiprogramming (Multitasking)– Multiprocessing– Distributed processing

Page 6: Pertemuan 2.1. proses pada so 2

MULTIPROGRAMMING• 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 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)

Page 7: Pertemuan 2.1. proses pada so 2

MULTIPROCESSING• 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

Page 8: Pertemuan 2.1. proses pada so 2

DISTRIBUTED PROCESSING• Manajemen banyak proses yang dieksekusi di

banyak sistem komputer yang tersebar (terdistribusi).

• Contoh : MACH, AMOEBA

Page 9: Pertemuan 2.1. proses pada so 2

Elemen Proses• Suatu proses tersusun dari:

– Kode program (mungkin di-share)– Sekumpulan data– Sejumlah atribut yang mendeskripsikan status dari proses tersebut

• Selama proses berjalan, ia mempunyai sejumlah elemen, mencakup– Identifier– State– Priority– Program counter– Memory pointers– Context data– I/O status information– Accounting information

Page 10: Pertemuan 2.1. proses pada so 2

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

Page 11: Pertemuan 2.1. proses pada so 2

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

Page 12: Pertemuan 2.1. proses pada so 2

Managemen Proses

Page 13: Pertemuan 2.1. proses pada so 2

Pengendalian proses

• Saling melanjutkan (interleave), – Sistem operasi harus dapat kembali melanjutkan

proses setelah melayani proses lain.• Kebijaksaan tertentu,

– Sistem operasi harus mengalokasikan sumber daya ke proses berdasar prioritasnya.

• Komunikasi antar proses dan penciptaan proses, – Sistem operasi harus mendukung komunikasi dan

penciptaan antar proses (menstrukturkan aplikasi).

Page 14: Pertemuan 2.1. proses pada so 2

Status/Keadaan (state) proses

Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :• Running, Proses sedang mengeksekusi instruksi

proses• Ready, Proses siap dieksekusi, tetapi proses

tidak tersedia untuk eksekusi proses ini.• Blocked, Proses menunggu kejadian untuk

melengkapi tugasnya

Page 15: Pertemuan 2.1. proses pada so 2

Proses yang baru diciptakan akan mempunyai state ready.

• Proses berstate running menjadi blocked, karena sumbar 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 berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).

• Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).

• Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.

Page 16: Pertemuan 2.1. proses pada so 2

Diagram state lanjut• 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 (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.

Page 17: Pertemuan 2.1. proses pada so 2

DIAGRAM STATE PROSES

1. State dasar (3 keadaan)2. State lanjut ( 5 keadaan)

Page 18: Pertemuan 2.1. proses pada so 2

DIAGRAM STATE DASAR

• Running : pemroses sedang mengeksekusi innstruksi proses tersebut

• Ready : proses siap dieksekusi, tapi pemroses tidak tersedia untuk eksekusi proses ini

• Blocked : proses menunggu kejadian (event) untuk melengkapi tugasnya

Page 19: Pertemuan 2.1. proses pada so 2

STATE DASAR

Page 20: Pertemuan 2.1. proses pada so 2

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.

Page 21: Pertemuan 2.1. proses pada so 2

PCB (PROGRAM CONTROL BLOCK)• SO memerlukan banyak informasi mengenai

proses guna pengelolaan proses• Informasi ini ada di PCB• Struktur datanya menyimpan informasi

lengkap mengenai proses sehingga dapat terjadi siklus hidup proses

• Informasi di PCB dikelompokkan– Informasi identifikasi proses– Informasi status proses– Informasi kendali proses

Page 22: Pertemuan 2.1. proses pada so 2

Process Control Block (PCB)

• Berisi elemen-elemen proses

• Dibuat dan dikelola oleh sistem operasi

• Memberikan dukungan bagi banyak proses

Page 23: Pertemuan 2.1. proses pada so 2

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

Page 24: Pertemuan 2.1. proses pada so 2

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

Page 25: Pertemuan 2.1. proses pada so 2

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

Page 26: Pertemuan 2.1. proses pada so 2

INFORMASI KENDALI PROSES• Adalah informasi-informasi lain yang

diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif

Page 27: Pertemuan 2.1. proses pada so 2

Informasi kendali proses• Informasi penjadwalan dan status, Informasi-informasi yang digunakan untuk

menjalankan fungsi penjadwalan, antara lain : – Status proses, Mendefinisikan keadaan/status proses (running, ready, blocked)– Prioritas, Menjelaskan prioritas proses.– Informasi berkaitan dengan penjadwalan, Berkaitan dengan informasi penjadwalan,

seperti lama menunggu, lama proses terakhir dieksekusi. – Kejadian, Identitas kejadian yang ditunggu proses.

• Penstrukturan data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.

• Komuikasi antar proses, beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah.

• Manajemen memori Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memory) proses.

• Kepemilikan dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus diberi tanda, misalnya

Page 28: Pertemuan 2.1. proses pada so 2

ELEMEN-ELEMEN PCBIdentifikasi Proses

IdentifierIdentifier numerik yang meliputi Identifier proses Identifier proses yang menciptakan Identifier pemakai

Page 29: Pertemuan 2.1. proses pada so 2

ELEMEN-ELEMEN PCB (Lanjut)Informasi Status Pemroses

Register-register yang terlihat pemakai

Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses

pemroses Register-register kendali dan status

Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.: 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

Page 30: Pertemuan 2.1. proses pada so 2

ELEMEN-ELEMEN PCB (Lanjut)

Informasi Kendali PemrosesInformasi penjadwalan dan status

Informasi-informasi yang dipakai untuk menjalankanfungsi penjadwalan a.l : Status proses. Mendefinisikan status proses (running,ready,block, dsb) Prioritas. Menjelaskan prioritas proses Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu,

lama proses terakhir dieksekusi dsb. Kejadian (Event). Identitas kejadian yang ditunggu proses

Penstrukturan data

Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.

Komunikasi antar proses

Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB

Page 31: Pertemuan 2.1. proses pada so 2

ELEMEN-ELEMEN PCB (Lanjut)

Informasi Kendali Pemroses (lanjut)Kewenangan proses

Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan

Manajemen memori

Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses

Kepemilikan dan utilisasi sumber daya

Sumber daya yang dikendalikan proses harus diberi tanda, misalnya : Berkas yang dibuka Pemakaian pemroses Pemakaian sumberdaya lainnyaInformasi ini diperlukan oleh penjadwal

Page 32: Pertemuan 2.1. proses pada so 2

STRUKTUR CITRA PROSES• Citra proses mempunyai struktur :

– PCB– Stack pemakai (User Stack)– Ruang alamat proses eklusif– Ruang alamat yang dipakai bersama proses lain

• Implementasi penempatan citra proses yang sesungguhnya bergantung pada skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi

Page 33: Pertemuan 2.1. proses pada so 2

STRUKTUR CITRA PROSESIdentifikasi Proses

Informasi status proses

Informasi kendali proses

Stack pemakai

Ruang alamat yang khusus diperuntukkan pemakai

(program, data)

Ruang alamat bersama

PCB

Page 34: Pertemuan 2.1. proses pada so 2

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

Page 35: Pertemuan 2.1. proses pada so 2

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.

Page 36: Pertemuan 2.1. proses pada so 2

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

Page 37: Pertemuan 2.1. proses pada so 2

TABEL ALASAN CREATE PROCESSPenyebab

Penciptaan Deskripsi

Terdapat batch job baru SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya

Satu pemakai interaktif logon

Seorang pemakai pada satu terminal sedang melakukan logon ke sistem

SO menciptakan proses untuk memberi layanan

SO menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu

Proses menciptakan proses anak

Untuk mencapai modularitas atau mengeksploitasi kongkuransi, program pemakai memerintahkan pembuatan sejumlah proses

Page 38: Pertemuan 2.1. proses pada so 2

CONTOH KASUS• UNIX

– Proses baru diciptakan dengan system call fork (SCF). SCF menciptakan kopian proses pemanggil (induk) yang identik. Setelah panggilan fork, proses induk melanjutkan berjalan bersama proses anak secara paralel. Proses induk dapat kembali melakukan fork untuk menciptakan proses-proses anak yang baru. Proses anakpun dapat mengeksekusi fork, sehingga dapat terbentuk pohon hirarki proses.

• MSDOS– System call yang ada di MSDOS adalah meload file binerke

memori dan mengeksekusi sebagai proses anak. Berbeda dengan UNIX, MSDOS panggilan ini menunda (menonaktifkan) proses induk sampai proses anak menyelesaikan eksekusi. Proses induk dan proses anak tidak berjalan secara paralel

Page 39: Pertemuan 2.1. proses pada so 2

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

Page 40: Pertemuan 2.1. proses pada so 2

TABEL ALASAN TERMINATE PROCESS

Penyebab Terminasi Deskripsi

Selesainya proses secara normal

Proses mengeksekusi panggilan layanan SO untuk menandakan bahwa proses telah berjalan secara lengkap

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 (walk 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 terhdap batas memori

Proses mencoba mengakses lokasi memori yang tidak diijinkan diakses

Page 41: Pertemuan 2.1. proses pada so 2

TABEL ALASAN TERMINATE PROCESS (lanjut)

Penyebab Terminasi Deskripsi

Terjadi kesalahan karena pelanggaran proteksi

Proses berusaha menggunakan sumberdaya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukkannya, 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 kadaluarsa Proses telah menunggu lebih lama daripada daripada maksimum yang ditentukan untuk terjadinya suatu kejadian spesifik

Terjadi kegagalan I/O Kesalahan muncul pada input atu output, seperti ketidakmampuan menemukan file, kegagalan read atau write setelah sejumlah maksimum percobaan yang ditentukan (misal: area rusak pada tape, atau operasi tidak valid spt membaca dari line printer)

Page 42: Pertemuan 2.1. proses pada so 2

TABEL ALASAN TERMINATE PROCESS (lanjut)

Penyebab Terminasi Deskripsi

Instruksi yang tidak benar

Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagai akibat percabangan ke daerah data dan berusaha mengeksekusi data itu)

Terjadi usaha memakai instruksi yang tidak diizinkan

Proses berusaha menggunakan instruksi yang disimpan untuk SO

Kesalahan penggunaan data

Bagian data adalah tipe yang salah atau tidak diinisialisasi

Diintervensi oleh SO atau operator

Untuk suatu alasan, operator atau SO mengakhiri proses (misal : terjadi deadlock)

Berakhirnya proses induk

Ketika induk berakhir, SO mungkin dirancang secara otomatis mengakhiri semua anak proses dari induk tsb.

Atas permintaan dari proses induk

Proses induk biasanya mempunyai otoritas mengakhiri suatu anak proses

Page 43: Pertemuan 2.1. proses pada so 2

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.

Page 44: Pertemuan 2.1. proses pada so 2

Proses 5 Status1. New : Proses baru yg belum diload ke memori utama2.Ready : Proses yang siap utk dieksekusi3.Blocked : Proses yg tidak dpt dieksekusi sampai suatu kejadian muncul4. Running : Proses yg dieksekusi5. Exit : Proses yg selesai dieksekusi

Page 45: Pertemuan 2.1. proses pada so 2
Page 46: Pertemuan 2.1. proses pada so 2

• Operasi suspend dan resume penting, sebab:– Jika sistem berfungsi secara buruk dan mungkin gagal maka

proses proses dapat di‑ suspend agar di resume s‑ etelah masalah diselesaikan. Contoh :Pada proses pencetakan, bila tiba tiba kertas habis maka proses ‑di suspend. S‑ etelah kertas dimasukkan kembali, proses pun dapat di resume.‑

– Pemakai vang ragu/kawatir mengenai hasil proses dapat men su‑ spend 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 sus‑ pend

– Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat di suspend‑ dan di ‑ resume saat beban kembali ke tingkat normal.

Page 47: Pertemuan 2.1. proses pada so 2
Page 48: Pertemuan 2.1. proses pada so 2

Gambar menunjukkan modifikasi diagram state dengan memasukkan kejadian suspend dan resume

Page 49: Pertemuan 2.1. proses pada so 2

• Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu1. Suspendedready. 2. Suspendedblocked.

• Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.– Pada sistem monoprocessor, proses running dapat

men suspenddirinya sendiri karena tak ada proses lain yang juga ‑running yang dapat memerintahkan suspend.

– Pada sistem multiprocessor, proses running dapat di suspend proses ‑running lain pada pernroses berbeda. Proses ready hanya dapat di suspend o‑ leh proses lain.

• Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membuat proses ready atau suspendedready? Bukankah state blocked, readyblocked suspendedblocked sama sama tidak mendapatjatah waktu pernroses? ‑Kenapa dibedakan?

Page 50: Pertemuan 2.1. proses pada so 2

ALASAN• Karena penyelesaian operasi masukanlkeluaran bagi proses blocked

mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di suspend agar ‑ sumber dayasumber 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 dipakai proses proses lain.‑

• Proses blocked di suspend s‑ istem 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 sewra dilakukan. Susnenddan resume danat digunakan untuk menveimbanekan beban sistem saat mengalami lonjakan di atas normal

Page 51: Pertemuan 2.1. proses pada so 2

IMPLEMENTASI PROSES

Page 52: Pertemuan 2.1. proses pada so 2

Tabel-tabel proses• Tabel informasi manajemen memori, Untuk menjaga keutuhan memori

utama dan memori sekunder yang menyimpan informasi tentang :• Tabel informasi manajemen masukan/keluaran, Untuk mengelola

perangkat masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty, 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.

• Tabel informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi pada memori sekunder, status saat itu dan menyimpan atribut-atribut file lainnya.

• Tabel proses, Untuk mengelola informasi proses di sistem operasi, lokasinya di memori, status dan atribut proses lainnya.

Page 53: Pertemuan 2.1. proses pada so 2

Tabel tabel untuk Proses‑• Tiap proses mempunyai state yang perlu

diperhatikan sistem operasi. Sistern operasi mencatat state proses dengan beragam tabel atau senarai, antara lain: 1. Tabel infortnasi manajemen mernori. 2. Tabel informasi manajemen masukan/keluaran. 3. Tabel inforinasi sistern file. 4. Tabel proses.

• Keempat tabel saling berhubungan

Page 54: Pertemuan 2.1. proses pada so 2

Tabel Informasi Manajemen Memori• Tabel. informasi manajemen mernori untuk

meniaga keutuhan memori utama dan memori sekunder. Tabel ini memuat informasi berikut:– Alokasi memori utama yang dipakai proses.– Alokasi memori sekunder yang dipakai proses (bila

menggunakan manaJemen memori dengan swapping).

• Atribut segmen memori utama dan sekunder.• Informasi informasi lain yang digunakan untuk ‑

pengelolaan memori,

Page 55: Pertemuan 2.1. proses pada so 2

Tabel InformasiManajemen Masukan/Keluaran

• Tabel ini untuk mengelola perangkat masukanlkeluaran. Pada satu saat, perangkat masukan/keluaran digunakan proses tertentu, perlu dijaga agar proses lain tidak memakainya. Sistern operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk transfer data.

Page 56: Pertemuan 2.1. proses pada so 2

Tabel Informasi Sistem File• Tabel ini berisi informasi mengenai ekstensi

file, lokasi pada memori sekunder, status saat itu dan menyimpan atribut atribut file lainnya.‑

Page 57: Pertemuan 2.1. proses pada so 2

Tabel Proses• Tabel proses mengelola informasi proses di sistem

operasi, lokasinya di memori. Tabel juga berisi status dan atribut atribut proses yang lain.‑

• 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 atribut atribut lain berkaitan ‑penernpatannya pada suatu lokasi mernori dan status eksekusi pada saat itu.

Page 58: Pertemuan 2.1. proses pada so 2

Tabel Elemen elemen Citra Proses‑

Page 59: Pertemuan 2.1. proses pada so 2
Page 60: Pertemuan 2.1. proses pada so 2

PCB dan Daftar Proses • PCB berperan penting di sistem operasi. Tiap

PCB berisi informasi mengenai proses yang diperlukan sistern operasi. PCB dibaca dan/atau dimodifikasi rutin sistern operasi seperti penjadwalan, alokasi sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB mendefinisikan state sistern operasi.

• Untuk menyatakan senarai proses di sistern operasi dibuat senarai KB.

Page 61: Pertemuan 2.1. proses pada so 2

PCB dan Daftar proses

• Bila proses berakhir (selesai) maka dijalankan operasi terminasi sehingga PCB-nya tak ada lagi.

• Bila proses diblocked karena menunggu alokasi sumber daya maka PCBnya dipindah ke daftar blocked.

• Bila proses dijadwalkan habis jatah waktu eksekusinya maka PCBnya dipindahkan ke daftar ready.

• Proses yang sedang blocked berpindah menjadi ready bila sumber daya yang ditunggu telah teralokasi untuknya. Untuk itu PCBnya dipindahkan ke daftar ready.

Page 62: Pertemuan 2.1. proses pada so 2

SENARAI PCB

Page 63: Pertemuan 2.1. proses pada so 2

• Gambar di atas memperlihatkan hanya satu PCB berada di senarai running. PCB ini menyatakan proses yang saat itu sedang dicksekusi pernroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus.

• Proses proses ‑ ready digambarkan dengan PCB proses proses di senarai ‑ ready. Proses proses‑ menunggu dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCB nya dipindah ‑dari senarai ready ke senarai running.

Page 64: Pertemuan 2.1. proses pada so 2

• Proses running (PCB nya berada di senarai ‑ running) dipindah sesuai state yang dialami proses itu, sebagai berikut:– Bila proses berakhir (selesai) maka dijalankan operasi terminasi

sehingga PCB nya tak ada lagi.‑– Bila proses di blocked karena menunggu alokasi sumber daya ‑

maka PCB nya dipindah ke senarai ‑ blocked.– Bila proses dijadwalkan habisjatah waktu eksekusinya rnaka

PCB nya dipindahkan ke senarai ‑ ready.• Proses yang sedang blocked berpindah menjadi ready

bila sumber daya yang ditunggu telah teralokasi untuknya. Untuk itu PCB nya dipindahkan ke senarai ‑ready.

Page 65: Pertemuan 2.1. proses pada so 2

Pengaksesan Informast di PCB• Rutin rutin sistern operasi perlu mengakses informasi di ‑

PCB. Tiap proses dilengkapi ID unik yang digunakan sebagai indeks (penunjuk) ke tabel untuk mengambil PCB.

• Kesulitan bukan pada mekanisme pengaksesan, tapi masalah proteksi terhadap PCB. Dua masalah utama proteksi terhadap PCB, yaitu:1. Bug (kesalahan pernrograrnan) pada rutin tunggal misalnya

interrupt handler dapat merusak PCB sehingga dapat berakibat menghancurkan kernarnpuan sistem mengelola proses proses ‑yang diasosiasikan dengan PCB.

2. Perubahan rancangan struktur dan sernantiks PCB dapat berdampak ke sejurnlah modul sistern operasi yang memakai PCB.

Page 66: Pertemuan 2.1. proses pada so 2

• Kedua masalah tersebut memberi gagasan agar sernua rutin sistern operasi melewati satu rutin khusus yaitu rutin penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB.– Masalah pertarna dapat dicegah karena rutin penanganan PCB akan

selalu menjaga agar PCB tidak rusak.– Masalah keduajelas langsung teratasi karena antarrnuka terhadap,

rutin rutin lain masih tetap dipertahankan walau rincian rincian PCB ‑ ‑diubah. Rutin rutin sistern operasi yang memakai anta‑ rmuka tidak perlu diubah.

• Teknik ini menghendaki didefinisikan antarmuka rutin penanganan PCB dan rutin rutin lain‑ dengan baik. Kelemahan teknik ini adalah adanya overhead kinerja karena harus memanggil rutin penanganan PCB. Pengaksesan langsung terhadap, PCB tentu lebih cepat daripada harus memanggil rutin penanganan PCB.

Page 67: Pertemuan 2.1. proses pada so 2

Tahap tahap Penciptan Proses‑• Penciptaan proses dapat disebabkan beragam sebab.

Penciptaan proses ini meliputi beberapa tahap. Tahap tahap penciptaan proses adalah sebagai berikut: ‑[STA 951‑1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan

ke tabel proses utama yang berisi satu isian per proses.2. Alokasikan ruang untuk proses.3. PCB harus diinisalisasi.4. Kaitan kaitan, antar tabel dan senarai yang cocok dibuat.‑5. Bila diperlukan struktur data lain maka segera buat struktur data

itu

Page 68: Pertemuan 2.1. proses pada so 2

Pengalihan Proses• Kelihatannya pengalihan proses (process switching)

adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu.

• Dalam hal ini muncul beberapa masalah, yaitu:1. Kejadian kejadian apa yang memicu alih proses?‑2. Masalah lain adalah terdapatnya perbedaan antara alih proses

(process switching) ‑ dan alih konteks (context switching).‑3. Apa yang harus dilakukan sistem operasi terhadap beragam

struktur data yang dibawah kendalinya dalam alih proses?

Page 69: Pertemuan 2.1. proses pada so 2

Pengalihan Proses• Pengalihan proses terjadijika proses yang running beralih menjadi state lain

(ready, blocked, dan sebagainya) kemudian sistem. operasi membuat perubahan perubahan berarti terhadap lingkungan.‑

• Langkah langkah yang terlibat dalam pengalihan proses sebagai berikut:‑1. Simpan konteks pernroses, termasuk register PC dan register register ‑ lain.2. Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses

menjadi salah satu state (ready, blocked, suspendedready, dan sebagainya). Field field ‑ yang relevanjuga diperbarui misaInya alasan meninggalkan state runningdan informasi akunting.

3. Pindahkan PCB proses ke senarai yang cocok (ready, blocked, dan sebagainya).4. Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.5. Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running.6. Perbarui struktur struktur data manaJemen memori. Pekerjaan ini sesuai dengan ‑

pengefolaan translasi alamat.7. Kembalikan konteks pernroses dengan konteks simpanan yang memberitahu

konteks proses terakhir saat dialihkan dari state running, Pengembalian konteks ini dilakukan dengan memuatkan nilai nilai ‑ registerPC dan register register ‑ lain dengan nilai konteks yang tersimpan.

• Pengalihan proses melibatkan pengalihan konteks dan perubahan state, memerlukan usaha lebih besar daripada pengalihan konteks.

Page 70: Pertemuan 2.1. proses pada so 2

• Pengalihan proses adalah terjadi jika proses yang running beralih menjadi state lain (ready, blocked, dan sebagainya), kemudian sistern operasi harus membuat perubahan perubahan berarti terhadap ‑lingkungannya. Rincian rincian dalam ‑pelaksanaan pengalihan proses di bahas setelah ini.

Page 71: Pertemuan 2.1. proses pada so 2

Penghancuran proses

• Sumber daya-sumber daya yang dipakai dikembalikan.

• Proses dihancurkan dari daftar atau tabel sistem.

• PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

Page 72: Pertemuan 2.1. proses pada so 2

Kejadian ke‑ jadian Penyebab Pengalihan Proses

• Kejadian kejadian yang menyebabkan ‑terjadinya alih proses adalah:1. Interupsi sistem.2. Trap.3. Supervisor call.

Page 73: Pertemuan 2.1. proses pada so 2

InterupsI Sistem• Interupsi sistem disebabkan kejadian eksternal dan tak

bergantung proses yang saat itu sedang running.• Contoh : Selesainya operasi masukan/keluaran.• Pada kejadian interupsi, kendali lebih dulu ditransfer ke

interrupt handler yang melakukan penyimpanan data data dan kemudian beralih ke rutin sistem operasi ‑yang berkaitan dengan tipe interupsi itu.

• Tipe tipe interupsi antara lain:‑– Interupsi clock (clock interrupt).– Interupsi masukanlkeluaran (110 interrupt).– Page/memory fault.

Page 74: Pertemuan 2.1. proses pada so 2

Interupsi Clock (Clock Interrupt)• Sistem operasi (penjadwal) menentukan

apakah proses yang sedang running telah mengeksekusi selamajatah waktunya. Jika telah mencapaijatahnya maka proses dialihkan ke state ready dan proses lain dijadwalkan running.

Page 75: Pertemuan 2.1. proses pada so 2

Interupsi Masukan/Keluaran (I/0 Interrupt)

• Kejadian dimana peralatan masukan/keluaran melakukan interupsi meminta layanan sistem operasi. Sistem operasi segera menentukan aksi aksi masukanlkeluaran yang harus‑ dilakukan.

Page 76: Pertemuan 2.1. proses pada so 2

Page/memory fault• Pernroses menemui pengacuan alamat

memori maya yang tidak terdapat di memori utarna (fisik). Sistem operasi segera memerintahkan untuk mengambil page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.

Page 77: Pertemuan 2.1. proses pada so 2

TRAP• Trap adalah interupsi karena terjadinya kesalahan atau

kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file.

• Dengan adanya trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan kesalahan fatal?– Jika fatal, proses yang saat itu running disingkirkan dan terjadi

alih proses.– Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan

rancangan sistern operasi. Kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingatkan ke pemakai.

• Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses.

Page 78: Pertemuan 2.1. proses pada so 2

Supervisor Call• Supervisor call yaitu panggilan meminta atau

mengaktifkan bagiah sistem operasi.• Contoh : Proses pemakai running meminta

layanan masukanlkeluaran seperti membuka file. Panggilan ini menghasilkan transfer ke rutin bagian sistem operasi. Biasanya, penggunaan system call membuat proses pemakai blocked karena diaktifkan proses kernel (sistem, operasi).

Page 79: Pertemuan 2.1. proses pada so 2

Pengalihan Proses dan Pengalihan Konteks

• Banyak buku teks sistem operasi menyamakan antara pengalihan proses (process switching) dan pengalihan konteks (context switching). ‑Tidak terdapat istilah untuk aksi penanganan interupsi. Kita membedakan antara istilah pengalihan proses dan pengalihan konteks.

Page 80: Pertemuan 2.1. proses pada so 2

Pengalihan Konteks• Pengalihan konteks dapat terj adi tanpa pengalihan state proses yang

sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks.

• Siklus penanganan interupsi adalah 1. Pernroses menyimpan konteks program saat itu yang sedang

dieksekusi ke stack. 2. Pernroses men set register PC dengan alamat awal program untuk ‑

interrupt handler. • Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan

instruksi instruksi berikutnya ‑ & interrupt handler yang melayani interupsi. Pelaksanaan interupsi ini belum tentu niengakibatkan pengalihan ke proses lain [yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready, dan sebagainya), dan sebaliknya.]. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler.

• Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.

Page 81: Pertemuan 2.1. proses pada so 2

Pengalihan konteks• Pemroses menyimpan konteks program saat itu yang sedang

dieksekusi ke stack.• Pemroses menset register PC dengan alamat awal program untuk

interuppet handler.• Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan

instruksi-instruksi berikutnya di interuppt handler yang melayani interrupt.

• Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan PCB proses dari daftar running ke daftar lain (blocked, ready), dan sebaliknya.

• Setelah penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.

Page 82: Pertemuan 2.1. proses pada so 2

Kedudukan sistem operasi

• Sistem operasi sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel sebagai non-proses).

• Fungsi-fungsi sistem operasi dieksekusi dalam proses pemakai.

• Sistem operasi juga sebagai kumpulan proses (process based operating systems).

Page 83: Pertemuan 2.1. proses pada so 2

Kernel sebagai non proses

• Ketika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke kernel.

• Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi.

• Konsep proses hanya diterapkan untuk program-program pemakai.

Page 84: Pertemuan 2.1. proses pada so 2

Mikrokernel

• Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH.– Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi

sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu.

• Fungsi mikrokernel adalah sebagai mediator pertukaran pesan.

• Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan memberi hak pengaksesan perangkat keras

Page 85: Pertemuan 2.1. proses pada so 2

Proses pada SO• Bagaimana proses direpresentasikan & dikendalikan oleh SO.

– Status proses (process state) yang mencirikan perilaku dari proses.– Struktur data yang digunakan untuk mengelola (manage) proses.– Cara SO menggunakan struktur data ini untuk mengendalikan eksekusi proses.– Contoh: pengelolaan proses pada UNIX SVR4.Syarat Sistem Operasi• Tugas Fundamental: Manajemen Proses• Sistem Operasi harus– Mengeksekusi banyak proses secara bergantian– Mengalokasikan sumber daya (resource) bagi proses & melindungi resource setiap proses dari proses lain,– Membolehkan proses untuk berbagi (share) & bertukar informasi,– Memungkinkan sinkronisasi antar proses.

Page 86: Pertemuan 2.1. proses pada so 2

Konsep

• – Platform komputer terdiri dari himpunan sumber daya hardware– Aplikasi komputer dikembangkan untuk mengerjakan beberapa tugas– Sangat tidak efisien menulis aplikasi yang secara langsung ditujukan untuk platform hardware tertentu– SO menyediakan suatu interface untuk digunakan oleh aplikasi– SO menyediakan suatu representasi sumber daya yang dapat direquest & diakses oleh aplikasi.

Page 87: Pertemuan 2.1. proses pada so 2

Trace dan Eksekusi

Trace Dari Proces• Perilaku dari suatu proses diperlihatkan oleh listing deretan instruksi yang dieksekusi• List ini dinamakan Trace• Dispatcher merupakan suatu program kecil yang men-switch processor dari satu proses ke proses lainnyaEksekusi Proses• Anggap ada 3 proses yang akan dieksekusi• Semuanya ada di memory (ditambah dispatcher)• Sementara, abaikan memory virtual.

Page 88: Pertemuan 2.1. proses pada so 2
Page 89: Pertemuan 2.1. proses pada so 2

Model Proses Dua Status• Proses dapat berada pada salah satu dari dua status– Berjalan (running)– Not-running

Dan seterusnya … proses dipindahkan oleh dispatcher dari SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut selesai (lengkap)

Page 90: Pertemuan 2.1. proses pada so 2

SO Mengatur Eksekusi

• Sumber daya dibuat tersedia untuk banyak aplikasi• Processor di-switch antar banyak aplikasi• Processor & perangkat I/O dapat digunakan secara efisien

Page 91: Pertemuan 2.1. proses pada so 2

Lahir & Matinya Proses Pembuatan

- Kerja batch baru- Login interaktif- Dibuat oleh SO untuk menyediakan layanan- Ditelurkan oleh proses existing - Penghentian - Selesai normal- Memory unavailable- Error proteksi- Intervensi Operator atau SO

Page 92: Pertemuan 2.1. proses pada so 2

Aktivitas-aktivitas manajemen proses

• Membuat dan menghapus proses pengguna dan sistem proses

• Menunda atau melanjutkan proses• Menyediakan mekanisme untuk proses

sinkronisasi• Menyediakan mekanisme untuk proses

komunikasi• Menyediakan mekanisme untuk penanganan

deadlock

Page 93: Pertemuan 2.1. proses pada so 2

Pembuatan dan PenghentianPEMBUATAN PROSES• SO membangun suatu struktur data untuk mengelola proses tersebut• Biasanya, semua proses dibuat oleh SO– Tetapi SO juga membolehkan proses yang sedang berjalan membuat proses lain• Aksi ini disebut process spawning– Proses induk (parent) adalah original, membuat proses anak, ia juga proses– Proses anak (child) merupakan proses barupenghentian Proses• Harus ada cara yang dapat menandakan bahwa suatu proses selesai.• Indikasi ini dapat berupa:– Instruksi HALT membangkitkan suatu interupsi alert untuk SO– Aksi pengguna (seperti log off & keluar dari suatu aplikasi)– Suatu kesalahan atau error– Dihentikan oleh proses induk

Page 94: Pertemuan 2.1. proses pada so 2

Proses di suspend

• Processor lebih cepat daripada I/O sehingga semua proses dapat menunggu I/O– Swap proses demikian ke disk untuk membebaskan lebih banyak memory & menugaskan processor pada lebih banyak proses• Status Blocked berubah menjadi Suspend ketika proses dialihkan ke disk• Muncul dua status baru:– Blocked/Suspend– Ready/Suspend

Page 95: Pertemuan 2.1. proses pada so 2

Alasan Suspensi Proses - Swapping : SO harus membebaskan cukup main memory agar suatu proses siap eksekusi.- Ada Masalah: SO mengira proses menyebabkan suatu masalah.- Permintaan Pemakai: Misalnya, debugging atau berhubungan dengan pemanfaatan sumber daya.- Timing: Proses dapat dieksekusi secara periodik (misal, sistem monitoring sistem atau accounting) & boleh di-suspend selama menunggu waktu berikutnya.- Request Proses Induk : Proses induk berkeinginan men-suspend eksekusi dari suatu turunan untuk menguji atau mengubah proses turunan tersebut atau mengkoordinasikan aktifitas dari berbagai keturunannya.

Page 96: Pertemuan 2.1. proses pada so 2

Struktur Kontrol SO• SO bertanggungjawab mengelola proses & sumber daya sehingga harus mempunyai informasi tentang status terkini (current) dari setiap proses dan sumber daya.• Tabel (informasi) dibangun untuk setiap entitas yang dikelola sistem operasi

Page 97: Pertemuan 2.1. proses pada so 2

Tabel memory

• Tabel memory digunakan untuk menjaga track dari memory utama dan sekunder.• Harus menyertakan informasi ini:– Alokasi dari main memory kepada proses– Alokasi dari secondary memory untuk proses– Atribut proteksi untuk akses dari region memory yang dishare– Informasi yang diperlukan untuk mengelola virtual memory

Page 98: Pertemuan 2.1. proses pada so 2

Reff : 1. http

://dimasrachmanto.blogspot.com/2012/06/proses-pada-sistem-operasi.html by Dimas Rachmanto

2. Danang Lelono, S.Si., M.T.3. Internet (keyword Proses Sistem Operasi)

Edit : Martin Suhartana, ST. MM

Page 99: Pertemuan 2.1. proses pada so 2

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

Page 100: Pertemuan 2.1. proses pada so 2

Informasi status pemroses

• Register-register yang terlihat pemakai, – adalah register-register yang dapat ditunjuk instruksi

bahasa assembly untuk diproses pemroses.• Register-register kendali dan status,

– Adalah register-register yang digunakan untuk mengendalikan operasi pemroses.

• Pointer stack,– tiap proses mempunyai satu atau lebih stack, yang

digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.

Page 101: Pertemuan 2.1. proses pada so 2

Tahap-tahap penciptaan proses

• 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 daftar yang cocok

dibuat.• Bila diperlukan struktur data lain maka segera

dibuat struktur data itu.

Page 102: Pertemuan 2.1. proses pada so 2

Pengalihan proses

• Kejadian-kejadian apa yang memicu alih proses ?

• Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context switching).

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