Welcome to my website

Rabu, 29 Oktober 2014

Sistem Operasi Dalam Sistem Perangkat Keras Komputer



Sistem Operasi Dalam Sistem Perangkat Keras Komputer

Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-muka user GUI/CLI. 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.

Fungsi sistem operasi komputer secara umum adalah sebagai berikut:
1. Sistem Operasi Sebagai Kordinator.
Dalam hal ini sistem operasi berfungsi untuk mengatur semua aktivitas yang kompleks dari perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan agar dapat berjalan sesuai dengan urutan yang benar. Selain mengatur semua aktivitas perangkat lunak, sistem operasi juga bertugas mengatur/mengelola semua aktivitas yang berhubungan dengan hardware, baik input device ataupun output device.
2. Sistem Operasi Sebagai Penghubung.
Sistem operasi komputer berfungsi untuk menyiapkan serta menghubungkan program aplikasi agar dapat berinteraksi dengan perangkat keras secara konsisten dan stabil.
3. Sistem Operasi Sebagai Pelindung.
Hal ini dimaksudkan bahwa salah satu fungsi atau tugas dari sistem operasi adalah untuk memegang kendali proses, melindungi file dan memberi batasan pada pembacaan dan penulisan serta eksekusi data dan program. Sistem operasi juga dapat berfungsi sebagai pengatur tentang siapa saja yang dapat mengakses file, program dan sistem yang ada di komputer kita.
4. Sistem Operasi Sebagai Interpretasi (penerjemah).
Sistem Operasi berfungsi sebagai penerjemah perintah-perintah dan instruksi-instruksi antara User dan Sistem. Sebagai fasilitas komunikasi yang mudah antara sistem komputer dan User (pengguna).
Hal ini 5. Sistem Operasi Sebagai Server (Pelayan).
berarti fungsi dari sistem operasi komputer adalah untuk melayani segala sesuatu yang dibutuhkan oleh seorang user (pengguna).
Teknik Penjadwalan Sistem Operasi

 A.     Pengertian
Penjadwalan atau scheduling adalah sebuah metode dalam sistem operasi yang mengatur proses-proses yang akan berjalan dalam suatu sistem operasi. Hal ini sangat diperlukan karena pada saat ini komputer berbasiskan multiprogramming. Sehingga dalam suatu waktu akan berlangsung dua atau lebih pemrosesan. Tanenbaum menyebutkan, bagian dari sistem operasi yang membuat pilihan dinamakan scheduller, sedangkan algoritma yang digunakan dinamakan schedulling algorithm.

Secara garis besar penjadwalan dibedakan menjadi dua kelompok besar, yaitu:
1. Non-preemptive
Pada metode ini jika suatu proses telah berjalan maka sistem operasi maupun operasi lain tidak dapat mengambil alih eksekusi prosesor. Pengalihan prosesor hanya dapat dilakukan jika proses yang sedang berjalan tadi telah berhenti. Metode ini digunakan pada sistem batch dan sekuensial
2. Preemptive
Metode ini lebih canggih dari pada non-preemptive, karena sistem operasi dan operasi lain dapat mengambil alih eksekusi prosesor tanpa harus menunggu proses lain yang sedang running berhenti. Metode ini digunakan pada sistem real time.

Proses penjadwalan yang dilakukan oleh sistem operasi sebenarnya dipicu dari beberapa hal yaitu:
1. Proses berubah dari status running ke blocked, hal ini dapat terjadi ketika suatu proses melakukan system call untuk meminta operasi I/O
2. Proses berubah dari status running ke ready, hal ini dapat terjadi ketika suatu proses yang berstatus running telah habis time slice-nya.
3. Proses berubah dari status blocked ke ready, dalam hal ini merupakan kelanjutan dari pemicu nomor 1 diatas, ketika permintaan terhadap I/O telah terpenuhi maka proses yang tadinya berstatus blocked berubah menjadi ready
4. Ketika suatu proses berhenti atau terminated. Hal ini berarti suatu proses telah selesai dijalankan sehingga system operasi kemudian akan menjalankan proses yang telah ready.




Penjadwalan merupakan  salah  satu  fungsi  dasar  dari  sistem  operasi. Hampir  semua sumber  daya komputer dijadwalkan sebelum digunakan.

•    CPU-I/O Burst Cycle
Kesuksesan penjadwalan CPU tergantung dari observasi proses-proses. Pengeksekusian proses terdiri putaran ekseskusi CPU dan penungguan  I/O. Eksekusi   proses dimulai dari CPU burst,  yaitu diikuti oleh I/O burst kemudian diikuti CPU burst lainnya lalu I/O burst lainnya dan begitu seterusnya.

•    Penjadwalan CPU
Ketika  CPU   mengalami waktu  idle,  sistem  operasi  harus memilih  salah  satu  proses  untuk masuk kedalam  antrian  yang  akan  untuk  dieksekusi.  Pemilihan  tersebut  dilakukan  oleh  penjadwal  jangka pendek  atau  penjadwal  CPU. Penjadwalan memilih proses  yang ada di memori  serta  siap untuk dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya.

Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan:
1.    Berubah dari running ke waiting state.
2.    Berubah dari running ke ready state.
3.    Berubah dari waiting ke ready.
4.    Terminates.
Penjadwalan nomor 1 dan 4 bersifat non-preemptive atau cooperative sedangkan lainnya preemptive. Dalam penjadwalan non-preemptive sekali CPU  telah dialokasikan untuk sebuah proses, maka  tidak dapat  di  ganggu,  penjadwalan  model  seperti  ini  digunakan  oleh Windows  3.x; Windows  95  telah menggunakan  penjadwalan  preemptive  yaitu  saat  suatu  proses  sedang  dieksekusi,  CPU  dapat diambil alih oleh proses lain sehingga proses di tunda dan dilanjutkan kembali hingga proses selesai.

•    Kriteria Penjadwalan
Setiap algoritma penjadwalan dapat berbeda dengan nilai yang berbeda dan  sistem komputer yang berbeda. Dalam penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah:
  • CPU Utilization. Kita menginginkan kerja CPU sesibuk mungkin. Konsepnya pemanfaatan
  • CPU mempunyai  jangkauan  dari  0  sampai  100  persen.  Di  sistem  yang  sebenarnya mungkin  hanya mempunyai  jangkauan  dari  40  (untuk  pemanggilan  ringan  sistem)  sampai  90  persen (pemanggilan berat sistem).
  • Throughput. Pengukuran  kinerja CPU  adalah banyaknya  proses  yang  diselesaikan  per  satuan waktu.  Jika  kita  mempunyai  beberapa  proses  yang  sama  dan  memiliki  beberapa  algoritma penjadwalan  yang  berbeda,  hasil  kinerja  bisa  menjadi  salah  satu  kriteria  penilaian,  dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
  • Turnaround Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk  mengeksekusi  proses  tersebut.  Memang,  lama  pengeksekusian  sebuah  proses  sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam lama  waktu  yang  dipakai  untuk  menyelesaikan  sebuah  proses.  Misal,  kita  memilki  sistem komputer yang identik dan proses-proses yang identik pula, namun kita memakai algoritma yang berbeda,  algoritma  yang  mampu  menyelesaikan  proses  yang  sama  dengan  waktu  yang  lebih singkat mungkin  lebih baik dari algoritma  yang  lain.  Interval waktu  yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan  sebuah  proses  disebut  turnaround  time. Turnaround  time adalah jumlah periode tunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi  I/O atau waktu yang dihabiskan dari saat program atau job mulai masuk sistem sampai proses diselesaikan sistem.
  • Turnaround = waktu eksekusi + waktu menunggu
  • Waiting  Time.  Algoritma  penjadwalan  CPU  tidak  mempengaruhi  waktu  untuk  melaksanakan proses  tersebut  atau  I/O,  karena  hanya mempengaruhi  jumlah  waktu  yang  dibutuhkan  proses diantrian ready. Waiting time adalah jumlah waktu yang dbutuhkan proses di antrian ready.
  • Response  time. Di  sistem  yang  interaktif,  turnaround  time mungkin  bukan waktu  yang  terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil  yang  baru  sementara  hasil  yang  sebelumnya  telah  diberikan  ke  pengguna.  ukuran  lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Hal ini disebut response  time, yaitu waktu untuk memulai memberikan respon,  tetapi bukan waktu yang dipakai output  untuk  respon  tersebut.  Turnround  time  umumnya  dibatasi  oleh  kecepatan  peralatan keluaran.
