Ini adalah artikel lanjutan dari: http://mkhusnimubarok.blogspot.com/2013/04/mendeteksi-dan-memperbaiki.html


# Strategi menghadapi Deadlock
Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:

  1. Mengabaikan adanya deadlock.
  2. Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock, tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock.
  3. Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu:
  • Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.

Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya


Sumber Referensi:
* http://priamanka.blogspot.com/2011/11/sinkronisasi-dan-deadlock.html?m=1 * http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/i3.html

Struktur Sistem Operasi
         
                Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditempatkan pada memori komputerpada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi.
           
       1. Struktur Sederhana
             Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul, sedangkan UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna. Inisialisasi-nya terbatas pada fungsional perangkat keras yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan fungsi-fungsi sistem operasi lainnya melalui system calls.

Kelebihan Struktur Sederhana:
    1. Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.

Kekurangan Struktur Sederhana:
    1. Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.
    2. Sulit dalam menyediakan fasilitas pengamanan.
  3. Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.
    4. Tidak fleksibel.
    5. Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.
      
     2. Sistem Berlapis (layered system)
         Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawa memberi layanan lapisan lebih atas. Lapisan yang paling bawah adalah perangkat keras, dan yang paling tinggi adalah user-interface. Sebuah lapisan adalah implementasi dari obyek abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut. Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus.
Sedangkan menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:

Lapis 5 – The operator
Berfungsi untuk pemakai operator.
Lapis 4 – User programs
Berfungsi untuk aplikasi program pemakai.
Lapis 3 – I/O management
Berfungsi untuk menyederhanakan akses I/O pada level atas.
Lapis 2 -Operator-operator communication
Berfungsi untuk mengatur komunikasi antar proses.
Lapis 1 -Memory and drum management
Berfungsi untuk mengatur alokasi ruang memori atau drum magnetic.
Lapis 0 -Processor allocation and multiprogramming
Berfungsi untuk mengatur alokasi pemroses dan switching, multi programming dan pengaturan prosessor.


    3. Mesin Virtual ( Virtual Machine )
    Mesin virtual mempunyai sistem timesharing yang berfungsi untuk ,menyediakan kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah.
Struktur Mesin virtual ( CP/CMS, VM/370 ) terdiri atas komponen dasar utama :\
Control Program, yaitu virtual machine monitor yang mengatur fungsi ari prosessor, memori dan piranti I/O. Komponen ini berhubungan langsung dengan perangkat keras.
Conventional Monitor System, yaitu sistem operasi sederhanayang mengatur fungsi dari proses, pengelolaan informasi dan pengelolaan piranti.

Kelebihan Mesin virtual ( Virtual Machine ):
  1. Konsep mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
    2. Sistem mesin virtual adalah mesin yang sempurna untuk riset dan pengembangan system operasi.
  3. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.

Kekurangan Mesin virtual ( Virtual Machine ):
     1. Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.



    4. Client-Server Model
      Mengimplementasikan sebagian besar fungsi sistem operasi pada mode pengguna (user mode). Sistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client, yaitu :
Server, adalah proses yang menyediakan layanan.
Client, adalah proses yang memerlukan/meminta layanan.

      Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai dengan percakapan client. Kode dapat diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel.

Kelebihan Client-Server Model:
    1. Pengembangan dapat dilakukan secara modular.
    2. Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem
        subsistem lain, sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
    3. Mudah diadaptasi untuk sistem tersebar.

Kekurangan Client-Server Model:
    1. Layanan dilakukan lambat karena harus melalui pertukaran pesan.
    2. Pertukaran pesan dapat menjadi bottleneck.
    3. Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai).


    5. Sistem Berorientasi Objek
       Sisten operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek. Pada sistem yang berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi. Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.

Kelebihan Sistem Berorientasi Objek:
     1. Terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya.

Kekurangan Sistem Berorientasi Objek:
    1. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.

  







Sumber Referensi:
* itinix

Model Osi / Osi Layer
           
        Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer model).
           
         Model referensi ini pada awalnya ditujukan sebagai basis untuk mengembangkan protokol-protokol jaringan, meski pada kenyataannya inisatif ini mengalami kegagalan. Kegagalan itu disebabkan oleh beberapa faktor berikut:
  1. Standar model referensi ini, jika dibandingkan dengan model referensi DARPA (Model Internet) yang dikembangkan oleh Internet Engineering Task Force (IETF), sangat berdekatan. Model DARPA adalah model basis protokol TCP/IP yang populer digunakan.
  2. Model referensi ini dianggap sangat kompleks. Beberapa fungsi (seperti halnya metode komunikasi connectionless) dianggap kurang bagus, sementara fungsi lainnya (seperti flow control dan koreksi kesalahan) diulang-ulang pada beberapa lapisan.
  3. Pertumbuhan Internet dan protokol TCP/IP (sebuah protokol jaringan dunia nyata) membuat OSI Reference Model menjadi kurang diminati.
           
           Pemerintah Amerika Serikat mencoba untuk mendukung protokol OSI Reference Model dalam solusi jaringan pemerintah pada tahun 1980-an, dengan mengimplementasikan beberapa standar yang disebut dengan Government Open Systems Interconnection Profile (GOSIP). Meski demikian. usaha ini akhirnya ditinggalkan pada tahun 1995, dan implementasi jaringan yang menggunakan OSI Reference model jarang dijumpai di luar Eropa.
             OSI Reference Model pun akhirnya dilihat sebagai sebuah model ideal dari koneksi logis yang harus terjadi agar komunikasi data dalam jaringan dapat berlangsung. Beberapa protokol yang digunakan dalam dunia nyata, semacam TCP/IP, DECnet dan IBM Systems Network Architecture (SNA) memetakan tumpukan protokol (protocol stack) mereka ke OSI Reference Model. OSI Reference Model pun digunakan sebagai titik awal untuk mempelajari bagaimana beberapa protokol jaringan di dalam sebuah kumpulan protokol dapat berfungsi dan berinteraksi.




OSI Reference Model memiliki tujuh lapis, yakni sebagai berikut:
    
      1. Lapisan Fisik (Physical Layer)
  
       Lapisan Fisik (Physic Layer) adalah lapisan pertama dalam model referensi jaringan OSI (lapisan ini merupakan lapisan terendah) dari tujuh lapisan lainnya. Lapisan ini mendefinisikan antarmuka dan mekanisme untuk meletakkan bit-bit data di atas media jaringan (kabel, radio, atau cahaya). Selain itu, lapisan ini juga mendefinisikan tegangan listrik, arus listrik, modulasi, sinkronisasi antar bit, pengaktifan koneksi dan pemutusannya, dan beberapa karakteristik kelistrikan untuk media transmisi (seperti halnya kabel UTP/STP, kabel koaksial, atau kabel fiber-optic). Protokol-protokol pada level fisik mencakup IEEE 802.3, RS-232C, dan X.21. Repeater, transceiver, kartu jaringan/network interface card (NIC), dan pengabelan beroperasi di dalam lapisan ini.

     2. Lapisan Tautan Data (Data Link Layer)

         Lapis Tautan Data (Data Link Layer) adalah lapisan kedua dari bawah dalam model OSI, yang dapat melakukan konversi frame-frame jaringan yang berisi data yang dikirimkan menjadi bit-bit mentah agar dapat diproses oleh lapisan fisik. Lapisan ini merupakan lapisan yang akan melakukan transmisi data antara perangkat-perangkat jaringan yang saling berdekatan di dalam sebuah wide area network (WAN), atau antara node di dalam sebuah segmen local area network (LAN) yang sama. Lapisan ini bertanggungjawab dalam membuat frame, flow control, koreksi kesalahan dan pentransmisian ulang terhadap frame yang dianggap gagal. MAC address juga diimplementasikan di dalam lapisan ini. Selain itu, beberapa perangkat seperti Network Interface Card (NIC), switch layer 2 serta bridge jaringan juga beroperasi di sini.
   Tugas utama dari data link layer adalah sebagai fasilitas transmisi data mentah dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi. Sebelum diteruskan ke Network Layer, lapisan data link melaksanakan tugas ini dengan memungkinkan pengirim memecah-mecah data input menjadi sejumlah data frame (biasanya berjumlah ratusan atau ribuan byte). Kemudian lapisan data link mentransmisikan frame tersebut secara berurutan dan memproses acknowledgement frame yang dikirim kembali oleh penerima. Karena lapisan fisik menerima dan mengirim aliran bit tanpa mengindahkan arti atau arsitektur frame, maka tergantung pada lapisan data-link-lah untuk membuat dan mengenali batas-batas frame itu. Hal ini bisa dilakukan dengan cara membubuhkan bit khusus ke awal dan akhir frame.

      3. Lapisan Jaringan (Network Layer)

        Lapisan jaringan atau Network layer adalah lapisan ketiga dari bawah dalam model referensi jaringan OSI. Lapisan ini bertanggung jawab untuk melakukan beberapa fungsi berikut:
  • Pengalamatan logis dan melakukan pemetaan (routing) terhadap paket-paket melalui jaringan.
  • Membuat dan menghapus koneksi dan jalur koneksi antara dua node di dalam sebuah jaringan.
  • Mentransfer data, membuat dan mengkonfirmasi penerimaan, dan mengeset ulang koneksi.
       Lapisan jaringan juga menyediakan layanan connectionless dan connection-oriented terhadap lapisan transport yang berada di atasnya. Lapisan jaringan juga melakukan fungsinya secara erat dengan lapisan fisik (lapisan pertama) dan lapisan data-link (lapisan kedua) dalam banyak implementasi protokol dunia nyata.
      Dalam jaringan berbasis TCP/IP, alamat IP digunakan di dalam lapisan ini. Router IP juga melakukan fungsi routing-nya di dalam lapisan ini.



     4. Lapisan Transpor (Transport Layer)
  
       Lapisan transpor atau transport layer adalah lapisan keempat dari model referensi jaringan OSI. Lapisan transpor bertanggung jawab untuk menyediakan layanan-layanan yang dapat diandalkan kepada protokol-protokol yang terletak di atasnya. Layanan yang dimaksud antara lain:
  • Mengatur alur (flow control) untuk menjamin bahwa perangkat yang mentransmisikan data tidak mengirimkan lebih banyak data daripada yang dapat ditangani oleh perangkat yang menerimanya.
  • Mengurutkan paket (packet sequencing), yang dilakukan untuk mengubah data yang hendak dikirimkan menjadi segmen-segmen data (proses ini disebut dengan proses segmentasi/segmentation), dan tentunya memiliki fitur untuk menyusunnya kembali.
  • Penanganan kesalahan dan fitur acknowledgment untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan lagi ketika memang data tidak sampai ke tujuan.
  • Multiplexing, yang dapat digunakan untuk menggabungkan data dari bebeberapa sumber untuk mengirimkannya melalui satu jalur data saja.
  • Pembentukan sirkuit virtual, yang dilakukan dalam rangka membuat sesi koneksi antara dua node yang hendak berkomunikasi.
        Contoh dari protokol yang bekerja pada lapisan transport adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) yang tersedia dari kumpulan protokol TCP/IP. semoga membantu

     5. Lapisan Sesi (Session Layer)

        Lapisan sesi atau Session layer adalah lapisan kelima dari bawah dalam model referensi jaringan OSI, yang mengizinkan sesi koneksi antara node dalam sebuah jaringan dibuat atau dihancurkan. Lapisan sesi tidak tahu menahu mengenai efisiensi dan keandalan dalam transfer data antara node-node tersebut, karena fungsi-fungsi tersebut disediakan oleh empat lapisan di bawahnya dari dalam model OSI (lapisan fisik, lapisan data-link, lapisan jaringan dan lapisan transport). Lapisan sesi bertanggung jawab untuk melakukan sinkronisasi antara pertukaran data antar komputer, membuat struktur sesi komunikasi, dan beberapa masalah yang berkaitan secara langsung dengan percakapan antara node-node yang saling terhubung di dalam jaringan. Lapisan ini juga bertanggung jawab untuk melakukan fungsi pengenalan nama pada tingkat nama jaringan logis dan juga menetapkan [[[port TCP|port-port komunikasi]]. Sebagai contoh, protokol NetBIOS dapat dianggap sebagai sebuah protokol yang berjalan pada lapisan ini.
        Lapisan sesi dari model OSI tidak banyak diimplementasikan di dalam beberapa protokol jaringan populer, seperti halnya TCP/IP atau IPX/SPX. Akan tetapi, tiga lapisan tertinggi di dalam model OSI (lapisan sesi, lapisan presentasi, dan lapisan aplikasi) seringnya disebut sebagai sebuah kumpulan yang homogen, sebagai sebuah lapisan aplikasi saja.

     6. Lapisan Presentasi (Presentation Layer)

         Lapisan Presentasi adalah lapisan keenam dari bawah dalam model referensi jaringan terbuka OSI. Pada lapisan ini terjadi pembuatan struktur data yang didapatnya dari lapisan aplikasi ke sebuah format yang dapat ditransmisikan melalui jaringan. Lapisan ini juga bertanggungjawab untuk melakukan enkripsi data, kompresi data, konversi set karakter (ASCII, Unicode, EBCDIC, atau set karakter lainnya), interpretasi perintah-perintah grafis, dan beberapa lainnya. Dalam arsitektur TCP/IP yang menggunakan model DARPA, tidak terdapat protokol lapisan ini secara khusus.

     7. Lapisan Aplikasi (Application Layer)
           
        Lapisan aplikasi adalah suatu terminologi yang digunakan untuk mengelompokkan protokol dan metode dalam model arsitektur jaringan komputer. Baik model OSI maupun TCP/IP memiliki suatu lapisan aplikasi.
        Dalam TCP/IP, lapisan aplikasi mengandung semua protokol dan metode yang masuk dalam lingkup komunikasi proses-ke-proses melalui jaringan IP (Internet Protocol) dengan menggunakan protokol lapisan transpor untuk membuat koneksi inang-ke-inang yang mendasarinya. Sedangkan dalam model OSI, definisi lapisan aplikasi lebih sempit lingkupnya, membedakan secara eksplisit fungsionalitas tambahan di atas lapisan transpor dengan dua lapisan tambahan: lapisan sesi dan lapisan presentasi. OSI memberikan pemisahan modular yang jelas fungsionalitas lapisan-lapisan ini dan memberikan implementasi protokol untuk masing-masing lapisan.
Penggunaan umum layanan lapisan aplikasi memberikan konversi semantik antara proses-proses aplikasi yang terkait. Contoh layanan aplikasi antara lain adalah berkas virtual, terminal virtual, serta protokol transfer dan manipulasi kerja.
           





Sumber Referensi: