Kamis, 06 September 2018

4.4 menyajikan hasil manajemen sistem operasi jaringan

MENYAJIKAN HASIL MANAJEMEN SISTEM OPERASI JARINGAN

Manajemen proses merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi. Proses adalah program yang sedang dieksekusi. Proses dapat juga didefinisikan sebagai unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Proses berisi instruksi, data, program counter, register pemroses, stack data, alamat pengiriman dan variabel pendukung lainnya.Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut.

 Tiap proses mungkin adalah satu dari keadaan berikut ini:􏰀 New: Proses sedang dikerjakan/ dibuat.􏰀 Running: Instruksi sedang dikerjakan.􏰀 Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O􏰀 Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.􏰀 Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.PROCESS CONTROL BLOCKTiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – jugadisebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 2. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:􏰀 Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyaklagi.􏰀 Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankanuntuk proses ini.􏰀 CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangankomputer.􏰀


PENJADWALAN PROSES

                  Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU.Tujuan dari pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu sering sehingga pengguna dapat berinteraksi dengan setiap program sambil CPU bekerja. Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan dapat dijadualkan kembali.Terdapat 3 konsep dasar Penjadwalan proses yaitu :Penjadualan Antrian (Scheduling Queue)Ketika proses memasuki sistem, mereka diletakkan dalam antrian job. Antrian ini terdiri dari seluruh proses dalam sistem. Proses yang hidup pada memori utama dan siap dan menunggu/ wait untuk mengeksekusi disimpan pada sebuah daftar bernama ready queue. Antrian ini biasanya disimpan sebagai daftar penghubung. Sebuah header ready queue berisikan penunjuk kepada PCB-PCB awal dan akhir. Setiap PCB memiliki pointer field yang menunjukkan proses selanjutnya dalam ready queue.Penjadual / SchedulerSebuah proses berpindah antara berbagai penjadualan antrian selama umur hidupnya. Sistemoperasi harus memilih, untuk keperluan penjadualan, memproses antrian-antrian ini dalam cara tertentu. Pemilihan proses dilaksanakan oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/ disimpan pada suatu alat penyimpan masal (biasanya disket), dimana proses tersebut disimpan untuk eksekusi dilain waktu. Penjadualan long term, atau penjadual job, memilih proses dari pool ini dan mengisinya kedalam memori eksekusi.Alih Konteks / Switch ContextMengganti CPU ke proses lain memerlukan penyimpanan suatu keadaan proses lama (state of oldprocess) dan kemudian beralih ke proses yang baru. Tugas tersebut diketahui sebagai alih konteks (context switch). Alih konteks sebuah proses digambarkan dalam PCB suatu proses; termasuk nilai dari CPU register, status proses (lihat Gambar 7). dan informasi managemen memori. Ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah disimpan dari process baru yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori, jumlah register yang harus di copy, dan keberadaan instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro detikOPERASI PADA PROSESProses dalam sistem dapat dieksekusi secara bersama-sama, proses tersebut harus dibuat dan dihapus secara dinamis. Maka, sistem operasi harus menyediakan suatu mekanisme untuk pembuatan proses dan erminasi proses. Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses.

 Operasi tersebut adalah :a. Penciptaan prosesb. Penghancuran/terminasi prosesc. Penundaan prosesd. Pelanjutan kembali prosese. Pengubahan prioritas prosesf. Memblok prosesg. Membangunkan prosesh. Menjadwalkan prosesi. Memungkinkan proses berkomunikasi dengan proses lainPembuatan ProsesMelibatkan banyak aktivitas, yaitu :a. Memberi identitas prosesb. Menyisipkan proses pada senarai atau tabel prosesc. Menentukan prioritas awal prosesd. Menciptakan PCBe. Mengalokasikan sumber daya awal bagi proses

                 Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.

