Selasa, 29 November 2016

PENJADWALAN PROSES DAN PENJADWALAN TUGAS

PENJADWALAN PROSES
Pengertian proses sebagaimana telah dijelaskan pada materi sebelumnya merupakan program
yang dieksekusi. Penjadwalan proses biasa digunakan untuk menyatakan kegiatan penjadwalan yang dilakukan sistem operasi terhadap proses yang berjalan.Sedangkan penjadwalan tugas (task) adalah
penjadwalan yang dilakukan oleh user (administrator) untuk menyelesaikan satu atau lebih
tugas tertentu. 
PENJADWALAN PROSES
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem yang berkaitan
dengan urutan kerja yang dilakukan. Pada sistem operasi, penjadwalan bertugas memutuskan:
Proses yang harus berjalan Kapan dan selama berapa lama proses itu berjalan. Sasaran utama penjadwalan proses Ada banyak proses yang dikelola oleh sistem secara bersamaan
(pseudoparalleism). Oleh karena itu, perlu adanya pengaturan eksekusi dalam hal ini penjadwalan ekskusi proses agar semuanya dapat berjalan secara optimal. Berikut ini beberapa kriteria yang banyak digunakan untuk menentukan penjadwalan tersebut.
  • ADIL (FAIRNESS)
Kriteria ini menunjukkan bahwa setiap proses seharusnya dilayani secara merata oleh sistem
operasi.
  • EFISIENSI
Efisiensi ini terkait dengan kemampuan sistem operasi untuk memanfaatkan pemroses semaksimal mungkin dalam menyelesaikan semua proses yang ada.
  • WAKTU TANGGAP (RESPONSE TIME)
Waktu tanggap ini berbeda untuk sistem interaktif dan sistem waktu nyata (real time).Pada
sisem interaktif waktu tanggap didefinisikan sebagai waktu yang diperlukan untuk menjalankan
suatu proses dari saat karakter terakhir dari perintah atau transaksi dimasukkan sampai hasil
pertama muncul dilayar. Nama lain dari waktu tanggap ini adalah terminal response time.
Pada sistem waktu nyata (real time) waktu tanggap didefinisikan sebagai waktu yang diperlukan
oleh sistem operasi untuk menjalankan proses dari saat kejadian (baik internal atau eksternal)
sampai instruksi pertama dari proses tersebut dieksekusi.Waktu ini sering juga disebut dengan
istilah event response time.
  • TURN AROUND TIME
Ini adalah waktu yang diperlukan oleh suatu proses dieksekusi oleh sistem operasi mulai dari saat proses masuk ke sistem hingga eksekusi berakhir.
  • THROUGHPUT
Dalam kaitannya dengan penjadwalan throughput adalah nilai yang menunjukkan jumlah proses
yang dapat dijalankan oleh sistem operasi pada selang waktu tertentu.Sasaran dari penjadwalan
terkait dengan ini adalah memperbesar nilainya. Lebih tinggi throughput, lebih banyak kerja
yang dapat dilakukan oleh sistem dalam satu waktu sehingga lebih banyak yang dapat diselesaikan.
TIPE-TIPE PENJADWALAN
penjadwalan dibagi menjadi tiga tipe, yakni:
  •  Penjadwal jangka pendek. Penjadwalan ini digunakan untuk menentukan proses apa yang
akan dijalankan berikutnya setelah proses saat ini berakhir.
  • Penjadwal jangka menengah. Penjadwal ini digunakan untuk menanganai proses-proses
yang perlu dipindahkan dari memori utama ke memori sekunder.Pemindahan ini dikenal dengan sebutan swapping.
  • Penjadwal jangka panjang. Dengan adanya penjadwal ini akan memungkinkan sistem
