Sistem Operasi, Pengertian dan Fungsi

Perkalian dan Pembagian Bilangan Desimal, Contoh dan Cara Menghitungnya (Rangkuman Materi Matematika SD/MI Kelas 4 Bab 16) Kurikulum Merdeka

Sistem Operasi | Pengertian Sistem Operasi | Fungsi Sistem Operasi |

Pengertian 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. 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

  • Menyediakan antarmuka ke pengguna untuk berinteraksi dengan komputer. Tanpa antarmuka yang mudah digunakan, komputer akan sulit untuk digunakan.
  • Mengendalikan input dan output.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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

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)

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

Algoritma Kedua

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

Cara Komputer Bekerja

Mekanisme kerja pemroses karena pemroses pun memiliki banyak komponen yang harus melakukan interaksi satu sama lain. Menggambarkan diagram kotak arsitektur sederhana sebuah komputer di mana pemroses (kotak besar) menerima masukan dari piranti masukan dan menghasilkan keluaran melalui port. Komponen pada pemroses (kotak besar) terdiri atas processor (CPU) yang berupa chip, ROM, RAM, Hard drive, CD ROM, dan floppy drive (sekarang tidak populer). CD ROM dan Floppy drive ialah alat yang terhubung dengan media penyimpan eksternal, yaitu (CD dan floppy disk). Setiap komponen tersebut terhubung dengan BUS. Berikut ini akan dijelaskan mengenai CPU, Bus, Controller, dan memori utama.

Sebelum kita membahas CU dan ALU secara rinci, kita perlu mempelajari penyimpanan data dan hubungannya dengan CPU. Komputer mempunyai dua jenis tempat penyimpanan: primer (primary storage) dan sekunder (secondary storage). CPU berinteraksi dengan tempat penyimpanan primer atau memori utama (main memory), mengacu ke data dan instruksi yang disimpan di dalamnya. Dengan alasan ini, memori dibahas terkait CPU, walaupun sebetulnya secara teknis, memori merupakan bagian terpisah dari CPU.

Ingat, bahwa memori utama komputer menyimpan data sementara saja, saat komputer mengeksekusi sebuah program. Memori sekunder menyimpan data permanen atau semi permanen dalam media lain, yaitu media magnetik atau optik. Disket dan CD-ROM yang sering kita lihat sebagai bagian dari PC adalah peranti sekunder, sama halnya dengan hard disk. Memori sekunder akan dibahas pada bagian berikutnya.

Bagaimana CPU Menjalankan Instruksi Program

Faktanya, kebanyakan komputer saat ini hanya dapat menjalankan satu instruksi pada satu waktu, meskipun mereka menjalaninya dengan sangat cepat. Banyak komputer pribadi dapat menjalankan instruksi dalam waktu kurang dari sepersejuta detik. Komputer yang dikenal sebagai superkomputer dapat menjalankan instruksi dalam waktu kurang dari sepermiliar detik.

Sebelum instruksi dapat dieksekusi, instruksi program dan data harus ditempatkan ke dalam memori dari perangkat input atau perangkat penyimpanan sekunder. Setelah data dan instruksi yang diperlukan berada dalam memori, unit pemrosesan pusat melakukan empat langkah berikut untuk setiap instruksi.

  • Unit kontrol mengambil (mendapat) instruksi dari memori.
  • Unit kontrol menerjemahkan instruksi (memutuskan apa artinya) dan memerintahkan agar data yang diperlukan dipindahkan dari memori ke ALU (unit aritmatika/logika). Dua langkah pertama ini bersama-sama disebut waktu instruksi, atau waktu-I.
  • Unit aritmatika/logika menjalankan instruksi aritmatika atau logika. Artinya, ALU diberikan kendali dan melakukan operasi aktual pada data.
  • Unit aritmatika/logika menyimpan hasil operasi ini dalam memori atau register. Langkah 3 dan 4 bersama-sama disebut waktu eksekusi, atau waktu-E.

Unit kontrol selanjutnya memerintahkan memori untuk mengirimkan hasilnya ke perangkat keluaran atau perangkat penyimpanan sekunder. Kombinasi waktu-I dan waktu-E disebut siklus mesin. CPU memiliki clock internal yang menghasilkan detak (pulse) dengan kecepatan tetap untuk menyinkronkan semua operasi komputer. Sebuah instruksi siklus mesin tunggal dapat terdiri atas sejumlah besar sub-instruksi, yang masing-masing harus mengambil setidaknya satu siklus clock. Setiap jenis CPU dirancang untuk memahami sekumpulan instruksi tertentu yang disebut instruction set. Sama seperti, ada banyak bahasa berbeda yang dipahami orang, setiap jenis CPU memiliki instruction set yang dimengertinya. Oleh karena itu, CPU yang digunakan untuk PC merk Compaq tidak dapat memahami kumpulan instruksi dari CPU lain (misalnya Macintosh).

Pada memori, dapat tersimpan instruksi program dan juga data. Bagaimana control unit bisa membedakannya?

Lokasi dalam memori untuk setiap instruksi dan setiap bagian data diidentifikasi oleh sebuah alamat. Artinya, setiap lokasi memiliki nomor alamat, seperti locker (kotak penyimpan) di perpustakaan atau di sekolah. Seperti kotak penyimpan memiliki memiliki nomor yang tetap, isi kotak penyimpan bisa berbeda di suatu waktu, bisa berisi tas, bisa berisi buku, atau berisi tumbler tempat minum.