Ada dua  jenis  response  time  berdasarkan penggunaannya pada  sistem  interaktif dan sistem waktu nyata (real time), yaitu:
1.   Terminal  response  time  merupakan  response  time  pada  sistem  interaktif  sebagai  waktu yang dihabiskan dari  saat  karakter  terakhir dari perintah dimasukkan atau  transaksi  sampai hasil pertama muncul di layar.
2.    Event response time merupakan response time pada sistem waktu nyata sebagai waktu dan kejadian (internal/eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan penggunaan CPU dan  throughput,  dan meminimalkan  turnaround  time, waiting  time,  dan  response time.

Algoritma Penjadwalan
Masalah penjadwalan CPU adalah memutuskan proses mana yang berada di dalam antrian ready akan dialokasikan  ke  CPU.  Ada  beberapa  algoritma  penjadwalan  CPU  beberapa  diantaranya  akan  di jelaskan pada bagian berikut ini.
o    First-Come First-Served (FCFS)
          Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam antrian FIFO  sesuai dengan waktu  kedatangannya. Proses yang  tiba  terlebih dahulu  yang akan dieksekusi terlebih dahulu.
o    Shortest-Job First (SJF)
          Algoritma  ini mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma  ini maka setiap  proses  yang  ada  di  antrian  ready  akan  dieksekusi  berdasarkan  burst  time  terkecil.  Hal  ini mengakibatkan waiting  time yang pendek untuk setiap proses dan karena hal  tersebut maka waiting time  rata-ratanya  juga  menjadi  pendek,  sehingga  dapat  dikatakan  bahwa  algoritma  ini  adalah algoritma yang optimal.
o    Penjadwalan dengan Prioritas
          Priority  Scheduling  merupakan  algoritma  penjadwalan  yang  mendahulukan  proses  dengan  nilai prioritas  tertinggi.  Setiap  proses memiliki  prioritasnya masing-masing.  Prioritas  suatu  proses  dapat ditentukan melalui beberapa karakteristik antara lain:
a.    Batas waktu
b.    Kebutuhan Memori
c.    Akses file                  
d.    Perbandingan antara I/O Burst dengan CPU Burst
e.    Tingkat kepentingan proses

o    Round Robin
Algoritma  ini didesin untuk sistem  time-sharing. Proses akan mendapat  jatah sebesar  time quantum dengan nilai quantum umumnya sebesar 10-100 ms. Jika time quantum-nya habis atau proses sudah selesai  CPU  akan  dialokasikan  ke  proses  berikutnya.  Tentu  proses  ini  cukup  adil  karena  tak  ada proses yang diprioritaskan, semua proses mendapat  jatah waktu yang sama dari CPU (1/n), dan  tak akan menunggu lebih lama dari (n-1)/q.
o    Antrian Multilevel (Multilevel Queue)
Ide dasar dari algoritma  ini adalah berdasarkan pada sistem prioritas proses. Prinsipnya adalah,  jika setiap proses dapat dikelompokkan berdasarkan prioritasnya.
o    Multilevel Feedback Queue
Algoritma  ini  mirip  sekali  dengan  algoritma  Multilevel  Queue.  Perbedaannya  ialah  algoritma  ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU  terlalu  lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Ini menguntungkan proses interaksi, karena proses ini  hanya memakai waktu CPU  yang  sedikit. Demikian  pula  dengan  proses  yang menunggu  terlalu lama. Proses ini akan dinaikkan tingkatannya.

Share:

0 komentar:

Posting Komentar

Anda Mau Cari Apa?

programmer itu?

assalamualaikum...

mbah wiki

Hasil penelusuran