Sleep and Wake Up. Tugas Kuliah. Mata kuliah : CF 1310 Sistem Operasi. Disusun oleh : UZLINA RAHMAWATI FIA MAHANANI

dokumen-dokumen yang mirip
Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

1/3/2013. Race Condition adalah situasi di mana beberapa proses mengakses

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Direktori yang diperlihatkan pada gambar 1. tersebut adalah untuk satu unit (mis. disk pack atau tape reel) dari penyimpanan sekunder. Labelnya berisi

Sistem Operasi. Proses dan Thread

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Model Proses : 1. Sequential Process / bergantian 2. Multiprogramming 3. CPU Switching peralihan prosedur dalam mengolah 1 proses ke proses lainnya.

Monitor. Makalah Sistem Operasi. Disusun oleh :

Pertemuan 4 KONKURENSI

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Kongkurensi LPOHLVSFOTJ!

KONSEP INTERAKSI. Adrianus W. K X Aziz Yudi Prasetyo Gregorio Cybill

Pertemuan #3: Sinkronisasi dan Deadlock

Kelas: Nilai (Diisi Dosen):... IF

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

T UGAS STUDI KASUS SISTEM OPERASI. Mutual Exclusion. Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh :

The Critical Section Problem Algorithm III

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Sistem Operasi. Divais Input/Output 2016

TUGAS AKHIR. Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Pada Jurusan Teknik Informatika. Oleh:

KONSEP PROSES STATUS PROSES

SOLUSI QUIZ 2 SISOP CS3613

Apa yang akan dipelajari?

MANAJEMEN PROSES. Satu Empat Model program counter program counter Proses

Bab 3: Proses-Proses. Konsep Proses

Konsep Dasar Sistem Operasi

Sistem Operasi. Konkurensi

ORGANISASI KOMPUTER 1

Sinkronisasi dan Deadlock Sistem Operasi

Konsep Proses. Proses adalah suatu program yang sedang diesekusi (running) Pada saat proses berlangsung :

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

BAB II MANAJEMEN PROSES

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Aditya Wikan Mahastama

SISTEM OPERASI (MANAJEMEN PROSES)

BAB 8 PENGENALAN KONTROL INPUT/OUTPUT

The Critical Section Problem Algorithm III. Muhammad Fikry Hazmi (143) Kresna Ridwan (145) Guntur Kondang Prakoso (153)

Struktur Sistem Komputer

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

1. Disk Schedulling 2. Buffering

SIMULASI PRODUSEN KONSUMEN UNTUK MENYELESAIKAN PROBLEM MUTUAL EXCLUSION PADA MARKET

Laporan Tugas Scheduling Pengantar Sistem Operasi

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

P10 Media I/O Universitas Mercu Buana Yogyakarta

Process Synchronization (Background)

MODUL 2 KOMPONEN, LAYANAN SISTEM OPERASI M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - C H A P T E R 2

Bab 3. Proses Proses POKOK BAHASAN: TUJUAN BELAJAR: 3.1 KONSEP PROSES

Sistem Operasi. Kongkurensi

Sistem komputer. Tiga komponen utama :

SEKOLAH TINGGI INFORMATIKA & KOMPUTER INDONESIA (STIKI)

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

Organisasi & Arsitektur Komputer

Untuk mengatasi kondisi pacu harus dijamin tidak boleh dua proses atau lebih memasuki critical section yang sama secara bersamaan.

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

BAB 8 PENGENALAN KONTROL INPUT/OUTPUT

B. Jawablah dengan ringkas dan lengkap. (Jawaban tidak lebih dari 10 kalimat) (Nilai 40) Solusi: kata kunci dalam huruf miring.

SISTEM OPERASI TERDISTRIBUSI

Bab 3: Proses-Proses. Konsep Proses

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

4. Apa yang dimaksud dengan user mode?(nilai 3) Jawab: Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor.

1.Proses control block dalam istilah lain Taks controlling block, Taks struct, atau Switchframe. Jelaskan dan berikan gambaran proses control block?

Struktur Sistem Komputer

ILUSTRASI KLASIK: BOUNDED BUFFER

Proses Burst Time Prioritas P P1 7 1 P2 9 3 P P4 19 2

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Tipe Sistem Operasi. Stand alone Network Embedded

Sistem Operasi AGUS PAMUJI. Teknik Informatika

GARIS GARIS BESAR PROGRAM PENGAJARAN/GBPP (Rencana Kegiatan Belajar Mengajar)

Konkurensi. Faikul Umam

MENGENAL SISTEM KOMPUTER

BAB 2 STRUKTUR SISTEM OPERASI. Komponen Sistem Operasi

Arsitektur Komputer II AUB SURAKARTA

Sistem Operasi PENGATURAN PROSES

