Fungsi Sistem Operasi dan Cara Mensimulasikannya - Sistem Komputer



Tujuan Pembelajaran

Menjelaskan fungsi sistem operasi dan mensimulasikan salah satu fungsi.

Sistem Operasi

Sistem operasi (OS) adalah perangkat lunak sistem yang mengelola perangkat keras komputer, sumber daya perangkat lunak, dan menyediakan layanan umum untuk program komputer. Sistem operasi berfungsi untuk mengendalikan, mengontrol atau memberikan koneksi antarperangkat keras komputer.

Gambar Beberapa Contoh Sistem Operasi

Contoh dari sistem operasi ialah MS Windows, Linux, MacOS, Android, iOS, dan sebagainya. Sistem operasi berfungsi untuk mengelola proses, memori utama, mengelola file, mengelola penyimpanan sekunder, serta melakukan proteksi dan keamanan.

Setelah komputer yang sudah diinstal sistem operasi MS Windows dihidupkan dan proses booting (penyalaan awal komputer) selesai, secara otomatis, sistem akan mengarahkan ke login MS Windows. Namun, jika baru untuk pertama kalinya dan tidak menggunakan password, tampilan login MS Windows akan dilewati dan berlanjut ke tampilan desktop.


Gambar Alur Sistem Operasi pada Komputer dan “Lapisan Bawang” Sistem Komputer

Pada saat sebuah komputer dalam keadaan hidup, Sistem Operasi (SO) hidup di atas perangkat keras dan mengendalikan perangkat keras serta melayani perangkat lunak. Saat sebuah komputer dalam keadaan mati, tentu Sistem Operasi mati. Lalu, bagaimana Sistem Operasi mulai dihidupkan saat perangkat keras mulai dihidupkan? Pernahkah kalian memikirkan “chicken and egg problem” ini?

Semua program komputer termasuk Sistem Operasi dimuat dalam CPU saat dijalankan (hal ini akan dijelaskan pada bagian berikutnya). Pada saat sebuah komputer dihidupkan, CPU-nya belum mengandung program. Proses menyalakan komputer dan membuat Sistem Operasi mulai bekerja disebut booting. Booting adalah urutan startup (membangunkan) Sistem Operasi komputer saat dinyalakan. Pada saat booting, semua komponen perangkat keras dalam komputer dibangunkan. Ada 5 langkah penting saat booting: daya (power) dihidupkan, POST (Power On Self Test), memuat BIOS (Basic Input Output System), memuat sistem operasi, kemudian perangkat keras mengalihkan kontrol ke Sistem Operasi.

$ads={1}

