1 Proses

download 1 Proses

of 14

description

PROSES SO

Transcript of 1 Proses

  • 2/27/2008STMIK-Bandung / JK1

    ProsesProsesBy : Jajang Kusnendaremail : [email protected]

    2/27/2008STMIK-Bandung / JK2

    DefinisiDefinisil Secara informal; proses adalah program dalam

    eksekusi. Suatu proses adalah lebih dari kodeprogram

    l Proses juga termasuk aktivitas yang sedangterjadi, sebagaimana digambarkan oleh nilai padaprogram counter dan isi dari daftar prosesor/ processors register. Suatu proses umumnya jugatermasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuahdata section, yang berisikan variabel global.

  • 2/27/2008STMIK-Bandung / JK3

    KeadaanKeadaan ProsesProses

    l Sebagaimana proses bekerja, maka prosestersebut merubah state (keadaan statis/ asal). Status dari sebuah prosesdidefinisikan dalam bagian oleh aktivitasyang ada dari proses tersebut.

    l Tiap proses mungkin adalah satu darikeadaan berikut ini:

    2/27/2008STMIK-Bandung / JK4

    KeadaanKeadaan ProsesProsesl New: Proses sedang dikerjakan/ dibuat.l Running: Instruksi sedang dikerjakan.l Waiting: Proses sedang menunggu sejumlah

    kejadian untuk terjadi (seperti sebuahpenyelesaian I/O atau penerimaan sebuah tanda/ signal).

    l Ready: Proses sedang menunggu untukditugaskan pada sebuah prosesor.

    l Terminated: Proses telah selsesai melaksanakantugasnya/ mengeksekusi.

  • 2/27/2008STMIK-Bandung / JK5

    KeadaanKeadaan ProsesProses

    2/27/2008STMIK-Bandung / JK6

    ProsesProses Control BlockControl Block

    l Tiap proses digambarkan dalam sistemoperasi oleh sebuah process control block (PCB)

    l PCB berisikan banyak bagian dariinformasi yang berhubungan dengansebuah proses yang spesifik, termasuk ini:

  • 2/27/2008STMIK-Bandung / JK7

    KeadaanKeadaan ProsesProsesl Keadaan proses: Keadaan mungkin, new, ready, running,

    waiting, halted, dan juga banyak lagi.l Program counter: Counter mengindikasikan address dari

    perintah selanjutnya untuk dijalankan untuk proses ini.l CPU register: Register bervariasi dalam jumlah dan jenis,

    tergantung pada rancangan komputer. Register tersebuttermasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketikagangguan terjadi, untuk memungkinkan proses tersebutberjalan/ bekerja dengan benar setelahnya

    2/27/2008STMIK-Bandung / JK8

    KeadaanKeadaan ProsesProses

    l Informasi managemen memori: Informasiini dapat termasuk suatu informasi sebagainilai dari dasar dan batas register, tabelpage/ halaman, atau tabel segmentergantung pada sistem memori yang digunakan oleh sistem operasi

    l Informasi pencatatan: Informasi initermasuk jumlah dari CPU dan waktu riilyang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.

  • 2/27/2008STMIK-Bandung / JK9

    KeadaanKeadaan ProsesProses

    l Informasi status I/O: Informasi termasukdaftar dari perangkat I/O yang di gunakanpada proses ini, suatu daftar open berkasdan banyak lagi.

    l PCB hanya berfungsi sebagai tempatmenyimpan/ gudang untuk informasi apapun yang dapat bervariasi dari prose keproses.

    2/27/2008STMIK-Bandung / JK10

    KeadaanKeadaan ProsesProses

  • 2/27/2008STMIK-Bandung / JK11

    ThreadsThreads

    l Model proses yang didiskusikan sejauh initelah menunjukkan bahwa suatu prosesadalah sebuah program yang menjalankaneksekusi thread tunggal.

    l Sebagai contoh, jika sebuah prosesmenjalankan sebuah program Word Processor, ada sebuah thread tunggal dariinstruksi-instruksi yang sedangdilaksanakan.

    2/27/2008STMIK-Bandung / JK12

    ThreadsThreadsl Kontrol thread tunggal ini hanya memungkinkan

    proses untuk menjalankan satu tugas pada satuwaktu.

    l Banyak sistem operasi modern telah memilikikonsep yang dikembangkan agar memungkinkansebuah proses untuk memiliki eksekusimultithreads, agar dapat dapat secara terusmenerus mengetik dalam karakter danmenjalankan pengecek ejaan didalam prosesyang sama. Maka sistem operasi tersebutmemungkinkan proses untuk menjalankan lebihdari satu tugas pada satu waktu.

  • 2/27/2008STMIK-Bandung / JK13

    PenjadwalanPenjadwalan ProsesProsesl Tujuan dari multiprogramming adalah untuk memiliki

    sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU.

    l Tujuan dari pembagian waktu adalah untuk menggantiCPU diantara proses-proses yang begitu sering sehinggapengguna dapat berinteraksi dengan setiapprogramsambil CPU bekerja.

    l Untuk sistem uniprosesor, tidak akan ada lebih dari satuproses berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dandapat dijadualkan kembali.

    2/27/2008STMIK-Bandung / JK14

    PenjadwalanPenjadwalan ProsesProsesl Ketika proses memasuki sistem, mereka diletakkan dalam

    antrian job. Antrian ini terdiri dari seluruh proses dalamsistem.

    l Proses yang hidup pada memori utama dan siap danmenunggu/ wait untuk mengeksekusi disimpan padasebuah daftar bernama ready queue. Antrian ini biasanyadisimpan sebagaidaftar penghubung. Sebuah header ready queue berisikan penunjuk kepada PCB-PCB awaldan akhir.

    l Setiap PCB memiliki pointer field yang menunjukkanproses selanjutnya dalam ready queue.

  • 2/27/2008STMIK-Bandung / JK15

    PenjadwalanPenjadwalan ProsesProsesl Begitu proses tersebut mengalokasikan CPU dan

    menjalankan/ mengeksekusi, satu dari beberapakejadian dapat terjadi.

    - Proses tersebut dapat mengeluarkan sebuahpermintaan I/O, lalu di tempatkan dalam sebuahantrian I/O.

    - Proses tersebut dapat membuat subproses yang baru dan menunggu terminasinya sendiri.

    - Proses tersebut dapat digantikan secara paksa dariCPU, sebagai hasil dari suatu interupsi, dandiletakkan kembali dalam ready queue.

    2/27/2008STMIK-Bandung / JK16

    KriteriaKriteria PenjadwalanPenjadwalan

    l Adil (fairness)l Efisiensil Waktu Tanggap (respon time)l Turn Arround Time= waktu yang

    dihabiskan dari saat program atau job mulai masuk ke sistem sampai prosesdiselesaikan sistem.

    l Throughput= jumlah kerja yang dihasilkandalm satu unit waktu

  • 2/27/2008STMIK-Bandung / JK17

    StrategiStrategi PenjadwalanPenjadwalan

    l Non preemptive = tidak dapat diselal Preemptive = dapat disela

    2/27/2008STMIK-Bandung / JK18

    AlgoritmaAlgoritma--algoritmaalgoritmaNon Preemptivel FIFO (First-in, First Out)l SJF (Shortest Job First)l HRN (Highest Ratio Next)l MFQ (Multiple Feedback Queues)Preemptivel RR (Round Robin)l SRF (Shortest Remaining First)l PS (Priority Schedulling)l GS (Guaranted Schedulling)

  • 2/27/2008STMIK-Bandung / JK19

    PenjadualPenjaduall Sebuah proses berpindah antara berbagai penjadualan

    antrian selama umur hidupnya. Sistem operasi harusmemilih, untuk keperluan penjadualan, memprosesantrian-antrian ini dalam cara tertentu.

    l Pemilihan proses dilaksanakan oleh penjadual yang tepat/ cocok.

    l Dalam sistem batch, sering ada lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/ disimpan pada suatu alat penyimpanmasal (biasanya disket), dimana proses tersebut disimpanuntuk eksekusi dilain waktu. Penjadualan long term, ataupenjadual job, memilih proses dari pool ini danmengisinya kedalam memori eksekusi.

    2/27/2008STMIK-Bandung / JK20

    AlihAlih KonteksKonteks (Context Switch)(Context Switch)

    l Mengganti CPU ke proses lain memerlukanpenyimpanan suatu keadaan proses lama (state of old process) dan kemudian beralih ke prosesyang baru. Tugas tersebut diketahui sebagai alihkonteks(context switch).

    l Alih konteks sebuah proses digambarkan dalamPCB suatu proses; termasuk nilai dari

    l CPU register, status proses dan informasimanagemen memori.

  • 2/27/2008STMIK-Bandung / JK21

    AlihAlih KonteksKonteks (Context Switch)(Context Switch)l Ketika alih konteks terjadi, kernel menyimpan konteks

    dari proses lama kedalam PCB nya dan mengisi konteksyang telah disimpan dari process baru yang telahterjadual untuk berjalan.

    l Pergantian waktu konteks adalah murni overhead, karenasistem melakukan pekerjaan yang tidak perlu.

    l Kecepatannya bervariasi dari mesin ke mesin, bergantungpada kecepatan memori, jumlah register yang harus dicopy, dan keberadaan instruksi khusus (seperti instruksitunggal untuk mengisi atau menyimpan seluruh register).

    l Tingkat kecepatan umumnya berkisar antara 1 sampai1000 mikro detik.

    2/27/2008STMIK-Bandung / JK22

    OperasiOperasi ProsesProses

    l Proses dalam sistem dapat dieksekusisecara bersama-sama, proses tersebut harusdibuat dan dihapus secara dinamis. Maka, sistem operasi harus menyediakan suatumekanisme umtuk pembuatan proses danterminasi proses.

  • 2/27/2008STMIK-Bandung / JK23

    OperasiOperasi ProsesProses

    2/27/2008STMIK-Bandung / JK24

    PembuatanPembuatan ProsesProses

    l Suatu proses dapat membuat beberapaproses baru, melalui sistem pemanggilanpembuatan proses, selama jalur eksekusi.

    l Pembuatan proses dinamakan indukproses, sebagaimana proses baru di sebutanak dari proses tersebut. Tiap proses barutersebut dapat membuat proses lainnya, membentuk suatu pohon proses

  • 2/27/2008STMIK-Bandung / JK25

    PembuatanPembuatan ProsesProsesl Ketika suatu proses membuat proses baru, dua

    kemungkinan ada dalam term eksekusi:1. Induk terus menerus untuk mengeksekusi secara

    bersama-sama dengan anaknya.2. Induk menunggu sampai sebagian dari anaknya

    telah diakhiri/terminasi.Juga ada dua kemungkinan dalam term dari address

    space pada proses baru:1. Anak proses adalah duplikat dari induk proses.2. Anak proses memiliki program yang terisikan

    didalamnya.

    2/27/2008STMIK-Bandung / JK26

    TerminasiTerminasi ProsesProsesl Sebuah proses berakhir ketika proses tersebut

    selesai mengeksekusi pernyataan akhirnya danmeminta sistem operasi untuk menghapusnyadengan menggunakan sistem pemanggilan exit.

    l Pada titik itu, proses tersebut dapatmengembalikan data (keluaran) pada indukprosesnya (melalui sistem pemanggilan wait)

    l Seluruh sumber-sumber dari proses-termasukmemori fisik dan virtual, membuka berkas, danpenyimpanan I/O di tempatkan kembali olehsistem operasi.

  • 2/27/2008STMIK-Bandung / JK27

    TerminasiTerminasi ProsesProsesl Ada situasi tambahan tertentu ketika terminasi terjadi.

    Sebuah proses dapat menyebabkan terminasi dari proseslain melalui sistem pemanggilan yang tepat (contohabort).

    l Biasanya, sistem seperti itu dapat dipanggil hanya olehinduk proses tersebut yang akan diterminasi. Bila tidak, pengguna dapat secara sewenang-wenang membunuh job antara satu sama lain.

    l Catat bahwa induk perlu tahu identitas dari anaknya. Maka, ketika satu proses membuat proses baru, identitasdari proses yang baru diberikan kepada induknya.

    2/27/2008STMIK-Bandung / JK28

    TerminasiTerminasi ProsesProses

    l Induk dapat menterminasi/ mengakhiri satu darianaknya untuk beberapa alasan, seperti:

    l Anak telah melampaui kegunaannya atassebagaian sumber yang telah diperuntukkanuntuknya.

    l Pekerjaan yang ditugaskan kepada anak telahkeluar, dan sistem operasi tidakmemeperbolehkan sebuah anak untukmeneruskan jika induknya berakhir.