Penjadwalan Processor Pada Sistem Operasi Linux

Penjadwalan merupakan kumpulan akal dan prosedur di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Tujuan utama penjadwalan proses meningkatkan secara optimal kinerja berdasarkan kriteria tertentu, dimana kriteria untuk mengukur dan meningkatkan secara optimal kerja penjadwalan. Penjadwalan CPU yaitu basis dari multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan berakibat sistem operasi sanggup menciptakan komputer produktif.

Pada sistem Operasi, terdapat 3 tipe penjadwal berada secara bahu-membahu pada sistem operasi yang kompleks, yaitu:

1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk menentukan proses berikutnya yang harus dijalankan.

2. Penjadwal jangka menengah (medium term scheduller)
Setelah sanksi selama suatu waktu, proses mungkin menunda sebuah sanksi alasannya yaitu menciptakan undangan layanan masukan/keluaran atau memanggil suatu system call.

3. Penjadwal jangka panjang (long term scheduller)
Penjadwalan ini bekerja terhadap antrian batch dan menentukan batch berikutnya yang harus dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, dipakai sebagai pengisi (agar pemroses sibuk) selama periode acara job-job interaktif rendah.

Status proses didefiniskan sebagai bab dari acara proses yang sedang berlangsung ketika itu. Status proses terdiri dari :
  1. New, proses sedang dibuat.
  2. Running, proses sedang dieksekusi.
  3. Waiting, proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menuntaskan I/O atau mendapatkan sinyal).
  4. Ready, proses menunggu jatah waktu dari CPU untuk diproses.
  5. Terminated, proses telah simpulan dieksekusi.
 Penjadwalan merupakan kumpulan akal dan prosedur di sistem operasi yang berkait Penjadwalan Processor Pada Sistem Operasi Linux
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan memakai Process Control Block (PCB). Informasi yang terdapat pada setiap proses mencakup :
  1. Status Proses. New, ready, running, waiting dan terminated.
  2. Program Counter. Menunjukkan alamat berikutnya yang akan dihukum 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 warta wacana isyarat kondisi. Selama Program Counter berjalan, status warta harus disimpan pada ketika 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 dipakai 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 ibarat gambar berikut ini.
 Penjadwalan merupakan kumpulan akal dan prosedur di sistem operasi yang berkait Penjadwalan Processor Pada Sistem Operasi Linux
A. Kriteria Penjadwalan
Algoritma penjadwalan CPU yang berbeda akan mempunyai perbedaan properti. Untuk menentukan algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang dipakai untuk melaksanakan pembandingan algoritma penjadwalan CPU, antara lain:
  1. CPU utilization. Diharapkan semoga 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 simpulan dikerjakan dalam satu satuan waktu.
  3. Turnaround time. Banyaknya waktu yang diharapkan untuk mengeksekusi proses, dari mulai menunggu untuk meminta daerah di memori utama, menunggu di ready queue, sanksi oleh CPU, dan mengerjakan I/O.
  4. Waiting time. Waktu yang diharapkan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak menghipnotis sanksi proses dan penggunaan I/O.
  5. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani sampai ada respon pertama yang menanggapi undangan tersebut.
  6. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

B. Dispathcer
Dispatcher yaitu suatu modul yang akan memperlihatkan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yang terkandung di dalamnya meliputi:
  1. Switching context;
  2. Switching ke user-mode;
  3. Melompat ke lokasi tertentu pada user jadwal untuk memulai program. Waktu yang diharapkan 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 yang ada di ready queue yang mengantri untuk dialokasikan ke CPU. Beberapa algoritma penjadwalan dijelaskan sebagai berikut :
  1. First Come First Served (FCFS) Scheduling. FCFS merupakan algoritma penjadwalan yang paling sederhana yang dipakai dalam CPU. Dengan memakai 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 dihukum berdasarkan burst time terkecil. Hal ini menjadikan waiting time yang pendek untuk setiap proses dan alasannya yaitu hal tersebut maka waiting time rata-ratanya juga menjadi pendek.
  3. Priority Scheduling Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang mempunyai prioritas tertinggi. Setiap proses mempunyai prioritasnya masing-masing.
  4. Round Robin Scheduling. Algoritma ini menggilir proses yang ada di antrian. Setiap proses menerima 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 dipakai perintah ps. Apabila belum tahu perintah ps itu dipakai untuk apa, maka kita sanggup tanya ke library memakai perintah man, kemudian diikuti nama perintahnya (#man ps), kemudian tekan enter
  2. Proses tree atau memperoleh warta wacana threads dan security info, sanggup dilakukan dengan melaksanakan scroll mouse ke arah bawah.  
  3. Pada sistem operasi Linux Debian, untuk melihat proses yang terjadi sanggup dilakukan dengan mengetikkan perintah ps pada terminal Linux. 
  4. Pada sistem Linux, terdapat banyak cara untuk menangani eksekusi-eksekusi perintah. Diantaranya, diberi kesempatan untuk menciptakan daftar perintah dan menentukan kapan perintah dijalankan oleh sistem. Misalnya perintah “at” digunaka
  5. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU yaitu presentasi CPU time yang dipakai oleh proses tersebut, %MEM yaitu presentasi system memori yang dipakai proses, SIZE yaitu jumlah memori yang digunakan, RSS (Real System Storage) yaitu jumlah memori yang digunakan, START yaitu kapan proses tersebut diaktifkan. Sedangkan pada option -u yang disertai untuk mencari proses yang spesifik pemakai. n untuk memberi peluang menjalankan jadwal 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 yaitu basis dari multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan berakibat sistem operasi sanggup menciptakan komputer produktif.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel