PROSES & THREADS Disajikan Oleh :.

Slides:



Advertisements
Presentasi serupa
MANAJEMEN PROSES Sistem Operasi
Advertisements

Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
By : Kelompok 3 Muhamad Shofri Maulidani ( ) Agung Satrio Buwono ( ) Devi Shinta Rahayu ( ) THREAD.
Sistem Terdistribusi 05 – Proses Oleh : Muh. Ary Azali.
KONSEP PROSES Minggu ke 5.
Manajemen proses Manajemen Proses.
Implementasi Proses.
MANAJEMEN PROSES.
KONSEP THREAD.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Proses dan Implementasinya
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
Pertemuan 03- Konsep Proses
Pertemuan ke 3 Konsep Proses
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 6 PROSES DAN THREAD 2.
Pertemuan 3 Manajemen Proses.
Proses Oleh : Wahyu Andhyka Kusuma
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
Thread.
KONSEP THREAD.
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
MANAJEMEN PROSES.
MANAJEMEN PROSES.
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
PENJADWALAN PROSES.
PENJADWALAN PROSES DAN IMPLEMANTASI Sistem operasi komputer
Thread.
SISTEM OPERASI Pertemuan 3 : Manajemen Proses
Thread. Thread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu Proses dengan thread tunggal – proses menjalankan satu tugas.
MATAKULIAH SISTEM OPERASI – PENDIDIKAN TEKNIK INFORMATIKA 2008
Oleh: Chalifa Chazar MANAJEMEN PROSES.
PROSES.
Masquriansyah,S.kom. M.T.I
Konsep Proses.
Proses Dosen: Abdillah S.Si., MIT.
Manajemen Proses Edi Sugiarto, S.Kom.
Proses dan Thread Oleh : Adhitya Nugraha.
Penjadwalan Proses.
2. Proses By. Serdiwansyah N. A..
Pertemuan 6 P R O S E S.
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Thread.
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
MANAJEMAN PROSES.
Resi Utami Putri, S.Kom., M.Cs.
THREAD.
SISTEM OPERASI PERTEMUAN VI.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
PROSES.
Manajemen Proses Firdaus, M.T..
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Manajemen Proses.
SISTEM OPERASI PERTEMUAN VI.
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
PROSES.
Manajemen Proses.
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
TEKNIK KOMPILASI PERTEMUAN VI.
Pertemuan 6 P R O S E S.
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Proses dan Thread Oleh : Adhitya Nugraha.
Tim Teaching Grant Mata Kuliah Sistem Operasi
PROSES. Definisi Proses Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

PROSES & THREADS Disajikan Oleh :

DESKRIPSI PROSES Proses : program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel yang ada. Unit terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan oleh Sistem Operasi (OS) OS 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

Perbedaan Proses dan Program Hubungan Sistem Operasi (OS) dengan Proses : OS menjadwal dan mengirimkan proses untuk dieksekusi oleh prosesor. OS mengalokasikan sumber daya untuk proses.

MULTIPROGRAMMING Definisi : Manajemen banyak proses pada satu Processor 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)

DISTRIBUTED PROCESSING 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 OS yang mendukung : Windows NT, UNIX, LINUX DISTRIBUTED PROCESSING Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi). Contoh : MACH, AMOEBA

Pembentukan Proses Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan (child process) yang dilakukan oleh proses induk (parent process). Proses turunan tersebut juga mampu membuat proses Process Control Block baru sehingga semua proses ini pada akhirnya membentuk pohon proses. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

Penghancuran Proses/Terminasi Di-terminasi ketika proses telah selesai mengeksekusi perintah terakhir menggunakan system call exit. Suatu proses juga dapat diterminasi dengan sengaja oleh proses lain dengan system call abort, biasanya proses induk melakukan hal ini pada turunannya. sumber daya – sumber daya yang dipakai dikembalikan Alasan terminasi : Selesainya proses secara normal - Intervensi OS / Operator Batas waktu terlewati - Proses Induk Selesai Memori tidak tersedia - Kesalahan Penggunaan Data Pelanggaran terhadap batas memori - Kesalahan aritmatika Kesalahan masukan/keluaran - Instruksi salah Kesalahan penggunaan data Permintaan proses induk untuk terminasi proses anak

Status Proses

Keterangan Gambar Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan I/O) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

Processor Kebutuhan utama pengendalian proses oleh OS dapat dinyatakan dengan mengacu ke proses yaitu Saling melanjutkan (interleave) Mengikuti kebijaksanaan tertentu Mendukung komunikasi antar proses dan penciptaan proses

Mengikuti Kebijakan Tertentu INTERLEAVE Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran. OS harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai Mengikuti Kebijakan Tertentu OS 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 OS 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. OS harus mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya

PCB (PROGRAM CONTROL BLOCK) OS memerlukan banyak informasi mengenai proses guna pengelolaan proses Informasi ini ada di PCB PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain 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

ISI PCB Status Proses Program Counter CPU register Status new, ready, running, waiting, terminated, dan juga banyak lagi. Program Counter Suatu stack yang berisi alamat berikutnya yang akan dieksekusi oleh proses tersebut CPU register Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya

Proses Control Block (PCB) Informasi penjadwalan CPU Informasi ini berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya. Informasi manajemen memori Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi Informasi pencatatan Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi. Informasi status I/O Informasi termasuk daftar dari perangkat I/O yang digunakan pada proses ini, daftar berkas-berkas yang sedang diakses dan banyak lagi.

