Senin, 01 Desember 2014

Tugas IO Management

Management I/O dan Disk Scheduling
Perangkat input/output dikategotikan menjadi 3 bagian, yaitu :
1.      Human readable
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan user. Contohnya ialah printer, keyboard dan mouse.
2.      Machine readable
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contohnya antara lain sensor dan controller.
3.      Communication
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan remote device. Contohnya modem dan digital line drivers.
Adapun beberapa fungsi manajemen I/O antara lain :
-          Mengirim perintah ke perangkat I/O agar menyediakan layanan
-          Memberi interface kepada user
-          Menangani kesalahan pada perangkat I/O
-          Menangani interupsi yang terjadi pada perangkat I/O

Terdapat 2 teknik pengoperasian perangkat I/O, yaitu :
1.      Perangkat I/O terprogram
Merupakan perangkat I/O yang dikontrol oleh sebuah program, misalnya perintah in, out dan move. Teknik ini tidak sesuai jika digunakan untuk pengalihan data dengan kecepatan tinggi karena memerlukan overhead yang tinggi, serta banyak peralatan peripheral berkecepatan tinggi memiliki mode operasi sinkron.
2.      Perangkat berkendalikan interupsi
Konsep interupsi berguna di dalam sistem operasi karena pemrosesan rutin tertentu diatur dengan seksama.
a.      Mekanisme dasar interupsi
Ketika prosesor mendeteksi controller telah banyak mengirim sinyal interupsi, maka CPU akan menjawab interupsi tersebut dengan menyimpan informasi mengenai status terkini prosesor.
b.      Fitur tambahan pada computer modern
Ada 3 fitur yang disediakan oleh CPU dan interrupt controller untuk menangani interupsi, antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama proses berada dalam critical section, efisiensi penanganan interupsi, dan adanya sebuah konsep multilevel interupsi sehingga terdapat prioritas dalam penanganan interupsi.
c.       Interrupt request line
Terdapat 2 macam interrupt request line pada CPU, yaitu nonmaskable interrupt dan maskable interrupt.
d.      Interrupt vector dan interrupt chaining
Interrupt vector merupakan table yang menyimpan alamat interrupt handler spesifik di memori. Sedangkan interrupt chaining merupakan teknik yang digunakan untuk mengatasi hambatan yang ada jika jumlah device dan interrupt handler pada computer lebih banyak dibandingkan dengan jumlah alamat interrupt vector, dimana setiap elemen dari interrupt vector menunjuk pada elemen pertama dari daftar interrupt handler.

Perbedaan di I/O device :
1.      Kompleksitas control
2.      Unit transfer
3.      Representasi data
4.      Kondisi error

Berikut beberapa evolusi fungsi dari I/O :
-          Controller atau I/O modul ditambahkan
-        I/O modul adalah proses terpisah      :  dengan set instruksi khusus untuk I/O, prosesor I/O menjemput  dan mengeksekusi instruksi tanpa intervene prosesor
-          I/O prosesor    : I/O modul memiliki memori local sendiri
-          Controller atau I/O modul dengan interupsi
-          Direct memory access (DMA)

Direct Memory Access (DMA)
            Merupakan suatu pendekatan alternative yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal da memori utama tanpa intervensi terus menerua oleh CPU. Ada tiga langkah yang digunakan untuk transfer DMA, yaitu :
1.  Prosesor menyiapkan DMA transfer dengan menyediakan data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumebr dan tujuan data, serta banyaknya byte yang akan di-transfer.
2.      Kemudian DMA controller memulai operasi transfer sampai seluruh blok sudah ditransfer.
3.  Terakhir, DMA controller akan menginterupsi prosesor, selanjutnya akan ditentukan tindakan berikutnya.


Isu dalam desain sistem operasi :
-    Efisiensi               : I/O sangat lambat jika dibandingkan dengan memori utama. Penggunaan multiprogramming yang memungkinkan beberapa proses harus menunggu I/O sementara mengeksekusi proses lain.
-        Generality       : diharapkan dapat menangani semua perangkat I/O secara seragam.

I/O buffering :
-          Reason for buffering   : proses harus menunggu I/O untuk selesai sebelum memproes.
-          Block-oriented                        : informasi disimpan diblok berukuran tetap.
-          Stream-oriented         : mentransfer informasi sebagai aliran byte.



Disk Scheduling
            Merupakan salah satu tanggung jawab sistem operasi untuk menggunakan hardware dengan efisien. Pada disk drives, efisiensi yang dimaksudkan ialah dalam hal waktu akses yang cepat dan aspek bandwith disk. Jika suatu proses membutuhkan pelayanan I/O dari/menuju disk, maka proses akan melakukan system call ke sistem operasi dengan membawa informasi sebagai berikut :
- apakah merupakan proses input atau output
- alamat disk untuk proses
- alamat memori untuk proses
- jumlah bytes yang akan ditransfer

Kebijakan dalam penjadwalan :
1.      First-in First-out (FIFO)
a.      Adil untuk semua proses
b.      Proses permintaan berurutan
2.      Prioritas
a.      Merupakan penjadwalan yang dilakukan diluar kendali manajemen disk
b.      Memberikan respon time yang baik
3.      Last-in First-out (LIFO)
a.      Cocok untuk sistem transaksi
b.      Ada kemungkinan terjadi starvasion
4.      Shortest-seek-time-first (SSTF)
Algoritma dalam penjadwalan ini ialah memilih permintaan berdasarkan seek-time minimum dari posisi head saat itu.
5.      SCAN
Pada algoritma ini, pergerakan disk arm dimulai dari salah satu ujung disk kemudian bergerak menuju ujung yang lain sambal melayani permintaan. Jika sampai pada ujung disk, maka disk arm akan bergerak berlawanan arah dan mulai melayani permintaan baru.
6.      C-SCAN
Merupakan varian dari algoritma SCAN yang didesain untuk menyediakan waktu tunggu yang sama. Perbedaan dengan SCAN ialah saat disk sampai pada ujung, head tidak akan berbailk arah.
7.      LOOK
Algoritma ini meliat dulu permintaan sebelum melanjutkan arah pergerakan disk. Disk arm bergerah paling jauh pada permintaan terakhir tiap disk di tiap arah pergerakannya kemudian langsing berbelik arah tanpa menunggu sampai di ujung disk.


Disk Cache
-          Buffer dalam memori utama untuk sector disk
-          Berisi Salinan dari beberapa sector disk
-    Algoritma yang paling umum digunakan untuk pengganti yang terakhir digunakan (LRU) least  recently used
-          Kemungkinan lain adalah kurangnya sering digunakan (LFU) least frequently  used

Least recently used
-          Cache terdiri dari tumpukan blok.
-          Blok yang telah di cache terpanjang tanpa referensi untuk itu diganti
-          Blok yang terbaru terletak di bagian atas tumpukan
-          Ketika blok direferensikan atau dibawa ke dalam cache, ia ditempatkan di bagian atas tumpukan
Least frequently used
-          Blok yang telah mengalami paling sedikit referensi akan diganti
-          Sebuah counter akan dikaitkan dengan setiap blok
-          Counter bertambah setiap blok diakses

-          Blok dengan jumlah terkecil dipilih untuk pergantian
Read More..

Kamis, 25 September 2014

TUGAS 4 SISTEM OPERASI

Semaphore
·         Definisi
Merupakan pendekatan yang dikemukan oleh Dijkstra. Semaphore adalah sebuah struktur data komputer yang digunakan untuk sinkronisasi proses. Semaphore dinyatakan dalam suatu nilai integer.
·         Karakteristik
-          Semaphore dapat diinialisasikan dengan nilai non negatif.
-          Terdapat 2 operasi dalam semaphore, yaitu Up dan Down.
·         Kelebihan
1.      Dapat digunakan untuk membentuk mutex.
2.      Merupakan tool yang serba guna.
·         Kekurangan
1.      Tidak mudah membuat program dengan mengimplementasikan semaphore.
2.      Penanganan mutex dan sinkronisasi merupakan tanggung jawab programmer.

Contoh-contoh semaphore
1.      Primitive semaphore

Keterangan :
-          Prosedur semWait(s) digunakan untuk menerima signal semaphore s.
-          Prosedur semSignal(s) digunakan untuk mengirimkan signal semaphore s.
-          Inisialisasi variable semaphore tidak boleh negatif.

2.      Semaphore biner

Keterangan :
-          Prosedur semWait(s) digunakan untuk menerima signal semaphore s.
-          Prosedur semSignal(s) digunakan untuk mengirimkan signal semaphore s.
-          Inisialisasi variable semaphore hanya bernilai 0 atau 1.

Implementasi mutual exclusion dengan semaphore
            Berikut contoh implementasi mutex menggunakan semaphore :


Monitor
·         Definisi
Adalah kumpulan prosedur, variable dan struktur data di satu modul dan proses dapat memanggil prosedur-prosedur di monitor kapan saja dibutuhkan. Monitor merupakan suatu konsep bahasa pemrograman yang mempunyai fungsionalitas seperti semaphore dan lebih mudah dikontrol.
·         Karakteristik
-          Variable data lokal hanya dapat diakses oleh oleh monitor.
-          Proses untuk memasuki monitor ialah dengan memanggil salah satu prosedurnya.
-          Hanya ada satu proses yang berjalan dalam satu waktu
·         Kelebihan
1.      Bisa menangani  sinkronisasi.
2.      Jika program monitor benar, maka akses terhadap critical resource oleh semua proses akan benar.
3.      Pengecekan masalah yang berhubungan dengan mutex hanya terpusat pada modul monitor.
·         Kekurangan
1.      Memerlukan mekanisme penjadwalan proses yang handal.
2.      Proses yang mengeluarkan csignal harus segera keluar.
3.      Bila signal pada csignal hilang, maka proses yang berada dalam antrian akan terblok.
4.      Jika proses terblok diperlukan 2 tahapan switching tambahan.
Contoh Monitor
          Contoh: Bounded-buffer producer consumer




Contoh monitor dengan notify : (If diganti while)
Contoh Monitor Dengan Broadcast :
Seperti Pada saat Producer menaruh data ke buffer, maka Producer tidak perlu tahu seberapa cepat konsumer dapat mengambil data dari buffer  ke Produser. Dan produser dapat menaruh data dengan ukuran berbeda-beda 


Message Passing
·         Definisi
Message Passing adalah salah satu teknik dalam operating system untuk kebutuhan komunikasi dan sinkronisasi antar proses-proses yang ada. Message passing ini biasa digunakan pada sistem terdistribusi, shared-memory pada prosesor baik uni maupun multiprocessor. Message passing ini digunakan sebagai cara agar objek-objek yang membentuk sebuah program dapat bekerja satu sama lain dan sebagai cara agar objek dan sistem yang berjalan pada beberepa komputer untuk saling berinteraksi.
·         Operasi dasar yang digunakan :
1.      Operasi send : untuk mengirim informasi dalam bentuk message ke proses tujuan.
2.      Operasi receive : untuk menerima informasi dalam bentuk message dari proses sumber.
Message yang dikirim bisa berisi sesuatu yang saling dipahami oleh proses proses yang ada seperti data, remote procedure call, executable code dan lain sebagainya . Dan biasanya message mengandung filed standart yang berisi procedd ID tujuan, message length, tipe data dan lain sebagainya.
·         Sinkronisasi
Bertujuan agar komunikasi antar proses bias diatur dengan baik. Pada operasi send terdapat 2 kemungkinan kejadian pada proses tersebut yaitu:
-          Blocking send : proses akan terblok sampai message diterima,
-          Nonblocking send : proses masih tetap bisa melanjutkan eksekusi yang lain.
Sedangkan pada operasi receive suatu proses akan bisa mengalami 2 kejadian yang hampir sama seperti operasi send namun apabila message sudah dikirim oleh proses lain maka proses akan menerima pesan dan melanjutkan ekseskusi. Namun apabila pesan belum terkirim atau bahkan belum ada maka terjadi 2 hal yang sama dengan apa yang terjadi ketika operasi send yaitu :
-          Blocking receive : proses terblok sampai pesan telah ada,

-          Nonblocking receive : proses akan mengabaikan pesan dan tetap melanjutkan eksekusi.
Read More..

Senin, 08 September 2014

Tugas 2 Sistem Operasi

Definisi Proses
Proses merupakan keadaan ketika sebuah program sedang di eksekusi. Proses juga di definisikan sebagai sebuah entitas yang merepresentasikan basis unit kerja yang diimplementasikan di dalam sistem.


Status Proses
Status proses merupakan kondisi yang menyatakan kondisi dari suatu proses. 
Di dalam proses terdapat 5 macam status, yaitu : 
·        New : state dimana proses akan dibuat (Process Creating) 
·        Ready : proses sedang menunggu inisialisasi oleh processor. 
·        Running : instruksi-instruksi proses sedang dieksekusi 
·        Waiting : proses menunggu beberapa event yang akan terjadi seperti menunggu inputan user dan lain sebagainya. 
·        Terminated : proses telah selesai dieksekusi. 


Deskripsi dan Kontrol Terhadap Proses

Setiap proses dalam system operasi mempunyasi sebuah  process control block (PCB) yang memuat informasi tentang proses tersebut dan dapat digunakan untuk mengontrol proses.
Elemen-elemen dari sebuah PCB antara lain :
1.     Identifier berfungsi untuk menjelaskan proses yang sedang terjadi.
2.     State merupakan kondisi yang terjadi pada proses.
3.     Priority berisi urutan perintah pada suatu proses.
4.     Program counter berisi sebuah instruksi pada proses.
5.     Memory pointer berfungsi untuk menyimpan alamat yang digunakan pada suatu proses.
6.     Context data merupakan data yang berkaitan dengan proses.
7.     I/O status information merupakan masukan dan keluaran yang ada pada proses.
8.     Accounting information menyediakan informasi yang dibutuhkan.

Berikut beberapa informasi yang terdapat dalam PCB :
-         Status proses : menyatakan status dari proses.
-         Program counter : berisi suatu alamat dari suatu instruksi yang akan dieksekusi selanjutnya.
-         Informasi manajemen memori : berisi semua informasi tentang system memori yang ada dalam system operasi.
-         Accounting information : berisi segala informasi termasuk jumlah CPU yang digunakan, batas waktu suatu proses, jumlah pekerjaan, dan masih banyak lagi.
-         Pointer : menyatakan pointer yang menunjuk ke PCB lain.








Anggota yang berkontribusi :
1.       Fransisca A I A                   1103114263
2.       Habib Reza                          1103120005
3.       Novelino Y                          1103120015

4.       Keri Wisnu                          1103120018
Read More..