SISTEM OPERASI. Oleh:

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Deadlock. Gambaran Umum Deadlock

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

Proses. - yaitu program yang sedang dieksekusi Proses merupakan satuan kerja terkecil yang secara individual dijadwalkan oleh sistem operasi

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

SISTEM OPERASI. Review

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM OPERASI (TK) KODE / SKS KK /4

STRUKTUR SISTEM OPERASI

Struktur Sistem Operasi

TUGAS Mata Kuliah : Sistem Terdistribusi

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

APLIKASI KOMPUTER SISTEM OPERASI. Modul ke: I b r a h i m, S.T, M.T. Fakultas Psikologi. Program Studi Psikologi.

STRUKTUR CPU. Arsitektur Komputer

Making Provisions for Applications and Services

1 Tinjau Ulang Sistem Komputer

OLEH : HASANUDDIN SIRAIT

Bab 6: Sinkronisasi Proses. Latar Belakang

SISTEM OPERASI ISG2B3 THREAD. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

Transkripsi:

Tugas Kuliah Sleep and Wake Up Mata kuliah : CF 1310 Sistem Operasi Disusun oleh : UZLINA RAHMAWATI 5208 100 703 FIA MAHANANI 5208 100 707 LIA F.M 5208 100 708 RIZA HADIATULLAH 5208 100 071 SYBRO 5208 100 155 Semester Genap 2008/2009 Jurusan Sistem Informasi Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember

Sleep and Wake Up A. Pendahuluan Proses adalah program yang sedang dieksekusi atau sofware yang sedang dilaksanakan. Sejumlah program yang sedang diproses perlu saling berinteraksi untuk menciptakan komuniksai interproses. Contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah file, proses tersebut memasukkan nama file ke dalam sebuah spooler directory yang khusus. Proses yang lain, printer daemon, secara peiodik memeiksa untuk mengetahui jika ada banyak file yang akan dicetak, dan jika ada file yang sudah dicetak dihilangkan nama filenya dari directori. Bayangkan bahwa spooler directory memiliki slot dengan jumlah yang sangat besar, diberi nomor 0, 1, 2, 3, 4,.masing-masing dapat memuat sebuah nama file. Juga bayangkan bahwa ada 2 shared variable,out,penunjukk file berikutnya untuk dicetak, dan in, menunjuk slot kosong di direktori. Dua vaiabel tersebut dapat menamgami sebuah two-word file untuk semua proses. Dengan segera, slot 0, 1, 2, 3 kosong (file telah selesai dicetak), dan slot 4, 5, 6 sedang terisi (berisi nama dari file yang antre untuk dicetak). Lebih atau kurang secara besamaan, proses A dan B, mereka memutuskan untuk antre untuk sebuah file untuk dicetak. Situasi seperti ini diperlihatkan oleh gambar 2 Dalam Murphy s law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai, 7, di sebuah variabel lokal yang disebut next_free_slot. Sebuah clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup lama, sehingga digantika oleh proses B. Proses B juga membaca in, dan juga mengambil nilai 7, sehingga menyimpan nama file di slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal lain. Akhirnya proses A berjalan lagi, dimulai dari tempat di mana proses tersebut mati. Hal ini terlihat dalam next_free_slot, ditemukan nilai 7 di sana, dan menulis nama file di slot nomor 7, menghapus nama file yang bau saja diletakkan oleh proses B. Kemudian proses A menghitung next_free_slot + 1, yang nilainya 8 dan memperbaharui nilai in menjadi 8. Spooler Directory sekarang secara internal konsisten, sehingga printer daemon tidak akan memberitahukan apapun yang terjadi, tetapi poses B tidak akan mengambil output apapun. Situasi seperti ini, dimana dua atau lebih proses melakukan proses reading atau writing beberapa shared data dan hasilnya bergantung pada ketepatan berjalan disebut race condition. Dalam interaksi ini seringkali muncul masalah yaitu 1. Race condition: Yaitu beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan, hasil akhirnya tergantung pada eksekusi dilakukan. 2. Deadlock Yaitu proses saling menunggu akibat masing-masing memerlukan resource yang dikuasai oleh proses yang lain. Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada

menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan tersebut. Misalkan pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Kondisi inilah yang disebut Deadlock atau pada beberapa buku disebut Deadly Embrace. B. Multithreading Suatu proses dimana beberapa thread (proses) dieksekusi secara bersamaan dengan thread yang lain Analogi: Buka tiga buku masing-masing pada halaman pertama Coba baca tiga buku tersebut secara bersamaan Pertama baca beberapa kata dari buku pertama kemudian beberapa kata dari buku kedua dan beberapa kata dari buku ketiga Kemudian loop kembali dan baca sedikit kata berikutnya dari buku pertama dst. Problem: Berpindah dari buku ke buku Membaca sedikit demi sedikit Mengingat tempat berhenti di setiap buku Mendekatkan buku yang sedang dibaca dan menjauhkan buku yang tidak dibaca Mencoba memashami isi buku Contoh: Proses pen-download-an audio atau video clip Dalam proses download kita tidak perlu menunggu sampai semua file selesai di download untuk dapat memutar plyaback-nya. Jadi ada dua thread, satu mendownload dan satu memutar playback sehingga dua aktifitas ini dapat dijalankan bersamaan. Untuk menghindari playback yang tersendat-sendat thread player dikoordinasikan untuk tidak memulai play sampai ada jumlah clip yang cukup dalam memory

C. Mekanisme Sleep and Wake Up sebagai Metode Sinkronisasi Permasalahan dalam multithreading diselesaikan dengan sinkronisasi. Sinkronisasi akan memutuskan thread mana yang mengeksekusi dahulu dan menyimpan informasi eksekusi sehingga ketika tiba gilirannya lagi informasi tersebut dapat dipanggil dan proses eksekusi dapat dilanjutkan. Salah satu metode sinkronisasi yang paling sederhana adalah SLEEP and WAKE UP Sleep : system call yang menyebabkan pemanggilnya masuk ke state blocked Wakeup: system call yang membangunkan proses yang sedang blocked (disebutkan sebagai parameter) Dalam tehap SLEEP, sistem call membuat proses yang memanggil di blok (blocked) dan dalam WAKE UP, sistem call yang membuat proses yang memanggil menjasi ready. Analogi kasus yang terjadi dalam metode Sleep and Wake Up salah satunya adalah kasus Procedure-Consumer Problem (bounded buffer). Dua proses berbagi sebuah kebiasaan, buffer dengan ukuran yang tetap. Salah satunya produser, meletakkan informasi ke buffer yang lainnya. Konsumen mengambil informasi dari buffer. ( ini juga dapat digeneralisasi untuk masalah yang memiliki m buah produsen dan n buah konsumen, tetapi kita hanya akan memfokuskan kasus dengan satu produsen dan satu konsumen karena diasumsikan dapat menyederhanakan solusi). Masalah akan timbul ketika produsen ingin menaruh barang yang baru tetapi buffer sudah penuh. Solusi untuk produsen adalah istirahat ( sleep) dan akan dibangunkan ketika konsumen telah mengambil satu atau lebih barang dari buffer. Biasanya jika konsumen ingin mengambil barang dari buffer dan melihat bahwa buffer sedang kosong, maka konsumen istirahat ( sleep ) sampai produsen meletakkan barang pada buffer dan membangunkan ( wake up ) consumer. Pendekatan seperti ini terdengar cukup sederhana, tetapi hal ini dapat menggiring kita ke jenis masalah yang sama seperti race condition dengan spooler directory. Untuk mengetahui jumlah barang di buffer, kita membutuhkan sebuah variabel kita namakan count. Jika jumlah maksimum dairi barang yang dapat ditampung buffer adalah N, kode produser pertama kali akan mencoba untuk mengetahui apakah nilai count sama dengan nilai N. Jika itu terjadi maka produsen akan istirahat ( sleep ), tetapi jika nilai count tidak sama dengan N, produsen akan terus menambahkan barang dan menaikkan nilai count. Sekarang mari kita kembali ke permasalahan race condition. Ini dapat terjadi karena akses ke count tidak dipaksakan. Situasi seperti itu mungkin dapat terjadi. Buffer sedang kosong dan konsumen baru saja membaca count untuk melihat apakah count bernilai 0. Pada saat itu, penjadwal memutuskan untuk mengentikan proses konsumen sementara dan menjalakan produsen. Produsen memasukkan barang ke buffer, menaikkan nilai count, dan memberitahukan bahwa count sekarang bernilai 1. Pemikiran bahwa count baru saja bernilai 0 sehingga konsumen harus istirahat ( sleep ). Produsen memanggil fungsi wake up untuk membangkitkan konsumen.

Sayangnya, konsumen secara logika belum istirahat. Jadi sinyal untuk membangkitkan konsumen, tidak dapat ditangkap oleh konsumen. Ketika konsumen bekerja berikutnya, konsumen akan memeriksa nilai count yang dibaca sebelumnya, dan mendapatkan nilai 0, kemudian konsumen istirahat ( sleep ) lagi. Cepat atau lambat produsen akan mengisi buffer dan juga pergi istirahat ( sleep ). Keduanya akan istirahat selamanya. Beberapa proses share buffer dengan ukuran tetap Jika buffer penuh producer sleep Jika buffer kosong consumer sleep Jika buffer mulai kosong producer wake up Jika buffer terisi consumer wake up