Jumat, 24 Oktober 2014

Proses Dan Sistem Operasi Terdistribusi



Definisi Sistem Operasi Terdistribusi
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung dalam suatu jaringan. Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara bersama-sama untuk melakukan suatu tugas atau pekerjaan tertentu.
Fungsi Sistem Operasi terdistribusi
a.    Shared resource.
Walaupun perangkat sekarang sudahmemiliki kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan yang diinginkan user dapat diatasi dengan menggabung perangkat yang ada dengan sistem DOS (Distributed Operating System).

b.    Manfaat komputasi.
Salah satu keunggulan sistem operasi terdistribusi ini adalah bahwa komputasi berjalan dalam keadaan pararel. Proses komputasi ini dipecah dalam banyak titik (nodes), yangmungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain. Sistem operasi terdistribusi ini bekerja baik dalammemecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya.

c.    Reliabilitas
Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya suatu node tidak akan berdampak terhadap integritas system. Hal ini berbeda dengan computer personal, apabila ada salah satu hardware yang mengalami kerusakan, maka system akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat berjalan atau mati. Dalam sistem operasi terdistribusi tadi sebenarnya cara kerjanya mirip dengan personal computer, tetapi bedanya apabila ada node yangmati, maka akan terjadi proses halt terhadap node tersebut dan proses komputasi dapat dialihkan. Hal ini akan membuat sistem DOS selalu memiliki reliabilitas yang tinggi.

d.   Komunikasi
Sistem operasi terdistribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sistem ini biasanya digunakan user untuk proses networking. User dapat saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN maupun WAN.

Client Server

          Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.

          Dari diatas, kata kuncinya adalah pada sistem client/server harus terdapat satu atau beberapa server yang menyediakan layanan dan satu atau beberapa klien yang meminta layanan tersebut (tidak perduli apakah kondisi tersebut berada pada sebuah sistem jaringan ataupun stand-alone). Istilah server di sini bisa saja berupa komputer-komputer kelas server seperti IBM, HP, Compaq dll. Atau juga berupa software yang dapat dikategorikan berdasarkan layanannya misalnya web server, application server, file server, database server, terminal server, mail server, dll.

          Server bisa juga berupa proses, seperti RPC Server yang terdapat pada sistem operasi server seperti Novell, Windows NT, Linux dll. Lebih dalam lagi, pada kernel (inti) sebuah sistem operasi juga banyak terdapat proses-proses yang bertanggung-jawab menyediakan layanan-layanan agar hardware komputer dapat bekerja sebagai mana mestiya. Microsoft menamakan proses tersebut services sedangkan keluarga Unix/Linux menyebutnya daemons. Services/daemons tersebut umumnya menyediakan manajemen memory, akses file/jaringan, serta penjadwalan (scheduling).

          Server adalah komputer yang dapat memberikan service ke client, sedangkan client adalah komputer yang mengakses beberapa service yang ada di server. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket.

1. Karakteristik Server
2. Pasif
3. Menunggu request
4. Menerima request, memproses mereka dan mengirimkan balasan berupa        service
5. Karakteristik Client
6. Aktif
7. Mengirim request
8. Menunggu dan menerima balasan dari server

          Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang menghubungi server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun.

Konsep Dasar Proses Dalam Sistem Operasi

          Proses dalam sistem operasi adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini akan sangat menghemat pemakaian memori.

          Secara informal; proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.

          Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

          Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

Thread
          Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.

Model Many to One
          Model One to One: Model One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.

 Model One to One
Model Many To Many: Model ini me-multipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. thread. Jumlah thread kernel spesifik untuk sebagian aplikasi atau sebagian mesin. Many-to-One model mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency (berjalan bersama) tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas). Model Many-to-Many tidak mengalami kelemahan dari dua model di atas. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.

