PART 2 MANAJEMEN PROSES Tujuan Memahami tentang konsep

  • Slides: 33
Download presentation
PART 2 MANAJEMEN PROSES

PART 2 MANAJEMEN PROSES

Tujuan Ø Memahami tentang konsep pada proses dan penjadwalan proses Ø Memahami aktifitas-aktifitas SO

Tujuan Ø Memahami tentang konsep pada proses dan penjadwalan proses Ø Memahami aktifitas-aktifitas SO yang berkaitan dengan manajemen proses Ø Memahami kerjasama dan komunikasi antar proses. Ø Memahami konsep multi thread, model multi thread dan contoh implementasi thread

Konsep Proses § Definisi Proses • Adalah program yang sedang dieksekusi • Unit terkecil

Konsep Proses § Definisi Proses • Adalah program yang sedang dieksekusi • Unit terkecil yang secara individu memiliki sumber daya - sumber daya dan dijadwalkan oleh SO § SO mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai dengan kebijaksanaan untuk memenuhi sasaran sistem § Hal-hal berkiatan dengan proses • Multiprogramming (Multitasking) • Multiprocessing • Distributed Processing

Multiprogramming § Multiprogramming merupakan manajemen banyak proses pada satu pemroses § Banyak proses yang

Multiprogramming § Multiprogramming merupakan 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 tergantung (independent) • Satu program pada satu saat (one program at any instant) § Perpindahan dari satu proses ke proses dilakukan secara cepat bagi pemakai seolah-olah bekerja secara paralel.

Multiprocessing § Multiprocessing merupajan manajemen banyak proses di komputer multiprocessor § Dengan kata lain

Multiprocessing § Multiprocessing merupajan 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 sistem operasi yang mendukung : Windows NT, Unix, Linux

Distributed Processing § Distributed processing merupakan manajemen banyak proses yang dieksekusi di banyak sistem

Distributed Processing § Distributed processing merupakan manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (Terdistribusi) § Contoh : Mach, Amoeba

Status Proses Status proses terdiri dari : ü New : proses sedang dibuat. ü

Status Proses Status proses terdiri dari : ü New : proses sedang dibuat. ü Running : proses sedang dieksekusi. ü Waiting : proses sedang menunggu beberapa eventyang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal). ü Ready : proses menunggu jatah waktu dari CPU untuk diproses. ü Terminated : proses telah selesai dieksekusi.

Status Proses Gambar : Perubahan Status Proses

Status Proses Gambar : Perubahan Status Proses

Status Proses (Penjelasan) ü Proses baru diciptakan berada pada state ready ü Proses dari

Status Proses (Penjelasan) ü Proses baru diciptakan berada pada state ready ü Proses dari ready menjadi running karena penjadwal memutuskan untuk mengeksekusi proses tersebut ü Proses running menjadi waiting karena sumberdaya yang diminta belum tresedia atau meminta layanan perangkat I/O sehingga menunggu kejadian yang muncul ü Proses waiting menjadi ready karena sumberdaya yang diminta telah tersedia atau layanan I/O selesai/terpenuhi ü Proses running menjadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout)

Alasan Terminate Process

Alasan Terminate Process

Alasan Terminate Process

Alasan Terminate Process

Alasan Terminate Process

Alasan Terminate Process

Process Control Block (PCB) § SO memerlukan banyak informasi mengenai proses guna pengelolaan proses

Process Control Block (PCB) § 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 § Masing-masing proses direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block(PCB), seperti yang terlihat pada Gambar :

Process Control Block (PCB) Informasi pada proses meliputi : q Status Proses. New, ready,

Process Control Block (PCB) Informasi pada proses meliputi : q Status Proses. New, ready, running, waiting dan terminated. q Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut. q CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan.

Penjadwalan Proses • Antrian Penjadwalan • Penjadwal (Scheduler) • Context Switch

Penjadwalan Proses • Antrian Penjadwalan • Penjadwal (Scheduler) • Context Switch

Antrian Penjadwalan Jenis-jenis antrian penjadwalan : q Job Queue. Semua proses yang masuk pada

Antrian Penjadwalan Jenis-jenis antrian penjadwalan : q Job Queue. Semua proses yang masuk pada suatu sistem akan diletakkan ke dalam job queue. q Ready Queue. Sedangkan proses-proses yang ada di memori utama dan menunggu untuk dieksekusi diletakkan pada suatu list yang disebut dengan ready queue. q Device Queue. Deretan proses yang sedang menunggu peralatan I/O tertentu disebut dengan device queue.

