Sistem Operasi
Sistem operasi
adalah program yang bertindak sebagai perantara antara user dengan perangkat
keras komputer. Sistem operasi digunakan untuk mengeksekusi program user dan memudahkan
menyelesaikan permasalahan user. Selain itu dengan adanya sistem operasi
membuat sistem komputer nyaman digunakan. Sistem operasi mempunyai tujuan untuk
menggunakan perangkat keras komputer secara efisien. Secara umum komponen
sistem komputer terdiri dari :
1.
Perangkat
Keras, merupakan
sumber daya utama untuk proses komputasi. Perangkat keras komputer terdiri dari
: CPU, memory dan perangkat input output.
2.
Sistem Operasi, mempunyai tugas untuk melakukan control dan
koordinasi penggunaan perangkat keras pada berbagai program aplikasi untuk
user-user yang berbeda.
3.
Program
Aplikasi, menentukan
cara sumber daya sistem digunakan untuk menyelesaikan permasalahan komputasi
dari user, contohnya compiler, sistembasis data, video games, program bisnis
dan lain-lain.
4.
User yang menggunakan sistem, terdiri dari orang,
mesin atau komputer lain.
Hubungan
antara komponen-komponen sistem komputer diatas dapat dilihat pada gambar
dibawah ini :
Gambar 4.1. Komponen –
komponen sistem operasi
Sistem operasi didefinisikan sebagai :
a. Resource allocator
Sistem operasi mengatur dan mengalokasikan sumber daya – sumber daya sistem
komputer
b.
Program control
Sistem operasi melakukan
control eksekusi dari program user dan operasi input output.
c.
Kernel
Sistem operasi sering
disebut kernel, yaitu suatu program yang berjalan sepanjang waktu (selain
program aplikasi).
Sistem Operasi adalah sebuah program yang mengontrol
eksekusi program aplikasi dan berperan sebagai interface (antar-muka) antara
pengguna komputer dengan hardware. Tujuannya:
1.
Convenience
Membuat komputer lebih mudah digunakan, lebih mudah
diperintah oleh pengguna (bukan programmer)
2.
Efficiency
Mengatur penggunaan resources (komponenkomponen
yang digunakan dalam eksekusi proses) pada komputer dengan efisien.
Letak Sistem Operasi dalam sebuah Sistem komputer :
Gambar 4.2. Letak sistem operasi
Gambar 4.3. Progress sistem operasi
A.
Sejarah,
Komponen dan Struktur Sistem Operasi
1.
Sejarah Sistem Operasi
Menurut Tanenbaum, sistem
operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam
empat generasi :
a.
Generasi
Pertama (1945-1955)
Generasi pertama merupakan
awal perkembangan sistem komputasi elektronik sebagai pengganti sistem
komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung
terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan
kesalahan. Pada generasi ini belum ada sistem operasi,
maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
b. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan
Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu
dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi
sistem operasi, tetapi beberapa bagian dari fungsi sistem operasi telah ada,
contohnya fungsi sistem operasi FMS (Fortran Monitoring System) .
c. Generasi Ketiga (1965-1980)
Pada generasi ini
perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai
sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara
on-line ke komputer, maka sistem
operasi menjadi multi-user (di gunakan banyak pengguna
sekali gus) dan multi-programming (melayani banyak program sekali gus).
d. Generasi Keempat
(Pasca 1980an)
Pada generasi ini , sistem
operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari
keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa
ini para pengguna juga telah dinyamankan dengan GUI (Graphical User Interface)
yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa
ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi
berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai
kinerja yang lebih baik.
e. Generasi Kelima
(Pasca 2001-Sekarang )
Mendefinisikan komputer generasi
kelima menjadi cukup sulit karena tahap ini masih dalam perjalanan. Contoh
imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel
karya Arthur C. Clarke berjudul 2001:Space Odyssey. HAL menampilkan seluruh
fungsi yang
diinginkan dari sebuah komputer generasi kelima.
Dengan kecerdasan buatan (artificial
intelligence), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan
manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri.
Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak
fungsi-fungsi yang dimilikinya sudah terwujud. Beberapa komputer dapat menerima
instruksi secara lisan dan mampu meniru nalar manusia.
Kemampuan untuk
menterjemahkan bahasa asing sekarang menjadi mungkin. Fasilitas ini tampak
sederhana. Namun
fasilitas tersebut menjadi jauh lebih rumit dari yang
diduga ketika programmer menyadari bahwa pengertia manusia sangat bergantung pada
konteks dan pengertian ketimbang sekedar menterjemahkan katakata secara langsung.
Banyak kemajuan di bidang
desain komputer dan teknologi semakin memungkinkan pembuatan komputer generasi
kelima. Dua kemajuan rekayasa yang terutama adalah kemampuan pemrosesan
paralel, yang akan menggantikan model non Neumann. Model non Neumann akan digantikan
dengan sistem yang mampu mengkoordinasikan banyak CPU untuk bekerja secara
serempak.
Kemajuan lain adalah
teknologi superkonduktor yang memungkinkan aliran elektrik tanpa ada hambatan apapun,
yang nantinya dapat mempercepat kecepatan informasi. Jepang adalah negara yang
terkenal dalam sosialisasi jargon dan proyek komputer generasi kelima.
Lembaga ICOT (Institute
for new Computer Technology) juga dibentuk untuk merealisasikannya. Banyak
kabar yang menyatakan bahwa proyek ini telah gagal, namun beberapa informasi
lain bahwa keberhasilan proyek komputer generasi kelima ini akan membawa perubahan
baru paradigma komputerisasi di dunia. Kita tunggu informasi mana yang lebih
valid dan membuahkan hasil.
Gambar 4.4.
Migrasi sistem operasi vs sistem komputer
Sistem komputer pendahulu secara fisik
berbentuk mesin besar yang disebut sistem mainframe. Untuk menjalankan sistem
ini dilakukan dari suatu console. Perangkat input yang digunakan berupa card
reader dan tape drive. Perangkat output yang digunakan berupa line
printer, tape drive dan card punch.
Kemudian, user menyiapkan job yang terdiri
dari program, data dan beberapa informasi kontrol (control card)
dan dikirimkan ke operator komputer. Job biasanya dalam bentuk punch card.
Beberapa waktu kemudian (dalam hitungan waktu
menit, jam atau hari), output ditampilkan. Output berupa hasil program, apabila
terjadi error pada program memory dan register akan berisi kosong. Sistem
operasi pada komputer mainframe sangat sederhana.
Task utama mengirim control secara otomatis dari satu job ke job berikutnya.
Sistem operasi selalu residen di memory yang disebut dengan resident monitor.
Gambar 4.4. adalah gambaran layout memori pada sistem batch sederhana.
Untuk meningkatkan kecepatan proses, job yang
sama perlu dikumpulkan bersama (batch) dan dijalankan oleh komputer
sebagai satu kelompok. Kemudian programmer memberikan program kepada operator.
Operator akan mengurut program yang sama dan kemudian komputer akan menjalankan
setiap kumpulan program tersebut. Output dari setiap job dikirim kembali kepada
programmer.
Untuk menghindari adanya waktu nganggur CPU
yang cukup lama maka dikembangkan suatu teknik mengurutan kerja job secara
otomatis. Teknik ini mampu mentrasfer kontrol secara otomatis dari suatu job
ke job berikutnya.
Inilah bentuk sistem operasi pertama kali.
Program kecil yang bersifat residen di memori berisi urutan-urutan job yang
akan berpindah secara oromatis inilah yang disebut dengan Resident Monitor.
Gambar 4.5. Memory layout pada simple batch system
a.
Pembuatan program kompilasi dari Assembly
b. Eksekusi program
c. Akses ke periferal /external device
d. Akses terstruktur ke file di dalam periferal
e. Akses ke seluruh perangkat dan resource sistem
f. Deteksi error dan handlingnya
g. Pengaturan sistem
h. Oleh karena itu sistem operasi dapat
dimanfaatkan untuk membantu mengatur organisasi resources (memory, prosesor,
disk, dsb) agar bekerja lebih efisien.
Jaman dahulu (1940an s/d 1950an), komputer tanpa S/O,
program (rangkaian proses) berinteraksi langsung dengan hardware melalui bhs
mesin. Operator komputer ingin bisa memasukkan banyak program sekaligus tanpa
harus ada operator standby: tiap satu program selesai, memasukkan program
berikutnya. Dikembangkanlah simple batch system untuk mengatur jalannya program
(inilah S/O awal). Bentuk modern : DOS
Kontrol Program Batch
Batch artinya berurutan, sequentially queued, Batch
operating system berbentuk sebuah program stay resident di memory. Program/job
disusun dulu oleh user dalam kartu plong atau magnetic tape, kemudian diberikan
kepada operator. Operator memasukkan program ke sistem. Tiap program/job dibaca
oleh monitor, disimpan ke memory. Program/job dijalankan oleh monitor sesuai dengan
urutan masuknya (batched)
Resident Monitor
membutuhkan:
a. Memory
Protection
b. Pemberitahuan Timer dan Interrupt Kontrol Program
Batch
c. Batasan
Instruksi Khusus untuk Menterjemahkan
bahasa kontrol (mis. Assembly)
Gambar 4.6. Resident
Monitor
Kontrol Program Batch awal :
Gambar 4.7. Program Bacth
Awal
1.
Boros waktu
2.
Tidak bisa menjalankan lebih dari satu program bersamaan - uniprogramming
Kontrol Program pengembangan :
Gambar 4.8. Program
pengembangan A, B
1. Hemat waktu
2. Lebih boros resource (pada penggunaan CPU)
3. Bisa menjalankan lebih dari satu program secara (seolah-olah)
bersamaan – multiprogramming.
Gambar 4.9. Program
pengembangan A, B, C
Gambar 4.10. Program pengguna Resource
Pada
kenyataannya tidak semua sistem operasi mempunyai struktur yang sama. Namun
menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem
operasi modern mempunyai komponen sebagai berikut:
a.
Managemen Proses
Proses adalah
keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan
beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat
berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen proses seperti:
a.
Pembuatan dan penghapusan proses pengguna dan sistem proses.
b.
Menunda atau melanjutkan proses.
c.
Menyediakan mekanisme untuk proses sinkronisasi.
d.
Menyediakan mekanisme untuk proses komunikasi.
e.
Menyediakan mekanisme untuk penanganan deadlock.
b.
Managemen Memori Utama
Memori utama
atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word
atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan
jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori
Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh
CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang
sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen memori seperti:
a.
Menjaga track dari memori yang sedang digunakan dan siapa yang
menggunakannya.
b.
Memilih program yang akan di-load ke memori.
c.
Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
c.
Managemen Secondary-Storage
Data yang
disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh
karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage
yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondary-storage
adalah harddisk, disket, dll.
Sistem operasi
bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-managementseperti:
free-space management, alokasi penyimpanan, penjadualan disk.
d.
Managemen Sistem I/O
Sering disebut device manager. Menyediakan "device
driver" yang umum sehingga operasi I/O dapat seragam (membuka,
membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama
untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk. Komponen
Sistem Operasi untuk sistem I/O:
a.
Buffer: menampung sementara data dari/ ke perangkat I/O.
b.
Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien
(antrian dsb.).
c.
Menyediakan
driver untuk dapat melakukan operasi "rinci" untuk perangkat
keras I/O tertentu.
e.
Managemen Berkas
Berkas adalah
kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas
tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori,
volume, dll.). Sistem operasi
bertanggung-jawab:
a.
Pembuatan dan penghapusan berkas.
b.
Pembuatan dan penghapusan direktori.
c.
Mendukung manipulasi berkas dan direktori.
d.
Memetakan berkas ke secondary storage.
e.
Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).
f.
Sistem Proteksi
Proteksi mengacu
pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor,
atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
a.
membedakan antara penggunaan yang sudah diberi izin dan yang belum.
b.
specify the controls to be imposed.
c.
provide a means of enforcement.
g.
Jaringan
Sistem
terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock.
Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung
melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke
bermacam sumber-daya sistem. Akses tersebut menyebabkan:
a.
Computation speed-up.
b.
Increased data availability.
c.
Enhanced reliability.
h.
Command-Interpreter System
Sistem
Operasi menunggu instruksi dari pengguna (command driven). Program yang
membaca instruksi dan mengartikan control statements umumnya disebut: control-card
interpreter, command-line,interpreter, dan UNIX shell. Command-Interpreter
System sangat bervariasi dari satu sistem operasi ke sistem operasi yang
lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada.
Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.
Sistem
komputer modern yang semakin kompleks dan rumit memerlukan sistem operasi yang
dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah
untuk dimodifikasi.
a.
Struktur Sederhana
Ada sejumlah
sistem komersial yang tidak memiliki struktur yang cuup baik. Sistem operasi
tersebut sangat kecil, sederhana dan memiliki banyak ketebatasan. Salah satu
contoh sistem tesebut adalah MS DOS dirancang oleh orang-orang yang tidak
memikirkan akan kepopuleran software tersebut.
Sistem operasi
tersebut terbatas pada hardware sehingga tidak terbagi terbagi menjadi
modul-modul seperti terlihat pada di bawah. Karena Intel 8088 tidak menggunakan
dual mode sehingga tidak ada proteksi harware.
Gambar 4.11. Struktur layer MS-DOS
b.
Sistem Monolitic
Pada dasarnya, sistem monolitic merupakan struktur sederhana yang
dilengkapi dengan operasi dual mode. Pelayanan (system calls) yang
diberikan oleh sistem operasi model ini dilakukan dengan cara mengambil
sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti
register atau stack, dan kemudian mengeksekusi suatu instruksi trap tertentu
pada monitor mode. Secara umum system calls dibuat dengan cara :
a.
user
program melakukan ‘trap’ pada kernel. Instruksi berpindah dari user mode ke
monitor mode dan mentransfer kontrol ke sistem operasi
b.
sistem
operasi mengecek parameter-parameter dari pemanggilan tersebut untuk menentukan
system call mana yang memanggil
c.
sistem
operasi menunjuk ke suatu tabel yang berisi slot ke –k yang menunjukkan system
call k
d.
setelah
system call selesai mengerjakan tugasnya, konrol akan dikembalikan pada
user program.
c.
Pendekatan Berlapis (Layered Approach)
Teknik
pendekatan berlapis pada dasarnya dibuat dengan cara membentuk sistem operasi
menjadi bentuk modular. Dengan menggunakan pendekatan top-down, semua
fungsi ditentukan dan dibagi menjadi komponen-komponen. Modularisasi sistem
dilakukan denga cara memecah sistem operasi menajdi beberapa lapis (tingkat).
Lapisan terendah (lapis-0) adalah hardware dan lapisan teratas (lapisan N)
adalah user interface.
Gambar 4.12. Lapisan sistem operasi
d.
Mesin Virtual
program =>
control program yang mengatur pemakaian sumber daya perangkat keras. Control
program = trap System call + akses ke perangkat keras. Control program
memberikan fasilitas ke proses pengguna. Mendapatkan jatah CPU dan memori.
Menyediakan interface "identik" dengan apa yang disediakan
oleh perangkat keras => sharing devices untuk berbagai proses.
Mesin Virtual (MV)
(MV) => control program yang minimal MV memberikan ilusi multitasking:
seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah
fungsi multitasking dan implementasi extended machine (tergantung
proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap
pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang
diinginkan pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer.
Contoh: IBM VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS,
CICS, dll. Masalah: Sharing disk => OS mempunyai sistem berkas yang mungkin
berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui
MV.
Konsep MV
menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV
terpisah dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing
sumberdaya secara langsung. MV merupakan alat yang tepat untuk penelitian
dan pengembangan sistem operasi. Konsep MV susah untuk diimplementasi
sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin
utama.
Gambar 4.13. Model mesin virtual
e.
Model Client Server
Trend dari
sistem operasi modern adalah memindahkan kode ke lapisan yang lebih tinggi dan
menghapusnya sebanyak mungkin dari sistem operasi sehingga akan meninggalkan
kernel yang minimal. Konsep ini biasanya diimplementasikan dengan cara
menjadikannya fungsi-fungsi yang ada pada sistem operasi menjadi user proses.
Jika suatu proses minta untuk dilayani, misalkan saja satu blok file, maka user
proses (client server) mengirim permintaan tersebut ke server proses.
Server proses
akan melayani permintaan tersebut ke server proses. Server proses akan mealyani
permintaan tersebut kemudian mengirimkan jawabannya kembali. Pada model ini,
semua pekerjaan kernel ditekankan pada pengendalian komunikasi antara client
dan server.
B.
Tinjauan
Sistem Operasi
Sistem operasi berkaitan
erat dengan pengoperasian computer. Computer merupakan perangkat elektronik
yang dirancang untuk membantu penyelesaian permasalahan yang dihadapi manusia.
Dewasa ini computer digunakan untuk menyelesaikan perhitungan akuntansi,
komputasi numeric, pengolahan basis data perusahaan, dan hiburan seperti memutar
video dan memainkan games. Dengan kata lain computer dapat digunakan untuk berbagai
tujuan. Sifat multiguna (general purpose) dari computer ini dikarenakan pengoperasian
computer tidak mengandalkan pada perangkat kerasnya semata tetapi komponen
lainnya.
System computer harus
memiliki 3 komponen yaitu perangkat keras (hardware), perangkat lunak
(software) dan pengguna (brainware). Manusia sebagai pengguna bertindak
sebagai operator yang berinteraksi dengan system komputer
menggunakan peranti input seperti keyboard, peranti penunjuk seperti mouse, dan
peranti output seperti monitor. Aksi pengguna akan diterjemahkan oleh perangkat
lunak menjadi instruksi untuk menjalankan perangkat keras komputer.
1.
Operasi
Dasar Komputer
Komputer merupakan alat
elektronik yang mampu melakukan beberapa tugas, yaitu menerima input, memproses
input sesuai dengan instruksi yang diberikan, menyimpan
perintah-perintah dan hasil pengolahannya serta
menyediakan output dalam bentuk informasi.
Dari definisi tersebut
terdapat 3 istilah yaitu input (data), pengolahan data (proses), dan informasi
(output).
a. Input : sarana atau media untuk memberi perintah pada
komputer agar komputer bisa bekerja secara efektif dan efisien.
b. Proses : kegiatan dimana semua intruksi-intruksi program
akan diolah dan hasilnya akan ditampilkan lewat output.
c. Output : hasil dari data yang telah diproses
2.
Komponen
Pokok System Komputer
Terdapat 3 komponen pokok
dalam system komputer yaitu:
1.
Hardware :
perangkat keras pada komputer yang meliputi CPU, monitor dll.
2. Software : program yang berisi instruksi-instruksi untuk melakukan suatu
proses pada komputer
3. Brainware : manusia yang menggunakan komputer.
3.
Port Pada
Komputer
Port adalah socket atau jack koneksi yang terletak
diluar unit system sebagai tempat kabel-kabel yang berbeda ditancapkan. Setiap
port pasti berbeda fungsi dan bentuk fisiknya.
Macam-macam port pada komputer:
1.
Serial : digunakan
untuk mentranmisikan data dari jarak jauh secara lambat seperti port pada
monitor
2.
Paralel : digunakan
untuk mentransmisikan data dari jarak yang pendek secara cepat. Port ini sering
dipakai untuk menghubungkan printer, tape backup
3.
USB : port yang
digunakan untuk mentransmisikan data hingga 127 periferal dalam rangkaian daisy
chain.
4.
PS/2 : disebut juga
port serial type 2 yang digunakan untuk menghubungkan keyboard dan mouse.
5.
LAN : digunakan untuk
menghubungkan komputer satu dengan komputer lainnya dalam suatu jaringan.
6.
VGA : digunakan untuk
menghubungkan monitor dengan CPU
7.
Sound : untuk
menghubungkan CPU dengan peralatan audio, terdiri dari 3 port yaitu line in,
line out, microphone.
8.
Power : digunakan
untuk menghubungkan power supply dengan CPU
4.
Booting
Booting adalah proses pemasukan arus listrik
kedalam peralatan komputer sehingga komputer dapat berkomunikasi dengan
pengguna. Tahap awal proses booting yang dilakukan system operasi adalah
bootstrap loader yang bertujuan untuk melacak semua I/O device yang terpasang
pada komputer.
Jenis booting ada 2 yaitu:
1. Hard Boot : booting saat pertama kali komputer dihidupkan dengan menekan
tombol power.
2. Soft Boot : booting dengan menekan tombol reset.
5.
Perangkat
Lunak
Perangkat lunak pada komputer dibedakan
menjadi 2 yaitu:
1.
Perangkat lunak system
: perangkat lunak pada komputer yang dirangkai untuk memberi perintah/mengatur
alat-alat pada system komputer.
a.
System operasi :
program yang dirancang untuk mengendalikan dan mengkoordinasikan kegiatan dari
system komputer Contohnya : windows, linux, unix, machintosh dll
b.
Bahasa pemrograman : perangkat
lunak yang berfungsi mengkonversikan algoritma ke dalam format yang bisa
dijalankan komputer Contohnya : Bahasa C, Pascal, Basic, Visual basic, Borland
Delphi, dll
c.
Utility Software :
perangkat lunak yang berfungsi untuk menyelesaikan permasalahan tertentu dalam
system komputer Contohnya : Norton utility.
2.
Perangkat lunak
aplikasi : program yang dibuat untuk menyelesaikan suatu aplikasi tertentu Contohnya
: pengolah kata, pengolah angka, database, presentasi, grafis, akuntansi, teknis,
permainan, olah data, dll.
6.
Proses
Kerja Komputer
Proses kerja dalam system komputer merupakan
proses pengolahan data menjadi informasi. Data adalah kumpulan angka, huruf,
karakter maupun symbol yang tidak memiliki arti. Informasi adalah data yang
disusun dan dikelompokkan sedemikian rupa sehingga memiliki arti/makna.
Bagan proses kerja komputer dapat dilihat
pada gambar dibawah :
Gambar 4.14. Proses
kerja komputer
Keterangan gambar:
Komputer menerima masukan berupa sejumlah
data yang nantinya akan masuk ke dalam proses pengolahan. Data yang sudah
diolah dalam proses pengolahan disimpan dalam media penyimpanan data untuk
kemudian akan menghasilkan informasi yang berguna bagi pengguna komputer.
7.
Klasifikasi
Hardware
Perangkat keras yang terdapat pada sebuah
komputer dapat dibedakan
berdasarkan fungsinya yaitu:
1. Input device : perangkat keras yang digunakan untuk
memasukkan data dan juga memberi perintah kepada komputer untuk selanjutnya
data tersebut akan diolah dalam tahap pemrosesan data. Contohnya:
a. Keyboard
b. Pointing device (mouse, light pen, joystick, track ball,
touch pad)
c. Sensor (menangkap data kejadian fisik)
d. Scanner (menyalin teks/gambar)
2. Processing device : perangkat keras komputer untuk
memproses data pada komputer. Contohnya:
a. Mainboard : papan utama tempat meletakkan komponen
penting pada komputer
b. RAM (Random Access Memory) : memori utama yang berfungsi
sebagai tempat penyimpanan data sementara
c. ROM (Read Only Memory) : secondary memory yang berfungsi
sebagai tempat penyimpanan data permanen
d. Sound card : memproses data suara yang masuk ataupun
keluar dari komputer
e. Processor : tempat pemrosesan instruksi-intruksi program
dan pengolahan data yang dibagi menjadi 2 yaitu:
1. CU (Control Unit) yang memiliki fungsi untuk mengatur dan
mengendalikan alat-alat input dan output, mengambil intruksi-intruksi dari main
memory, mengambil data dari main memory kalau diperlukan oleh proses, serta
menyimpan hasil proses ke main memori.
2. ALU (Arithmatic Logical Unit) yang berfungsi melakukan
semua perhitungan aritmatik yang terjadi sesuai dengan intruksi program
f. VGA Card : mengatur tampilan grafis pada monitor
g. Power Supply : memberikan sumber daya ke segala komponen
yang terdapat pada komputer
3. Output device : perangkat keras yang digunakan untuk
menampilkan hasil pengolahan data Contohnya:
a.
Monitor :
menampilkan hasil olahan komputer dan alat untuk berinteraksi dengan pengguna
b.
Printer :
menghasilkan tampilan yang akan dicetak melalui media kertas maupun media
lainnya
c.
Speaker :
mendengarkan informasi dalam bentuk suara
d.
Proyektor : keluaran
dalam bentuk visual baik gambar maupun teks.
4. Storage device : perangkat penyimpanan data eksternal
pada komputer Fungsinya:
1.
Menyimpan data
dan program secara permanen dan tidak tergantung pada aliran listrik
2.
Alat untuk
memindahkan data dari satu komputer ke komputer lain.
3.
Alat backup
data dan program demi keamanan file penting.
C.
Penjadwalan
Penjadwalan proses merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer.
Adapun penjadwalan
bertugas memutuskan :
a. Proses yang harus berjalan.
b. Kapan dan selama berapa lama proses itu berjalan.
Kriteria untuk mengukur
dan optimasi kinerja penjadwalan :
a. 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.
b. Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses.
c. Waktu tanggap (response time)
Waktu tanggap berbeda
untuk :
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.
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.
d. 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.
e. 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.
Sasaran penjadwalan
berdasarkan kriteria-kriteria optimasi tersebut :
a. Menjamin tiap proses mendapat pelayanan dari pemroses
yang adil.
b. 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.
c. Meminimalkan waktu tanggap.
d. Meminimalkan turn arround time.
e. Memaksimalkan jumlah job yang diproses persatu interval
waktu. Lebih besar angka throughput, lebih banyak kerja yang dilakukan sistem.
Terdapat 3 tipe penjadwal
berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
a.
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.
b.
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.
c.
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 ini berprioritas rendah, digunakan sebagai
pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif
rendah.
Sasaran penjadwalan
berdasarkan tipe-tipe penjadwalan :
a. Memaksimumkan kinerja untuk memenuhi satu kumpulan
kriteria yang diharapkan.
b. Mengendalikan transisi dari suspended to ready (keadaan
suspend ke ready) dari proses-proses swapping.
c. Memberi keseimbangan job-job campuran.
Gambar 4.15.
Tipe-tipe penjadwalan
Terdapat dua strategi
penjadwalan, yaitu :
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.
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. 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.
Gambar 4.16.
Tipe-tipe penjadwalan dikaitkan dengan diagram state
Berikut beberapa jenis-jenis algoritma
berdasarkan penjadwalan :
a.
Algoritma Preemptive
Menggunakan
konsep :
1)
Round Robin (RR)
Merupakan :
1. Penjadwalan yang paling tua, sederhana, adil,banyak
digunakan algoritmanya dan mudah diimplementasikan.
2. Penjadwalan ini bukan dipreempt oleh proses lain tetapi
oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
3. Penjadwalan tanpa prioritas.
4. Berasumsi bahwa semua proses memiliki kepentingan yang
sama, sehingga tidak ada prioritas tertentu.
Semua proses dianggap
penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta
(quantum) atau time slice dimana proses itu berjalan. Jika proses masih running
sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses
lain.
Penjadwal membutuhkannya
dengan memelihara daftar proses dari runnable. Ketika quantum habis untuk satu
proses tertentu, maka proses tersebut akan diletakkan diakhir daftar (list),
seperti nampak dalam gambar berikut ini :
Gambar 4.17. (a) : Daftar proses runnable.
(b) : Daftar proses runnable sesudah proses b habis
quantumnya.
Algoritma yang digunakan :
1. Jika kwanta habis dan proses belum selesai, maka proses
menjadi runnable dan pemroses dialihkan ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu
kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses
dialihkan ke proses lain.
3. Jika kwanta belum habis tetapi proses telah selesai, maka
proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
1. Mengelola senarai proses ready (runnable) sesuai urutan
kedatangan.
2. Ambil proses yang berada di ujung depan antrian menjadi
running.
3. Bila kwanta belum habis dan proses selesai, maka ambil
proses di ujung depan antrian proses ready.
4. Jika kwanta habis dan proses belum selesai, maka
tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung
depan antrian proses ready.
Masalah yang timbul adalah
menentukan besar kwanta, yaitu :
a. Kwanta terlalu besar menyebabkan waktu tanggap besar dan
turn arround time rendah.
b. Kwanta terlalu kecil menyebabkan peralihan proses terlalu
banyak sehingga menurunkan efisiensi proses.
Switching dari satu proses
ke proses lain membutuhkan kepastian waktu yang digunakan untuk administrasi,
menyimpan, memanggil nilai-nilai register, pemetaan memori, memperbaiki tabel
proses dan senarai dan sebagainya.
Mungkin proses switch ini
atau konteks switch membutuhkan waktu 5 msec disamping waktu pemroses yang
dibutuhkan untuk menjalankan proses tertentu. Dengan permasalahan tersebut
tentunya harus ditetapkan kwanta waktu yang optimal berdasarkan kebutuhan
sistem dari hasil percobaan atau data historis.
Besar kwanta waktu beragam
bergantung beban sistem. Apabila nilai quantum terlalu singkat akan menyebabkan
terlalu banyak switch antar proses dan efisiensi CPU akan buruk, sebaliknya
bila nilai quantum terlalu lama akan menyebabkan respon CPU akan lambat
sehingga proses yang singkat akan menunggu lama. Sebuah quantum sebesar 100
msec merupakan nilai yang dapat diterima.
Penilaian penjadwalan ini
berdasarkan kriteria optimasi :
a. Adil
Adil bila dipandang dari
persamaan pelayanan oleh pemroses.
b. Efisiensi
Cenderung efisien pada
sistem interaktif.
c. Waktu tanggap
Memuaskan untuk sistem
interaktif, tidak memadai untuk sistem waktu nyata.
d. Turn around time
Cukup baik.
e. Throughtput
Cukup baik.
Penjadwalan ini :
a.
Baik untuk
sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu
kejadian eksternal. Contoh : text editor, kebanyakan waktu program adalah untuk
menunggu keyboard, sehingga dapat dijalankan proses-proses lain.
b.
Tidak cocok
untuk sistem waktu nyata apalagi hard-real-time applications.
2)
Priority Schedulling (PS)
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. Pemberian
prioritas diberikan secara :
a. Statis (static priorities)
Berarti prioritas tidak
berubah.
Keunggulan :
1. Mudah diimplementasikan.
2. Mempunyai overhead relatif kecil.
Kelemahan :
1. Tidak tanggap
terhadap perubahan lingkungan yang mungkin menghendaki.
2. penyesuaian prioritas.
b. Dinamis (dynamic priorities)
Merupakan mekanisme untuk
menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal yang
diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai
yang lebih tepat sesuai lingkungan.
Kelemahan :
1. Implementasi mekanisme prioritas dinamis lebih kompleks
dan mempunyaioverhead lebih besar. Overhead in diimbangi dengan peningkatan
daya tanggap sistem.
Contoh penjadwalan
berprioritas :
Proses-proses yang sangat
banyak operasi masukan atau keluaran menghabiskan kebanyakan waktu menunggu
selesainya operasinya masukan/keluaran. Prosesproses ini diberi prioritas
sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan, proses
akan segera memulai permintaan masukan/keluaran berikutnya sehingga menyebabkan
proses blocked menunggu selesainya operasi masukan/keluaran.
Dengan demikian pemroses
dapat dipergunakan proses-proses lain. Proses-proses I/O berjalan paralel
bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara
prosesproses
I/O itu menunggu selesainya operasi DMA. Proses-proses
yang sangat banyak operasi I/O-nya, kalau harus menunggu lama
untuk memakai pemroses (karena prioritas rendah) hanya
akan membebani memori, karena harus disimpan tanpa perlu proses-proses itu
dimemori karena tidak selesai-selesai menunggu operasi masukan dan menunggu
jatah pemroses.
Dalam algoritma
berprioritas dinamis dituntun oleh keputusan untuk memenuhi kebijaksanaan tertentu
yang menjadi tujuan. Layanan yang bagus adalah menset prioritas dengan nilai
1/f, dimana f adalah ration kwanta terakhir yang digunakan proses.
Contoh :
a. Proses yang menggunakan 2 msec kwanta 100 ms, maka
prioritasnya50.
b. Proses yang berjalan selama 50 ms sebelum blocked
berprioritas 2.
c. Proses yang menggunakan seluruh kwanta berprioritas 1.
Kebijaksanaan yang
diterapkan adalah jaminan proses-proses mendapat layanan adil dari pemroses
dalam arti jumlah waktu pemroses yang sama. Keunggulannya penjadwalan
berpriorita adalah memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu
kriteria diterapkan.
Algoritma ini dapat dikombinasikan, yaitu
dengan mengelompokkan proses-proses menjadi kelaskelas prioritas. Penjadwalan
berprioritas diterapkan antar kelas-kelas proses itu.
Algoritma penjadwal akan
menjalankan : proses runnable untuk prioritas 4 lebih dulu secara round robin,
apabila kelas 4 semua sudah diproses, selanjutnya akan menjalankan proses
runnable untuk prioritas 3 secara round robin, apabila kelas
3 semua sudah diproses (habis), selanjutnya akan
menjalankan proses runnable untuk prioritas 2 secara round robin, dan
seterusnya, seperti dalam gambar berikut :
Gambar 4.18. Skedul algoritma denga empat klas prioritas
3)
Multiple Feedback Queues (MFQ)
Merupakan :
1.
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.
Ketentuan yang berlaku
adalah sebagai berikut :
a. Jalankan proses pada kelas tertinggi.
b. Jika proses menggunakan seluruh kwanta yang dialokasikan,
maka diturunkan kelas prioritasnya.
c. Proses yang masuk untuk pertama kali ke sistem langsung
diberi kelas tertinggi.
Mekanisme ini mencegah
proses yang perlu berjalan lama swapping berkali-kali dan mencegah
proses-proses interaktif yang singkat harus menunggu lama.
4)
Shortest Remaining First (SRF)
Merupakan :
1. Penjadwalan berprioritas.dinamis.
2. Adalah preemptive untuk timesharing
3. Melengkapi SJF. Pada SRF, proses dengan sisa waktu jalan
diestimasi terendah dijalankan, termasuk proses-proses yang baru tiba.
4. Pada SJF, begitu proses dieksekusi, proses dijalankan
sampai selesai.
5. Pada SRF, proses yang sedang berjalan (running) dapat
diambil alih proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.
Kelemahan :
1. Mempunyai overhead lebih besar dibanding SJF. SRF perlu
penyimpanan waktu layanan yang telah dihabiskan job dan kadang-kadang harus menangani
peralihan.
2. Tibanya proses-proses kecil akan segera dijalankan.
3. Job-job lebih lama berarti dengan lama dan variasi waktu
tunggu lebih lama dibanding pada SJF.
SRF perlu menyimpan waktu
layanan yang telah dihabiskan, menambah overhead. Secara teoritis, SRF memberi
waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi
tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF.
5)
Guaranteed Scheduloing (GS)
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.
Rasio 0,5 berarti sebuah
proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti
sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan
menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih
tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke
sistem real-time dan memiliki penjadwalan berprioritas dinamis.
b.
Algoritma Nonpreemptive
1)
First In First Out (FIFO)
Merupakan :
1. Penjadwalan tidak berprioritas.
FIFO adalah penjadwalan
paling sederhana, yaitu :
1. Proses-proses diberi jatah waktu pemroses berdasarkan
waktu kedatangan.
2. Pada saat proses mendapat jatah waktu pemroses, proses
dijalankan sampai selesai.
Penilian penjadwalan ini
berdasarkan kriteria optimasi :
a. Adil
Adil dalam arti resmi
(proses yang datang duluan akan dilayani lebih dulu), tapi dinyatakan tidak adil
karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job
yang tidak penting dapat membuat job-job penting menunggu lama.
b. Efisiensi
Sangat efisien.
c. Waktu tanggap
Sangat jelek, tidak cocok
untuk sistem interaktif apalagi untuk sistem waktu nyata.
d. Turn around time
Jelek.
e. Throughtput
Jelek.
FIFO jarang digunakan
secara mandiri, tetapi dikombinasikan dengan skema lain, misalnya : Keputusan
berdasarkan prioritas proses. Untuk proses-pross berprioritas
sama diputuskan
berdasarkan FIFO.
Penjadwalan ini :
a. Baik untuk sistem batch yang sangat jarang berinteraksi
dengan pemakai. Contoh : aplikasi analisis numerik, maupun pembuatan tabel.
b. Sangat tidak baik (tidak berguna) untuk sistem
interaktif, karena tidak memberi waktu tanggap yang baik.
c. Tidak dapat digunakan untuk sistem waktu nyata (real-time
applications).
2)
Shortest Job First (SJF)
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.
Contoh :
Terdapat empat proses
(job) yaitu A,B,C,D dengan waktu jalannya masing-masing adalah 8,4,4 dan 4
menit. Apabila proses-proses tersebut dijalankan, maka turn around time untuk A
adalah 8 menit, untuk B adalah 12, untuk C adalah 16 dan
untuk D adalah 20. Untuk menghitung rata-rata turn around
time seluruh proses adalah dengan menggunakan rumus :
( 4a + 3b + 2c + 1d ) / 4
Dengan menggunakan rumus, maka dapat dihitung turn around
time-nya sebagai berikut (belum memperhatikan shortest job first, lihat gambar
a) :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x8 + 3x4 + 2x4 + 1x4 ) / 4
= ( 32 + 12 + 8 + 4 ) / 4
= 56 / 4
= 14 menit
Apabila keempat proses tersebut menggunakan penjadwalan
shortest job fisrt (lihat gambar b), maka turn around time untuk B adalah 4,
untuk C adalah 8, untuk D adalah 12 dan untuk A adalah 20, sehingga rata-rata
turn around timenya adalah
sebagai berikut :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x4 + 3x4 + 2x4 + 1x8 ) / 4
= ( 16 + 12 + 8 + 8 ) / 4
= 44 / 4
= 11 menit
Tidak
memperhatikan SJF
Memperhatikan SJF
Jelas bahwa a memberikan nilai kontribusi yang besar,
kemudian b, c dan d. Karena SJF selalu memperhatikan rata-rata waktu respon
terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif
memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah
dan menjalankan perintah, begitu seterusnya.
Masalah yang muncul adalah
:
1. Tidak mengetahui ukuran job saat job masuk.
Untuk mengetahui ukuran
job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya.
2. Proses yang tidak datang bersamaan, sehingga penetapannya
harus dinamis.
Penjadwalan ini jarang
digunakan, karena merupakan kajian teoritis untuk pembandingan turn around
time.
3)
Highest Ratio Next (HRN)
Merupakan :
1. Penjadwalan berprioritas dinamis.
2. Penjadwalan untuk mengoreksi kelemahan SJF.
3. 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.
Prioritas dinamis HRN
dihitung berdasarkan rumus :
Prioritas = (waktu tunggu
+ waktu layanan ) / waktu layanan Karena waktu layanan muncul sebagai pembagi,
maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai
pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan
lebih bagus.
Disebut HRN, karena waktu tunggu ditambah waktu layanan
adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.
Klasifikasi lain selain
berdasarkan dapat/tidaknya suatu proses diambil secara paksa adalah klasifikasi
berdasarkan adanya prioritas di proses-proses, yaitu :
1. Algoritma penjadwalan tanpa berprioritas.
2. Algoritma penjadwalan berprioritas, terdiri dari :
a.
Berprioritas
statik
b.
Berprioritas
dinamis
The NGCF Rehabilitation centre in Punjab is well maintained rehab center, de addiction centre and Nasha Mukti Kendra in Punjab provides natural therapy, activities, yoga, and meditation by which patient can recover easily without problem. For more information, call us or visit the website.
BalasHapusRehabilitation Centre in Punjab
De Addiction Centre in Punjab
Nasha Mukti Kendra in Punjab
Rehabilitation Centre in Jammu
De addiction centre in Jammu
Rehabilitation Centre in Ambala
De Addiction Centre in Ambala
Nasha Mukti Kendra in Ambala
Rehabilitation Centre in Patiala
De addiction centre in Patiala