Time and Coordination



Algoritma Berkeley
Time server mengirimi (polling) mesin secara periodic meminta waktu saat itu di mesin yang dikirimi. Berdasarkan jawaban, timer server estimasi waktu local berdasarkan observasi waktu untuk pengiriman pesan, menghitung waktu rata-rata dan memberi perintah ke mesin lain untuk memajukan dan mengundurkan clock supaya mendapat suatu reduksi spesifik.

B. Mutual Exclusion
Mutual Exclusion adalah penjaminan pengaksesan sumber daya benar-benar hanya satu proses tunggal pada interval waktu tertentu. Syarat terjadinya Mutual Exclusion :
• Bebas dari deadlock
• Bebas dari Startvation
• Fault-tolerance

Dua pendekatan penjaminan mutual exclusion di system tersebar:
• Algoritma Terpusat
• Algoritma Tersebar

kelompok: 


http://jasait.com/linux/ubuntu-10-04-lts-ntp-server/
 



Komponen Inti Sistem Operasi


Komponen sistem operasi terdiri dari
·      manajemen proses,
·      manajemen memori utama,
·      manajemen berkas,
·      manajemen sistem I/O,
·      manajemen penyimpanan sekunder,
·      sistem proteksi,
·      jaringan
·      Command-Interpreter System.

Manajemen Proses
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
  • Pembuatan dan penghapusan proses pengguna dan sistem proses.
  • Menunda atau melanjutkan proses.
  • Menyediakan mekanisme untuk proses sinkronisasi.
  • Menyediakan mekanisme untuk proses komunikasi.
  • Menyediakan mekanisme untuk penanganan deadlock
Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
  • Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
  • Memilih program yang akan di-load ke memori.
  • Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary- storage yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondary- storage adalah harddisk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk- management seperti: free-space management, alokasi penyimpanan, penjadualan disk.

Manajemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk. Komponen Sistem Operasi untuk sistem I/O:
  • Buffer: menampung sementara data dari/ ke perangkat I/O.
  • Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
  • Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi bertanggung-jawab:
  • Pembuatan dan penghapusan berkas.
  • Pembuatan dan penghapusan direktori.
  • Mendukung manipulasi berkas dan direktori.
  • Memetakan berkas ke secondary storage.
  • Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
  • membedakan antara penggunaan yang sudah diberi izin dan yang belum.
  • specify the controls to be imposed.
  • provide a means of enforcement.
Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem.
  • Increased data availability.
  • Enhanced reliability.
  • Computation speed-up.
  • Increased data availability.
  • Enhanced reliability.
Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, commandline interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari satu system operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.


Kelompok:

Traceroute Google Menggunakan Modem Fix Line


Traceroute (Tracert) adalah perintah untuk menunjukkan rute yang dilewati paket untuk mencapai tujuan. Ini dilakukan dengan mengirim pesan Internet Control Message Protocol (ICMP) Echo Request Ke tujuan dengan nilai Time to Live yang semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan


Kali ini saya akan melakukan traceroute pada windows. Untuk dapat melakukan traceroute pertama-tama membuka CMD terlebih dahulu kemudian ketikkan pada CMD tersebut tracert (spasi) namadomainanda yang mana saya akan melakukan tracert ke www.google.com. Dengan traceroute, kita dapat menganalisis informasi mengenai lokasi router, tipe dan kapasitas interface, tipe dan fungsi router, serta batas-batas network yang dilalui, berdasarkan DNS interface yang dilalui.


Tadinya saya akan melakukan traceroute menggunakan USB Modem CDMA tapi pada saat tracert RTO terus-menerus akhirnya saya memutuskan menggunakan modem fix line. Pada gambar diatas dijelaskan bahwa itu menelusuri rute ke google.com, memberitahu kita alamat IP dari domain tersebut, berapa jumlah maksimum hop dan memberikan informasi tentang setiap router yang melewati hingga ke tujuan.
1.      Hops atau lompatan, loncatan atau perpindahan data. semakin sedikt hops semakin baik. Hops ini akan terlihat berdasarkan urutan angka 1,2,3,dst
2.      Waktu biasanya dalam satuan ms ( milisecond ), semakin kecil waktu perpindahan data maka akan semakin baik.
3.      No 1 menunjukkan gateway internet di jaringan trace route ini dilakukan dari modem fix line
4.      ISP komputer asal terhubung ke (fast.net.id) begitu juga nomor 3

