• Henkar
  • Shinigami

1

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










Next
This is the most recent post.
Previous
Posting Lama

Posting Komentar

  1. 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.
    Rehabilitation 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

    BalasHapus

 
Top