Penjadwalan Proses dan Perintah-perintah seputar Penjadwalan

Tugas Praktikum 4 Sistem Operasi

Assalamu’alaikum. Halo again. Kita akan berkutat kembali dengan dunia Linux setelah beberapa detik yang lalu saya post mengenai manajemen proses :p.

Oke, langsung saja kita mulai bahas tuntas mengenai process scheduling. Jadi, penjadwalan proses merupakan suatu operasi yang akan menjalankan suatu proses pada waktu yang telah ditentukan/dijadwalkan. Adapun tujuan dari penjadwalan proses adalah agar proses-proses berjalan secara konkuren dan untuk memaksimalkan kinerja dari CPU (diperoleh dengan multiprogramming).

Skenario dari penjadwalan sendiri dibagi menjadi dua kondisi. Pertama adalah preemptive (p) , yaitu kondisi yang mengijinkan proses lain dieksekusi  walaupun masih ada proses yang sedang berjalan. Sedangkan yang kedua adalah non-preemptive (np) yang sekali CPU telah dialokasikan untuk sebuah proses, maka tidak bisa diganggu.

non-preemptive : running to waiting state dan terminates

preemptive : running to ready state dan waiting to ready

Lalu, ada pula algoritma penjadwalan yang terdiri dari:

-First-Come, First-Served (non-preemptive), proses yang pertama datang, akan dieksekusi terlebih dahulu.

-Shortest-Job-First, akan mendahulukan proses dengan burst time terkecil. Bisa menggunakan dua skenario, NP dan P.

-Priority

-Round-robin

-Multilevel Queue

-Multilevel Feedback Queue

Nah, selanjutnya kita akan melihat perintah-perintah yang digunakan untuk melakukan proses penjadwalan.

Crontab

Crontab digunakan untuk melakukan suatu proses pada jadwal yang teratur. Selain itu, bisa juga melihat perintah-perintah yang telah dijadwalkan dan menghapusnya.
Adapun syntax dari crontab ada sebagai berikut:
* * * * * /suatu/perintah/
Ket:
Bintang *1 merupakan jadwal dengan satuan menit (0-59)
Bintang *2 satuan jam (0-23)
Bintang *3 satuan hari/tanggal (1-31)
Bintang *4 satuan bulan (1-12)
Bintang *5 hari dari satu minggu (0-6 dimana 0 = minggu dan 6 = sabtu)
Adapula syntax khusus seperti
@reboot perintah dikerjakan setiap komputer direboot
@yearly setiap setahun sekali
@annually
@monthly setaip satu bulan
@weekly per minggu
@daily per hari
@midnight
@hourly per jam
Pada terminal, sebelum menggunakan crontab, jika belum diinstal, silahkan install terlebih dahulu. Kemudian, perintah crontab terdiri dari:
  • crontab -e
Mengedit / menambah perintah

crontab -e(1)

crontab -e(2)

  • crontab -l
Melihat daftar perintah yang sudah dijadwalkan
crontab -l
file
  • crontab -r
Menghapus seluruh proses yang dijadwalkan
crontab -r
At
perintah yang dijalankan sekali pada waktu tertentu, setelah diketikkan perintahnya tekan ctrl + D, maka perintah akan dimasukan ke antrian.
Syntax nya:
– at <waktu> PM. contoh:  at 14.40 PM
– atq
-atrm <nomer_job>
Selesai sudah pembahasan kita kali ini. Semoga bermanfaat. Terima kasih dan mohon maaf jika terdapat kesalahan dalam penyampaian.
Wassalammu’alaikum.
cs.upi.edu
Sumber:
“Modul Sistem Operasi 5 Process Schedulling” Antonius Rachmat C, S.Kom, M.Cs.

Advertisements

Manajemen Proses dan Perintah-perintah Proses pada Terminal Linux

Tugas Praktikum 3 Sistem Operasi

Assalamu’alaikum 😀

Kembali lagi kita, untuk membahas mengenai seputar Linux. Setelah beberapa waktu lalu, saya menjelaskan mengenai Seputar Linux dan Basic Command, kali ini saya akan membahas mengenai manajemen proses dan perintah-perintah yang berkaitan dengan proses melalui terminal Linux Deepin.

PROSES