operasi menjalankan proses-proses yang memiliki prioritas rendah.
STRATEGI PENJADWALAN
Terdapat dua strategi penjadwalan, yaitu:
• Penjadwalan nonpreemptive (run-to-completion). Pada penjadwalan ini proses yang
mendapatkan kesempatan dieksekusi oleh pemroses (CPU) akan dijalankan sampai selesai
sebelum menjalankan proses lainnya.
• Penjadwalan preemptive. Ini merupakan kebalikan dari nonpreemptive, dimana untuk satu
proses yang sedang dieksekusi oleh pemroses memiliki kemungkinan untuk dihentikan
sementara dan eksekusi dialihkan ke proses lainnya.
ALGORITMA PENJADWALAN
Terdapat sangat banyak algoritma penjadwalan, baik nonpreemptive ataupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive di antaranya:
• FIFO (First In First Out)
• SJF (Shortest Job First)
• HRN (Highest Ratio Next)
• MFQ (Multiple Feedbback Queues)
Sedangkan algoritma-algoritma yang menerapakan 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 prioritas di proses-proses, yaitu:
• Algoritma penjadwalan tanpa prioritas
• Algoritma penjadwalan berprioritas, terdiri dari algoritma penjadwalan berprioritas statik
dan dinamis.
PENJADWALAN TUGAS
Penjadwalan ini dimaksudkan untuk memberikan kesempatan bagi user (administrator) untuk
melakukan tugas-tugas pengelolaan sistem komputer tanpa harus berada di tempat.Terdapat
dua jenis penjadwalan berdasarkan waktu terjadinya, yakni: penjadwalan waktu berulang dan
penjadwalan waktu tertentu. pada penjadwalan waktu berulang, suatu program yang telah
ditetapkan akan dijalankan berkali-kali.Sedangkanpada penjadwalan waktu tertentu program akan dijalankan hanya satu kali sesuai waktu yang telah ditetapkan. Terdapat dua aplikasi yang ada di Linux untuk penjadwalan ini, yakni cron (command run on) dan atd. Cron berguna untuk penjadwalan berulang, sedangkan atd untuk waktu tertentu.Pada sistem Linux ada banyak penjadwalan yang dapat dilakukan, seperti rotasi file log, pembaruan basisdata untuk program locate, backup, skrip perawatan (misalnya, penghapusan file temporari).Pembatasan terhadap user yang dapat membuat pejadwalan ini dapat dilakukan melalui file /etc/cron.allow, sedangkan file /etc/cron.deny digunakan untuk memblok user.
FORMAT FILE CRONTAB
File crontab yang digunakan untuk menyimpan penjadwalan user memiliki format berikut.
MenitJamTanggalBulanHariUserPerintah
Keterangan: 
Menit =Menyatakan menit eksekusi perintah. Dapat berisikan nilai 0-59 atau *
(semua nilai) atau X/n, dimana X adalah nilai (0-59 atau *) dan n adalah intervalnya.
Jam = Menyatakan jam eksekusi perintah. Dapat berisikan nilai 0-23 atau * atau X/n.
Tanggal= Tanggal eksekusi perintah, memiliki nilai antara 1-31
Bulan= Bulan eksekusi perintah, dengan rentang nilai 1-12
Hari= Hari eksekusi perintah, menyatakan hari dalam seminggu mulai dari 0-7 dengan 1 adalah senin dan 0,7 adalah minggu. Selain dengan angka dapat juga dengan menggunakan nama hari 3 digit dalam bahasa inggris: Sun, Mon, dan seterusnya.
User = Berisikan nama user. Kolom ini menyatakan bahwa eksekusi perintah hanya akan dilakukan apabila user yang dimaksud aktif (sedang login atau menggunakan komputer).Hanya berlaku bagi file cron yang ada di /etc/crontab dan /etc/cron.d/.
Perintah =Perintah atau program yang akan dijalankan apabila nilai pada kelima kolom waktu diatas terpenuhi.
Selain menggunakan format kolom diatas cron juga dapat dinyatakan menggunakan format
berikut:
@waktu perintah
Keterangan:
@waktu diatas digunakan untuk menunjuk format waktu default yang telah ditentukan oleh
layanan cron. Berikut adalah  nilai @waktu yang dapat digunakan.
@yearly = perintah akan dijalankan tiap satu tahun sekali setiap tanggal 1 januari jam 00:00.
@monthly = Perintah akan dijalankan setiap bulan. Setiap tanggal 1 di bulan saat ini jam 00:00.
@weekly =Perintah akan dijalankan tiap minggu. Setiap hari minggu jam 00:00
@daily = Perintah akan dijalankan tiap hari. Setiap jam 00:00.
@hourly = Perintah akan dijalankan setiap jam. Tiap menit 0 dari tiap jam.

@reboot = Perintah akan dijalankan setiap komputer di restart.

