Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

dokumen-dokumen yang mirip
Penjadualan Process Bagian 1

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

Overview Penjadwalan (1)

Sinkronisasi dan Deadlock Sistem Operasi

Penjadwalan Process. Konsep Dasar Penjadwalan Proses. Preemptive & Non-Preemtive Scheduling. Dispatcher.

Bab 19. Solusi Critical Section

Penjadwalan Proses Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed

Penjadualan Process Bagian 2

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Contoh (3) Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendeng

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

Deskripsi Penjadwalan Proses

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

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

SISTEM OPERASI PENJADWALAN PROSES

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

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

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

Operating System: An Overview. Ch. 6: Process Scheduling. Ch. 6: Process Scheduling. Agenda. Basic Concept Scheduling Criteria Scheduling Algorithms

Pertemuan 4 KONKURENSI

DESKRIPSI PENJADWALAN PROSES

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

adil efisiensi waktu tanggap (response time) turn arround time throughput

IF3191- Penjadwalan Proses. Henny Y. Zubir. Departemen Teknik Informatika Institut Teknologi Bandung. IF-ITB/HY/24-Aug-03 IF3191 Penjadwalan Proses

Penjadwalan CPU. Badrus Zaman

Sistem Operasi Penjadwalan Proses

PENJADWALAN PROSES. Pendahuluan

Penjadwalan Proses. 1. Adil Proses proses diperlakukan sama yaitu mendapat jatah waktu prosessor yang sama

Reza Chandra Universitas Gunadarma PTA 2010/2011

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

Dasar Sistem Operasi. Dibuat Oleh: Anindito Yoga Pratama, S.T., MMSI

Simulasi Algoritma Penjadualan Proses

Bab 4. Penjadwalan CPU POKOK BAHASAN: TUJUAN BELAJAR: 4.1 KONSEP DASAR. Konsep Dasar Kriteria Penjadwalan Algoritma Penjadwalan

Praktikum 10. Penjadwalan CPU 2 POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 Penjadwalan CPU Premptive. ü Membuat program simuliasi Pendawalan CPU

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

BAB 4 PENJADWALAN CPU 55

MAKALAH SISTEM OPERASI Perbedaan Proses dan Thread. Disusun Oleh : NOVITA ANGGRAINI PUTRI

SISTEM OPERASI THREAD DAN MULTITHREADING

Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

Pertemuan V Penjadwalan Proses

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

The Critical Section Problem Algorithm III

TUGAS SISTEM OPERASI

TUGAS SISTEM OPERASI

Bab 13. Konsep Penjadwalan

Algoritma Penjadwalan 2

Pengaturan Proses Dalam system operasi. proses

Penjadualan CPU. Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Definisi (1) ready, dll.) Sering disebut dengan lightweight process. register set, dan stack. sama.

Sistem Operasi PENGATURAN PROSES

Pertemuan - 4 PENJADWALAN PROSES. Haryono Setiadi, ST, M.Eng D3 Ilmu Komputer UNS

PROSES DAN THREADS DALAM SISTEM OPERASI

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Konsed Dasar Penjadualan Proses

Penjadwalan Proses. Penjadwalan: pemilihan proses selanjutnya yg akan dieksekusi Melakukan multiplexing CPU Kapan dilakukan penjadwalan?

Artikel Perbedaan Proses Dan Thread. Disusun Oleh : Nama : Rozy Putra Pratama NIM : Prodi : Sistem Informasi

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

Apa yang akan dipelajari?

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

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI. Program Studi Sistem Informasi

Bab 5: Penjadwalan CPU. Konsep Dasar

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

sejumlah proses aktif. Aktifitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping.

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

IMPLEMENTASI ALGORITMA MULTILEVEL FEEDBACK QUEUE DALAM MENENTUKAN WAKTU TUNGGU DAN WAKTU KESELURUHAN PROSES

BAB 2 TINJAUAN PUSTAKA. b. Kapan dan selama berapa lama proses itu berjalan. a. Jenis pekerjaan yang akan diselesaikan

