BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Sistem operasi atau dalam bahasa Inggris : operating
system atau OS adalah seperangkat program yang mengelola sumber daya perangkat keras komputer,
dan menyediakan layanan umum untuk aplikasi perangkat lunak.
Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa
sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer
mereka, kecuali program aplikasi booting.
Sistem operasi mempunyai penjadwalan yang sistematis
mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan
sumber daya lainnya.
Untuk fungsi – fungsi perangkat keras seperti sebagai
masukkan, keluaran dan alokasi memori, sistem operasi bertindak sebagai
perantara antara program aplikasi dan perangkat keras computer, meskipun kode
aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan
menghubungi OS.
1.2 Tujuan
Makalah ini bertujuan untuk menambah pemahaman
pembaca atau mahasiswa tentang kecanggihan teknologi Sistem Operasi terutama di bidang komputer pada masa – masa yang
akan datang.
BAB II
SISTEM OPERASI
2.1 Definisi Sistem Operasi
Pengertian sistem operasi secara umum ialah
pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan
menyediakan sekumpulan layanan (system calls) ke pemakai sehingga
memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem computer. Sistem operasi Komputer adalah perangkat lunak komputer
atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat
keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software
aplikasi seperti program-program pengolah data yang bisa digunakan untuk
mempermudah kegiatan manusia.Sistem
Operasi dalam bahasa Inggrisnya disebut Operating System, atau
biasa di singkat dengan OS.
2.2 Sejarah Perkembangan Sistem Operasi
Sistem Operasi mengalami perkembangan yang
dapat dibagi ke dalam 5 generasi. Yaitu
:
2.2.1
Generasi
ke-1 Vacuum Tubes dan Plugboards ( 1945 – 1955 )
Perkembangan awal
Sistem Operasi masih dilakukan secara manual dalam artian belum muncul adanya
Sistem Operasi yang secara otomatis, artinya belum mendukung layanan pekerjaan
yang dapat dilakukan dalam 1 rangkaian.
Berikut
karateristik sistem operasi generasi pertama :
Ø
Proses – proses masih sederhana dan diaktifkan
melalui console dan tombol – tombol
pada panel.
Ø
Punch card
/ paper.
Ø
Bahasa mesin.
Ø
Buffer,
flag register dan control bit lain.
Ø
Analytical Engine ( Charles Babbage ).
Ø
Calculating Engine menggunakan vacuum tubes.
Ø
Belum ada bahasa pemrograman.
Ø
Belum ada sistem operasi, system computer diberi
instruksi yang harus dikerjakan langsung.
Ø
Operasi menggunakan plugboard.
Ø
Pengenalan punched card.
2.2.2
Generasi
ke-2 Transistor dan Batch System ( 1955 – 1965 )
Di generasi ini
sudah diperkenalkannya perkejaan yang dapat dilakukan dalam 1 rangkaian atau
biasa disebut dengan Batch proccessing System.
Berikut karateristik sistem operasi generasi
kedua :
v
Teknologi storage
: magnetic tape
Ø
Tetap belum dilengkapi system operasi, tetapi beberapa
fungsi dasar SO sudah ada.
Ø
Program dan data dapat disimpan dalam media yang
berkapasitas besar dan relatif mudah di load.
Ø
Modul – modul perangkat lunak pendukung yang
membantu pengoperasian perangkat keras serta memberikan lingkungan yang lebih
baik bagi pembuat program aplikasi.
v
Hasil lebih lanjut : munculnya high level
language ( Fortran )
Ø
Sehingga penulisan program menjadi jauh lebih
mudah.
Ø
Pengenalan job ( program atau seperangkat
program ) untuk sistem batch sederhana.
v
Typical operating system : FMS ( Fortran Monitor
System ) dan IBSYS ( sistem untuk IBM 7094 ).
v
Tahapan pemrograman :
Ø
Program ( source code ) ditulis dalam bahasa
ybs.
Ø
Dikompilasi oleh compiler ke dalam assembly.
Ø
Ditranslasikan ke dalam bahasa mesin ( object code ) oleh assembler.
v
Tahapan eksukusi
Ø
Load compiler.
Ø
Me – load assembler.
Ø
Me – load linker.
Ø
Run executable code.
v
Sistem – sistem Batch Sederhana
Ø
Operator.
Ø
Programmer.
Ø
Automatic
Job Sequencing.
Ø
Resident Monitor.
v
Kelemahan Batch System
Ø Masih
ketergantungan pada operator manusia untuk setup dan sequencing.
Ø CPU
lebih banyak idle saat pergantian atau I/O.
2.2.3
Generasi
ke-3 IC dan Multiprogramming ( 1965 – 1980 )
Pada generasi
ketiga, Sistem Operasi sudah mendukung layanan Multi-User, Multi-Programming
dan Batch Proccessing System (Multi-Task).
Berikut
karateristik sistem operasi generasi ketiga :
Ø
IBM mengenalkan IBM 360 dengan sistem operasi
OS/360.
Ø
Menggunakan integrated circuit ( IC ).
Ø
Dapat menangani komputasi sains dan komersial.
Ø
Mengadopsi konsep ‘one family’.
Ø
Sistem operasi berukuran besar dan kompleks.
Ø
Mengenalkan multiuser ; computer memiliki
resource yang dapat digunakan oleh banyak orang sekaligus.
Ø
Mengenalkan multiprogramming.
Kebutuhan OS untuk Multiprogramming :
Ø
Fungsi/routine untuk I/O disediakan oleh sistem.
Ø
Manajemen memori : sistem harus dapat
mengalokasikan memori untuk beberapa job.
Ø
CPU scheduling : sistem harus mampu
mengorganisir penjadualan beberapa job yang di – run.
Ø
Pengalokasian devices.
2.2.4
Generasi ke-4 LSI,
VLSI dan Personal Computer ( 1980 – 1990 )
Berikut karateristik sistem operasi generasi keempat :
Ø
Pengembangan LSI dan VLSI melahirkan PC dan
Workstation.
Ø
Perangkat lunaknya ‘user friendly’.
Ø
Dua sistem operasi yang dominan.
Ø
MS-DOS ( pada IBM-PC dengan CPU Intel 8088,
80286, 80386, 80486 ).
Ø
UNIX ( pada Non-Intel computer dan workstation
).
Ø
RISC Chips.
Ø
Network Operating System.
Ø
Distributed Operating System.
2.2.5
Generasi ke-5 VLSI,
ULSI, Teknologi Nano Second, Internet, dan Multimedia ( 1990 – sekarang )
Berikut karateristik sistem operasi generasi kelima :
Ø
Pengembangan VLSI dan ULSI melahirkan PC yang
berbasis Pentium untuk server maupun workstation.
Ø
Pengembangan sistem operasi windows.
Ø
Pengembangan aplikasi yang berbasis Web atau
WWW.
2.3 Struktur Sistem Komputer
2.3.1 Parallel System
v Sistem multiprocessor di mana terdapat
lebih dari satu CPU.
v Tightly
coupled system-processor
membagi bersama ( sharing ) memori dan clock
; komunikasi terjadi biasanya melalui shared
memory.
v Keuntungan sistem parallel.
v Symmetric
multiprocessing ( SMP ).
v
Asymmetric multiprocessing.
2.3.2 Struktur Umum
Peer-to-Peer
v
Arsitektur
sistem terdistribusi
Ø
Tidak
ada kontrol tersentralisasi
Ø
Node-node
memiliki fungsi symmetric.
v
High
capacity
Ø
Many
disk
Ø
Many
network connection
Ø
Many
CPU
2.4 Struktur Sistem Operasi
2.4.1 Struktur Sistem Operasi
v Komponen Sistem
v Layanan Sistem Operasi
v System Calls
v Program System
v Struktur System
v Virtual Machines
v System Design dan Implementation
2.4.2 Komponen Sistem Umum
v Manajemen Proses
Ø Proses adalah sebuah program yang sedang dijalankan ( eksekusi ).
Ø Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan
manajemen proses.
v Manajemen Main-Memory
Ø Memory sebagai tempat penyimpanan instruksi/data dari program.
Ø Umumnya main memory bersifat ”volatile”-tidak permanent.Isinya akan hilang
jika komputer di matikan.
Ø Manajemen memory
v Manajemen Secondary-Storage
Ø Secondary Storage : penyimpanan permanen.
Ø OS bertanggung jawab untuk manajemen disk
v Manajemen I/O System
Ø Sering disebut manager.
Ø Komponen OS untuk sistem I/O.
v Manajemen File
Ø File : kumpulan informasi yang berhubungan ( sesuai dengan tujuan pembuat
file tersebut ).
Ø OS bertanggung jawab, membuat dan menghapus file, membuat dan menghapus
directory, dll.
v Command-Interpreter System
Ø OS : menunggu instruksi dari user ( command driven ).
Ø Program yang membaca instruksi dan mengartikan keinginan user ( lebih dari
sejenis ).
2.4.3 Layanan Sistem Operasi
v Eksekusi Program
v Operasi I/O
v Manipulasi File-system
v Komunikasi
v Deteksi Error
v Penggunaan System yang Efisien
2.4.4 System Call
Menyediakan interface antara
program ( user program yang berjalan ) dan menjadi jembatan antara proses dan
OS.
v Tipe System Calls
Ø Kontrol Proses
§ Mengakhiri dan membatalkan.
§ Mengambil dan eksekusi.
§ Membuat dan mengakhiri proses.
§ Menentukan dan mengeset atribut proses.
§ Wait for time.
§ Wait event, signal event.
§ Mengalokasikan dan membebaskan memori
Ø Manipulasi File
§ Membuat dan menghapus file.
§ Membuka dan menutup file.
§ Membaca, menulis dan mereposisi file.
§ Menentukan dan mengeset atribut file.
Ø Managemen Device
§ Meminta dan membebaskan device.
§ Membaca, menulis dan mereposisi device.
§ Menentukan dan mengeset atribut device.
Ø Informasi Lingkungan
§ Mengambil atau mengeset waktu atau tanggal.
§ Mengambil atau mengeset sistem data.
§ Mengambil atau mengeset proses, file atau atribut-atribut device.
Ø Komunikasi
§ Membuat dan menghapus sambungan komunikasi.
§ Mengirim dan menerima pesan.
§ Mentransfer status informasi.
2.4.5 Program Sistem
v Program Sistem
Ø Program sistem menyediakan kemudahan pembangunan program dan eksekusi.
Ø Kebanyakan user memandang sistem operasi sebagai program sistem, bukan
sebagai ”actual system calls”.
BAB III
MANAJEMEN PROSES
3.1 Konsep Proses
Secara formal,
Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode
progam, dimana kadang kala dikenal
sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi,
sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar
prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack,
yang berisikan data temporer (seperti parameter metoda, address yang kembali,
dan variabel lokal) dan sebuah data section, yang berisikan variabel global.
suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang
disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif,
dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya
untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
3.2 Definisi Proses
v
Terdapat
beberapa definisi mengenai proses, antara lain:
Ø
Merupakan
konsp pokok dalam operasi, sehingga masalah manajemen proses adalah masalah
utama dalam perancangan sistem operasi
Ø
Proses
adalah program yang sedang dieksekusi.
Ø
Proses
adalah unit kerja terkecil secara individu memiliki sumber daya dan dijadwalkan
oleh sistem operasi.
3.3 Perkembangan Konsep Proses
v Konsep proses berkembang sejalan dengan modus operasi sistem komputer :
Ø Fase-fase monoprogramming : pada suatu saat di memori hanya sebuah program
yang sedang dijalankan.
Ø Fase-fase multiprogramming : pada suatu saat di memori bisa terdapat
beberapa program yang sedang dijalankan.
v Konsep Proses Monoprogramming
Ø Program oleh proses monitor di-load ke memori, dieksekusi dan selesai.
Kemudian kontrol dikembalikan ke proses monitor.
Ø Status proses direkam dan di-print hanya diperlukan untuk keperluan
debugging.
3.4 Istilah Berkaitan Dengan Proses
v Multiprogramming ( multitasking )
Ø Manajemen banyak proses pada satu pemroses ( processor ).
Ø Istilah yang digunakan multiprogramming bukan multiprocessing.
Ø Program-program yang dijalankan sebenarnya bersifat :
§ Saling tak bergantungan ( independen ).
§ Satu program pada satu saat ( one program at any instant ).
v Multiprocessing
Ø Manajemen banyak proses di komputer multiprocessor.
v Distributed processing /
computin.
Ø Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang
tersebar.
3.5 Operasi – operasi Pada Proses
v Penciptaan proses ( create a process )
Ø Penciptaan proses melibatkan banyak aktivitas.
Ø Menamai ( memberi identitas ) proses.
Ø Menyisipkan proses pada senarai proses atau tabel proses.
Ø Menentukan prioritas awal proses.
Ø Menciptakan PCB.
Ø Mengalokasikan sumber daya awal bagi proses.
v Penghancuran / terminasi proses ( destroy a process )
Ø Penghancuran proses melibatkan pembebasan proses dari sistem.
Ø Sumber daya – sumber daya yang dipakai dikembalikan.
Ø Proses dihancurkan dari senarai atau tabel sistem.
Ø PCB dihapus ( ruang memori PCB dikembalikan ke pool memori bebas )
penghancuran lebih rumit bila proses telah menciptakan proses – proses lain.
Ø Pada beberapa sistem, proses – proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
Ø Beberapa sistem lain menganggap proses anak independen terhadap proses
induk, proses anak tidak secara otomatis dihancurkan saat proses induk
dihancurkan.
v Penundaan proses ( suspend a process ).
v Pelanjutan kembali proses ( resume a process ).
v Pengubahan prioritas proses.
v Mem – block proses.
v Membangunkan proses.
v Menjadwalkan proses.
v Memungkinkan proses berkomunikasi dengan proses lain.
BAB IV
THREAD
4.1 Definisi Thread
Thread adalah sebuah pengontrol
aliran program pelaksanaan program dengan menggunakan kendali tunggal. Operasi
yang paling Modern saat ini adalah sistem yang banyak sekali menyediakan
berbagai cara, dan memungkinkan suatu proses terkendali dengan baik.
4.2 Thread
v Program yang di eksekusi :
Ø Proses berat => proses
tradisional.
Ø Proses ringan => THREAD.
v Thread terdiri dari ID
thread, program counter, himpunan register dan stack.
v Thread dapat melakukan lebih
dari satu pekerjaan pada waktu yang sama
.
4.3 Jenis-jenis Thread
4.3.1 Single
thread
Ø hanya
mengeksekusi satu thread saja pada satu waktu.
4.3.2 Multi thread
Ø process dapat
mengeksekusi sejumlah thread dalam satu waktu.
4.4 Model Multi Thread
Sebelumnya, Perlu
diketahui apa itu user thread dan kernel Thread.
User thread>> yaitu pengolahan thread
dilakukan oleh user level (pengguna)
Kernel thread>> yaitu pengolahan thread
dilakukan oleh kernel komputer, User tidak dapat Menginterupsi.
Model-model Multithreading:
4.4.1
Many to one.
Ø Beberapa
thread user level dipetakan kedalam singel kernel thread.
Ø Penggunaanya
pada sistem tidak memerlukan dukungan kernel thread.
4.4.2
One to one
Ø Setiap
User-level thread dipetakan ke kernel Thread
Contoh : Windows 95/98/NT/2000
4.5 Keuntungan
v Tanggap.
v Pembagian Sumberdaya (
Resource Sharing ).
v Economis.
v Pemberdayaan arsitektur
multiprosesor.
BAB V
PENJADWALAN PROSES
5.1 Pengertian dan Sasaran Penjadwalan Proses
Penjadwalan proses merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer.
Adapun penjadwalan bertugas memutuskan :
·
Proses
yang harus berjalan
·
Kapan
dan selama berapa lama proses itu berjalan
Kriteria
untuk mengukur dan optimasi kinerje penjadwalan :
Ø Adil (fairness)
Adalah proses-proses yang diperlakukan sama,
yaitu mendapat jatah waktu
pemroses yang
sama dan tak ada proses yang tak kebagian layanan pemroses
sehingga mengalami
kekurangan waktu.
Ø Efisiensi (eficiency)
Efisiensi
atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu
sibuk
pemroses.
Waktu tanggap
(response time)
Waktu tanggap
berbeda untuk :
C.1
Sistem interaktif
Didefinisikan
sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah
dimasukkan atau transaksi sampai hasil pertama muncul di layar.
Waktu tanggap
ini disebut terminal response time.
C.2
Sistem waktu nyata
Didefinisikan
sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi
pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
Ø Turn around time
Adalah waktu
yang dihabiskan dari saat program atau job mulai masuk ke sistem
sampai proses
diselesaikan sistem. Waktu yang dimaksud adalah waktu yang
dihabiskan di
dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi
(waktu
pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu
eksekusi +
waktu menunggu.
Ø Throughput
Adalah jumlah
kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk
mengekspresikan
throughput adalah dengan jumlah job pemakai yang dapat
dieksekusi
dalam satu unit/interval waktu.
Kriteria-kriteria
tersebut saling bergantung dan dapat pula saling bertentangan
sehingga
tidak dimungkinkan optimasi semua kriteria secara simultan.
Contoh :
untuk memberi waktu tanggap kecil memerlukan penjadwalan yang
sering
beralih ke antara proses-proses itu. Cara ini meningkatkan
overhead
sistem dan mengurangi throughput.
Oleh karena
itu dalam menentukan kebijaksanaan perancangan penjadwalan
sebaiknya
melibatkan kompromi diantara kebutuhan-kebutuhan yang saling
bertentangan.
Kompromi ini bergantung sifat dan penggunaan sistem komputer.
v Sasaran penjadwalan berdasarkan
kriteria-kriteria optimasi tersebut :
Ø Menjamin tiap proses mendapat pelayanan
dari pemroses yang adil.
Ø Menjaga agar pemroses tetap dalam keadaan
sibuk sehingga efisiensi
mencapai maksimum. Pengertian sibuk adalah
pemroses tidak menganggur,
termasuk waktu yang dihabiskan untuk
mengeksekusi program pemakai dan
sistem operasi.
Ø Meminimalkan waktu tanggap.
Ø Meminimalkan turn arround time.
Ø Memaksimalkan jumlah job yang diproses
persatu interval waktu. Lebih besar
Ø angka throughput, lebih banyak kerja yang
dilakukan sistem
5.2 Tipe Penjadwalan
Terdapat 3 tipe penjadwal berada secara
bersama-sama pada sistem operasi yang
kompleks, yaitu:
5.2.1
Penjadwal jangka pendek (short term
scheduller)
Bertugas
menjadwalkan alokasi pemroses di antara proses-proses ready di
memori
utama. Penjadwalan dijalankan setiap
terjadi pengalihan proses untuk
memilih
proses berikutnya yang harus dijalankan.
5.2.2
Penjadwal jangka menengah (medium term
scheduller)
Setelah
eksekusi selama suatu waktu, proses mungkin menunda sebuah
eksekusi
karena membuat permintaan layanan masukan/keluaran atau
memanggil suatu system call. Proses-proses tertunda
tidak dapat membuat
suatu kemajuan
menuju selesai sampai kondisi-kondisi yang menyebabkan
tertunda
dihilangkan. Agar ruang memori dapat bermanfaat, maka proses
dipindah dari
memori utama ke memori sekunder agar tersedia ruang untuk
proses-proses
lain. Kapasitas memori utama terbatas untuk sejumlah proses
aktif.
Aktivitas
pemindahan proses yang tertunda dari memori utama ke memori
sekunder
disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu
sebagai
proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda
hilang dan
proses dimasukkan kembali ke memori utama dan ready.
5.2.3
Penjadwal jangka panjang (long term
scheduller)
Penjadwal ini
bekerja terhadap antrian batch dan memilih batch berikutnya yang
harus
dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan
sumber daya
yang intensif (yaitu waktu pemroses, memori, perangkat
masukan/keluaran),
program-program ini berprioritas rendah, digunakan sebagai
pengisi (agar
pemroses sibuk) selama periode aktivitas
job-job interaktif rendah.
5.3 Strategi Penjadwalan
Terdapat dua
strategi penjadwalan, yaitu :
5.3.1 Penjadwalan
nonpreemptive (run to completion)
Proses diberi
jatah waktu oleh pemroses, maka pemroses tidak dapat diambil
alih oleh
proses lain sampai proses itu selesai.
5.3.2 Penjadwalan
preemptive
Proses diberi
jatah waktu oleh pemroses, maka pemroses dapat diambil alih
proses lain,
sehingga proses disela sebelum selesai dan harus dilanjutkan
menunggu
jatah waktu pemroses tiba kembali pada proses itu. Berguna pada
sistem dimana
proses-proses yang mendapat perhatian/tanggapan pemroses
secara cepat,
misalnya :
a. Pada sistem realtime, kehilangan interupsi (tidak layani segera)
dapat
berakibat fatal.
b. Pada sistem interaktif, agar dapat menjamin waktu tanggap yang
memadai.
c. Penjadwalan secara
preemptive baik tetapi harus dibayar mahal. Peralihan
proses memerlukan overhead (banyak tabel yang
dikelola). Supaya efektif,
banyak proses harus berada di memori utama
sehingga proses-proses
tersebut dapat segera running
begitu diperlukan. Menyimpan banyak proses
tak running benar-benar di memori
utama merupakan suatu overhead
tersendiri.
5.4 Algoritma-algoritma Penjadwalan
Berikut jenis-jenis
algoritma berdasarkan penjadwalan:
5.4.1
Nonpreemptive,
menggunakan konsep :
Ø FIFO (First In First Out) atau FCFS (First
Come First Serve)
FIFO adalah penjadwalan paling sederhana,
yaitu :
·
Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
· Pada saat
proses mendapat jatah waktu pemroses, proses dijalankan sampai
selesai.
Ø SJF (Shortest Job First)
Penjadwalan
ini mengasumsikan waktu jalan proses sampai selesai diketahui
sebelumnya.
Mekanismenya adalah menjadwalkan proses dengan waktu jalan
terpendek
lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan
turn around
time rendah dan penjadwalannya tak berprioritas.
Ø HRN (Highest Ratio Next)
Merupakan
: Penjadwalan berprioritas dinamis. Penjadwalan untuk mengoreksi kelemahan
SJF.
Adalah
strategi penjadwalan dengan prioritas proses tidak hanya merupakan
fungsi waktu
layanan tetapi juga jumlah waktu tunggu proses. Begitu proses
mendapat
jatah pemroses, proses berjalan sampai selesai.
Ø MFQ (Multiple Feedback Queues)
Merupakan
: Penjadwalan berprioritas dinamis
Penjadwalan
ini untuk mencegah (mengurangi) banyaknya swapping dengan
proses-proses
yang sangat banyak menggunakan pemroses (karena
menyelesaikan
tugasnya memakan waktu lama) diberi jatah waktu (jumlah
kwanta) lebih
banyak dalam satu waktu. Penjadwalan ini juga menghendaki
kelas-kelas
prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan
selama satu
kwanta, kelas berikutnya berjalan selama dua kwanta, kelas
berikutnya
berjalan empat kwanta, dan seterusnya.
5.4.2
Preemptive,
menggunakan konsep:
Ø RR (Round Robin)
Merupakan :
·
Penjadwalan
yang paling tua, sederhana, adil,banyak digunakan algoritmanya
·
dan
mudah diimplementasikan.
·
Penjadwalan
ini bukan dipreempt oleh proses lain tetapi oleh penjadwal
·
berdasarkan
lama waktu berjalannya proses (preempt by time).
·
Penjadwalan
tanpa prioritas.
·
Berasumsi
bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas
tertentu.
Ø SRF (Shortest Remaining First)
Merupakan :
·
Penjadwalan
berprioritas.dinamis.
·
Adalah
preemptive untuk timesharing
·
Melengkapi
SJF
·
Pada
SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan,
termasuk proses-proses yang baru tiba.
·
Pada
SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
·
Pada
SRF, proses yang sedang berjalan (running) dapat diambil alih proses
baru dengan sisa waktu jalan yang diestimasi lebih rendah.
Ø PS (Priority Schedulling)
Adalah tiap
proses diberi prioritas dan proses yang berprioritas tertinggi mendapat
jatah waktu
lebih dulu (running). Berasumsi bahwa
masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan
berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas
tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas
100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70,
letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah
prioritas menggunakan perintah nice.
Ø GS (Guaranteed Schedulling)
Penjadwalan
ini memberikan janji yang realistis (memberi daya pemroses yang
sama) untuk
membuat dan menyesuaikan performance adalah jika ada N pemakai,
sehingga
setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.
Untuk
mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah
waktu CPU
untuk semua proses sejak login dan juga berapa lama pemakai sedang
login.
Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n,
sehingga
lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu
pemroses
tiap pemakai
dapat diketahui, maka dapat dihitung rasio antara waktu pemroses
yang
sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan
waktu pemroses
yang telah diperuntukkan proses itu.
BAB VI
PENUTUP
6.1 Kesimpulan
Sistem operasi (bahasa
Inggris: operating system ; OS) adalah seperangkat program yang mengelola
sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk
aplikasi perangkat lunak.
Sistem Operasi adalah software pada lapisan pertama
yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan
software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan
Sistem Operasi akan melakukan layanan inti umum untuk software-software itu.
Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling
task, dan antar-muka user. 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, dan
menyediakan layanan umum untuk aplikasi perangkat lunak.
Sistem operasi adalah jenis yang paling penting
dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi,
pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali
program aplikasi booting.
Sistem operasi mempunyai penjadwalan yang
sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan
data, dan sumber daya lainnya.
6.2 Saran
Demikian yang dapat kami paparkan mengenai materi
yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan
dan kelemahannya, kerena terbatasnya pengetahuan. Penulis banyak berharap para
pembaca memberikan kritik dan saran yang membangun kepada penulis demi
sempurnanya makalah ini. Semoga makalah ini berguna bagi penulis khususnya juga
para pembaca pada umumnya.
BAB VII
DAFTAR PUSTAKA
Upie. “Proses dan Thread dalam sistem operasi”. 08 Mei 2016.
Aristy Saputri. “Penjadwalan Proses”. 08 Mei 2016.
Ndar Sutisna. “Makalah Sistem
Operasi Komputer”. 08 Mei 2016.
Andi Zuhaeri. “Penjadwalan
Proses Sistem Operasi Komputer”. 08 Mei 2016.
0 komentar:
Posting Komentar