Skip to main content

Posts

Mengatasi Deadlock

Deadlock merupakan kodisi di mana beberapa proses meminta resource yang sedang digunakan oleh proses lain sedangkan proses yang sedang menggunakan resource yang diminta tersebut juga sedang menunggu proses lain yang sedang menggunakan resource yang juga diperlukan oleh proses itu. Setiap resource yang diminta hanya bisa diakses oleh satu proses dalam satu waktu. Misalnya program A ingin menggunakan resource 1 yang sedang digunakan oleh program B namun program B juga ingin menggunakan resource 2 yang sedang dipegang oleh program A. Program A dan B sama-sama menunggu untuk menggunakan resource yang diperlukan sehingga terjadi deadlock karena tidak ada yang bisa melakukan tugasnya. Berikut ini merupakan beberapa solusi yang digunakan untuk mengatasi deadlock yang terjadi pada suatu sistem. Ostrich Algorithm Disebut ostrich (burung unta) karena sebenarnya algoritma ini hanya mengabaikan kondisi deadlock yang terjadi. Burung unta jika ada badai maka akan memasukkan kepalanya ke dalam pasir/
Recent posts

Masalah Klasik Sinkronisasi

 Pada posting kali ini, saya akan membahas mengenai masalah-masalah klasik terkait dengan sinkronisasi yaitu Bounded Buffer Problem, Readers and Writers Problem, dan Dining Philosophers Problem. Readers/Writers dan Bounded Buffer Problem Misalnya suatu program memiliki tugas untuk menerima memproduksi (producing) suatu nilai dan melakukan konsumsi/proses (consuming) terhadap suatu nilai yang sudah diproduksi. Proses produksi dan konsumsi dilakukan secara terus menerus dan paralel. Untuk menampung data hasil produksi maka dibuat suatu array yang disebut buffer dengan ukuran tertentu. Dalam kasus ini kita buat ukurannya 5. Untuk mengetahui berapa banyak nilai yang sudah terisi maka dibuat variabel counter. Berikut ini adalah contoh kode pada bahasa C#. Pertama ada fungsi Produce. Fungsi ini tugasnya adalah untuk membuat angka acak lalu menambahkan angka acak tersebut ke buffer. Setelah itu menaikkan nilai counter. Pada fungsi Consume tugasnya adalah mengambil nilai terakhir yang ada pada

Process Explorer

Process Explorer merupakan suatu program yang digunakan untuk melakukan manajemen proses yang berjalan pada sistem operasi Windows. Program ini dibuat oleh Mark Russinovich dan saat ini dimaintain oleh Sysinternals (produk dari Microsoft). Sebenarnya pada sistem operasi Windows sudah ada program manajemen proses yang sudah kita semua tahu yaitu Task Manager. Meskipun begitu, Process Explorer menyediakan fitur-fitur yang jauh lebih lengkap lagi dari pada Task Manager bawaan Windows. Program ini bisa didownload melalui link ini . Ukurannya hanya sebesar 2.5 MB. Untuk instalasi tidak perlu repot-repot karena program ini bersifat portable alias tidak perlu proses instalasi. Cukup ekstrak zip yang sudah didownload dari link di atas ke dalam folder di komputer anda. Lokasi folder bisa bebas di mana saja. Setelah diekstrak maka kita akan mendapati beberapa file berikut. Sebelum menjalankan Process Explorer, anda perlu tahu jenis bit dari sistem operasi Windows yang anda saat ini gunakan. Jika

File Recovery (dengan Recuva Free)

Kita pasti pernah mengalami kejadian di mana kita tidak sengaja menghapus file-file penting di komputer kita. Ketika kita menghapus file, biasanya file tersebut masih tersedia di dalam Recycle Bin (Windows) atau Trash Bin (macOS). Namun, tak jarang kita menghapus file tersebut secara permanen tanpa melalui Recycle Bin terlebih dahulu atau misalnya drive yang kita pakai terformat data-datanya. Supaya bisa mengembalikan file-file yang sudah terhapus secara permanen tersebut, kita bisa menggunakan software khusus untuk mengembalikan data yang terhapus. Salah satu software tersebut yang akan dibahas pada postingan ini yaitu Recuva versi gratis. Logo Recuva (Sumber: Wikipedia) The Basics Ketika kita membuat file, selain isi dari file tersebut yang ditulis ke disk drive (harddisk atau SSD), hal lain yang ditulis ke disk adalah informasi mengenai file tersebut mulai dari lokasi, ukuran, jenis file, tag, dan sebagainya. Ketika kita menghapus file secara permanen (tanpa melalui Recycle Bin), ma

Infrastructure as a Service (Iaas)

 Infrastructure as a Service (IaaS) atau yang disebut juga infrastruktur sebagai layanan adalah suatu layanan cloud computing yang menyediakan resource server, mulai dari server itu sendiri (yang biasanya dipasang dalam suatu virtual machine), bandwidth, listrik, maintenance hardware server, keamanan server, dan sebagainya sehingga pengguna hanya perlu memilih OS yang ingin dipasang di server tersebut dan memasang aplikasi yang diperlukan. Model IaaS ini merupakan model layanan cloud computing yang menyediakan kontrol yang paling luas kepada pengguna dibandingkan dengan model Software as a Service dan Platform as a Service. Pengguna dapat mengatur berbagai hal mulai dari storage yang diperlukan, kekuatan CPU yang diperlukan, ukuran memori, kemampuan GPU, sistem operasi yang digunakan serta program-program yang ada dalam sistem operasi tersebut jadi bagaikan kita punya server sendiri namun yang melakukan maintenance terhadap hardware tersebut orang lain (perusahaan penyedia layanan). Be

Solid State Drive

 Solid state drive (SSD) adalah perangkat penyimpanan yang menggunakan sirkuit elektronik, yang disebut juga memory flash, untuk menyimpan data secara permanen, berbeda dengan harddisk yang menggunakan piringan disk. SSD dikenal sebagai media penyimpanan yang lebih cepat dibandingkan harddisk serta lebih tahan terhadap guncangan ketika sedang digunakan. Solid State Drive (Sumber: unixplus.com) SSD menyimpan data menggunakan sel semikonduktor yang mana setiap selnya bisa menampung data sebanyak 1 hingga 4 bit. SSD yang menyimpan 1 bit di setiap sel dianggap sebagai yang paling durable, cepat, dan mahal dibandingkan dengan yang menyimpan data sebanyak 2-4 bit di setiap sel. Ada juga SSD yang dibuat dari RAM yang menyimpan data secara permanen menggunakan baterai sehingga RAM tersebut tetap meyimpan data walaupun arus listrik utama dimatikan. Yang terakhir ada teknologi gabungan antara SSD dan HDD yang dinamai SSHD yang bekerja dengan prinsip jika suatu data diakses lebih sering maka data