SATUAN ACARA PERKULIAHAN

MANAJEMEN PROSES. Pointer State proses Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

Penjadwalan Proses. Penjadwalan bertugas memutuskan hal-hal berikut : Proses yang harus berjalan. Kapan dan selama berapa lama proses berjalan

Sistem Operasi. Konsep Dasar. Histogram Waktu CPU-Burst. Penjadwal CPU PENJADWALAN CPU. Pertukaran Urutan Pada CPU Dan I/O Burts

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Praktikum 9. Penjadwalan CPU 1

THREAD Ulir utas thread

SATUAN ACARA PERKULIAHAN

Thread. pada satu waktu. menjalankan banyak tugas/thread. yang sama

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Recap. Penjadwalan Proses. Kriteria Penjadwalan Proses. Tipe Tipe Penjadwalan. Penjadwal Jangka Pendek 9/23/2016. Ricky Maulana Fajri

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor non-preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI.

Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

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

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

SISTEM OPERASI. fb : materi mufadhol. Operating System Concepts. Oleh : Mufadhol, S.Kom. Copyright MasYong

TUGAS Mata Kuliah : Sistem Terdistribusi

Sistem Operasi. Konkurensi

IMPLEMENTASI ALGORITMA MULTILEVEL FEEDBACK QUEUE DALAM MEMENTUKAN WAKTU TUNGGU DAN WAKTU KESELURUHAN PROSES

Algoritma Schedulling

7. Pengaturan Proses

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

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

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

MATA KULIAH SISTEM OPERASI (CSD60021)

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

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

Algoritma Penjadwalan pada Tinyos

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

Sistem Operasi. Proses dan Thread

Transkripsi:

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta Materi Kuliah : Sistem Operasi / OS Semester Genap E.N. Tamatjita 1

Review Pertemuan Ke-7 Thread Bagian terkecil dari proses (program yang dieksekusi) yang dapat diatur secara independen oleh scheduler. Scheduler : Penjadwalan milik system operasi. Tugasnya adalah menjadwal penggunaan resource (prosesor) oleh proses-proses yang sedang dieksekusi. Program : berganti nama menjadi proses saat ia dipanggil (load) ke memori (RAM) dan menunggu jadwal ekseskusi / instruksi oleh prosesor. Thread seperti independent instances (tampak seperti eksekusi proses independen), maka disebut juga sebagai lightweight process). 2

Thread terjadi Process Thread Thread Thread Dapat diatur (manage) / dieksekusi sendiri oleh Scheduler. Contoh, Multithreading : New Modzilla Firefox Tab Tab New Tab New Tab 3

Single Threading, contohnya : Modzilla Firefox Modzilla Firefox Modzilla Firefox Eksekusi oleh processor dari contoh : Modzilla Firefox New Tab T2 T1 Tab New Tab T3 Proses / Thread induk Thread disebut Multithreading 4

Processor Single Cor : T1 T2 T3 T1 T2 T3 T1 ----- Processor Multicor / Pararel : Cor 1 T1 T1 T1 T1 T1 T1 T1 ----- Cor 2 T2 T3 T2 T3 T2 T3 T2 ----- Sebagai contoh saja, artinya penjadwalan thread disamankan dengan proses biasa. 5

Kernel Thread dan User Thread Kernel Thread Dikendalikan langsung oleh Sistem Operasi. User Thread Dikendalikan oleh sebuah proses melalui sebuah thread library. Contoh, sebuah Thread induk Modzilla Firefox dieksekusi oleh Sistem Operasi : Modzilla Firefox Tab Modzilla Firefox - Ketika pengguna klik unutk membuat Tab baru, Firefox meluncurkan sebuah Thread baru, tanpa perlu memberitahu Sistem Operasi. - Dianggap sebagai anak proses, menggunakan resources yang dimiliki Firefox saja, tidak diberikan alokasi resources baru. Tab New Tab Dikendalikan oleh proses melalui thread library O/S Dikendalikan oleh Sistem operasi (Kernel) 6

