MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM III Sinkronisasi Proses

dokumen-dokumen yang mirip
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IX I/O INTERRUPT

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

Monitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

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

PERTEMUAN TEKNIK PEMOGRAMAN MIKROKONTROLER 89C51

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Laporan Tugas Scheduling Pengantar Sistem Operasi

1 - Bahasa Pemrograman

Pengantar Organisasi Komputer. Abdul Syukur

Kuliah#7 TSK617 Pengolahan Paralel - TA 2011/2012. Eko Didik Widianto

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

Bab 22. Perangkat Sinkronisasi II

Arsitektur Sistem Operasi WINDOWS

Konsep Dasar Pemrograman Dan Pengenalan C++

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Kongkurensi LPOHLVSFOTJ!

1/3/2013. Konsep Dasar memori

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

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

CRITICAL REGION - SEMAPHORE MUTEX DALAM CPU OS SIMULATOR V

Modul Praktikum 1 Pemograman Berorientasi Objek

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

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

Sistem Operasi. Konkurensi

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

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

Apa yang akan dipelajari?

MODUL 1 PENGENALAN SISTEM OPERASI, IDE VISUAL C++ DAN ALGORITMA PEMROGRAMAN

Praktikum Dasar Pemrograman

Al Khowarizmi. Sumber : Istilah algoritma berasal dari nama seorang pengarang berkebangsaan Arab

PENGELOLAAN MEMORY AGUS PAMUJI. SISTEM OPERASI - Pengelolaan Memory

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Krisna D. Octovhiana. 1.1 Mengenal Struktur Kontrol.

Sistem Operasi dalam bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.

BAB III PERANCANGANALAT

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

JOBSHEET I ANTARMUKA MIKROKONTROLER DENGAN LED

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Sistem Operasi. Proses dan Thread

Critical Section Mutual Exclusion Semaphore Tugas. Sinkronisasi Thread. Praktikum Sistem Operasi. Ilmu Komputer IPB. Sinkronisasi Thread

MODUL VI Penggunaan Struktur Kontrol Pengulangan

Konkurensi. Faikul Umam

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

PRAKTIKUM 1 ALGORITMA & PEMROGRAMAN. 1. Mengenal C/C++

Modul ke: Sistem Operasi. Komponen Sistem Operasi dan Fungsi-Fungsinya. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI.

SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

1. Buka menu RENE Hardware Setup dari Start All Programs Cpssoft RENE2 RENE Hardware Setup. Maka akan tampil tampilan seperti ini:

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

PENGENALAN NETBEANS Algoritma & Pemrograman 2016/2017 Hastha Sunardi 2016 PENGENALAN NETBEANS. (Pertemuan: K[-]/L[1])

Komunikasi Serial. Menggunakan Arduino Uno MinSys

Tahap pengembangan program

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK. Maimunah, S.Si,M.Kom

TEKNIK OPTIMASI. Dependensi Optimasi. Optimasi Lokal. Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebih cepat eksekusinya.

BAB II PERANGKAT LUNAK

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

PERTEMUAN BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Modul Praktikum Ke-1

Bahasa FORTRAN. Saifoe El Unas. Apa FORTRAN itu?

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

ALGORITMA DAN PEMROGRAMAN #2

Pengantar Teknologi Informasi. Software Komputer

POSTEST SISTEM OPERASI. Disusun Oleh : : Nurul Annisa Putri. Nim : Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

Praktikum 2 Pembuatan Program PLC

PENGENALAN Code::Blocks

Dasar Pemrograman C++

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

Pemrograman Java. Compiler. Interpreter

BAB II LANDASAN TEORI

OPERASI DASAR KOMPUTER dan PERANGKAT LUNAK DALAM SISTEM INFORMASI

Industrial Informatics and Automation laboratory Electrical Engineering Department Industrial Technology Faculty Institut Teknologi Sepuluh Nopember

Teknik optimasi. Teknik optimasi kode program Tujuan: menghasilkan kode program yang berukuran lebih kecil dan lebih cepat pada saat dieksekusi.

MODUL 1 DASAR-DASAR PEMROGRAMAN C++

Model Pemrograman Paralel

SILABUS BERBASIS KOMPETENSI DAN KKNI (PRAKTIKUM)

PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Semester 3 Perulangan for 4 X 50 menit