Nah, langsung saja kita mulai. Jadi, apa itu proses?

Proses merupakan suatu program yang sedang dieksekusi (running). Dalam Linux, setiap program yang berjalan merupakan proses. Alokasi proses berupa batch, multiprogramming dan multitasking. Proses dapat diciptakan dan dapat dimusnahkan. Proses yang pertama kali diciptakan di Linux, disebut init.

Adapun, hal-hal yang dicatat ketika suatu program sedang dalam proses/running adalah:

  • program counter : variabel untuk menyimpan alamat suatu proses yang akan dieksekusi selanjutnya
  • stack / heap : tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi secara dinamis
  • data section : berisi variabel global dari suatu proses
  • text : berisi kode program nya

Kemudian, status proses terdiri dari:

  • New : pada saat proses pertama kali dibuat
  • Running : pada saat proses sedang dieksekusi
  • Waiting : proses menunggu suatu event lain (contoh: proses I/O)
  • Ready : proses siap untuk dieksekusi
  • Terminated : pada saat proses sudah selesai dieksekusi

Ada empat konsep dasar pada manajemen proses.

Multiprogramming : tugas yang running tetap berjalan hingga task tersebut melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar.

Pseudoparallelism : Eksekusi proses secara paralel pada sistem.
Multiprocessing : kemampuan pemrosesan komputer yang dilakukan secara simultan.
Distributed Processing : menjalankan semua proses secara simultan dengan komputer lainnya dan saling terhubung melalui jalur komunikasi.
Adapun operasi proses terdiri dari : penciptaan, penghancuran, penundaan, pelanjutan, mengeblok, membangunkan, menjadwalkan, dan komunikasi antar proses.
Perintah-perintah Proses
Setelah sekilas dibahas mengenai proses, selanjutnya kita akan bahas mengenai perintah-perintah berkaitan dengan proses yang dapat kita lakukan melalui terminal. Oke, berikut saya jelaskan beberapa perintah nya :
1. ps (process status)
Untuk melihat kondisi proses yang ada.
Ket:
PID -> Process ID (nomor identitas proses).
TTY -> nama terminal dimana proses tersebut aktif
CMD -> instruksi yang digunakan
1 ps
2. ps -a
Melihat proses yang baru dijalankan
2 ps -a
3. ps -au
Melihat proses yang dijalankan dan ditambahkan keterangan root
4 ps -au
4. ps -aux
Gabungan dari beberapa perintah di atas
ps -aux
5. ps -u
%CPU -> presentasi CPU time yang digunakan oleh proses tersebut,
%MEM -> presentasi system memori yang digunakan proses,
VSZ -> jumlah memori yang digunakan,
RSS (Real System Storage) -> jumlah memori yang digunakan,
START -> kapan proses tersebut diaktifkan STAT berisi S (Sleeping) dan R (Running),
COMMAND -> merupakan instruksi yang digunakan.
3 ps -u
6. ps -u (nama user)
Mencari proses yang spesifik dari user
ps -u irsyadhhs
7. top
menampilkan proses yang running
top
8. ps -eH
Menampilkan hubungan proses parent dan child
5 ps eh
9. ps -eF
Sama seperti ps -eH, hanya saja ditambah keterangan letak proses nya.
ps -eF
10. pstree
Menampilkan proses parent/child dalam bentuk pohon (dengan indentasi).
pstree
Nah, selain beberapa perintah di atas, ada juga perintah “kill %<nomor job>” atau “kill <PID>”, lalu pkill <nama_proses> atau pkillall <nama_proses>  untuk “mengahancurkan”  suatu proses, dan juga perintah renice <prioritas><PID> untuk mengubah urutas prioritas suatu proses.
Baiklah, itu beberapa pengetahuan mengani manajemen proses dan perintah-perintah yang berkaitan. Semoga apa yang disampaikan dapat memberi manfaat. Terimakasih dan mohon maaf bila ada kesalahan penyampaian.
Wassalammu’alaikum Wr. Wb.
cs.upi.edu
Sumber:
header image : softpedia-static.com
“Modul SO Manajemen Proses” Tim Asisten Dosen Praktikum SO 2016
“Modul Sistem Operasi 3 Process” Antonius Rachmat C, S.Kom, M.Cs