Kejadian yang dapat menyebabkan penciptaan proses :a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job). Sistem operasi dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job berikutnya.b. Pada lingkungan interaktif, ketika pemakai baru berusaha logon.c. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu. Sistem operasi menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu.d. Proses penciptaan proses lain (proses anak). Untuk mencapai modularitas atau mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses, 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.Penghancuran / Terminasi ProsesPenghancuran proses melibatkan pembebasan proses dari sistem, yaitu :a. Sumber daya-sumber daya yang dipakai dikembalikan.b. Proses dihancurkan dari senarai atau tabel sistem.c.PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan,yaitu :a. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.b. Beberapa sistem lain menganggap proses anak independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.Alasan penghancuran proses :

1 Selesainya proses secara manual. Proses mengeksekusi panggilan layanan sistem operasi untuk menandakan bawah proses telah berjalan secara lengkap.2 Batas waktu telah terlewati. Proses telah berjalan melebihi batas waktu total yang dispesifikasikan.3 Memori tidak tersedia. Proses memerlukan memori lebih banyak daripada yang dapat disediakan sistem.4 Pelanggaran terhadap batas memori Proses mencoba mengakses lokasi memori yang tidak diijinkan diakses.5 Terjadi kesalahan karena pelanggaran proteksi6 Terjadi kesalahan aritmatika7 Waktu telah kedaluwarsa8 Terjadi kegagalan Masukan/keluaran9 Instruksi yang tidak benar10 Terjadi usaha memakai nstruksi yang tidak Diijinkan11 Kesalahan Penggunaan data Bagian data adalah tipe yang salah atau tidak diinisialisasi.12 Diintervensi oleh sistem operasi13 Berakhirnya proses induk14 Atas permintaan dari proses induk


Proses yang Kooperatif                    Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakaan menjadi yaitu proses independent dan proses kooperatif. Suatu proses dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem.Komunikasi Proses Dalam Sistem                    Cara lain untuk meningkatkan efek yang sama adalah untuk sistem operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk berkomunikasi dengan yang lain lewat sebuah komunikasi dalam proses (IPC = Inter-Process Communication). IPC menyediakan sebuah mekanisme untuk mengizinkan proses- proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi ruang alamat yang sama. IPC adalah khusus digunakan dalam sebuah lingkungan yang terdistribusi dimana proses komunikasi tersebut mungkin saja tetap ada dalam komputer-komputer yang berbeda yang tersambung dalam sebuah jaringan. IPC adalah penyedia layanan terbaik dengan menggnakan sebuah sistem penyampaian pesan, dan sistem- sistem pesan dapat diberikan dalam banyak cara.Sistem Penyampaian Pesan                        Fungsi dari sebuah sistem pesan adalah untuk memperbolehkan komunikasi satu dengan yang laintanpa perlu menggunakan pembagian data. Sebuah fasilitas IPC menyediakan paling sedikit dua operasi yaitu kirim (pesan) dan terima (pesan). Pesan dikirim dengan sebuah proses yang dapat dilakukan pada ukuran pasti atau variabel. Jika hanya pesan dengan ukuran pasti dapat dikirimkan, level sistem implementasi adalah sistem yang sederhana. Pesan berukuran variabel menyediakan sistem implementasi level yang lebih kompleks.Berikut ini ada beberapa metode untuk mengimplementasikan sebuah jaringan dan operasipengiriman/penerimaan secara logika:Komunikasi langsung atau tidak langsung.Komunikasi secara simetris/ asimetris.Buffer otomatis atau eksplisit.engiriman berdasarkan salinan atau referensi.Pesan berukuran pasti dan variabel.


THREADModel proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuahprogram yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.Konsep DasarSecara informal, proses adalah program yang sedang dieksekusi. Ada dua jenis proses, proses berat(heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang disebut thread.Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan threadlain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.User ThreadsUser thread didukung oleh kernel dan diimplementasikan oleh thread library ditingkat pengguna.Library mendukung untuk pembentukan thread, penjadualan, dan managemen yang tidak didukung olehkernel.

Kernel ThreadsKernel thread didukung secara langsung oleh sistem operasi: pembentukan thread, penjadualan, dan managemen dilakukan oleh kernel dalam ruang kernel. Karena managemen thread telah dilakukan oleh sistem operasi, kernel thread biasanya lebih lambat untuk membuat dan mengelola daripada pengguna thread.Model MultithreadingDalam sub bab sebelumnya telah dibahas pengertian dari thread, keuntungannya, tingkatan ataulevelnya seperti pengguna dan kernel. Sistem-sistem yang ada sekarang sudah banyak yang bisa mendukung untuk kedua pengguna dan kernel thread, sehingga model-model multithreading-nya pun menjadi beragam. Implementasi multithreading yang umum akan kita bahas ada tiga, yaitu model many-to-one, one-to-one, dan many-to-many.

Model Many to OneModel many-to-one ini memetakan beberapa tingkatan pengguna thread hanya ke satu buah kernelthread.
 Managemen proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi efisien, tetapi apabila sebuah thread melakukan sebuah pemblokingan terhadap sistem pemanggilan, maka seluruh proses akan berhenti (blocked). Kelemahan dari model ini adalah multihreads tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor dikarenakan hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.

Model One to OneModel one-to-one memetakan setiap thread pengguna ke dalam satu kernel thread. Hal ini membuat model one-to-one lebih sinkron daripada model many-to-one dengan mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem pemanggilan; hal ini juga mengizinkan multiple thread untuk berjalan secara parallel dalam multiprosesor. Kelemahan model ini adalah dalam pembuatan thread pengguna dibutuhkan pembuatan korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi maka kebanyakan dari implementasi model ini membatasi jumlah thread yang didukung oleh sistem. Model one-to-one diimplementasikan oleh Windows NT dan OS/2.

Model Many to Many
Beberapa tingkatan thread pengguna dapat menggunakan jumlah kernel thread yang lebih kecil atau sama dengan jumlah thread pengguna. Jumlah dari kernel thread dapat dispesifikasikan untuk beberapa aplikasi dan beberapa mesin (suatu aplikasi dapat dialokasikan lebih dari beberapakernel thread dalam multiprosesor daripada dalam uniprosesor) dimana model many-to-one mengizinkan pengembang untuk membuat thread pengguna sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu. Model one-to-one mempunyai konkurensi yang lebih tinggi, tetapi pengembang harus hati-hati untuk tidak membuat terlalu banyak thread tanpa aplikasi dan dalam kasus tertentu mungkin jumlah thread yang dapat dibuat dibatasi.

3.5 menganalisis proses service dan event sistem operasi jaringan 3.6 memahami cara penjadwalan proses


MENGANALISIS PROSES SERVICE DAN EVENT SISTEM OPERASI JARINGAN



Layanan pada Sistem Operasi Jaringan
Services on the Server of Network Operating System. Seperti telah dibahas pada postingan sebelumnya, sistem operasi jaringan atau Network Operating System (NOC) merupakan sebuah sistem operasi untuk mengkoordinasikan kegiatan dari beberapa komputer dalam sebuah jaringan. Sistem operasi ini tentu berbeda dengan sistem operasi seperti Windows, Mac OS, atau UNIX yang dirancang untuk single user untuk mengendalikan satu komputer. Sistem Operasi ini menyediakan fungsi khusus untuk :

    menghubungkan sejumlah komputer dan perangkat lainnya ke sebuah jaringan
    mengelola sumber daya jaringan
    menyediakan layanan
    menyediakan keamanan jaringan bagi multiple users

Umumnya, sistem operasi ini terdiri atas banyak layanan atau service yang ditujukan untuk melayani pengguna, seperti:

    layanan berbagi berkas (file sharing)
    layanan berbagi alat pencetak (printer sharing)
    DNS Service
    HTTP Service, dan sebagainya.

Di sisi server, layanan sistem operasi jaringan diantaranya:
1. Mail Server
Mail server yaitu layanan atau perangkat lunak program yang mendistribusikan file atau informasi sebagai respons atas permintaan yang dikirim via email, juga digunakan pada bitnet untuk menyediakan layanan serupa http://FTP.

2. DHCP Server
DHCP atau Dinamyc Host Configuration Protocol adalah sebuah layanan yang secara otomatis memberikan nomor IP kepada komputer yang memintanya. Komputer yang memberikan nomor IP inilah yang disebut sebagai DHCP server, sedangkan komputer yang melakukan request disebut DHCP Client.

3. Web Server
Web Server adalah layanan server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Salah satu server web yang terkenal di linux adalah Apache. Apache merupakan server web antar platform yang dapat berjalan di beberapa platform seperti Linux dan Windows.

Web Server juga merupakan sebuah komputer yang menyediakan layanan untuk internet. Server disebut juga dengan host. Agar anda dapat memasukkan web yang anda rancang ke dalam internet, maka anda harus memiliki ruangan terlebih dahulu dalam internet (hosting), ruangan inilah yang disediakan oleh server.

4. DNS Server
DNS atau Domain Name System adalah distribute database system yang digunakan untuk pencarian nama komputer di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS server berfungsi untuk menterjemahkan (mentranslasi) IP address sebuah server menjadi nama domain. DNS digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address.

DNS dapat disamakan fungsinya dengan buku telepon. Dimana setiap komputer di jaringan Internet memiliki host name (nama komputer) dan Internet Protocol (IP) address. Secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. Lalu komputer anda akan menghubungi DNS server untuk mencek host name yang anda minta tersebut berapa IP address-nya. IP address ini yang digunakan untuk mengkoneksikan komputer anda dengan komputer lainnya.

Sebagai contoh, http://aantomatika.blogspot.com mempunyai IP address 223.255.219.30. Ketika seseorang mengakses blog tersebut yang berarti merequest situs http://aantomatika.blogspot.com, DNS request tersebut akan diarahkan oleh DNS server ke server yang memiliki IP address 223.255.219.30.

5. FTP Servers
FTP (File Transfer Protocol) server adalah layanan sistem operasi yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.

FTP client adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file berupa download, upload, rename file, deleting file, dll sesuai dengan permission yang diberikan oleh FTP server. Tujuan dari FTP server adalah sebagai berikut :

    sharing data
    menyediakan indirect atau implicit remote computer
    menyediakan tempat penyimpanan bagi user
    menyediakan transfer data yang reliable dan efisien

6. Proxy Server
Proxy server adalah server yang berfungsi melayani permintaan dokumen World Wide Web dari pengguna internet, dapat menyimpan sementara (cache) file html server lain untuk mempercepat akses internet. Dapat dikatakan proxy server bekerja dengan menjembatani komputer (program internet seperti browser, download manager dan lainnya) ke internet.










CARA PENJADWALAN PROSES


Deskripsi Penjadwalan Proses
                Penjadwalan merupakan kumpulan 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
Sasaran Utama Penjadwalan Proses
Optimasi kinerja menurut kriteria tertentu.
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
  1. Adil (fairness), proses – proses diperlakukan sama yaitu mendapat jatah pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami startvation. Sasaran penjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
  2. Efisiensi, Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum.
  3. Waktu Tanggap (Response Time)
Waktu tanggap berbeda untuk:
-          Sistem Interaktif
-          Sistem waktu nyata
Waktu tanggap pada sistem interaktif
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil terakhir muncul di layar (terminal).
Waktu tanggap ini disebut juga terminal rensponse time.
Waktu tanggap pada sistem waktu nyata
Pada sistem waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut juga event response time.
Sasaran penjadwalan adalah meminimalkan waktu tanggapnya
  1. Turn Arround Time
Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan job) dan waktu menunggu.
Turn arround time = waktu eksekusi + waktu menunggu
Sasaran penjadwalan adalah meminimalkan turn arround time.

  1. Throughput
