Banner 468 x 60px

 

Kamis, 09 Januari 2020

PROSES PROSES PROGRAM SISTEM OPERASI

0 komentar
 Pengenalan Proses Sistem Operasi

         Proses adalah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Setelahsebuah program dimuat dari media penyimpanan, sebuah instance dari program dijalankan.Instance ini disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut ruang alamat proses (process address space). Ruang alamat proses memiliki dua area penting: area teks dan area data. Area teks adalah kode program yang sebenarnya; digunakan untuk memberitahukan sistem apa yang harus dilakukan.


Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti :

      Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.

    Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.

   Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar

     Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya. 
   
    Menyediakan mekanisme untuk penanganan deadlockDeadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.

Proses dalam Memori Utama
   Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
  Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat M/K. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile(tidak permanen), yaitu data akan hilang kalau komputer dimatikan.
    Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.

Manajemen Sistem Berkas

File atau berkas adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena informasi atau data yang disimpan dalam berkas adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas dengan baik.
Sistem operasi melakukan manajemen sistem berkas dalam beberapa hal:
Pembuatan berkas atau direktori. Berkas yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem berkas. Sistem operasi akan menunjukkan tempat dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama berkas dan lokasinya pada sistem berkas.
Command Prompt Windows adalah cara yang bagus untuk menyelesaikan tugas dengan cepat dan efisien. Alat ini sangat kuat dan sering kali diabaikan dalam penggunaan komputer. Command prompt adalah lingkungan bebas tetikus dan cocok bagi mereka yang lebih menyukai papan tik. Dalam artikel ini, kami akan memperkenalkan perihal Command Prompt dan cara penggunaannya untuk menyelesaikan tugas-tugas dasar. Setelah membaca artikel ini, Anda akan mampu menggunakan Command Prompt untuk tugas-tugas dasar.
Langkah-Langkah :
  1. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 1
    Buka Command Prompt Windows. Klik layar start di komputer dan klik kotak pencari. Tikkan Command Prompt atau cmd. Klik Command Prompt dari daftar hasil pencarian dua kali untuk membukanya. Command Prompt akan tampak sebagai berikut: C:\users\Username>.
  2. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 2
    Buat direktori baru. Gunakan perintah mkdir untuk membuat direktori baru. Untuk melakukannya, masukkan perintah mkdir -> nama direktori. Dalam contoh di atas, direktori baru bernama wikihow dibuat dengan mengetik: mkdir wikihow.
  3. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 3
    Ubah direktori yang bekerja saat ini. Untuk berpindah ke direktori yang baru saja dibuat, gunakan perintah cd atau change directory (ubah direktori). Perintahnya adalah cd -> nama direktori. Sebagai contoh, tik cd wikihow. Sekarang, prompt terlihat seperti ini: C:\users\Brian\wikihow> seperti yang ditampilkan di atas.
     Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 4
  4. Cek isi direktori. Untuk mengecek isi direktori saat ini, gunakan perintah dir. Cukup tik dir dan tekan enter untuk memunculkan daftar isi direktori. Dalam contoh ini, saat ini direktori wikihow sedang kosong.
  5. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 5
    Kosongkan layar. Untuk mengosongkan layar, gunakan perintah cls. Cukup tik cls dan tekan enter untuk menghapus semua isi layar. Hanya Command Prompt yang akan tersisa di layar, sesuai gambar di atas.
  6. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 6
    Buat berkas baru. Untuk membuat berkas baru, gunakan perintah type NUL >. Tikkan: NUL> nama berkas dan tekan enter untuk membuat berkas kosong. Dalam contoh di atas, perintah yang ditik adalah NUL> newfile.
  7. Tambahkan berkas baru lain. Ulangi langkah 5 untuk membuat berkas baru kedua. Beri nama berkas ini newFile1. Perintah baru ini adalah: NUL> newFile1.
  8. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 8
    Cek isi direktori. Sekarang, cek isi direktori menggunakan perintah dir. Direktori wikihow sekarang berisi dua berkas bernama newFile dan newFile1, seperti yang ditunjukkan gambar di atas.
  9. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 9
    Hapus berkas. Untuk menghapus berkas, gunakan perintah del. Tikkan del -> nama berkas untuk menghapus berkas tertentu. Dalam contoh ini, hapuskan berkas newFile menggunakan perintah berikut: del newFile. Sekarang, cek isi direktori wikihow untuk melihat apakah berkas yang telah dihapus. Kosongkan layar dengan perintah cls.
  10. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 10
    Pindah ke direktori induk. Untuk menyelesaikan langkah berikutnya, yaitu menghapuskan direktori, pertama-tama Anda harus keluar dari direktori yang dipakai bekerja saat ini. Caranya, gunakan perintah pengubahan direktori. Masukkan perintah cd.. untuk berpindah ke direktori induk tanpa mengetik nama direktori. Dalam contoh ini, tikkan: cd.., sesuai contoh di gambar di atas. Artinya, Anda sudah tidak lagi berada di direktori wikihow.
  11. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 11
    Hapuskan direktori kosong. Untuk menghapuskan direktori, gunakan perintah rmdir. Anda tidak boleh berada di dalam direktori yang akan dihapus (lihat Langkah 10 di atas). Jika direktorinya kosong, Anda dapat menghapusnya dengan mengetik rmdir -> nama direktori. Dalam contoh ini, direktori wikihow masih berisi newFile1 sehingga perintah rmdir tidak akan berfungsi. Jika direktorinya tidak kosong, pesan galat (error) akan muncul, sesuai gambar di atas.
  12. Gambar berjudul Create and Delete Files and Directories from Windows Command Prompt Step 12
    Hapuskan direktori yang berisi berkas. Untuk menghapus direktori yang berisi berkas, gunakan versi modifikasi dari perintah rmdir. Masukkan perintah rmdir /s. Dalam contoh ini, tikkan: rmdir /s wikihow dan tekan tombol enter. Anda akan dimintai persetujuan untuk menghapus direktori dengan mengetik Y/N. Tikkan Y jika setuju, dan N jika tidak setuju, seperti yang ditunjukkan gambar di atas. Jika Anda memasukkan Y, direktori dan semua isinya akan dihapuskan dari sistem.