3 Model Multithreading : Kernel Thread User Thread One-to-one One-to-many atau One-to-many Many-to-many 7

Algoritma Penjadwalan : A. First Come First Serve (FCFS) B. Shortest Job First (SJF) B.1. Non Preemptive B.2. Preemptive (Shortest-remaining-time-first) C. Priority Based Scheduling D. Round Robin Scheduling E. Multi Queue Scheduling 80% of the CPU time to foreground queue using RR (foreground) Interaktif 20% of the CPU time to foreground queue using FCFS (background) Batch Contoh : Three Queues : Q0 RR time q = 8 ms Q1 RR time q = 16 ms Q2 - FCFS 8

Contoh A 9

Contoh A lanjutan 10

Contoh B.1. 11

Contoh B.2. 12

Contoh C 13

Contoh D Q=4 14

Three Queue 15

Sinkronisasi Proses MUTUAL EXCLUSION Pentingnya Mutual Exclusion Mutual exclusion adalah persoalan untuk menjamin hanya ada satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Pentingnya mutual exclusion dapat dilihat pada dua ilustrasi berikut. A. Ilustrasi printer daemon Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas di printer sehingga menjadikan seolah-olah printer dapat digunakan secara simultan oleh prosesproses. Daemon untuk printer mempunyai tempat penyimpanan di harddisk (disebut spooler) untuk menyimpan berkas-berkas yang akan dicetak. Direktori spooler itu terbagi ddalam sejumlah slot. Slot berisi satu berkas yang akan dicetak. Terdapat variabel in yang menunjuk slot bebas di ruang harddisk yang dipakai untuk menyimpan berkas yang hendak dicetak. 16

Contoh Printer 17

B. Skenario yang membuat situasi kacau Misal A dan B ingin mencetak berkas, variabel in bernilai 9 Skenario Proses A membaca variabel in bernilai 9. Belum sempat A mengerjakan proses, penjadwal menjadwalkan proses B berjalan. Prose B yang juga ingin mencetak segera membaca variable in, variabel in masih bernilai 9. Proses B dapat menyelesaikan prosesnya. Proses B menyimpan berkas B di slot 9. Proses a dijadwalkan kembali dan segera menyimpan berkas A di slot 9. Berkas B tertimpa berkas A, B tidak akan pernah mendapat cetakan. Pada contoh, terdapat kondisi yaitu 2 proses atau lebih sedang membaca atau menulis data bersama ( yaitu variabel in) dengan hasil akhir bergantung jalanya proses-proses. hasil akhir tidak bisa diprediksi, kondisi yang tidak dapat diprediksi hasilnya bergantung pada jalanya proses-proses yang bersaing disebut kondisi pacu ( race condition) Kondisi pacu harus dihilangkan agar hasil dapat diprediksi dan tidak bergantung jalanya proses-proses itu. Pokok penyelesaian permasalahan adalah sisitem harus mencegah lebih dari satu proses membaca atau menulis data bersama disaat yang bersamaan karena bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama dapat menimbulkan kondisi pacu/critical section/region. Kesuksesan proses-proses konkuren memerlukan pendefinisian critical section dan memaksakan mutual exclusion diantaraproses-proses konkuren yang sedang berjalan. Penyelesaian mutual exclusion merupakan landasan pemrosesan konkuren.. 18

Hasil 19