Throughput 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.


2 TIPE-TIPE PENJADWALAN
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
  1. Penjadwalan jangka pendek (short-term scheduller)
  2. Penjadwalan jangka menengah (medium-term scheduller)
  3. Penjadwalan jangka panjang (long-term scheduller)
Penjadwalan Jangka Pendek
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.
Sasaran utama penjadwalan ini memaksimumkan kinerja untuk memenuh satu  kumpulan kriteria yang diharapkan. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya  yang harus dijalankan.

Penjadwalan jangka menengah
                Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan I/O atau memanggil suatu system call.
                Agar ruang memori bermanfaat, maka proses dipindahkan dari memori utama ke memori skunder agar tersedia ruang untuk proses-proses lain
                aktivitas pemindahan proses yang ditunda dari memori utama ke memori sekunder dsb swapping
Penjadwal jangka menengah:
•       Menangani proses-proses swapping
•       Mengendalikan transisi dari suspended-to-ready proses-proses swapping

            Begitu penyebab tertunda hilang maka proses dimasukan kembali ke memori utama dan ready


Penjadwalan jangka panjang
                Penjadwalan 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 pemroses, memori, perangkat masukan atau keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktifitas job-job interaktif rendah.
              Sasaran utama penjadwalan jangka panjang adalah memberi keseimbangan job-job campuran.



