Halaman

Kamis

Cara kerja DNS


Cara kerja DNS :
·         Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan).
·         Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers.
·         Resolvers atau client mengirimkan permintaan ke name server berupa queries.
·         Name server akan memproses dengan cara mengecek ke lokal database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan.
·         Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP Address.
·         DNS bekerja dalam modus klien server. Dalam arti ada klien yang mencari nama atau alamat IP, kemudian ada server yang memberikan informasi dimana nama atau alamat IP tersebut diakses.
·         Server DNS yang paling banyak digunakan di lingkungan UNIX adalah BIND.
·         Misalnya seorang pengguna yang berada dalam jaringan atau network telkom, dengan menggunakan browser internet explorer mengakses situs http://www.telkom.co.id.
·         Maka langkah pertama yang dilakukan browser adalah bertanya kepada resolver di komputer tersebut berapa IP address dari www.telkom.co.id.
·         Resolver akan mencari jawaban dengan melihat isi dari cache. Apabila situs tersebut pernah diakses sebelumnya maka informasi mengenai situs tersebut (IP address) telah ada dalam cache dan resolver akan segera memberitahu jawabannya ke browser.
·         Namun bila jawabannya belum ada dalam cache, maka resolver akan mengontak DNS server lokal yang menjadi defaultnya (DNS server Telkom) dan memberi jawabannya ke browser.
·         Dalam kasus yang berbeda jika name server tidak mengetahui jawabannya atau name server tidak autoritative untuk zona tersebut. Maka name server ini akan bertanya kepada name server lain yang lebih autoritative yaitu Root DNS.
·         Root DNS pasti mempunyai database yang dimaksud dan memberikan kepada DNS server lokal. Root DNS memuat seluruh daftar nama yang ada di dunia.
·         Misalnya seorang pengguna yang berada dalam jaringan atau network Telkom mengakses situs http://www.google.com Resolver akan mencari jawaban di cache, apabila ada maka langsung diberikan ke browser dan apabila tidak ada maka resolver akan mengontak DNS server lokal.

Sabtu

Konkurensi


 1.     Jelaskan kapan terjadinya konkurensi!
Jawab :
Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.
Konkurensi dapat terjadi pada, antara lain:
a)     Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
b)    Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
c)     Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
d)    Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.
2.     Jelaskan beserta contoh, masalah- masalah yang terjadi ketika terjadi konkurensi!
Jawab :
a)      Mutual Exclusion. Adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Proses-proses yang lain dilarang mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama disebut Critical Section/Region. Mutual Exclusion merupakan jaminan untuk mengatasi kondisi pacu agar tidak boleh 2 proses atau lebih memasuki Critical Section secara bersamaan. Kesuksesan proses- proses kongkuren memerlukan pendefinisian Critical Section dan memaksakan Mutual Exclusion di antara proses-proses kongkuren yang sedang berjalan. Pemaksaan Mutual Exclusion merupakan landasan pemrosesan kongkuren.
·         Contoh Mutual Exclusion : Apabila kita sedang duduk di sebuah kursi orang lain tidak bisa menduduki kursi tersebut hingga kita pergi dari kursi itu.

b)      Deadlock. Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut. Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.
·         Contoh Deadlock : “Dalam persimpangan jalan” Dalam kasus ini setiap mobil bergerak sesuai dengan nomor yang ditentukan, tetapi tanpa pengaturan yang benar, maka setiap mobil akan bertemu pada satu titik yang permanen atau dapat dikatakan bahwa setiap mobil tidak dapat melanjutkan perjalanan lagi atau dapat disebut juga terjadi deadlock.

c)      Starvation. Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena tidak deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan). Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di bawah ini.Pada gambar diatas, pada antrian kanan terjadi starvationkarena resource(jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran.
·         Contoh Starvation : Sambil menunggu selesainya layanan (misalnya transferdata oleh modem) pemakai dapat berinteraksi denganaplikasi lain seperti aplikasi permainan game ataumengetikkan perintah pada text editorProses tersebut harus berjalan konkuren dan tidakterjadi deadlock (hang)

d)     Sinkronisasi. Sinkronisasi Adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation.
·         Contoh Sinkronisasi : masalah Bounded Buffer di atas sebenarnya sudah menggambarkan terjadinya Race Condition. P1 dan P2 saling berlomba meng-update nilai counter sehingga pada suatu waktu, nilai counter-nya bisa salah.