C.1. Algoritma Peterson Mekanisme kerja Peterson adalah sebagai berikut: Sebelum masuk critical_section, proses memanggil enter_critical_section. Sebelum memanggil enter_critical_section, proses memeriksa sampai kondisi aman untuk enter_critical_section. Terjadi busy Waiting. Setelah selesai di critical section, proses menandai pekerjaan telah selesai dan mengizinkan proses lain masuk. Skenario Keadaan awal adalah tidak ada proses di critical_section. Proses o akan masuk critical section. Proses menandai elemen array-nya dan menge-set turn ke o. Proses memeriksa kondisi untuk masuk critical region. Karena proses 1 tidak berkepentingan (elemen interested tidak di tandai) maka prosedur enter_critical_section segera dilaksanakan. Jika kemudian, proses 1 akan masuk critical section. Proses akan menunggu sampai interested[0] menjadi FALSE. Kondisi ini hanya terjadi ketika proses 0 menge-set elemen itu yaitu ketika keluar dari critical section. Metode ini terjadi busy waiting, yaitu proses harus menghabiskan jatahnya untuk memeriksa kondisi. Skenario proses o dan 1 memanggil enter_critical_section hamper simultan Keduanya menyimpan normor proses di turn, yang terakhir dipertimbangkan, yang terdahulu hilang karena ditimpa. Misalnya, proses 1 menyimpan lebih akhir maka turn bernilai 1. Ketika kedua proses mengeksekusi pernyataan while, proses o mengeksekusi o kali dan memasuki critical_section. Proses 1 loop dan tidak memasuki critical_section. Dengan algoritma Peterson, proses-proses dapat masuk critical section dengan aman tanpa terganggu proses lain. Penyelesaian Peterson dapat di generalisasi untuk banyak proses konkuren secara mudah, tidak Cuma untuk dua proses. 20

Peterson 21

C.2. Algoritma Peterson Algoritma 1 Pemecahan ini menjamin hanya satu proses pada satu waktu yang dapat berada di critical section. Tetapi hal ini tidak memuaskan kebutuhan progress, karena hal ini membutuhkan proses lain yang tepat pada eksekusi dari critical section. Sebagai contoh, apabila turn=0 dan P1 siap untuk memasuki critical section, P1 tidak dapat melakukannya, meskipun P0 mungkin di dalam remainder section nya. Algoritma 2 Kelemahan dengan algoritma 1 adalah tidak adanya informasi yang cukup tentang state dari masing-masing proses. Untuk mengatasi masalah ini dilakukan penggantian variabel turn dengan array. Pemecahan ini menjamin mutual exclusion, tetapi masih belum memenuhi progres. Algoritma 3 Algoritma ini merupakan kombinasi algoritma 1 dan algoritma 2. Harapannya akan didapatkan solusi yang benar untuk masalah critical-section, dimana proses ini menggunakan dua variabel Algoritma ketiga ini memenuhi ketiga kebutuhan diatas yaitu mutual exclusion, progres dan bounded waiting dan memecahkan permasalahan critical section untuk dua proses. 22

D. Algoritma Bakery Algoritma Bakery adalah algoritma yang digunakan untuk pemecahan permasalahan critical section pada n proses. Sebelum memasuki critical section, proses menerima nomo. Proses yang mempunyai nomor terkecil dapat memasuki critical section. Jika proses Pi dan Pj menerima nomor yang sama, jika i < j maka Pi dilayani lebih dahulu, sebaliknya Pj akan dilayani lebih dahulu. Skema pemberian nomor selalu membangkitkan nomor dengan menaikkan nilai urut misalnya 1, 2, 3, 3, 3, 3, 4, 5,.. 23

*** Selamat UTS Daftar Pustaka : 1.Silberschatz, Abraham et all, 2013, Operating System Concepts, Ninth Edition, John Wiley & Sons, Inc., Virginia, New Jersey. 2. Stallings, William, 2014, Operating Systems. Internals and Design Principles, Eighth Edition, Prentice Hall, Upper Saddle River, New Jersey. 3. Tanenbaum, Andrew S., 2014, Modern Operating Systems, Fourth Edition, Prentice Hall, Upper Saddle River, New Jersey. 4. http://jerseybiru.wordpress.com/2013/04/25/mutual-exclusion-dandeadlock/#more-142, diakses hari Kamis, tanggal 28 April 2016, jam 23:00 WIB 24