3 STRATEGI  PENJADWALAN
Terdapat 2 strategi penjadwalan, yaitu:
  1. Penjadwalan nonpreemptive (run-to-completion)
  2. Penjadwalan Preemptive
Penjadwalan nonpreemptive
                Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
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-sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
•       Pada sistem-sistem interaktif time-sharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.

4 Algoritma-algoritma Penjadwalan
•       Terdapat banyak algoritma penjadwalan, baik nonpreemptivemaupun preemptive .
•       Algoritma-algoritma yang menerapkan strategi nonpreemptive di antaranya:
•       FIFO (First-in,First out) atau FCFS (First-come,First serve).
•       SJF (Shortest Job First).
•       HRN (Highest-Ratio Next).
•       MFQ(Multiple Feedback Queues).
•       Algoritma-algoritma yang menerapkan strategi preemptive di antaranya:
•       RR (Round-Robin).
•        SRF  (Shortest-Remaining-First).
•        PS  (Priority Schedulling).
•        GS (Guaranteed Schedulling).
Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil alih secara paksa adalah klasifikasi berdasarkan adanya prioritas di proses-proses, yaitu:
  1.  Algoritma penjadwalan tanpa berprioritas.
  2.  Algoritma penjadwalan berprioritas,terdiri dari:
•        Algoritma penjadwalan  berprioritas statik.
•        Algoritma penjadwalan berprioritas dinamis.

4.1  Penjadwalan Round-Robin (RR)
Penjadwalan ini merupakan:
•        Penjadwalan preemptive, bukan di-preempt  oleh proses lain tapi oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time.
•        Penjadwalan tanpa prioritas.
•       Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice dimana proses itu berjalan.
Ketentuan
Ketentuan algoritma round robin adalah sebagi berikut:
  1. Jika kwanta habis dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain
  2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked  dan pemroses dialihkan ke proses lain.
3. Jika kwanta belum habis tapi proses telah selesai maka proses diakhiri dan pemroses di alihkan ke proses lain
Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
•       Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
•       Ambil proses yang berada di ujung depan antrian menjadi running.
•       Bila kwanta belum habis dan proses selesai maka ambil proses diujung depan antrian proses ready.
•       Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah penjadwalan ini adalah menentukan besar kwanta, yaitu :
•       Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
•       Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga menurunkan efisiensi pemroses.
Harus ditetapkan 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 :
•       Fairness
    Penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses.
•       Efisiensi
    Penjadwalan RR cenderung efisien pada sistem interaktif.
•       Waktu tanggap (response time)
    Penjadwalan RR memuaskan untuk sistem interaktif, tidak memadai untuk sistem waktu nyata.
•       Turn arround time
    Penjadwalan RR cukup bagus.
•       Throughput
                Penjadwalan RR cukup bagus.
Penggunaan
•       cocok untuk sitem interactive-time sharing dimana kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain.