Agar memiliki gambaran yang jelas mengenai kolom-kolom tersebut, berikut ini diberikan
contoh crontab yang dapat dihasilkan.
25 19 * * * $HOME/bin/get.pl
00 08 * * 1-5 $HOME/bin/dosomething
@reboot /usr/bin/dircproxy
PENJADWALAN TUGAS WAKTU TERTENTU
Sebagaimana telah dijelaskan pada materi sebelumnya, penjadwalan ini berkaitan dengan
eksekusi program yang hanya dijalankan sekali saja. Format perintah program ini adalah sebagai berikut, yang dapat dijalankan oleh semua user yang terdaftar pada sistem ini.
at waktu
keterangan:
waktu disini dapat dinyatakan dalam format berikut.
- hh:mm, hhmm, hh:mm AM/PM atau hhmm AM/PM, untuk jam dan menit, contoh: 11:12.
- now, untuk menjalankan perintah sekarang setelah perintah at.
- midnight, untuk menjalankan perintah jam 00:00 malam.
- noon, untuk jam 12 siang.
- teatime, untuk jam 4 sore.
- today, untuk menjalankan perintah hari ini.
- tomorrow, untuk menjalankan perintah esok hari.
- Tanggal dengan salah satu format berikut: mmddyy, mmddyyyy, mm/dd/yy, mm/dd/yyyy, dd.mm.yy, dd.mm.yyyy, atau nama-bulan dd. d untuk menyatakan tanggal, m bulan dan y tahun, serta jumlah huruf menyatakan jumlah digit yang dapat dituliskan.Variasi waktu lainnya adalah penggunaan kombinasi operator + dan – bersama dengan kata kunci minute, minutes, hour, hours, day, days, week, weeks, month, months, year, atau years.Berikut merupakan contoh penggunakan perintah at dengan waktu pengambilan diumpamakan adalah Sabtu, 4 Oktober 2014 jam 09:00 pagi.
Perintah at Waktu eksekusi.
at noon Jam 12 siang, 4 Oktober 2014
at midnight Jam 00:00, 5 Oktober 2014
at teatime Jam 4 sore, 4 Oktober 2014
at tomorrow Jam 9 pagi, 5 Oktober 2014
at noon tomorrow Jam 12 siang, 5 Oktober 2014
at next week Jam 9 pagi, 11 Oktober 2014
at next monday Jam 9 pagi, 6 Oktober 2014
at fri Jam 9 pagi, 10 Oktober 2014
at NOV Jam 9 pagi, 4 November 2014
at 9:00 AM Jam 9 pagi, 5 Oktober 2014
at 2:30 PM Jam 2:30 siang, 4 Oktober 2014
at 14:30 Jam 2:30 siang, 4 Oktober 2014
at 2:30 PM tomorrow Jam 2:30 siang, 5 Oktober 2014
at 2:30 PM next month Jam 2:30 siang, 4 November 2014
at 2:30 PM Fri Jam 2:30 siang, 10 Oktober 2014
at 2:30 PM 10/17 Jam 2:30 siang, 17 Oktober 2014
at 2:30 PM Oct 17 Jam 2:30 siang, 17 Oktober 2014
at 2:30 PM 10/17/2020 Jam 2:30 siang, 17 Oktober 2020
at 2:30 PM 17.10.20 Jam 2:30 siang, 17 Oktober 2020
at now + 30 minutes Jam 9:30 pagi, 4 Oktober 2014
at now + 1 hour Jam 10 pagi, 4 Oktober 2014
at now + 2 days Jam 9 pagi, 6 Oktober 2014
at 4 PM + 2 days Jam 4 sore, 6 Oktober 2014
at now + 3 weeks Jam 9 pagi, 25 Oktober 2014
at now + 4 months Jam 9 pagi, 4 Februari 2015
at now + 5 years Jam 9 pagi, 4 Oktober 2019

Berikut ini merupakan parameter tambahan yang dapat diberikan pada perintah at. - –l (huruf L), untuk menampilkan semua penjadwalan oleh user yang login saat ini dalam format 4 kolom, yakni id-jadwal, waktu eksekusi, status, dan user.Status a menyatakan antrian normal, b menyatakan penjadwalan batch, karakter yang lebih tinggi menunjukkan prioritas eksekusinya.- –d atau –r id-jadwal, untuk menghapus jadwal yang ditunjuk oleh id-jadwal.

Tidak ada komentar:

Posting Komentar

Pengunjung

Translate

Jam

My Banner

Cari Apapun Disini

Weekly most viewed