Concurrency 1 : Mutual Exclusion dan Sinkronisasi (P ( e P rtemuan ua ke-9) 9 September 2014

SILABUS BERBASIS KOMPETENSI DAN KKNI (PRAKTIKUM)

Hubungan CPU dengan Memory

TUJUAN PRAKTIKUM DASAR TEORI

BAB 1 KONSEP DASAR BAHASA C

Pendahuluan Arsitektur Organisasi Komputer

APLIKASI TEBAK GAMBAR MENGGUNAKAN METODE FORWARD CHAINING BERBASIS ANDROID

PRAKTIKUM MATA KULIAH MIKROPROSESSOR DAN BAHA ASSEMBLY INPUT/OUTPUT PADA ARDUINO

PLC UNTUK PENGENDALI LIFT

PERULANGAN for. Praktikum 6 (1/4)

Pertemuan2 Percabangan & Perulangan pada Python

A. Pemahaman Awal. Hardware dan Software(1) Ada beberapa perangkat utama di komputer 20/01/2012

BAB I. 1 P e m r o g r a m a n V i s u a l B a s i c - J a t i L e s t a r i

PRAKTIKUM 1 MENGENAL BAHASA PASCAL. File, Edit, Search, Run, Compile, Debug, Tools, Option, Windows dan Help.

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

Transkripsi:

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM III Sinkronisasi Proses A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Mengkompilasi kode sumber dengan thread yang berbagi akses ke area global yang tidak diproteksi. 2. Menunjukkan bahwa menulis ke area global yang tidak diproteksi dapat menimbulkan efek samping yang tidak diinginkan ketika diakses oleh thread. 3. Mengkompilasi kode sumber dengan thread yang tersinkronisasi. 4. Menunjukkan bahwa hardware menyediakan bantuan untuk membuat critical region. 5. Mengkompilasi kode sumber dengan mutex untuk membuat wilayah exclusion. 6. Menunjukkan bahwa OS menyediakan bantuan untuk membuat critical region. B. Dasar Teori Proses konkuren mengakses sumber daya global pada saat yang bersamaan dapat menghasilkan efek samping yang tidak diinginkan. Perangkat keras atau sistem operasi komputer dapat menyediakan mutual exclusion ketika sumber daya tersebut digunakan bersama.

C. Langkah-langkah Praktikum Jalankan Simulator. 1. Tuliskan kode berikut ini pada compiler. sub thread1 as thread sub thread2 as thread Kode diatas akan membuat dua thread yaitu thread1 dan thread2. Masing-masing thread menaikkan nilai variabel global g dalam tiap loop. Ketika dua loop selesai nilai apa yang anda perkirakan dalam variabel g untuk dua kasus tersebut? Dapatkah anda muga fungsi statement? a. Sekarang compile kode tersebut, muatkan dalam memori. b. Tampilkan jela konsol, aktifkan STAY ON TOP. c. Beralihlah ke OS simulator, akan tampak CriticalRegion pada PROGRAM LIST. d. Buatlah proses dengan ketentuan : ROUND ROBIN, 10 ticks, kecepatan maksimum. e. Tekan START. f. Ketika program berhenti, catatlah dua nilai g yang ditampilkan. Apakah nilai ini seperti yang anda perkirakan tadi? Bagaimana papat anda.

2. Sekarang kita memodifikasi program seperti dibawah ini. Bagian yang dimodifikasi ditandai dengan tebal (bold). sub thread1 as thread synchronise sub thread2 as thread synchronise a. Hapus kode sebelumnya dengan cara: pada jela CPU Simulator, klik REMOVE ALL PROGRAMS. b. Compile kode diatas dan muatkan ke memori. Pada jela compiler, carilah baris pada program code (output) yang menerjemahkan synchronise, catatlah kode asembler beserta keterangannya. c. Pada jela OS simulator buatlah proses baru, kemudian jalankan. d. Tunggu hingga program selesai, sembari mengamati yang terjadi pada sub jela ing processes, e. Catat dua nilai variabel g yang ditampilkan pada layar consol.

3. Kita modifikasi lagi kode sebelumnya. Bagian yang ditambahkan ditandai dengan tebal. sub thread1 as thread enter leave sub thread2 as thread enter leave a. Hapus program sebelumnya dari memori. b. Compile kode diatas, muatkan ke memori. Amati hasil kompilasi perintah enter dan leave pada jela compiler output c. Beralihlah ke OS simulator, buat proses baru, kemudian jalankan. d. Catat 2 nilai variabel g.

4. Jadi apa kesimpulannya? Untuk memahami percobaan diatas, jawablah pertanyaanpertanyaan berikut ini: a. Jelaskan tujuan utama praktikum ini menurut anda. b. Mengapa kita menggunakan variabel global (g) yang sama pada dua thread? c. Sudahkan kita menggunakan variabel lokal, dan apakah hasilnya akan berbeda? Lakukan eksperimen kecil dengan sedikit modifikasi pada kode yang ada dan jalankanlah program tersebut. d. Pada modifikasi yang pertama ditambahkan kata kunci synchronise. Jelaskan tujuan modifikasi ini. Beri contoh istilah untuk synchronise dalam bahasa pemrograman nyata. e. Pada modifikasi yang kedua digunakan kata kunci enter dan leave. Jelaskan fungsi modifikasi ini, dan apa bedanya dengan (d)? f. Critical regions seringkali diimplementasikan menggunakan semaphore dan mutex. Jelaskan pengertiannya dan apa perbedaannya. g. Berikan contoh nyata untuk suatu critical region (atau mutex region). Beri contoh nyata suatu mutex. h. Beberapa arsitektur komputer memiliki instruksi test-and-set untuk menerapkan critical region. Jelaskan bagaimana teknik ini bekerja dan mengapa penerapannya pada hardware. i. Jika hardware maupun OS tidak menyediakan bantuan, bagaimana anda dapat memproteksi critical region dalam kode anda? Berikan saran anda dan jelaskan dimana perbedaannya dengan metode-metode yang telah diuji coba kan diatas.