Fungsi Sistem Operasi secara lebih rinci dapat dijelaskan sebagai berikut.

  1. Menyediakan antarmuka ke pengguna untuk berinteraksi dengan komputer. Tanpa antarmuka yang mudah digunakan, komputer akan sulit untuk digunakan.
  2. Mengendalikan input dan output.
  3. Mengelola perangkat keras dan periferal. Pada saat pengguna mengetik di keyboard, aplikasi yang dipakai akan bekerja sama dengan Sistem Operasi untuk menangani signal dari keyboard untuk diproses. Misalnya, saat menggunakan pemroses kata, mouse yang digerakkan kursornya akan terlihat di layar, huruf-huruf yang diketikkan dari keyboard (perangkat input) akan muncul di layar monitor (perangkat keluaran). Pada modul AP, saat kalian membaca sebuah nilai variabel, aplikasi menunggu sampai pengguna mengetikkan data yang dibaca, dan program akan memroses data yang diketikkan sesuai dengan algoritma program kalian. Sistem Operasi akan menjadi perantara program aplikasi untuk berinteraksi dengan keyboard atau perangkat input/output lainnya.
  4. Mengelola pemuatan perangkat lunak dan menjalankan perangkat lunak. SO menjalankan program aplikasi agar dapat berfungsi dengan baik. Program aplikasi dirancang untuk dapat berfungsi di atas sistem operasi tertentu. Hal ini memungkinkan program aplikasi mendapat keuntungan dari koneksi dan fungsi perangkat keras yang tersedia melalui sistem operasi karena aplikasi yang sama dapat dijalankan pada perangkat keras yang berbeda-beda.
  5. Mengelola file (copy, save, sort, delete). Sistem Operasi mengelola sistem pengarsipan file yang dibuat untuk mengatur file dan direktori (folder). Adanya sistem file ini menyediakan cara yang konsisten untuk menyimpan dan mengambil data. Sistem Operasi juga bertanggung jawab atas penamaan, penyortiran, penghapusan, pemindahan, dan penyalinan file/folder (atas permintaan pengguna). Sistem Operasi mengelola sebuah Tabel pencarian yang digunakan untuk menghubungkan nama file/ folder dan lokasi penyimpanan. Pengelolaan file dan folder ini dilakukan SO seperti kalian mengelola Buku Kerja Siswa.
  6. Menangani interupsi dan kesalahan (error). Beberapa program dapat disimpan dalam RAM pada waktu bersamaan, tetapi prosesor hanya dapat memproses satu per satu. Melalui penggunaan sinyal interupsi yang reguler, Sistem Operasi dapat mengatur permintaan penggunaan prosesor dan menentukan prioritas program yang dijalankan. Hal ini membuat seakan-akan CPU menangani lebih dari satu program sekaligus (multitasking). Sistem Operasi juga dapat mendeteksi kesalahan yang biasanya ditangani tanpa perlu mengingatkan pengguna.
  7. Mengelola prosesor. Sistem Operasi juga mengelola CPU. Saat sebuah program aplikasi diaktifkan, Sistem Operasi memuat program tersebut ke memori (RAM) dan CPU akan mengeksekusinya (penjelasan detail mengenai eksekusi program akan dijelaskan dalam pembahasan tentang mesin konseptual sederhana). CPU kemudian diinstruksi oleh Sistem Operasi untuk menjalankan program. Jadi, SO bekerja sama dengan CPU untuk menjalankan sebuah program. Pada saat multitasking (menjalankan banyak program sekaligus), Sistem Operasi mengatur penggunaan waktu prosesor dengan menggilir pekerjaan. Bagian Sistem Operasi yang mengelola penggiliran CPU disebut scheduler (penjadwal).
  8. Mengelola memori. Sistem operasi bertanggung jawab untuk mentransfer program ke memori dan dari memori. Sistem Operasi melacak penggunaan memori dan memutuskan berapa banyak yang harus diberikan untuk setiap program. Sistem Operasi juga memutuskan apa yang terjadi jika tidak ada cukup memori.
  9. Mengelola keamanan. Sistem Operasi bertanggung jawab atas pembuatan akun pengguna dan kata sandi serta penerapannya. Sistem Operasi juga dilengkapi dengan banyak program utilitas, termasuk firewall.
  10. Menangani komunikasi dengan jaringan.

Dari semua fungsi di atas, kalian dapat membayangkan, bahwa sebuah SO pun terdiri atas komponen-komponen dengan tugasnya masing-masing. Setiap komponen akan menjalankan tugas sesuai fungsinya yang spesifik. Pada kegiatan berikut ini, kalian akan lebih memahami salah satu fungsi Sistem Operasi dengan menjalankan tugas scheduler, yang mirip dengan tugas-tugas manusia menangani pekerjaan. Seperti halnya kalian berbagi peran dalam mengerjakan sebuah tugas, Sistem Operasi terdiri atas komponen-komponen dengan peran masing-masing yang disebutkan di atas, yang secara keseluruhan berfungsi sebagai Sistem Operasi.

Multitasking

Kalian tentu pernah melakukan “multitasking”, yaitu mengerjakan beberapa pekerjaan sekaligus, misalnya sambil merajut, nonton TV, bahkan sesekali menengok HP. Sambil menyapu, kalian mendengarkan musik bahkan ikut bernyanyi. Manusia mempunyai kemampuan multitasking, walaupun untuk beberapa kondisi, perlu dilakukan dengan hati-hati, misalnya sangat berbahaya menonton video sambil menyetir mobil. Multitasking yang tidak dikendalikan dengan baik, belum tentu menambah efisiensi dan hasilnya belum tentu baik. Misalnya, belajar sambil menonton sepak bola dapat memecah perhatian sehingga kalian tidak belajar dengan baik. Ketika kalian sedang belajar sambil mendengarkan lagu, kalian berhenti ketika ibu memanggil untuk makan malam (ini yang disebut interupsi).


Sebuah komputer yang sedang melakukan multitasking, misalnya saat penggunanya sedang menjalankan aplikasi pengolah kata, aplikasi pengolah lembar kerja, aplikasi presentasi, dan aplikasi Paint untuk menggambar.

Pengguna memindahkan sepotong teks dari satu aplikasi ke lainnya lewat clipboard yang sebetulnya juga sebuah “aplikasi”. Diam-diam, jam yang tertulis di pojok layar juga sedang bekerja. Jika sedang terhubung ke jaringan, tiba-tiba email masuk dan komputer menampilkan pesan. Komputer dan SO sangat “sibuk”, bukan?

