BAB 4 Sistem Operasi Terdistribusi

4.1 Sistem Operasi Pengertian Sistem Operasi Sistem operasi (Operating System atau OS) adalah perangkat lunak sistem
yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi- operasi dasar sistem, termasuk menjalankan software aplikasi seperti program- program pengolah kata dan browser web. Sistem Operasi secara umum terdiri dari beberapa bagian: 1. Mekanisme Boot yaitu meletakkan kernel ke dalam memory 2. Karnel yaitu inti dari sebuah Sistem Operasi 3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna 4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain 5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka. Komponen Sistem Operasi Komponen Sistem Operasi terdiri dari A. Manajemen Proses 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. B. Manajemen Memori Utama 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. C. Manajemen Berkas 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) D. 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. E. Manajemen Penyimpanan Sekunder Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sanga kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat permanen dan mampu menampung banyak data. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-management seperti: free-space management, alokasi penyimpanan, penjadualan disk. F. 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. G. Command-Interpreter System Command- Interpreter System sangat bervariasi dari satu sistem 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. H. 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 4.2. Sistem Operasi Terdistribusi Pengertian Sistem Operasi Terdistribusi Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung dalam satu jaringan Sistem operasi terdistribusi bertindak sebagai sebuah infrastruktur/rangka dasar untuk network-transparent resource management. Infrastruktur mengatur low- level resources (seperti Processor, memory, network interface dan peripheral device yang lain) untuk menyediakan sebuah platform untuk pembentukan/penyusunan higher-level resources(seperti Spreadsheet, electronic mail messages, windows). Sistem Operasi Jaringan Versus Sistem Operasi Terdistribusi Sistem operasi terdistribusi berbeda dengan sistem operasi jaringan. Untuk dapat membedakannya, sistem operasi jaringan memiliki ciri-ciri sebagai berikut: a. Tiap komputer memiliki sistem operasi sendiri b. Tiap personal komputer memiliki sistem file sendiri, di mana data-data disimpan c. Sistem operasi tiap komputer dapat berbeda-beda atau heterogen d. Pengguna harus memikirkan keberadaan komputer lain yang terhubung, dan harus mengakses, biasanya menggunakan remote login (telnet) e. File system dapat digunakan dengan dukungan NFS Manfaat Sistem Operasi Terdistribusi Manfaat-manfaat ini termasuk dalam sharing resource, waktu komputasi dan komunikasi. 1. Shared Resource Kecepatan yang diinginkan user dapat di atasi dengan menggabung perangkat yang ada dengan sistem DOS. 2. Manfaat Komputasi Komputasi berjalan dalam keadaan paralel. Proses komputasi ini dipecah dalam banyak titik, yang mungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain.Sistem operasi terdistribusi ini bekerja baik dalam memecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya. 3. Reliabilitas Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya satu node tidak akan berdampak terhadap integritas sistem. Hal ini berbeda dengan PC, apabila ada salah satu hardware yang mengalami kerusakan, maka sistem akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat berjalan atau mati. 4. Komunikasi Uses dapat saling bertukar data, atau saling berkomunikasi antara titik baik secara LAN maupun WAN. Hardware Sistem Operasi Terdistribusi Sistem operasi terdistribusi, yang saat ini akan dibahas sebagai titik tolak adalah Amoeba. Sistem Amoeba ini tumbuh dari bawah hingga akhirnya tumbuh menjadi sistem operasi terdistribusi. Sistem operasi terdistribusi pada umumnya memerlukan hardware secara spesifik. Komponen utama dalam sistem ini adalah : workstation, LAN, gateway, dan processor pool, seperti yang diilustrasikan pada gambar di atas. Workstation atau komputer personal mengeksekusi proses yang memerlukan interaksi dari user seperti text editor atau manager berbasis window. Server khusus memiliki fungsi untuk melakukan tugas yang spesifik. Server ini mengambil alih proses yang memerlukan I/O yang khusus dari larikan disk. Gateway berfungsi untuk mengambil alih tugas untuk terhubung ke jaringan WAN. Prosesor pool mengambil alih semua proses yang lain. Tiap unit ini biasanya terdiri dari prosesor, memori lokal, dan koneksi jaringan. Tiap prosesor mengerjakan satu buah proses sampai prosesor yang tidak digunakan habis. Untuk selanjutnya proses yang lain berada dalam antrian menunggu proses yang lain selesai. Inilah keunggulan sistem operasi terdistribusi dalam hal reliabilitas. Apabila ada satu unit pemroses yang mati, maka proses yang dialokasikan harus di restart, tetapi integritas sistem tidak akan terganggu, apabila proses deteksi berjalan dengan baik. Desain sistem ini memungkinkan untuk 10 sampai 100 prosesor. Spesifikasi perangkat keras yang harus disediakan pada tiap cluster minimalnya adalah : ƒ File server: 16 MB RAM, 300MB HD, Ethernet card. ƒ Workstation: 8 MB RAM, monitor, keyboard, mouse ƒ Pool processor: 4 MB RAM, 3.5” floppy drive Arsitektur Software Arsitektur software ini dikarakterkan dalam objek di dalam hubungan antara klien dan server. Proses-proses yang terjadi di klien menggunakan remote procedure yang memanggil dan mengirimkan request ke server untuk memproses data atau objek yang dibawa. Tiap objek yang dibawa memiliki karakteristik yang disebut sebagai kapabilitas. Kapabilitas ini besarnya adalah 128 bits. 48 bits pertama menunjukkan servis mana yang memiliki objek tersebut. 24 bits berikutnya adalah nomor dari objek. 8 bits berikutnya menampilkan operasi yang diijinkan terhadap objek yang bersangkutan. Dan 48 bits terakhir merupakan “check field” yang merupakan field yang telah terenkripsi agar tidak dapat dimodifikasi oleh proses yang lain. Operasi diselesaikan oleh RPC (remote procedure calls) yang dibuat oleh klien di dalam proses yang kecil dan ringan. Proses dengan tipe seperti ini memiliki bidang alamat sendiri, dan bisa saja memiliki satu atau lebih hubungan. Hubungan ini ketika berjalan memiliki program counter dan stack sendiri, tetapi dapat saling berbagi kode dan data antara hubungan lain di dalam proses. Ada 3 macam basis panggilan sistem yang dapat digunakan dalam proses yang dimiliki user, yaitu do_operation, get_request, dan send_reply. Bagian yang pertama mengirimkan pesan ke server, setelah proses memblok sampai server mengirimkan balasan. Server menggunakan panggilan sistem ke dua untuk mengindikasikan bahwa server akan menerima pesan pada port tertentu. Server juga menggunakan panggilan sistem ke tiga untuk mengirimkan kembali informasi ke proses yang dipanggil. Jenis Sistem Operasi Terdistribusi Beberapa contoh dari sistem operasi terdistribusi ini diantaranya : ƒ Amoeba (Vrije Universiteit). Amoeba adalah sistem berbasis mikro-kernel yang tangguh yang menjadikan banyak workstation personal menjadi satu sistem terdistribusi secara transparan. ƒ Angel (City University of London). Angel didesain sebagai sistem operasi terdistribusi yang pararel, walaupun sekarang ditargetkan untuk PC dengan jaringan berkecepatan tinggi. Model komputasi ini memiliki manfaal ganda, yaitu memiliki biaya awal yang cukup murah dan juga biaya incremental yang rendah. ƒ Chorus (Sun Microsystems). CHORUS merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX, supercomputing, dan kegunaan yang tinggi. ƒ GLUnix (University of California, Berkeley). Untuk merealisasikan hal ini, maka sistem operasi harus menjadwalkan pencabangan dari program pararel, mengidentifikasi idle resource di jaringan, mengijinkan migrasi proses untuk mendukung keseimbangan loading, dan menghasilkan tumpuan untuk antar proses komunikasi