Critical Section Sinkronisasi Linux
22.7. SMP
Symmetrical Multiprocessing SMP mendukung adanya pengeksekusian secara paralel dua atau lebih thread oleh dua atau lebih processor. Kernel LINUX 2.0 adalah kernel LINUX pertama yang memperkenalkan konsep SMP. Untuk menjaga agar dua thread tidak mengakses resources yang sama dalam waktu yang sama, maka SMP menerapkan aturan dimana hanya ada satu processor yang dapat menjalankan thread dalam kernel mode dengan cara spin lock tunggal untuk menjalankan aturan ini. Spin lock ini tidak memunculkan permasalahan untuk proses yang banyak menghabiskan waktu untuk menunggu proses komputasi, tapi untuk proses yang banyak melibatkan banyak aktifitas kernel, spin lock menjadi sangat mengkhawatirkan. Sebuah proyek yang besar dalam pengembangan kernel LINUX 2.1 adalah untuk menciptakan penerapan SMP yang lebih masuk akal, dengan membagi kernel spin lock tunggal menjadi banyak lock yang masing-masing melindungi terhadap masuknya kembali sebagian kecil data struktur kernel. Dengan menggunakan teknik ini, pengembangan kernel yang terbaru mengizinkan banyak processor untuk dieksekusi oleh kernel mode secara bersamaan.22.8. Rangkuman
Pada suatu saat dalam sebuah kernel, tidak terkecuali kernel LINUX, dapat terjadi concurrent access. Dalam hal ini diperlukan proteksi dalam kernel yang bersangkutan. Proteksi dapat dilakukan dengan sinkronisasi. Sebuah proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical section. Ketika sebuah proses sedang dijalankan dalam critical sectionnya, tidak ada proses lain yang boleh dijalankan dalam critical sectionnya. Ada dua jenis concurrency yaitu pseudo-concurrency dan true-concurrency. Ada beberapa penyebab konkurensi kernel, diantaranya interrupt, softirqs dan tasklets, kernel preemption, sleeping dan synchronization with user-space, dan symmetrical multiprocessing. Salah satu metode dalam kernel LINUX untuk sinkronisasi adalah atomic operations. Integer atomik adalah salah satu jenis dari atomic operations. Integer Atomik menyediakan instruksi yang dijalankan secara atomik tanpa interrupt. Locking yang paling umum digunakan dalam LINUX adalah spin lock. Spin lock adalah lock yang hanya dapat dilakukan oleh satu thread. Ketika sebuah thread yang akan dijalankan meminta spin lock yang sedang digunakan, maka thread ini akan loops menunggu sampai spin lock tersebut selesai digunakan oleh thread yang sedang berjalan. Semafor dalam LINUX adalah sleeping locks. Ketika sebuah thread meminta semafor yang sedang digunakan, maka semafor akan meletakkan thread tersebut dalam wait queue dan menyebabkan thread tersebut masuk status sleep. Symmetrical multiprocessing SMP mendukung adanya pengeksekusian secara paralel dua atau lebih thread oleh dua atau lebih processor. Kernel LINUX 2.0 adalah kernel LINUX pertama yang memperkenalkan konsep SMP. Rujukan [RobertLove2005] Robert Love. 2005. Linux Kernel Development. Novell Press. 158 [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. [WEBDrake96] Donald G Drake. April 1996. Introduction to Java threads – A quick tutorial on how to implement threads in Java – http:www.javaworld.com javaworld jw-04-1996 jw-04-threads.html . Diakses 29 Mei 2006. [WEBFasilkom2003] Fakultas Ilmu Komputer Universitas Indonesia . 2003. Sistem Terdistribusi – http:telaga.cs.ui.ac.id WebKuliah sisdis2003 . Diakses 29 Mei 2006. [WEBHarris2003] Kenneth Harris. 2003. Cooperation: Interprocess Communication – Concurrent Processing – http:people.cs.uchicago.edu ~mark 51081 LabFAQ lab5 IPC.html . Diakses 2 Juni 2006. [WEBWalton1996] Sean Walton. 1996. Linux Threads Frequently Asked Questions FAQ – http:linas.org linux threads-faq.html . Diakses 29 Mei 2006. [WEBWiki2006a] From Wikipedia, the free encyclopedia. 2006. Title – http:en.wikipedia.orgwikiZombie_process . Diakses 2 Juni 2006. [WEBLINUX2002] Robert Love. 2002. Kernel Locking Techniques http:www.linuxjournal.comarticle5833 . Diakses 3 Maret 2007. [WEBwikipedia2007a] From Wikipedia, the free encyclopedia. 2007.. 2007. Symmetric Multiprocessing http:en.wikipedia.orgwikiSymmetric_multiprocessing . Diakses 3 Maret 2007. [WEBwikipedia2007] From Wikipedia, the free encyclopedia. 2007.. 2007. Critical Section http:en.wikipedia.orgwikiCritical_section.htm . Diakses 10 April 2007. 159Parts
» 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