Penundaan Proses (Suspend) Penundaan (suspend) sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. Penundaan biasanya berlangsung singkat. Pengaktifan Proses (Resuming) Pengaktifan kembali (resuming) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

Alasan Suspend dan Resume Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat disuspend agar diresume setelah masalah diselesaikan. Contoh : saat proses pencetakan, bila tiba-tiba kertas habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume. Pemakai yang ragu mengenai hasil proses dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat meresume proses yang di-suspend. Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.

Thread

Thread Thread merupakan unit dasar dari penggunaan CPU Thread juga sering disebut lightweight process (Proses Ringan) Proses Thread terdiri dari Proses Thread Tunggal dan Proses Multithread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu Sistem operasi modern – multithread – proses menjalankan banyak tugas/thread pada satu waktu Contoh : secara bersamaan mengetik dan menjalankan pemeriksaan ejaan di dalam proses yang sama

Thread Multithread pada satu processor – dijalankan bergantian dengan waktu yang sangat cepat sehingga tampak bersamaan Multithread pada multi processor – benar-benar dijalankan secara bersamaan Hyper threading (HT) – teknologi simultan multithreading oleh Intel Menjalankan banyak thread secara bersama-sama Pada tiap inti prosesor, sistem operasi mengalamatkan 2 virtual prosesor OS harus mendukung pemrosesan multiprosesor

Thread Suatu thread (atau lightweight process disingkat LWP) berisi : Thread ID Program counter Register set Stack space Suatu thread bersama thread-thread lainnya bisa berbagi : Code section Data section Operating system resources

Perbedaan Thread Dengan Proses Thread adalah bagian dari suatu proses Tiap proses mempunyai informasi status dan sumber daya sendiri, thread berbagi informasi status dan sumber daya dengan thread yang lain dalam satu proses Tiap proses mempunyai alamat yang berbeda, sedangkan thread berbagi alamat yang sama Pergantian antar threads lebih cepat daripada antar proses

Contoh Multithreading Web browser : memiliki satu thread untuk display image, dan thread yang lain untuk mengambil data dari network. Web server : menerima request dari client untuk halaman web, image, sound, dll. Web server melayani client secara bersamaan (concurrent).

Single & Multithreaded Processes

Keuntungan Multithreading Responsif Multithreading memungkinkan suatu program running walaupun sebagian program di-block atau menjalankan operasi yang lain. Resource Sharing Thread dalam suatu proses yang sama dapat men-share memori dan resource dengan thread yang lain. Mengijinkan sebuah aplikasi untuk memiliki beberapa thread yang berbeda dalam lokasi memori yang sama Ekonomis Alokasi memori dan resource untuk pembuatan proses memiliki cost yang mahal. Dalam hal context-switch, lebih ekonomis bila dilakukan dengan thread context-switch. Utilisasi CPU Meningkatkan kinerja pada arsitektur multiprocessor, dimana thread running secara paralel pada prosesor yang berbeda.

User Threads Implementasi thread di level pengguna (dengan menggunakan pustaka/library thread). Pustaka menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel. Keuntungan : Dapat lebih cepat dibuat dan dikendalikan karena tanpa campur tangan kernel Kelemahan : salah 1 thread pengguna menjalankan blocking system call maka mengakibatkan seluruh proses diblok

Kernel Threads Didukung langsung oleh sistem operasi Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space Keuntungan : Jika thread menjalankan blocking system call kernel dpt menjalankan thread lain di aplikasi untuk melakukan eksekusi. Pada lingkungan multiprosesor, kernel dapat menjadwal thread-thread pada prosesor yang berbeda Kelemahan : lebih lambat daripada user kernel

Model-model Multithreading Many-to-One One-to-One Many-to-Many

Many-to-One (User level Threading) Memetakan beberapa user thread ke satu kernel thread Hanya 1 thread pengguna yang dapat mengakses thread kernel pada satu saat  Multi thread tidak dapat berjalan secara paralel pada multiprosesor

Many-to-One Model

One-to-One Masing-masing user-level thread dipetakan ke kernel thread Keuntungan = keuntungan thread kernel Kelemahan = setiap pembuatan user thread memerlukan jg pembuatan kernel thread sehingga dapat menurunkan kinerja aplikasi  jumlah thread dibatasi oleh sistem

One-to-one Model

Many-to-Many Memungkinkan banyak user-level thread dipetakan ke banyak kernel thread Memungkinkan sistem operasi membuat jumlah kernel thread yang mencukupi Keuntungan : dapat berjalan pada multiprosesor

Many-to-Many Model

Cancellation Pemberhentian thread sebelum tugasnya selesai Target thread : thread yang akan diberhentikan Dapat terjadi melalui dua cara : Asynchronous cancellation : suatu thread seketika itu juga memberhentikan target thread Deferred cancellation : target thread memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut

Thread Pools Masalah multithreading : pembuatan thread terlalu banyak menurunkan performa sistem Solusi : membuat sejumlah thread pada saat startup dan menempatkannya ke dalam pool. Ketika server menerima request, thread dipanggil. Jika selesai, thread kembali ke pool Keuntungan : lebih cepat dan membatasi jumlah thread yang ada pada suatu waktu

Thread specific data Thread yang dimiliki oleh suatu proses memang berbagi data tetapi setiap thread mungkin membutuhkan duplikat dari data tertentu untuk dirinya sendiri dalam keadaan tertentu. Data ini disebut thread-specific data.