Sistem
Operasi Dalam Sistem Perangkat Keras Komputer
Secara umum, Sistem Operasi adalah perangkat lunak pada
lapisan pertama yang ditempatkan pada memori komputer pada
saat komputer dinyalakan booting.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan,
dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan
tugas schedule
task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas
inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan
"kernel" suatu Sistem Operasi.
Fungsi sistem operasi komputer secara umum adalah sebagai
berikut:
1. Sistem Operasi Sebagai
Kordinator.
Dalam hal ini sistem operasi
berfungsi untuk mengatur semua aktivitas yang kompleks dari perangkat lunak
sistem/perangkat lunak aplikasi yang sedang dijalankan agar dapat berjalan
sesuai dengan urutan yang benar. Selain mengatur semua aktivitas perangkat
lunak, sistem operasi juga bertugas mengatur/mengelola semua aktivitas yang
berhubungan dengan hardware, baik input device ataupun output device.
2. Sistem Operasi Sebagai
Penghubung.
Sistem operasi komputer berfungsi
untuk menyiapkan serta menghubungkan program aplikasi agar dapat
berinteraksi dengan perangkat keras secara konsisten dan stabil.
3. Sistem Operasi Sebagai Pelindung.
Hal ini dimaksudkan bahwa salah satu
fungsi atau tugas dari sistem operasi adalah untuk memegang kendali proses,
melindungi file dan memberi batasan pada pembacaan dan penulisan serta
eksekusi data dan program. Sistem operasi juga dapat berfungsi sebagai
pengatur tentang siapa saja yang dapat mengakses file, program dan sistem yang
ada di komputer kita.
4. Sistem Operasi Sebagai
Interpretasi (penerjemah).
Sistem Operasi berfungsi sebagai
penerjemah perintah-perintah dan instruksi-instruksi antara User dan Sistem. Sebagai
fasilitas komunikasi yang mudah antara sistem komputer dan User (pengguna).
Hal ini 5. Sistem Operasi Sebagai
Server (Pelayan).
berarti fungsi dari sistem operasi
komputer adalah untuk melayani segala sesuatu yang dibutuhkan oleh seorang user
(pengguna).
Teknik Penjadwalan Sistem Operasi
A.
Pengertian
Penjadwalan atau scheduling adalah
sebuah metode dalam sistem operasi yang mengatur proses-proses yang akan
berjalan dalam suatu sistem operasi. Hal ini sangat diperlukan karena pada saat
ini komputer berbasiskan multiprogramming. Sehingga dalam suatu waktu akan
berlangsung dua atau lebih pemrosesan. Tanenbaum menyebutkan, bagian dari
sistem operasi yang membuat pilihan dinamakan scheduller, sedangkan algoritma
yang digunakan dinamakan schedulling algorithm.
Secara garis besar penjadwalan dibedakan menjadi dua
kelompok besar, yaitu:
1. Non-preemptive
Pada metode ini jika suatu proses
telah berjalan maka sistem operasi maupun operasi lain tidak dapat mengambil
alih eksekusi prosesor. Pengalihan prosesor hanya dapat dilakukan jika proses
yang sedang berjalan tadi telah berhenti. Metode ini digunakan pada sistem
batch dan sekuensial
2. Preemptive
Metode ini lebih canggih dari pada
non-preemptive, karena sistem operasi dan operasi lain dapat mengambil alih
eksekusi prosesor tanpa harus menunggu proses lain yang sedang running
berhenti. Metode ini digunakan pada sistem real time.
Proses penjadwalan yang dilakukan
oleh sistem operasi sebenarnya dipicu dari beberapa hal yaitu:
1. Proses berubah dari status running ke blocked, hal ini
dapat terjadi ketika suatu proses melakukan system call untuk meminta operasi
I/O
2. Proses berubah dari status running ke ready, hal ini
dapat terjadi ketika suatu proses yang berstatus running telah habis time
slice-nya.
3. Proses berubah dari status blocked ke ready, dalam hal
ini merupakan kelanjutan dari pemicu nomor 1 diatas, ketika permintaan terhadap
I/O telah terpenuhi maka proses yang tadinya berstatus blocked berubah menjadi
ready
4. Ketika suatu proses berhenti atau terminated. Hal ini
berarti suatu proses telah selesai dijalankan sehingga system operasi kemudian
akan menjalankan proses yang telah ready.
Penjadwalan
merupakan salah satu fungsi dasar dari
sistem operasi. Hampir semua sumber daya komputer dijadwalkan
sebelum digunakan.
• CPU-I/O
Burst Cycle
Kesuksesan penjadwalan CPU
tergantung dari observasi proses-proses. Pengeksekusian proses terdiri putaran
ekseskusi CPU dan penungguan I/O. Eksekusi proses dimulai
dari CPU burst, yaitu diikuti oleh I/O burst kemudian diikuti CPU burst
lainnya lalu I/O burst lainnya dan begitu seterusnya.
• Penjadwalan CPU
Ketika CPU
mengalami waktu idle, sistem operasi harus
memilih salah satu proses untuk masuk kedalam
antrian yang akan untuk dieksekusi.
Pemilihan tersebut dilakukan oleh penjadwal
jangka pendek atau penjadwal CPU. Penjadwalan memilih
proses yang ada di memori serta siap untuk dieksekusi, dan
mengalokasikan CPU untuk mengeksekusinya.
Penjadwalan CPU mungkin akan dijalankan ketika proses dalam
keadaan:
1. Berubah dari running ke waiting state.
2. Berubah dari running ke ready state.
3. Berubah dari waiting ke ready.
4. Terminates.
Penjadwalan nomor 1 dan 4 bersifat
non-preemptive atau cooperative sedangkan lainnya preemptive. Dalam penjadwalan
non-preemptive sekali CPU telah dialokasikan untuk sebuah proses,
maka tidak dapat di ganggu, penjadwalan
model seperti ini digunakan oleh Windows 3.x;
Windows 95 telah menggunakan penjadwalan preemptive
yaitu saat suatu proses sedang dieksekusi,
CPU dapat diambil alih oleh proses lain sehingga proses di tunda dan
dilanjutkan kembali hingga proses selesai.
• Kriteria
Penjadwalan
Setiap algoritma penjadwalan dapat
berbeda dengan nilai yang berbeda dan sistem komputer yang berbeda.
Dalam penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah:
- CPU Utilization. Kita menginginkan kerja CPU sesibuk mungkin. Konsepnya pemanfaatan
- CPU mempunyai jangkauan dari 0 sampai 100 persen. Di sistem yang sebenarnya mungkin hanya mempunyai jangkauan dari 40 (untuk pemanggilan ringan sistem) sampai 90 persen (pemanggilan berat sistem).
- Throughput. Pengukuran kinerja CPU adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, hasil kinerja bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
- Turnaround Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal, kita memilki sistem komputer yang identik dan proses-proses yang identik pula, namun kita memakai algoritma yang berbeda, algoritma yang mampu menyelesaikan proses yang sama dengan waktu yang lebih singkat mungkin lebih baik dari algoritma yang lain. Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses disebut turnaround time. Turnaround time adalah jumlah periode tunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi I/O atau waktu yang dihabiskan dari saat program atau job mulai masuk sistem sampai proses diselesaikan sistem.
- Turnaround = waktu eksekusi + waktu menunggu
- Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, karena hanya mempengaruhi jumlah waktu yang dibutuhkan proses diantrian ready. Waiting time adalah jumlah waktu yang dbutuhkan proses di antrian ready.
- Response time. Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna. ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Hal ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. Turnround time umumnya dibatasi oleh kecepatan peralatan keluaran.
Ada dua jenis
response time berdasarkan penggunaannya pada sistem
interaktif dan sistem waktu nyata (real time), yaitu:
1. Terminal response time
merupakan response time pada sistem
interaktif sebagai waktu yang dihabiskan dari saat
karakter terakhir dari perintah dimasukkan atau transaksi
sampai hasil pertama muncul di layar.
2. Event
response time
merupakan response time pada sistem waktu nyata sebagai waktu dan kejadian
(internal/eksternal) sampai instruksi pertama rutin layanan yang dimaksud
dieksekusi. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang
dilakukan adalah memaksimalkan penggunaan CPU dan throughput, dan
meminimalkan turnaround time, waiting time, dan
response time.
Algoritma Penjadwalan
Masalah penjadwalan CPU adalah
memutuskan proses mana yang berada di dalam antrian ready akan
dialokasikan ke CPU. Ada beberapa algoritma
penjadwalan CPU beberapa diantaranya akan di
jelaskan pada bagian berikut ini.
o First-Come
First-Served (FCFS)
Algoritma ini merupakan algoritma
penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan
algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam
antrian FIFO sesuai dengan waktu kedatangannya. Proses yang
tiba terlebih dahulu yang akan dieksekusi terlebih dahulu.
o Shortest-Job
First (SJF)
Algoritma ini mempunyai cara penjadwalan
yang berbeda dengan FCFS. Dengan algoritma ini maka setiap
proses yang ada di antrian ready 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, sehingga dapat
dikatakan bahwa algoritma ini adalah algoritma yang
optimal.
o Penjadwalan
dengan Prioritas
Priority Scheduling
merupakan algoritma penjadwalan yang mendahulukan
proses dengan nilai prioritas tertinggi. Setiap
proses memiliki prioritasnya masing-masing. Prioritas
suatu proses dapat ditentukan melalui beberapa karakteristik antara
lain:
a. Batas waktu
b. Kebutuhan Memori
c. Akses file
d. Perbandingan antara I/O Burst dengan
CPU Burst
e. Tingkat kepentingan proses
o Round Robin
Algoritma ini didesin untuk sistem time-sharing.
Proses akan mendapat jatah sebesar time quantum dengan nilai
quantum umumnya sebesar 10-100 ms. Jika time quantum-nya habis atau proses
sudah selesai CPU akan dialokasikan ke
proses berikutnya. Tentu proses ini cukup
adil karena tak ada proses yang diprioritaskan, semua proses
mendapat jatah waktu yang sama dari CPU (1/n), dan tak akan menunggu
lebih lama dari (n-1)/q.
o Antrian
Multilevel (Multilevel Queue)
Ide dasar dari algoritma ini adalah berdasarkan pada
sistem prioritas proses. Prinsipnya adalah, jika setiap proses dapat
dikelompokkan berdasarkan prioritasnya.
o Multilevel Feedback
Queue
Algoritma ini mirip sekali
dengan algoritma Multilevel Queue. Perbedaannya
ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika
suatu proses menyita CPU terlalu lama, maka proses itu akan
dipindahkan ke antrian yang lebih rendah. Ini menguntungkan proses interaksi,
karena proses ini hanya memakai waktu CPU yang sedikit.
Demikian pula dengan proses yang menunggu terlalu
lama. Proses ini akan dinaikkan tingkatannya.
0 komentar:
Posting Komentar