4.2 PenjadwalanFIFO(first-in,first-out)
Penjadwalan ini merupakan:
•       Penjadwalan non-preemptive (run-to-completion).
•       Penjadwalan tidak berprioritas.
Ketentuan
Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu :  
•       Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
•       Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantiks / arti antrian, yaitu proses yang datang duluan, dilayani duluan juga), tapi dinyatakan 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 digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya:
•       Keputusan berdasarkan prioritas proses. Untuk proses-proses berprioritas sama diputuskan berdasarkan FIFO.
Berdasarkan kriteria penilaian penjadwalan.
•       Fairness
Penjadwalan FIFO adil bila dipandang dari semantik antrian.
•       Efisiensi
Penjadwalan FIFO sangat efisiensi.
•       Waktu tanggap(response time)
Penjadwalan FIFO sangat jelek, tidak cocok untuk sistem interaktif apalagi waktu nyata.
•       Turn arround time
                Penjadwalan FIFO jelek.
•       Throughput
                Penjadwalan FIFO jelek.
Penggunaan
•       cocok untuk sistem batch yang sangat jarang interaksi dengan pemakai. Contoh aplikasi aplikasi analisis numerik, pembuatan tabel.
•       Penjadwalan ini sama sekali tak berguna untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus.

4.3 Penjadwalan Berprioritas (ps)
•       Ide penjadwalan adalah tiap proses diberi prioritas dan proses berprioritas  tertinggi running (mendapat jatah waktu pemroses).
•       Prioritas dapat diberikan secara:
•       Prioritas statis (static priorities).
•       Prioritas dinamis (dynamic priorities).
Prioritas statis
                prioritas statis berarti  prioritas tak berubah.
Keunggulan
•       Mudah diimplementasikan.
•       Mempunyai overhead relatif kecil.
Kelemahan
•       Penjadwalan tak tanggap perubahan lingkungan yang mungkin menghendaki  penyesuaian prioritas.
Prioritas Dinamis
                Prioritas dinamis merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.
                Kelemahan
                Implementasi mekanisme prioritas dinamis lebih kompleks 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 segara diberikan, proses akan segera memulai permintaan I/O berikutnya sehingga menyebabkan proses blockedmenunggu selesainya operasi I/O.
                Dengan demikian pemroses 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 masukan/keluaran kalau harus menunggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori karena harus disimpan  tanpa perlu  proses-proses itu di memori karena tidak selesai-selesai menunggu operasi masukan dan menunggu jatuh pemroses.
               
4.4 Penjadwalan dengan banyak antrian (MFQ)
Penjadwalan ini merupakan:
•       Penjadwalan preemptive (by-time)
•       Penjadwalan berprioritas dinamis
Penjadwalanini untuk mencegah banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemeroses (karena menyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam suatu waktu.
Penjadwalan ini menghendaki kelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya berjalan empat kwanta, dan seterusnya. Kententuan yang berlaku adalah sebagai berikut:
•       Jalankan proses kelas tertinggi.
•       Jika proses menggunakan seluruh kwanta yang di alokasikan maka diturunkan kelas prioritas-nya.
•       Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.
Mekanisme ini dapat mencegah proses yang perlu berjalan lama swapping bekali-kali dan mencegah proses-proses interaktif yang singkat harus menunggu lama
Penggunaan 
Sistem dengan banyak proses lambat, memerlukan waktu lama dan juga terdapat banyak proses singkat.

4.5 Penjadwalan terpendek(SJF)

Penjadwalan ini merupakan:
Penjadwalan non-preemptive(run-to-completion).
Penjadwalan tak berprioritas
Penjadwalan ini mengansumsikan waktu jalan proses (sampai selesai) diketahui sebelumnya. Mekanisme penjadwalan adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai. Penjadwalan mempunyai evisien tinggi dan turn arround time rendah.

contoh
Terdapat empat proses A, B, C, D dengan waktu jalan selama 8, 7, 6, 5 kwanta.
•       Gambar 5-3(a) menunjukan penjadwalan cara I, dengan proses-proses dijadwalkan berurutan sebagai A, B, C, D

•       Gambar 5-3(b) menunjukan bila proses-proses dijadwalkan secara SJF yaitu berurutan D,C,B,A

Soal dan jawaban teori kejuruan TKJ 2016

1. Tempat dimana Processor dipasang adalah letak dan merupakan fungsi dari... A. Socket Processor B. Slot Memory C. Nort Bridge D....