Seperti hal kotak penyimpan, memori bisa berisi instruksi atau data. Instruksi lama bisa diganti dengan instruksi baru, demikian juga data lama bisa diganti dengan data baru, tetapi memori tetap memiliki alamat yang sama. Tidak seperti kotak penyimpan, lokasi memori hanya dapat menampung sejumlah data dalam ukuran byte.

Program memanipulasi data dalam memori. Sebuah program penggajian, misalnya, dapat memberikan instruksi untuk meletakkan data tarif (gaji-per jam) di lokasi kotak 3 dan jumlah jam kerja di lokasi kotak 6. Untuk menghitung gaji karyawan, instruksi untuk komputer, yaitu mengalikan data di lokasi kotak 3 dengan data di lokasi kotak 6 dan pindahkan hasilnya ke lokasi kotak 8. Pemilihan lokasi dapat dilakukan di mana saja yang belum digunakan. Pemrogram yang menggunakan bahasa pemrograman tidak perlu tahu nomor alamat mesin yang sebenarnya, karena setiap alamat data disebut dengan nama yang menjadi alamat simbolis. Dalam contoh ini, nama alamat simbolis adalah Tarif, Jam, dan Gaji.

Mesin Konseptual Sederhana

Kalian diberi sebuah mesin konseptual sederhana ciptaan Mr. ALGO dan menyimulasikan cara kerjanya, yang seperti cara kerja sebuah komputer, tetapi dengan lebih sederhana. Pada bagian ini, kalian akan memahami bahwa instruksi program dalam bahasa yang lebih dekat ke manusia harus diterjemahkan menjadi instruksi dalam bahasa mesin untuk dapat dijalankan. Ingat bahwa dengan struktur komputer yang terdiri atas input, output, memori dan CPU, komputer hanya dapat membaca data dari perangkat masukan, menulis data ke perangkat keluaran, menyalin data dari CPU ke memori atau dari memori ke CPU, dan melakukan perhitungan aritmatika dan logika. Dengan kemampuan tersebut, kita dapat menuliskan program komputer yang beragam dan luar biasa daya gunanya!

Program komputer terdiri atas sekumpulan instruksi. Instruksi yang dijalankan oleh mesin harus dikenali oleh CPU yang disebut bahasa mesin. Bagaimana sebuah komputer menjalankan sebuah program dalam bahasa mesin? Komputer akan menjalankan (mengeksekusi) perhitungan dengan langkah yang disebut “fetch execute cycle” (siklus ambil dan jalankan). Fetch execute cycle ialah operasi yang paling mendasar dalam komputer, yang juga disebut “fetch decode execute cycle”. Selama fetch execute cycle, mesin komputer akan mengambil instruksi dari memori dan menjalankan instruksi tersebut sesuai dengan jenis instruksinya. Mengapa disebut fetch execute cycle? Siklus untuk fetching, decoding, dan executing sebuah instruksi ini akan diulang-ulang oleh CPU selama mesin komputer hidup!

  • CU akan mengambil instruksi (Fetch).
  • CU akan menerjemahkan instruksi tersebut harus melakukan apa, misalnya menyimpan data, menghitung, atau lainnya. Ingat, bahwa komputer hanya dapat melakukan perhitungan dan menyimpan/mengambil, atau mengirimkan data ke input/output device.
  • ALU akan mengambil data yang diperlukan untuk menjalankan instruksi, dan data yang sedang diproses disimpan dalam Register.
  • ALU menjalankan instruksi. Berikut ini gambaran Memori dan Register dari sebuah mesin ciptaan Mr. ALGO tersebut. Alamat pada mesin ini dinyatakan dalam kode Heksadesimal. Memori dibagi-bagi menjadi kotak-kotak. Setiap kotak mempunyai alamat dan dapat berisi data. Misalnya, mesin ciptaan kalian memiliki kapasitas memori untuk menampung 4 data dengan alamat AAA1 s.d AAA4 dan CPU mempunyai 2 register dengan alamat REG1 dan REG2 yang ilustrasikan seperti pada gambar di bawah ini. Sebetulnya, semua data akan disimpan dalam bentuk biner, seperti yang telah dipelajari di jenjang SMP. Namun demikian, untuk kemudahan membaca, data semua ilustrasi, data tetap dituliskan dalam besaran desimal.

Mesin Konseptual Sederhana akan mengeksekusi perintah tersebut dalam beberapa langkah karena data disimpan dalam memori (disimpan dalam variabel X dan Y), sedangkan proses perhitungan penjumlahan harus dilakukan oleh ALU yang merupakan bagian dari CPU. Misalnya, nilai dari variabel X disimpan dalam alamat AAA1 dan nilai dari variabel Y disimpan dalam AAA2, dan nilai variabel Jumlah akan disimpan dalam alamat AAA4. Data harus dibawa ke Register untuk dijumlahkan.

Mesin Konseptual Sederhana menjalankan beberapa instruksi bahasa mesin sebagai berikut untuk menjalankan program di atas.

SIMPAN 100 AAA1

SIMPAN 200 AAA2

SALIN AAA1 REG1

SALIN AAA2 REG2

TAMBAH REG1 REG2 SALIN REG2 AAA3 PRINT AAA3

Baca Kumpulan: Rangkuman Informtika Kelas 10 SMA

Related posts