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. 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. 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.
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 tugastugas manusia menangani pekerjaan. Seperti halnya kalian berbagi peran dalam mengerjakan sebuah tugas, Sistem Operasi terdiri atas komponenkomponen dengan peran masing-masing yang disebutkan di atas, yang secara keseluruhan berfungsi sebagai Sistem Operasi.