Tips

  • Perintah dapat ditulis dengan huruf besar maupun kecil.
  • Gunakan perintah CLS untuk membersihkan layar secara teratur. Dengan demikian, pekerjaan Anda lebih mudah dibaca.

Peringatan

  • Penggunaan command prompt membutuhkan latihan dan pengguna harus teliti saat memindahkan dan menghapuskan berkas. Tidak ada peringatan atau kesempatan kedua saat menghapuskan berkas, maka Anda harus memastikan berkas yang akan dihapus memang benar untuk mencegah hilangnya dokumen penting.

Hal yang Anda Butuhkan

  • Komputer yang menggunakan Windows
  • Papan tik
Penghapusan berkas atau direktori. Sistem operasi akan mencari letak berkas atau direktori yang hendak dihapus dari sistem berkas, lalu menghapus seluruh entri berkas tersebut, agar tempat dari berkas tersebut dapat digunakan oleh berkas lainnya.
Pembacaan dan menulis berkas. Proses pembacaan dan penulisan berkas melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah berkas.
Meletakkan berkas pada sistem penyimpanan sekunder. Sistem operasi mengatur lokasi fisik tempat penyimpanan berkas pada sarana penyimpanan sekunder

Manajemen Sistem M/K ( I/O)

Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).
Fungsi-fungsi sistem operasi untuk sistem M/K:
  • Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
  • Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.
  • Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
  • Menyediakan driver perangkat yang umumDriver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
  • ·Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard

Manajemen Penyimpanan Sekunder

Sarana penyimpanan sekunder memiliki ciri-ciri umum sebagai berikut :
  1. Non volatile(tahan lama). Walaupun komputer dimatikan, data-data yang disimpan di sarana penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
  2. Tidak berhubungan langsung dengan bus CPU. Dalam struktur organisasi komputer modern, sarana penyimpanan sekunder terhubung dengan northbridgeNorthbridge yang menghubungkan sarana penyimpanan sekunder pada M/K dengan bus CPU.
  3. Lambat. Data yang berada di sarana penyimpanan sekunder memiliki waktu yang lebih lama untuk diakses ( read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan olehbandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
  4. Harganya murahPerbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana penyimpanan sekunder memiliki fungsi-fungsi sebagai berikut:
  1. Menyimpan berkas secara permanenData atau berkas diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan ( non volatile)
  2. Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.
  3. Memori virtual. Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memorivirtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di penyimpanan sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer.
Sistem operasi memiliki peran penting dalam manajemen penyimpanan sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana penyimpanan sekunder.
Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
Status Proses
Saat proses dieksekusi maka setiap proses akan mengalami perubahan status / kondisi. Jika dikelompokkan, maka perubahan status proses ada lima tahapan yaitu :

  1. New yaitu proses yang sedang dibuat.
  2. Running yaitu proses yang dapat dieksekusi karena CPU tidak ada tugas atautugas selesai.
  3. Ready yaitu proses menuggu jatah waktu dari processor.
  4. Waiting yaitu proses sedang menunggu beberapa event.
  5. Terminated yaitu proses yang sudah selesai dieksekusi.
Penjadwalan Proses

Ada tujuh criteria penjadwalan proses pada system operasi, yaitu sebagai berikut :
  1. CPU Utilizatio, Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40 sampai 100 persen.
  2. Throughput, Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
  3. 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 memiliki 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 untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi M/K.
  4. Waiting Time, Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau M/K, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan proses di antrian ready.
  5. 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. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut.
  6. Fairness, Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses (menghindari terjadinya starvation CPU time).
  7. Efisiensi, Rendahnya overhead dalam context switching, penghitungan prioritas dan sebagainya menentukan apakah suatu algoritma efisien atau tidak.
Process Control Block (PCB)
Sistem operasi dalam melaksanakan tugas pengendalian dan pelayanan proses (sebagai manajer dan pelayan) terhadap kerja sistem komputer memerlukan sejumlah informasi yang akurat. Informasi yang diperlukan sistem operasi tersedia dalam bentuk Process Control Block (PCB). Informasi dalam PCB dikelompokkan dalam tiga macam :
  1. Informasi identifikasi proses yaitu identifikasi proses yang berkaitan dengan identitas proses yang unik. Identifikasi proses yang menciptakan identifikasi pemakai
  2. Informasi status pemroses yaitu informasi tentang isi register yang berisi data saat running. Register yang digunakan (AX,BX,CX,EAX,EBX). Register kendali dan status (program counter, PSW). Pointer stack
  3. Informasi kendali proses yaitu informasi yang diperluakan sistem operasi untuk manajemen proses. Informasi penjadwalan dan status [ prioritas dan kejadian ] manajemen memori.

Read more...

Rabu, 08 Januari 2020

PENJADWALAN PROSES

0 komentar
 Pengenalan Penjadwalan Proses Sistem Operasi


Pengertian Penjadwalan Proses
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. 

Penjadwalan bertugas memutuskan :
      Proses yang harus berjalan
       Kapan dan selama berapa lama proses itu berjalan.
Kriteria Pengukuran Penjadwalan
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
1.      Adil (Fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapatkan jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvision. Sasaran pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
2.      Efesiensi (Efficient)
Efesiensi atau utilisasi pemroses dihitung 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 dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
3.      Waktu Tanggap (Response Time)
Waktu tanggap berbeda untuk sistem interaktif dan sistem waktu nyata
 Sistem interaktif
       Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time
Sistem waktu nyata
          Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat kejadian (internal atau eksernal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. Sasaran pendjadwalan adalah meminimalkan waktu tanggap.

4.      Waktu Penyelesaian (TurnaroundTime)
Turnaround time adalah waktu yang dihabiskan dari saat program mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu eksekusi dan waktu menunggu, yaitu:

Turn Arround Time = waktu eksekusi+waktu tunggu

Sasaran penjadwalan adalah meminimalkan turnaround time.

5.      Throughtput
Throughtput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.
Contoh :
     Untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih diantara proses-proses itu. Cara ini meningkatkan overhead sistem dan mereduksi throughput. Kebijaksanaan perancangan penjadwalan melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem komputer.

 Tipe-Tipe Penjadwalan
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
1.      Penjadwal jangka pendek (short-tem scheduller)
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

2.      Penjadwal jangka menengah (medium-term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.
Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebutswapping.
Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya terunda hilang dan proses dimasukkan kembali ke memori utama dan ready. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping.
3.      Penjadwal jangka panjang (long-term scheduller)
Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan job-job campuran. Dikaitkan dengan state-state proses.
Strategi Penjadwalan
Terdapat dua strategi penjadwalan, yaitu:
1.      Penjadwalan nonpreemptive
Begitu pemroses diberi jatah untuk memroses maka proses tidak dapat diambil alih oleh pemroses lain sampai proses itu selesai.
2.      Penjadwalan preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :

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

   Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar  dapatmenjamin waktu tanggap yang memadai.Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Perlaihan 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
   Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan dalam suatu sistem.Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue.Berfungsi untuk menentukan proses manakah yang ada di ready queue(antri) yang akan di eksekusi oleh CPU. Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive:

1.      FIFO (First In First Out)
    FIFO adalah akronim untuk First In, First Out (Pertama Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas. Ungkapan ini menggambarkan prinsip teknik pengolahan antrean atau melayani permintaan yang saling bertentangan dengan proses pemesanan berdasarkan perilaku first-come, first-served (FCFS): di mana orang-orang meninggalkan antrean dalam urutan mereka tiba, atau menunggu giliran satu di sebuah sinyal kontrol lalu lintas.
2.      SJF (Shortest Job First)
   Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal.
3.      HRN (Highest Ratio Net)

Penjadwalan HRN merupakan:
   Penjadwalan non-preemptive
  Penjadwalan berprioritas dinamis

   Penjadwalan ini juga untuk mengkoreksi kelemahan SJF. HRN adalah strategi penjadwalan nonpreemptive dengan prioritas proses tidak hanya pada waktu layanan tapi juga jumlah waktu tunggu proses.

Prioritas dinamis HRN dihitung berdasarkan rumus:

Prioritas = (Waktu tunggu + waktu layanan) / waktu layanan

    Karena waktu layanan muncul sebagai pembagi maka proses yang lebih pendek mempunyai prioritas yang lebih baik. Karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunya kesempatan lebih bagus untuk memperoleh layanan pemrosesan.

Disebut HRN (High Response Next) karena waktu tanggap adalah waktu tunggu + waktu layanan. Ketentuan HRN adalah untuk memperoleh waktu tanggap tertinggi yang harus dilayani.

4.      MFQ (Multiple 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. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. misalnya pada contoh berikut.

•  Semua proses yang baru datang akan diletakkan pada queue 0 ( quantum= 8 ms).
•  Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan dihentikan dan dipindahkan ke queue 1 ( quantum= 16 ms).
•  Queue 1 hanya akan dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu proses di queue 1 tidak selesai dalam 16 ms, maka proses tersebut akan dipindahkan ke queue 2.
      Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan algoritma FCFS.

Disini terlihat bahwa ada kemungkinan terjadinya perpindahan proses antar queue, dalam hal ini ditentukan oleh time quantum, namun dalam praktek penerapannya, algoritma multilevel feedback queue mendefinisikan terlebih dahulu parameter-parameternya, yaitu:
Jumlah antrian.
Algoritma internal tiap queue.
Aturan sebuah proses naik ke antrian yang lebih tinggi.
Aturan sebuah proses turun ke antrian yang lebih rendah.
Antrian yang akan dimasuki tiap proses yang baru datang.
Contoh:
    Terdapat tiga antrian; Q1=10 ms, FCFS Q2=40 ms, FCFS Q3=FCFS proses yang masuk, masuk ke antrian Q1. Jika dalam 10 ms tidak selesai, maka proses tersebut dipindahkan ke Q2. Jika dalam 40 ms tidak selesai, maka dipindahkan lagi ke Q3. Berdasarkan hal-hal di atas maka algoritma ini dapat digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan sistem. Pada zaman sekarang ini algoritma multilevel feedback queue adalah salah satu yang paling banyak digunakan.

Algoristma-algoritma yang menerapkan strategi preemptive:
1.      RR (Round Robin)
Penjadwalan Round-Robin merupakan penjadwalan preemptive, namun proses tidak di-preempt secara langsung oleh proses lain namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses maka penjadwalan ini disebut preempt-by-time.


Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses itu berkalan. Proses berjalannya selama 1 kwanta, kemudian penjadwal akan mengalihkan kepada proses berikutnya, juga untuk berjalan satu kwanta, begitu seterusnya sampai kembali pada proses pertama dan berulang.









2.      SRTF (Shortest Remaining Time First)



Perbedaan SRTF dengan SJF:

Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.

Pada SRTF proses sedang berjalan (Running) dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.

Kelemahan:
     SRTF mempunyai overhead yang lebih besar dibandingkan SJF. SRTF memerlukan penyimpanan waktu layanan yang telah dihabiskan proses dan kadang-kadang harus menangani peralihan.

        Secara teoritis SRTF memberi waktu tunggu minimum tapi karena adanya overhead peralihan maka pada situasi tertentu SJF bisa memberi kinerja yang lebih baik dibanding SRTF.

3.      PS (Priority Schedulling)

Priority Scheduling Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki priortas tertinggi.
Prioritas dapat diberikan secara :
Prioritas Statis
Prioritas statis berarti prioritas tak berubah
Keunggulan: mudah diimplementasikan dan mempunyai overhead relatif kecil
Kelemahan: penjadwalan tak tanggap terhadap lingkungan yang mungkin menghendaki penyesuaian prioritas.
Prioritas dinamis
Merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yanglebih tepat sesuai lingkungan.Kelemahan dari prioritas dinamis adalah  Implementasi mekanisme prioritas dinamis lebih kompeks dan mempunyai overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya tanggap sistem.

Contoh penjadwalan berprioritas:

     Proses-proses yang sangat banyak operasi I/O menghabiskan kebanyakan waktu menunggu selesainya operasi I/O. Proses-proses ini diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan, proses akan segera memulai permintaan I/O berikutnya hingga mengakibatkan proses blocked menunggu selesainya operasi I/O. Dengan demikian pe mroses dapat dipergunakan proses-proses lain. Proses-proses I/O bound berjalan paralel bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara proses-proses I/O bound itu menunggu selesainya operasi DMA.

    Proses-proses yang sangat banyak operasi I/O kalau harus menuggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani meori karena harus disimpan tanpa perlu prosesproses itu dimemori karena tidak selesai-selesai menunggu operai I/O dan menunggu jatah pemroses.
Keunggulan penjadwalan prioritas biasanya memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu kriteria yang diterapkan.

4.      GS (Guaranteed Schedulle)

    Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.

     Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naikketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis.
Read more...
 
BELAJAR TEKNOLOGI © 2019 Supported by Doa Ibu