Seperti dijelaskan di atas, salah satu fungsi sistem operasi ialah menangani multitasking. Sistem Operasi tidak menangani multitasking seperti manusia karena komputer hanya mempunyai satu prosesor, dan prosesor itu yang menjalankan program (lihat aktivitas mesin super konseptual tentang bagaimana CPU menjalankan program dengan langkah sangat rinci).

Sistem Operasi dapat melakukan multitasking dengan menjalankan algoritma “round-robin” (RR). Ya, sebuah algoritma karena Sistem Operasi adalah sebuah program juga. Prinsip dari algoritma penjadwalan round-robin dijelaskan sebagai berikut.

Round-Robin (RR) ialah salah satu algoritma yang digunakan oleh penjadwal proses (process scheduler) dalam sebuah sistem operasi. Pada algoritma RR, ditentukan suatu slot waktu (time slice) yang akan dialokasi ke setiap proses dalam porsi yang sama dan dalam urutan melingkar, menangani semua proses tanpa prioritas. Penjadwalan RR sederhana, dan mudah diterapkan. Penjadwalan RR dapat diterapkan pada masalah penjadwalan lainnya, seperti penjadwalan paket data di jaringan komputer. Nama algoritma ini berasal dari prinsip round-robin, di mana setiap orang mengambil bagian yang sama dari sesuatu secara bergantian.

Agar proses dikerjakan secara adil, penjadwal RR memberikan setiap pekerjaan slot waktu atau penyisihan waktu CPU, dan menginterupsi pekerjaan belum selesaikan saat itu. Pekerjaan dilanjutkan saat slot waktu berikutnya ditetapkan bagi proses itu. Jika proses selesai atau mengubah statusnya menjadi menunggu selama slot waktu yang diberikan, penjadwal memilih proses pertama dalam antrean siap untuk dieksekusi. Dengan tidak ada banyak pekerjaan yang dilakukan, atau jika slot waktu relatif besar terhadap ukuran pekerjaan, proses yang menghasilkan pekerjaan besar akan lebih banyak dikerjakan daripada proses lainnya.

Misalnya, jika slot waktu ialah 100 milidetik (mili second/ms), dan job1 membutuhkan total waktu 250 ms untuk menyelesaikannya, penjadwal RR akan menangguhkan pekerjaan setelah 100 ms dan memberikan waktu pada pekerjaan lain di CPU. Setelah pekerjaan lain memiliki bagian yang sama (masing-masing 100 ms), job1 akan mendapatkan alokasi waktu CPU lain dan siklus akan berulang. Proses ini berlanjut hingga pekerjaan selesai dan tidak membutuhkan waktu lagi di CPU.

Job1 membutuhkan 250 ms untuk dapat diselesaikan, dengan slot 100 ms
Alokasi pertama 100 ms.
Alokasi kedua 100 ms.
Alokasi ke-3 100 ms tetapi job1 selesai dan diakhiri [ada 50 ms.

Jadi, waktu CPU untuk job1 = 250 ms.

Ada dua pendekatan algoritma untuk menyelesaikan RR scheduler.

Algoritma Pertama (dengan algoritma ini, CPU tidak pernah berhenti)

  1. Selama periode satu slot waktu (kuantum): jika ada job selesai, hapus dari antrean, ambil berikutnya.
  2. Di akhir satu kuantum: antrekan kembali, ambil giliran berikutnya

Algoritma Kedua

  1. Selama Periode Satu Kuantum: Jika Ada Job Selesai, Hapus Dari Antrean, Tunggu Sampai Akhir Kuantum.
  2. Di Akhir satu kuantum: antrekan kembali, ambil giliran berikutnya.

Tabel berikut menunjukkan waktu kedatangan dan waktu eksekusi dari beberapa proses, dengan slot 100 ms dan eksekusi dari proses-proses tersebut.

Tabel Waktu Kedatangan dan Eksekusi Proses

Kuantum = 100 ms

Proses Waktu Kedatangan Waktu Eksekusi (ms)
P0 0 250
P1 50 170
P2 120 70
P3 170 100
P4 200 130
P5 350 50
Total 770


Gambar (a) Simulasi Penjadwalan Proses, (b) Simulasi CPU

Nah, perancang sistem dapat mengatur kuantum yang optimal jika perilaku pekerjaan (job) yang harus ditangani oleh komputer diketahui. Ini membutuhkan berpikir komputasional. Pada komputer personal, hal ini tidak penting. Namun, dalam sebuah sistem komputer mainframe atau sistem komputasi dengan banyak mesin yang melayani banyak pengguna dengan karakteristik masing-masing, mengoptimasi pelaksanaan pekerjaan menjadi sangat penting.

Apa Komentarmu?

Komentar yang dirasa merugikan situs ini akan dihapus. Terima kasih telah berkunjung

Lebih baru Lebih lama