Apa yang dimaksud dengan sistem operasi?
Sistem operasi (OS) adalah program yang, setelah pada awalnya dimuat ke dalam komputer oleh program booting, mengelola semua program aplikasi lainnya dalam komputer. Program aplikasi memanfaatkan sistem operasi dengan membuat permintaan untuk layanan melalui antarmuka program aplikasi (API) yang ditentukan. Selain itu, pengguna dapat berinteraksi langsung dengan sistem operasi melalui antarmuka pengguna, seperti antarmuka baris perintah (CLI) atau UI grafis (GUI).
Mengapa menggunakan sistem operasi?
Sistem operasi membawa manfaat yang kuat untuk perangkat lunak komputer dan pengembangan perangkat lunak. Tanpa sistem operasi, setiap aplikasi perlu menyertakan UI-nya sendiri, serta kode komprehensif yang diperlukan untuk menangani semua fungsionalitas tingkat rendah dari komputer yang mendasarinya, seperti penyimpanan disk, antarmuka jaringan, dan sebagainya. Mempertimbangkan beragam perangkat keras dasar yang tersedia, ini akan sangat membengkak ukuran setiap aplikasi dan membuat pengembangan perangkat lunak menjadi tidak praktis.
Sebaliknya, banyak tugas umum, seperti mengirim paket jaringan atau menampilkan teks pada perangkat output standar, seperti layar, dapat dibebankan ke perangkat lunak sistem yang berfungsi sebagai perantara antara aplikasi dan perangkat keras. Perangkat lunak sistem menyediakan cara yang konsisten dan berulang-ulang bagi aplikasi untuk berinteraksi dengan perangkat keras tanpa aplikasi perlu mengetahui detail apa pun tentang perangkat keras.
Selama setiap aplikasi mengakses sumber daya dan layanan yang sama dengan cara yang sama, perangkat lunak sistem itu – sistem operasi – dapat melayani hampir semua jumlah aplikasi. Hal ini sangat mengurangi jumlah waktu dan pengkodean yang diperlukan untuk mengembangkan dan men-debug aplikasi, sekaligus memastikan bahwa pengguna dapat mengontrol, mengonfigurasi dan mengelola perangkat keras sistem melalui antarmuka yang umum dan dipahami dengan baik.
Setelah terinstal, sistem operasi bergantung pada pustaka driver perangkat yang sangat luas untuk menyesuaikan layanan OS dengan lingkungan perangkat keras tertentu. Dengan demikian, setiap aplikasi dapat melakukan panggilan umum ke perangkat penyimpanan, tetapi OS menerima panggilan itu dan menggunakan driver yang sesuai untuk menerjemahkan panggilan tersebut ke dalam tindakan (perintah) yang diperlukan untuk perangkat keras yang mendasari pada komputer tertentu. Saat ini, sistem operasi menyediakan platform komprehensif yang mengidentifikasi, mengkonfigurasi dan mengelola berbagai perangkat keras, termasuk prosesor; perangkat memori dan manajemen memori; chipset; penyimpanan; jaringan; komunikasi port, seperti Video Graphics Array (VGA), High-Definition Multimedia Interface (HDMI) dan Universal Serial Bus (USB); dan antarmuka subsistem, seperti Peripheral Component Interconnect Express (PCIe).
Fungsi sistem operasi
Sistem operasi menyediakan tiga kemampuan penting: Sistem operasi menawarkan UI melalui CLI atau GUI; sistem operasi meluncurkan dan mengelola eksekusi aplikasi; dan sistem operasi mengidentifikasi dan mengekspos sumber daya perangkat keras sistem ke aplikasi-aplikasi tersebut – biasanya, melalui API standar.
UI. Setiap sistem operasi memerlukan UI, memungkinkan pengguna dan administrator untuk berinteraksi dengan OS untuk mengatur, mengkonfigurasi, dan bahkan memecahkan masalah sistem operasi dan perangkat keras yang mendasarinya. Ada dua jenis UI utama yang tersedia: CLI dan GUI.
CLI, atau jendela mode terminal, menyediakan antarmuka berbasis teks, di mana pengguna mengandalkan keyboard tradisional untuk memasukkan perintah, parameter dan argumen tertentu yang terkait dengan tugas tertentu. GUI, atau desktop, menyediakan antarmuka visual berdasarkan ikon dan simbol di mana pengguna mengandalkan gerakan yang disampaikan oleh perangkat antarmuka manusia, seperti touchpad, layar sentuh dan perangkat mouse.
GUI paling sering digunakan oleh pengguna biasa atau pengguna akhir yang terutama tertarik untuk memanipulasi file dan aplikasi, seperti mengklik dua kali ikon file untuk membuka file dalam aplikasi defaultnya. CLI tetap populer di kalangan pengguna tingkat lanjut dan administrator sistem yang harus menangani serangkaian perintah yang sangat terperinci dan berulang-ulang secara teratur, seperti membuat dan menjalankan skrip untuk menyiapkan komputer pribadi (PC) baru untuk karyawan.
Manajemen aplikasi. Sistem operasi menangani peluncuran dan pengelolaan setiap aplikasi. Hal ini biasanya mendukung berbagai perilaku, termasuk pembagian waktu beberapa proses, atau thread, sehingga berbagai tugas dapat berbagi waktu prosesor yang tersedia; menangani interupsi yang dihasilkan aplikasi untuk mendapatkan perhatian langsung prosesor, memastikan ada cukup memori untuk menjalankan aplikasi dan data yang sesuai tanpa mengganggu proses lain; melakukan penanganan kesalahan yang dapat dengan anggun menghapus proses aplikasi; dan melakukan manajemen memori tanpa mengganggu aplikasi lain atau OS.
Sistem operasi juga dapat mendukung API yang memungkinkan aplikasi untuk memanfaatkan fungsi OS dan perangkat keras tanpa perlu mengetahui apa pun tentang OS tingkat rendah atau status perangkat keras. Sebagai contoh, Windows API dapat memungkinkan program untuk mendapatkan input dari keyboard atau mouse; membuat elemen GUI, seperti jendela dialog dan tombol; membaca dan menulis file ke perangkat penyimpanan; dan banyak lagi. Aplikasi hampir selalu disesuaikan untuk menggunakan sistem operasi di mana aplikasi tersebut akan dijalankan.
Selain itu, sistem operasi dapat melakukan layanan berikut untuk aplikasi:
Dalam sistem operasi multitasking, di mana beberapa program dapat berjalan pada saat yang sama, OS menentukan aplikasi mana yang harus berjalan dalam urutan apa dan berapa banyak waktu yang harus diberikan untuk setiap aplikasi sebelum memberikan giliran kepada aplikasi lain.