Representasi Penjadwalan Proses

Representasi Penjadwalan Proses

Penjadwal (Scheduler) Terdapat dua bentuk penjadwal, yaitu: q Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana

Penjadwal (Scheduler) Terdapat dua bentuk penjadwal, yaitu: q Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus dibawa ke ready queue. q Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses tersebut.

Context Switch Contex switch adalah proses penyimpanan status proses dan mengambil status proses yang

Context Switch Contex switch adalah proses penyimpanan status proses dan mengambil status proses yang baru pada saat terjadi switching. Pada saat terjadi perpindahan proses, sistem tidak bekerja. Waktu context switchtergantung pada perangkat keras yang digunakan.

Operasi Pada Proses § SO dalam mengelola proses dapat melakukan operasi-operasi terhadap proses. §

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

Pembuatan Proses Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain : q Memberi

Pembuatan Proses Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain : q Memberi identitas (nama) pada proses yang dibuat; q Menyisipkan proses pada list proses atau tabel proses; q Menentukan prioritas awal proses; q Membuat PCB; q Mengalokasikan resource awal bagi proses tersebut.

Penghentian Proses Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem

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.

Aktifitas – Aktifitas (Manajemen Proses) § Membuat dan menghapus proses pengguna dan sistem proses.

Aktifitas – Aktifitas (Manajemen Proses) § Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya. § Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar. § Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama.

Aktifitas – Aktifitas (Manajemen Proses) Lanj. § Menyediakan mekanisme untuk proses komunikasi. Sistem operasi

Aktifitas – Aktifitas (Manajemen Proses) Lanj. § Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya. § Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.

Komunikasi Antar Proses (Interprocess Communication) § Komunikasi antar proses adalah mekanisme proses-proses untuk berkomunikasi

Komunikasi Antar Proses (Interprocess Communication) § Komunikasi antar proses adalah mekanisme proses-proses untuk berkomunikasi dan melakukan sinkronisasi aksinya. § Komunikasi dilakukan dengan sistem pesan, dimana proses berkomunikasi dengan proses lain tanpa menggunakan variabel yang dishare. § Fasilitas interprocess communication (IPC) terdiri dari dua operasi : send(pesan) dan receive(pesan)

Komunikasi Langsung Bentuk komunikasi langsung adalah proses melakukan komunikasi langsung ke proses lain. Pada

Komunikasi Langsung Bentuk komunikasi langsung adalah proses melakukan komunikasi langsung ke proses lain. Pada komunikasi langsung, harus disebutkan nama proses secara eksplisit. § send(P, pesan); mengirim pesan ke proses P. § receive(Q, pesan); menerima pesan dari proses Q.

Komunikasi tak Langsung § Pada komunikasi tak langsung pengiriman atau penerimaan pesan dilakukan melalui

Komunikasi tak Langsung § Pada komunikasi tak langsung pengiriman atau penerimaan pesan dilakukan melalui mailbox(port). § Mailbox adalah suatu objek yang mana pesan-pesan ditempatkan oleh proses atau dapat dihapus. § Tiap-tiap mailbox memiliki identitas unik. Dua buah proses dapat saling berkomunikasi hanya jika mereka saling menggunakan mailbox secara bersama-sama.

Thread • Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded

Thread • Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. • Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. • Thread terdiri dari dua bentuk yaitu user thread dan kernel thread.

User Thread • User thread adalah thread yang diatur dengan menggunakan pustaka user level

User Thread • User thread adalah thread yang diatur dengan menggunakan pustaka user level thread. • User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. • User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. • Contoh sistem yang menggunakan user threadadalah POSIX Pthreads, Mach Cthreadsdan Solaris threads.

Kernel Thread • Kernel thread adalah thread yang didukung oleh kernel sistem oeprasi •

Kernel Thread • Kernel thread adalah thread yang didukung oleh kernel sistem oeprasi • Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. • Contoh sistem yang menggunakan kernel threadadalah Windows 95/98/NT/2000, Solaris, Tru 64 UNIX, Be. OS dan Linux.

Thread Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.

Thread Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread. § Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread. § Model one to one: memetakan setiap user thread ke dalam satu kernel thread. § Model many to many: Pada model Many-to-Many, user level thread dipetakan ke beberapa kernel threads.

Thread dan Multithreaded

Thread dan Multithreaded

Multi Threading Multi threading adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan

Multi Threading Multi threading adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan sekaligus. Keuntungan : • Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar. • Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread.