Sabtu, 12 Juli 2014

SISTEM OPERASI



perangkat lunak (software) sistem yang bertugas melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar dari suatu sistem Komputer. Manajemen ini termasuk menjalakan software aplikasi seperti program-program pengolah kata, pemutar multimedia. Sistem Operasi merupakan software pertama yang terdapat pada memori komputer pada saat komputer dijalankan. Sedangkan software-software lainnya akan dijalankan setelah sistem operasi berjalan terlebih dahulu. Setelah itu sistem operasi akan melakukan pelayanan terhadap software-software tersebut. Beberapa layanan yang biasa dikerjakan oleh sistem operasi yaitu: Manajemen Memori, Penjadwalan Task, Pengaturan user interface, Driver, Utility Procedure, Service Procedure, Main  Procedure
2. Komponen sistem komputer
perangkat keras (hardware).Berdasarkan fungsinya, perangkat keras komputer dibagi menjadi :

     1.      input divice (unit masukan)

unit yang berfungsi sebagai media untuk memasukkan data dari luar kedalam suatu memori dan processor untuk diolah guna menghasilkan informasi yang diperlukan. Input devices yang umumnya digunakan personal computer (PC) adalah Keyboard, mouse, joystick, touch pad, dan lain-lain.

2. Process device (unit Pemrosesan)

peralatan yang terdiri atas beberapa komponen hardware yang saling berhubungan dalam bertugas menerima input data, yang selanjutnya diproses menjadi informasi kepada brainware.

3.Output device (unit keluaran)

alat untuk menghasilkan informasi yang diperoleh dari hasil pemrosesan, yang dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafis atau gambar), suara dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form).

4. Backing Storage ( unit penyimpanan)

alat yang berfungsi sebagai penyimpan data dari hasil pemrosesan oleh process device.

5. Periferal ( unit tambahan)

peralatan yang bisa di tambahkan untuk keperluan tertentu. contohnya adalah modem untuk koneksi ke internet, webcame untuk menampilkan gambar pengguna komputer yang terhubung dengan pengguna lainnya di tempat yang berbeda. Alat ini tidak berpengaruh dengan sistem komputer.

3.Fungsi Sistem Operasi Komputer

1.      Sistem Operasi sebagai Pengelola Sumber Daya (Resources Manager)
Sistem Operasi mengelola seluruh sumber daya yang terdapat pada sistem komputer.
2.      Sistem Operasi sebagai penyedia layanan atau Extended Machine/Virtual Machine.
Sistem Operasi menyediakan sekumpulan layanan (disebut system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan atau pemanfaatan sumber daya system komputer.
3.      Sebagai penghubung antara pengguna dangan program aplikasi.
            4.      Sebagai pengatur penggunaan perangkat keras oleh berbagai program aplikasi serta para user.
            5.      Sebagai pengawas penggunaan perangkat keras, program aplikasi dan user (resource allocator).
  1. Sebagai pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
      4.Pengelolaan proses
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen 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.
·         Proses Pengelolaan yang mempertimbangkan hubungan timbal balik antara kegiatan manusia dengan komputer. suatu proses penyusunan dan pengambilan keputusan secara rasional tentang pemanfaatan komputer secara berkelanjutan. Suatu proses kontinu dan dinamis dalam penyusunan dan pengambilan keputusan tentang pemanfaatan komputer secara berkesinambungan. Melakukan sebuah upaya pemeliharan secara terjadwal atau tidak terjadwal.
  
      5. Sinkronisasi proses

Suatu proses yang bekerja bersama - sama dan saling berbagi data dapat mengakibatkan race condition atau pengaksesan data secara bersama-sama. Critical section adalah suatu segmen kode dari proses-proses itu yang yang memungkinkan terjadinya race condition. Untuk mengatasi masalah critical section ini, suatu data yang sedang diproses tidak boleh diganggu proses lain.

Race Condition  Critical Section

  • Arti dari Race Conditon adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan.
  • Arti dari masalah Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses
Critical Section mempunyai beberapa kode :

  • Entry Section : kode yang digunakan untuk masuk ke dalam critical section
  • Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu.
  • Exit Section: akhir dari critical section, mengizinkan proses lain.
  • Remainder Section : kode istirahat setelah masuk ke critical section.

Perangkat Sinkronisasi :

      Ø  Instruksi TestAndSet instruksi atomik yang dapat di gunakan untuk menangani masalahcritical section.

      Ø  Semafor sebuah variabel yang hanya dapat di akses oleh dua buah operasi standar yaitu increment dan decrement. Dua buah jenis semafor, yaitu Binary Semaphore dan Counting Semaphore. Semafor berfungsi untuk menangani masalah critical section, mengatur alokasiresource dan sinkronisasi antarproses.

      Ø  Monitor di gunakan untuk menangani masalah yang muncul karena pemakaian semafor. Monitor menjamin mutual exclusion. Untuk menangani masalah sinkronisasi yang lebih rumit monitor menyediakan condition variable.

     Ø  JVM mengimplementasikan monitor, Monitor JVM bekerja dengan object locking danmethod - method wait serta notify. Monitor JVM dapat di gunakan dengan menggunakan keyword synchronized.

6. penjadwalan proses.

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang di lakukan sistem komputer. Penjadwalan bertugas memutuskan :

1. Proses yang harus berjalan
2. Kapan dan selama berapa lama proses itu berjalan.

Sasaran Utama Penjadwalan Proses Optimasi kerja menurut kriteria tertentu  Kriteria untuk mengukur dan optimasi kinerja penjadwalan : [Tan-92] [MIL-92]

1. Adil (fariness)
2. Efesiensi
3. Waktu tanggap (response time)
4. Turn Arround Time
5. Throughtput

Adil (Fairness)

proses-proses di perlukan sama yaitu mendapatkan jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvision. Sasaran penjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses yang adil.

Efesiensi

Efesiensi atau utilisasi pemroses di hitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang di habiskan untuk mengeksekusi program pemakai dan sistem operasi.

Waktu Tanggap (Response Time)

Waktu tanggap berbeda untuk : Sistem interaktif dan Sistem waktu nyata

Waktu tanggap pada sistem interaktif (Interaktif) di definisikan sebagai waktu yang di habiskan dari saat karakter terakhir dari perintah di masukkan atau transaksi sampai hasil pertama muncul di layar (terminal). Waktu tanggap ini di sebut terminal response time.

Waktu tanggap pada sistem waktu nyata (Real Time)

Pada sistem waktu nyata, waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksernal) sampai instruksi pertama rutin layanan yang di maksud di eksekusi, di sebut event response time. Sasaran pendjadwalan adalah meminimalkan waktu tanggap.

Turn Arround Time

waktu yang di habiskan dari saat program atau job mulai masuk ke system sampai proses di selesaikan sistem. Waktu yang di maksud adalah waktu yang di habiskan dalam sistem, di ekspresikan sebagai jumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu :
Turn Arround Time = waktu eksekusi + waktu tunggu
Sasaran penjadwalan adalah meminimalkan turn arround time.

Throughtput

jumlah kerja yang dapat di selesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat di eksekusi dalam satu unit atau interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang di proses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang di lakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak di mungkinkan optimasi semua kriteria secara simultan.

Tipe-Tipe Penjadwalan

Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :

1.Penjadwal jangka pendek (short-tem scheduller)
2.Penjadwal jangka menengah (medium-term scheduller)
3.Penjadwal jangka panjang (long-term scheduller)

Penjadwal Jangka Pendek

Penjadwal ini bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang di harapakan. Penjadwal ini di jalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus di jalankan.

Penjadwal Jangka Menengah

Setelah eksekusi selama suatu waktu, proses mungkin di tunda karena membuat permintaan layanan masukan atau keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan selesai sampai kondisi-kondisi yang menyebabkan tertunda di hilangkan. Agar ruang memori dapat bermanfaat, maka proses di pindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder di sebut swapping. Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses di masukkan kembali ke memori utama dan ready. Penjadwalan jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping.

Penjadwal Jangka Panjang

bekerja terhadap antrian batch dan memilih batch berikutnya yang harus di eksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, di gunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka panjang adalah memberi keseimbangan job-job campuran. Di kaitkan dengan state-state proses.

Strategi Pendjadwalan

Terdapat dua strategi penjadwalan, yaitu: Penjadwalan nonpreemptive (run – to – completion) dan Penjadwalan preemptive

Penjadwalan Nonpreemptive

Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat di ambil alih oleh proses lain sampai proses itu selesai.

Penjadwalan Preemptive

Saat proses di beri jatah waktu pemroses maka pemroses dapat di ambil alih proses lain sehingga proses di sela sebelum selesai dan harus di lanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu. Penjadwalan preemptive berguna pada sistem di mana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :

1. Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.

2. Pada sistem interaktif atau time-sharing, penjadwalan preemptive penting agar  dapat menjamin waktu tanggap yang memadai.

3. Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead tersendiri.



Algoritma Penjadwalan


Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya:

– FIFO (Frist In First Out)
– SJF (Shortest Job First)
– HRN (Highest Ratio Net)
– MFQ (Multiple Feedback Queues).

Algoritma-algoritma yang menerapkan strategi preemptive di antaranya:
– RR (Round Robin)
– SRF (Shortest remaining First)
– PS (Priority Schedulling)
– GS (Guaranteed Schedulle)

Penjadwalan Round Robin (RR)

1.  Penjadwalan preemptive, buka di preempt oleh proses lain tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, di sebut preempt-by-time.

2.  Penjadwalan tanpa protes.Semua Proses di anggap penting dan di beri sejumlah waktu pemroses yang di sebut kwata (quantum) atau time slice dimana proses itu berjalan.

Ketentuan

Ketentuan algoritma round robin adalah sebagai berikut:

1.Jika kwanta habis dan proses belum selesai maka proses menjadi runable dan pemroses di alihkan ke poses lain.
2.Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses di alihkan ke proses lain.
3.Jika kwanta belum habis tapi proses telah selesai maka proses di akhiri dan pemroses di alihkan ke proses lain.

Algoritma penjadwalan ini dapat di implementasi sebagai berikut:
1.  Mengelola senarai proses ready (runnable) seusai urutan kedatangan.
2.  Ambil proses yang berada diujung depan antrian menjadi running.
3. Bila kwanta belum habis dan proses selesai maka ambil proses diujung depan antrian proses ready.
4. Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses diujung depan antrian proses ready.

Masalah penjadwalan ini adalah menentukan besar kwanta, yaitu:
1. Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
2. Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga menurunkan efesiensi pemroses.

Harus di tetapkan kwanta waktu yang optimal berdasar kebutuhan sistem terutama dari hasil percobaan atau data historis. Besar kwanta waktu beragam bergantung beban sistem.

Berdasarkan kriteria penilaian penjadwalan:
1. Fairness
Penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses.
2. Efesiensi
Penjadwalan RR cenderung efesien pada sistem interaktif.

3. Waktu tanggap
Penjadwalan RR memuaskan untuk sistem interaktif, tidak memakai untuk sistem waktu nyata.

4. Turn Arround Time
Penjadwalan RR cukup bagus.

5. Throughput
Penjadwalan RR cukup bagus.

Penggunaan:
- Cocok untuk sistem interaktif-time sharing di mana kebanyakan waktu di pergunakan menunggu kejadian eksternal
- Tidak cocok untuk sistem real-time.

Penjadwalana FIFO

1. Penjadwalana non-preemptive
2. Penjadwalan tidak berprioritas

Ketentuan: Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu:
1. Proses-proses di beri jatah waktu pemroses berdasarkan waktu kedatangan.
2. Begitu proses mendapat jatah waktu pemroses, proses di jalankan sampai selesai.

Penjadwalan ini di katakan adil dalam arti resmi (dalam semantic atau arti antrian, yaitu proses yang datangduluan, dilayani duluan juga), tapi di nyatakan tak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job tak penting dapat membuat job-job penting menunggu. FIFO jarang di gunakan secara mandiri tapi di kombinasikan dengan skema lain, misalnya : keputusan berdasarkan prioritas proses. Untuk proses-proses berprioritas sama di putuskan berdasarkan FIFO.


Berdasarkan kriteria penilaian penjadwalan :
1. Fairness : Penjadwalan FIFO adil bila di pandang dari semantik antrian.
2. Efesiensi : Penjadwalan FIFO sangat efesien
3. Waktu tanggap : Penjadwalan FIFO sangat jelek, tidak cocok untuk sistem interaktif apalagi waktu nyata.
4. Turn arround time : Penjadwalan FIFO jelek
5. Throughput : Penjadwalan FIFO jelek.

Penggunaan:
- Cocok untuk sistem batch yang sangat jarang interaksi dengan pemakai.
- Penjadwalan ini sama sekali tak berguna untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus.
- Tidak dapat di gunakan untuk sistem waktu nyata.

Penjadwalan Berprioritas (PS)

tiap proses diberikan prioritas dan proses berprioritas tinggi running (mendapat jatah waktu proses). Prioritas dapat di berikan secara :
– Prioritas statis
– Prioritas dinamis

Prioritas Statis
Prioritas statis berarti rioritas tak berubah
-Keunggulan : mudah di implementasikan dan mempunyai overhead relatif kecil
-Kelemahan : Penjadwalan tak tanggap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.

Prioritas Dinamis

merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal di berikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.

Kelemahan : Implementasi mekanisme prioritas di namis lebih kompeks dan mempunyai overhead lebih besar. Overhead ini di imbangi dengan peningkatan daya tanggap sistem.

Tidak ada komentar:

Posting Komentar