Pages

Sunday, October 25, 2020

Penjadwalan Processor Pada Sistem Operasi Linux

Penjadwalan merupakan gugusan kebijaksanaan & prosedur pada sistem operasi yg berkaitan menggunakan urutan kerja yang dilakukan sistem komputer. Tujuan utama penjadwalan proses optimasi kinerja berdasarkan kriteria eksklusif, dimana kriteria untuk mengukur & meningkatkan secara optimal kerja penjadwalan. Penjadwalan CPU merupakan basis dari multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan menjadikan sistem operasi bisa menciptakan komputer produktif.

Pada sistem Operasi, masih ada tiga tipe penjadwal berada secara bersama-sama pada sistem operasi yg kompleks, yaitu:

1. Penjadwal jangka pendek (short term scheduller)

Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready pada memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses buat memilih proses berikutnya yang harus dijalankan.

Dua. Penjadwal jangka menengah (medium term scheduller)

Setelah eksekusi selama suatu ketika, proses mungkin menahan sebuah hukuman karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call.

3. Penjadwal jangka panjang (long term scheduller)

Penjadwalan ini bekerja terhadap antrian batch & menentukan batch berikutnya yang wajib dieksekusi. Batch umumnya berupa proses-proses dengan penggunaan sumber daya yg intensif (yaitu ketika pemroses, memori, masukan/keluaran), acara-acara ini berprioritas rendah, digunakan menjadi pengisi (supaya pemroses sibuk) selama periode aktivitas job-job interaktif rendah.

Status proses didefiniskan menjadi bagian menurut kegiatan proses yang sedang berlangsung saat itu. Status proses terdiri berdasarkan :

  1. New, proses sedang dibuat.
  2. Running, proses sedang dieksekusi.
  3. Waiting, proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
  4. Ready, proses menunggu jatah waktu dari CPU untuk diproses.
  5. Terminated, proses telah selesai dieksekusi.

 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkait Penjadwalan Processor Pada Sistem Operasi Linux

Masing-masing proses direpresentasikan sang Sistem Operasi dengan menggunakan Process Control Block (PCB). Informasi yg terdapat dalam setiap proses meliputi :

  1. Status Proses. New, ready, running, waiting dan terminated.
  2. Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
  3. CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
  4. Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
  5. Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh sistem operasi.
  6. Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses.
  7. Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka.
Swithing proses dari proses satu ke proses berikutnya, ditunjukkan seperti gambar berikut ini.

 Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkait Penjadwalan Processor Pada Sistem Operasi Linux

A. Kriteria Penjadwalan

Algoritma penjadwalan CPU yang tidak sama akan mempunyai disparitas properti. Untuk memilih prosedur pemecahan ini wajib dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yg dipakai buat melakukan pembandingan algoritma penjadwalan CPU, antara lain:

  1. CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.
  2. Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
  3. Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
  4. Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.
  5. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
  6. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

B. Dispathcer

Dispatcher merupakan suatu modul yang akan menaruh kontrol dalam CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yg terkandung pada dalamnya mencakup:

  1. Switching context;
  2. Switching ke user-mode;
  3. Melompat ke lokasi tertentu pada user program untuk memulai program. Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai untuk menjalankan proses yang lainnya disebut dispatch latency.

C. Algoritma Penjadwalan

Algoritma diharapkan untuk mengatur giliran proses-proses yg ada pada ready queue yang mengantri buat dialokasikan ke CPU. Beberapa prosedur pemecahan penjadwalan dijelaskan sebagai berikut :

  1. First Come First Served (FCFS) Scheduling. FCFS merupakan algoritma penjadwalan yang paling sederhana yang digunakan dalam CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai dengan waktu kedatangannya.
  2. Shortest Job First (SJF) Scheduling Pada algoritma ini setiap proses yang ada di ready queue 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.
  3. Priority Scheduling Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.
  4. Round Robin Scheduling. Algoritma ini menggilir proses yang ada di antrian. Setiap proses mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya.

D. Implementasi Pada Sistem Operasi Linux

  1. Pada sistem operasi Linux, untuk melihat proses yang sedang terjadi, maka digunakan perintah ps. Apabila belum tahu perintah ps itu digunakan untuk apa, maka kita bisa tanya ke library menggunakan perintah man, kemudian diikuti nama perintahnya (#man ps), kemudian tekan enter
  2. Proses tree atau memperoleh informasi tentang threads dan security info, dapat dilakukan dengan melakukan scroll mouse ke arah bawah.
  3. Pada sistem operasi Linux Debian, untuk melihat proses yang terjadi dapat dilakukan dengan mengetikkan perintah ps pada terminal Linux.
  4. Pada sistem Linux, terdapat banyak cara untuk menangani eksekusi-eksekusi perintah. Diantaranya, diberi kesempatan untuk membuat daftar perintah dan menentukan kapan perintah dijalankan oleh sistem. Misalnya perintah “at” digunaka
  5. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan. Sedangkan pada option -u yang disertai untuk mencari proses yang spesifik pemakai. n untuk memberi peluang menjalankan program berdasarkan waktu yang ditentukan.
  6. Untuk menampilkan proses Parent dan Child maka ketikkan perintah #ps –eH,
  7. Untuk menampilkan semua proses pada sistem dalam bentuk hirarki parent/child, maka dilakukan dengan mengetikkan perintah # pstree

Penjadwalan CPU merupakan basis berdasarkan multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan membuahkan sistem operasi sanggup membuat personal komputer produktif.

No comments:

Post a Comment