1. Muhamad Adi Nugroho
2. Putri Aldilla FF
3. Radzi Nugraha
4. Kusdhian Herlambang
5. Beni Prakoso


Remote Procedure Call (RPC)


Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakukan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigm procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.
RPC dirancang sebagai suatu metoda yang powerfull, cepat, efisien, dan aman untuk komunikasi dan sinkronisasi antara client dan server sehingga lebih mudah memungkinkan pertukaran data pada proses yang berbeda. Proses bisa berada di komputer yang sama, LAN atau Internet

Kelebihan RPC
  • Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling.
  • Robust (Sempurna): Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
  • Tidak fleksibel terhadap perubahan: hubungan anatara client dan server bersifat static
  • Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

Protokol Message RPC

Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Pembahasan lebih
lanjut akan diterangkan pada bab berikutnya mengenai implementasi RPC.
Protokol Message ini membutuhkan faktor-faktor pendukung sebagai berikut:
1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya
Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien.
Call Message
Tiap call message pada RPC mengandung nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedur remote yang diminta. Nilai-nilai ini adalah :
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur

Reply Message
Reply message yang dikirimkan oleh server jaringan bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak. Reply message mengandung informasi yang digunakan untuk membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi ini antara lain :
1.      RPM mengeksekusi call message dengan sukses
2.      Implementasi remote tidak sesuai dengan protokol yang digunakan. Versi yang lebih
rendah atau tinggi akan ditolak.
3.      Program remote tidak tersedia pada sistem remote
4.      Program remote tidak mendukung versi yang diminta klien
5.      Nomor prosedur yang diminta tidak ada.

Fitur dalam RPC

·         Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.

·         Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.

·         Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.

·         Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

·         Otentifikasi RPC
Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada RPC. Untuk setiap prosedur remote yang dilakukan protokol RPC menyediakan slot yang dipakai sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat, memberikan identitasnya kepada server. Parameter otentifikasi ini dibuat di paket klien. Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian pada otentifikasi RPC :
  1. Protokol Otentifikasi RPC
    Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi dan parameter yang digunakan adalah credential dan
    verifier.
  2. Otentifikasi NULL
    Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.
  3. Otentifikasi UNIX
    Otentifikasi Unix digunakan pada prosedur remote di sistem UNIX. Jenis otentifikasi ini dibagi dua (2) yaitu otentifikasi pada sisi klien dan otentifiksi pada sisi server. Pada sisi klien, otentifikasi ini akan membuat otentifikasi handle dengan AIX permissions agar dapat berasosiasi dengan parameter credentials pada sistem UNIX. Sedangkan pada sisi server, server harus dapat menentukan tipe otentifikasi yang diberikan oleh pemanggil RPC. Penentuan dukungan terhadap tipe otentifikasi akan memberikan reply yang berbeda.
  4. Otentifikasi Data Encryption Standard ( DES )
    Otentifikasi DES membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus memiliki kunci public ( public key yang disahkan pada database kunci publik oleh Administrator jaringan tersebut.
  5. Protokol Otentifikasi DES
    Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC. Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang maksimum untuk user name pada jaringan yang digunakan.
  6. Enkripsi Diffie-Hellman
    Enkripsi Diffie-Hellman digunakan pada pembuatan kunci public pada otentifikasi DES dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variable onstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES. PC berhubungan hanya dengan proses otentifikasi, tidak dengan kontrol akses terhadap ervices/layanan individual yang diberikan. Tiap layanan mengimplementasikan eraturan mengenai kontrol akses masing-masing.

Prinsip Dasar RPC


Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan



Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)

Langkah-langkah dalam RPC 



1. Prosedur client memanggil client stub
2. Client stub membuat pesan dan memanggil OS client
3. OS client mengirim pesan ke OS server
4. OS server memberikan pesan ke server stub
5. Server stub meng-unpack parameter-parameter untuk memanggil server
6. Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7. Server stub mem-pack hasil tsb dan memanggil OS server
8. OS server mengirim pesan (hasil) ke OS client
9. OS client memberikan pesan tersebut ke client stub
10. Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke Client


http://deris.unsri.ac.id/materi/sist_terd/bab2-RPC.pdf