Konsep Dasar Thread Dalam Sistem Operasi

          Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem).

          Ulir sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing (sama dengan time-division multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu.

          Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.
Program yang dieksekusi :
a.Proses berat (heavyweight) => proses tradisional
b.Proses ringan (lightweight) => THREAD

          Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.

Keuntungan penggunaan thread :
>Tanggap
>Pemberdayaan resorce
>Ekonomis
>Pemberdayaan arsitektur multiprocessor

Single thread dan multi thread
1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

 Model Multithread
          Sebelumnya, perlu diketahui apa itu user thread dan kernel thread.
User thread >> pengelolaan thread dilakukan oleh user level (pengguna)
Kernel thread >> pengelolaan thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.

Kamis, 23 Oktober 2014

FENOMENA SOSIAL



Banjir adalah sebuah fenomena alam yang sering terjadi disekitar kita atau dilingkungan masyarakat dan dapat disebut juga fenomena sosial yang sering terjadi disekitar kita.
Banjir itu sendri adalah sebuah peristiwa yang terjadi ketika aliran air yang berlebihan merendam suatu daratan. Hal-hal yang menyebabkan banjir yaitu :
  1. Faktor manusia
-          Penebangan hutan, Kurangnya kesadaran masyarakat terhadap lingkungan sekitar, terutama penghijauan atau penanaman pohon kembali, tidak adanya resapan air, membuang sampah sembarangan, dan masih banyak lagi hal lainnya.
  1. Faktor Alam
-          Hujan lebat, meluapnya air sungai, danau, dan gampa bumi yang terjadi dilaut dan menyebabkan air laut meluap ke daratan.

v  Cara mencegah atau mengatasi banjir
  1. Menjaga lingkungan sekitar dengan cara membuang sampah tidak sembarangan, menjaga kebersihan sungai, menanam pohon untuk membantu resapan air.
  2. Membersihkan sungai ,danau dan juga area disekitar sungai atau danau.
  3. Membuat bendungan air untuk menampung sementara air.
  4. Membuat resapan air semaksimal mungkin disekitar kita.

Selasa, 14 Oktober 2014

Protokol, Susunan Protokol, Fungsi Protokol



Protokol dan Susunan Protokol

          Dalam suatu jaringan komputer, terjadi sebuah proses komunikasi antar entitas atau perangkat yang berlainan sistemnya. entitas atauperangkat ini adalah segala sesuatu yang mampu menerima dan mengirim. Untuk berkomunikasi mengirim dan menerima antara dua entitas dibutuhkan pengertian di antara kedua belah pihak. Pengertian ini lah yang dikatakan sebagai protokol. Jadi protokol adalah himpunan aturanaturan main yang mengatur komunikasi data.
Protokol mendefinisikan apa yang dikomunikasikan bagaimana dan kapan terjadinya komunikasi. Susunan penting dari protokol adalah : syntax, semantics dan timing.

1. Syntax mengacu pada struktur atau format data, yang mana dalam urutan tampilannya memiliki makna tersendiri. Sebagai contoh, sebuah protokol sederhana akan memiliki urutan pada delapan bit pertama adalah alamat pengirim, delapan bit kedua adalah alamat penerima dan bit stream sisanya merupakan informasinya sendiri.
2. Semantics mengacu pada maksud setiap sec tion bit. Dengan kata lain adalah bagaimana bit-bit tersebut terpola untuk dapat diterjemahkan.

3. Timing mengacu pada 2 karakteristik yakni kapan data harus dikirim dan seberapa cepat data tersebutdikirim. Sebagai contoh, jika pengirim memproduksi data sebesar 100 Megabits per detik (Mbps) namun penerima hanya mampu mengolah data pada kecepatan 1 Mbps, maka transmisi data akan menjadi overload pada sisi penerima dan akibatnya banyak data yang akan hilang atau musnah.

 
Fungsi Protokol       

Secara umum fungsi dari protokol adalah untuk menghubungkan sisi pengirim dan penerima dalam berkomunikasi serta dalam bertukar informasi agar dapat berjalan dengan baik dan benar dengan kehandalan yang tinggi. Sedangkan fungsi protokol secara detail dapat dijelaskan sebagai berikut :

ĂĽ  Fragmentasi dan reassembly Fungsi dari fragmentasi dan reassembly adalah membagi in-formasi yang dikirim menjadi beberapa paket data pada saat sisi pengirim mengirimkan informasi tadi dan setelah diterima maka sisi penerima akan menggabungkan lagi menjadi paket berita yang lengkap.

ĂĽ  Encaptulation Fungsi dari encaptulation adalah melengkapi berita yang dikirimkan dengan address, kode-kode koreksi dan lain-lain.

ĂĽ  Connection control Fungsi dari connection control adalah membangun hubungan komunikasi dari transmitter dan receiver, dimana dalam
membangun hubungan ini termasuk dalam hal pengiriman data dan mengakhiri hubungan.

ĂĽ  Flow control, Fungsi dari flow control adalah mengatur perjalananb data dari transmitter dan receiver.
• Error control, dalam pengiriman data tak lepas dari kesalahan, baik itu dalam proses pengiriman maupun pada waktu data itu diterima. Fungsi dari error control adalah mengontrol terjadinya kesalahan yang terjadi pada waktu data dikirimkan.

ĂĽ  Transmission service, Fungsi dari transmission service adalah memberi pelayanan komunikasi data khususnya yang berkaitan dengan
prioritas dan keamanan serta perlindungan data.Protokol jaringan disusun oleh dalam bentuk lapisan-lapisan (layer)
seperti diperlihatkan oleh Gambar 17.1. Hal ini mengandung arti supaya jaringan yang dibuat nantinya tidak menjadi rumit. Hal ini mengandung arti supaya jaringan yang dibuat nantinya tidak menjadi rumit.

ĂĽ  Didalam layer ini jumlah, nama isi dan fungsi setiap layer berbeda-beda namun tujuan dari setiap layer ini adalah memberikan layanan kelayer yang ada diatasnya. Susunan dari layer inilah ditunjukkan tahapan-tahapan dalam melakukan komunikasi. Interface dan Layanan :

ĂĽ   Fungsi setiap layer adalah untuk melayani keperluan layer yang berada di atasnya.
ĂĽ  Elemen-elemen aktif pada sebuah layer disebut entity.
ĂĽ  Entity-entity yang ada di layer yang sama pada mesin yang berbeda disebut peer entity.
ĂĽ  Entity pada layer n mengimplementasikan sebuah layanan yang dipakai oleh layer n+1.
ĂĽ  Layer n dapat menggunakan layanan layer n-1 agar dapat melaksanakan tugastugasnya.
ĂĽ  Layanan-layanan tersebut disediakan melalui SAP (Service Access Point) yang masing-masing memiliki identifikasi unik.
ĂĽ  Agar 2 layer dapat saling bertukar informasi, entity layer mn+1 mengirimkan sebuah IDU (Interface Data Unit) ke entity layer n melalui SAP.
ĂĽ  IDU terdiri dari ICI (Interface Control Information) dan SDU (Service Data Unit). ICI membantu layer di bawahnya untuk melaksanakan tugasnya, dan SDU informasi yang dikirimkan pada jaringangan ke peer entity hingga sampai di layer n+1.
ĂĽ  Entity layer n akan memecah SDU menjadi beberapa bagian agar dapat dikirimkan ke peer entity. Setiap bagian pecahan SDU diberi header sehingga menjadi PDU (Protocol Data Unit).