Deadlock. Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses
2. Terjadi kemajuan progress . Jika tidak ada proses yang sedang menjalankan critical
section-nya dan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang tidak sedang menjalankan remainder section-nya yang dapat berpartisipasi dalam memutuskan siapa yang berikutnya yang akan masuk ke critical section, dan pemilihan siapa yang berhak masuk ke critical section ini tidak dapat ditunda secara tak terbatas sehingga tidak terjadi deadlock.3. Ada batas waktu tunggu bounded waiting . Jika seandainya ada proses yang sedang
menjalankan critical section, maka terdapat batasan waktu berapa lama suatu proses lain harus menunggu giliran untuk mengakses critical section. Dengan adanya batas waktu tunggu akan menjamin proses dapat mengakses ke critical section tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan.18.5. Critical Section dalam Kernel
Problem untuk kernel muncul karena berbagai tasks mungkin mencoba untuk mengakses data yang sama. Jika hanya satu kernel task ditengah pengaksesan data ketika interrupt service routine dieksekusi, maka service routine tidak dapat mengakses atau merubah data yang sama tanpa resiko mendapatkan data yang rusak. Fakta ini berkaitan dengan ide dari critical section sebagai hasilnya. Saat sepotong kernel code mulai dijalankan, akan terjamin bahwa itu adalah satu-satunya kernel code yang dijalankan sampai salah satu dari aksi dibawah ini muncul:1. Interupsi. Interupsi adalah suatu masalah bila mengandung critical section-nya sendiri. Timer
interrupt tidak secara langsung menyebabkan terjadinya penjadwalan ulang suatu proses; hanya meminta suatu jadwal untuk dilakukan kemudian, jadi kedatangan suatu interupsi tidak mempengaruhi urutan eksekusi dari kernel code. Sekali interrupt service selesai, eksekusi akan menjadi lebih simpel untuk kembali ke kernel code yang sedang dijalankan ketika interupsi mengambil alih.2. Page Fault. Page faults adalah suatu masalah yang potensial; jika sebuah kernel routine
mencoba untuk membaca atau menulis ke user memory, akan menyebabkan terjadinya page fault yang membutuhkan MK, dan proses yang berjalan akan di tunda sampai MK selesai. Pada kasus yang hampir sama, jika system call service routine memanggil penjadwalan ketika sedang berada di mode kernel, mungkin secara eksplisit dengan membuat direct call pada code penjadwalan atau secara implisit dengan memanggil sebuah fungsi untuk menunggu MK selesai, setelah itu proses akan menunggu dan penjadwalan ulang akan muncul. Ketika proses jalan kembali, proses tersebut akan melanjutkan untuk mengeksekusi dengan mode kernel, melanjutkan intruksi setelah pemanggilan ke penjadwalan.3. Kernel code memanggil fungsi penjadwalan sendiri. setiap waktu banyak proses yang berjalan
dalam kernel mode,akibatnya sangat mungkin untuk terjadi race condition ,contoh, dalam kernel mode terdapat struktur data yang menyimpan list file yang terbuka, list tersebut termodifikasi bila ada data file yang baru dibuka atau ditutup,dengan menambah atau menghapus dari list , race condition timbul ketika ada dua file yang dibuka dan ditutup bersamaan, untuk mengatasi hal tersebut kernel mempunyai metode yaitu: a. Preemptive kernel. pada mode ini proses yang sedang dieksekusi dalam kernel diizinkan untuk diinterupsi oleh proses lain yang memenuhi syarat, akibatnya mode ini juga rentan terkena race condition. Keuntungannya adalah mode ini amat efektif untuk digunakan dalam real time programming, namun mode ini lebih sulit diimplementasikan dari pada mode non preemptive kernel. Mode ini diimplementasikan oleh Linux versi 2.6 dan versi komersial Linux lainnya.b. Non preemptive kernel. mode yang tidak memperbolehkan suatu proses yang berjalan
dalam kernel mode diinterupsi oleh proses lain, proses lain hanya bisa dijalankan setelah proses yang ada dalam kernel selesai dieksekusi, implementasinya memang lebih mudah dibandingkan dengan preemptive kernel, mode ini diimplementasikan lewat Windows XP dan Windows 2000.18.6. Rangkuman
Suatu proses yang bekerja bersama-sama dan saling berbagi data dapat mengakibatkan race condition atau pengaksesan data secara bersama-sama. Critical section adalah suatu segmen kode dari proses-proses itu yang yang memungkinkan terjadinya race condition. Untuk mengatasi masalah critical section ini, suatu data yang sedang diproses tidak boleh diganggu proses lain. Solusi prasyarat critical section: 1261. Mutual Exclusion. 2. Terjadi kemajuan progress .
3. Ada batas waktu tunggu bounded waiting.
Critical section dalam kernel: 1. Interupsi.2. Page Fault. 3. Kernel code memanggil fungsi penjadwalan sendiri.
Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley Sons. [Stallings2001] William Stallings. 2001. Operating Systems: Internal and Design Principles. Fourth Edition. Edisi Keempat. Prentice-Hall International. New Jersey. [Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall. [WEBFSF1991a] Free Software Foundation. 1991. – http:gnui.vLSM.org licenses gpl.txt . Diakses 7 April 2007. 127Parts
» Kumpulan Makalah | Blogger Lampung Tengah SO
» Konsep Dasar Perangkat Komputer
» Pendahuluan Hari Gini Belajar SO?
» Mengapa Mempelajari Sistem Operasi?
» Definisi Sementara Hari Gini Belajar SO?
» Sejarah Perkembangan Hari Gini Belajar SO?
» Bahan Pembahasan Tantangan Prasyarat Sasaran Pembelajaran Rangkuman
» Pendahuluan HaKI Perangkat Lunak
» Perangkat Lunak Bebas HaKI Perangkat Lunak
» Aneka Ragam HaKI HaKI Perangkat Lunak
» Lisensi Perangkat Lunak HaKI Perangkat Lunak
» Copyleft HaKI Perangkat Lunak
» Ilustrasi Lisensi Tantangan Rangkuman
» Pendahuluan Organisasi Sistem Komputer
» Prosesor Organisasi Sistem Komputer
» Penyimpan Data Organisasi Sistem Komputer
» MasukanKeluaran Organisasi Sistem Komputer
» Rangkuman Organisasi Sistem Komputer
» Sistem Operasi Java Bahasa Java
» Dasar Pemrograman Bahasa Java
» Atribut Protected Bahasa Java
» Konstruktor Metode Bahasa Java
» Inheritance Abstract Package Interface
» Pendahuluan Komponen Sistem Operasi
» Kegiatan Sistem Operasi Komponen Sistem Operasi
» Manajemen Proses Komponen Sistem Operasi
» Manajemen Memori Utama Komponen Sistem Operasi
» Harganya murah. Perbandingan harga yang dibayar oleh pengguna per byte data jauh lebih
» Menyimpan berkas secara permanen. Data atau berkas diletakkan secara fisik pada piringan
» Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi
» Pendahuluan Layanan dan Antarmuka
» Jenis Layanan Layanan dan Antarmuka
» Antarmuka Layanan dan Antarmuka
» System Calls API Application Program Interface
» Jenis System Calls Layanan dan Antarmuka
» System Programs Layanan dan Antarmuka
» Application Programs Layanan dan Antarmuka
» Rangkuman Layanan dan Antarmuka
» Pendahuluan Struktur Sistem Operasi
» Struktur Sederhana Struktur Sistem Operasi
» Struktur Berlapis Struktur Sistem Operasi
» Mikro Kernel Struktur Sistem Operasi
» Portability. Pada kernel mikro, semua atau sebagian besar kode yang prosesor-spesifik berada di
» Reliability. Semakin besar suatu software, maka tentulah semakin sulit untuk menjamin
» Support for object-oriendted OS. Model kernel mikro sangat sesuai untuk mengembangkan
» Proses Boot Struktur Sistem Operasi
» Kompilasi Kernel Struktur Sistem Operasi
» Mengekstrak kernel. Source code kernel Anda yang lama bisa dilihat di direktori usrsrclinux.
» Buat symbolic link. Struktur Sistem Operasi
» Konfigurasi kernel. Sebelum proses kompilasi, anda memiliki 2 pilihan, yaitu membuat
» Kompilasi. Jalankan perintah make bzImag Proses kompilasi kernel bisa memakan waktu
» Komputer Meja Struktur Sistem Operasi
» Sistem Prosesor Jamak Struktur Sistem Operasi
» Lebih ekonomis. Daripada sistem dengan banyak prosesor tunggal, karena bisa berbagi memori,
» Peningkatan kehandalan. Jika pekerjaan terbagi rata, maka kegagalan salah satu prosesor bisa
» Availability. Karena semua prosesor menjalankan tugas yang sama, maka kegagalan pada salah
» Incremental growth. Performa bisa ditingkatkan dengan menambah prosesor lagi.
» Sistem Terdistribusi dan Terkluster
» Computation speedup. Jika suatu proses komputasi bisa dipecah-pecah menjadi sejumlah bagian
» Reliability. Jika satu komputer mengalami kegagalan, maka secara keseluruhan sistem masih
» Communication. Karena satu komputer terhubung dengan komputer-komputer laiinya, sangat
» Incremental scalability. Kluster diatur sedemikian rupa sehingga bisa dupgrade sedikit demi
» High availability. Karena setiap komputer yang tergabung adalah standalone mandiri, maka
» Superior priceperformance. Dengan konfigurasi yang tepat, dimungkinkan untuk membangun
» Sistem Waktu Nyata Struktur Sistem Operasi
» Aspek Lainnya Struktur Sistem Operasi
» Rangkuman Struktur Sistem Operasi
» Pendahuluan Virtual Machine VM
» Virtualisasi Penuh Virtual Machine VM
» VMware Xen VMM Virtual Machine VM
» .NET Framework Virtual Machine VM
» Efisien. Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi
» Konsisten. Kemudahan-kemudahan pada saat proses pembuatan aplikasi, juga bisa berimplikasi
» Microkernel. Kumpulan Makalah | Blogger Lampung Tengah SO
» Hybrid modifikasi dari microkernel. Kernel yang mirip microkernel, tetapi ia juga
» Credentials. Setiap proses harus memiliki hubungan antara user ID dengan group ID yang
» Pembentukan Thread Thread Java
» Penggabungan Thread Thread Java
» Pembatalan Thread Thread Java
» Penjadwalan Preemptive Penjadwalan Non Preemptive
» Context switching. Kumpulan Makalah | Blogger Lampung Tengah SO
» Throughput. Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan
» Turnaround Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama
» Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan
» Response Time. Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik
» FCFS First Come First Served
» Pendahuluan Penjadwalan Prosesor Jamak
» Penjadwalan MasterSlave Penjadwalan Prosesor Jamak
» Penjadwalan SMP Affinity dan Load Ballancing
» Symetric Multithreading Penjadwalan Prosesor Jamak
» Multicore Penjadwalan Prosesor Jamak
» Rangkuman Penjadwalan Prosesor Jamak
» Pendahuluan Deterministic Modelling Evaluasi dan Ilustrasi
» Queueing Modelling Evaluasi dan Ilustrasi
» Simulasi Implementasi Evaluasi dan Ilustrasi
» Ilustrasi: Linux Evaluasi dan Ilustrasi
» Ilustrasi: Solaris Evaluasi dan Ilustrasi
» System SYS. Solaris menggunakan system class untuk menjalankan kernel proses, seperti
» Time Sharing TS. Time sharing class merupakan default class untuk proses dan kernel thread
» Interactive IA. Kelas Interaktif menggunakan aturan yang sama dengan aturan dengan kelas
» Fixed Priority FX. Thread di kelas fixed priority memiliki range prioritas 0-59 yang sama
» Komunikasi Antar Proses Konsep Interaksi
» Komunikasi tidak langsung. Berbeda dengan komunikasi langsung, jenis komunikasi ini
» Deadlock. Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses
» Pendahuluan Race Condition Critical Section
» Prasyarat Solusi Critical Section
» Terjadi kemajuan progress . Jika tidak ada proses yang sedang menjalankan critical
» Ada batas waktu tunggu bounded waiting . Jika seandainya ada proses yang sedang
» Interupsi. Interupsi adalah suatu masalah bila mengandung critical section-nya sendiri. Timer
» Page Fault. Page faults adalah suatu masalah yang potensial; jika sebuah kernel routine
» Kernel code memanggil fungsi penjadwalan sendiri. setiap waktu banyak proses yang berjalan
» Mutual Exclusion. 2. Terjadi kemajuan progress .
» Ada batas waktu tunggu bounded waiting.
» Pendahuluan TestAndSet Perangkat Sinkronisasi
» Counting semaphore. Semafor ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem
» Mutual Exclusion. Sesuai dengan prinsip mutual exclusion, jika suatu thread sedang berada
» Cooperation. Cooperation berarti membantu beberapa thread untuk bekerjasama mencapai
» Model Sistem Transaksi Atomik
» Pemulihan Berbasis Log Transaksi Atomik
» Checkpoint Serialisasi Transaksi Atomik
» Protokol Penguncian Transaksi Atomik
» Exclusive. Jika sebuah transaksi Ti melakukan exclusive-mode lock pada data Q, maka transaksi
» Critical Section Sinkronisasi Linux
» Penyebab Konkurensi Kernel Integer Atomik
» Spin Locks Sinkronisasi Linux
» Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock
» Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik
» Penghindaran. Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca
» Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock,
» Mutual Exclusion. Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar
» Hold and Wait. Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses
» No Preemption. Pencegahan kondisi ini dengan cara membolehkan terjadinya preemption.
» Proses . Kumpulan Makalah | Blogger Lampung Tengah SO
» Pendahuluan Penggunaan Semafor Bounded-Buffer
» Pendahuluan Penggunaan Semafor Sinkronisasi Dengan Semafor
» Program Sinkronisasi Dengan Semafor
Show more