Sistem operasi (bahaso Inggris: operating system; disingkek OS) adolah perangkek luneik sistem nan mangatua sumber daya dari perangkek kareh jo perangkek luneik, sarato sabagai daemon untuak program komputer. Indak ado sistem operasi, pangguna indak dapek manjalankan program aplikasi pado komputer, kacuali program booting.
Sistem operasi ado panjadwalan nan sistematis mancakuik parhitungan panggunoan memori, pemrosesan data, panyimpanan data, jo sumber daya lainnyo.
Untuak fungsi-fungsi perangkek kareh sarupo sabagai masuakan jo kaluaran jo alokasi memori, sistem operasi batindak sabagai parantaro antaro program aplikasi jo perangkek kareh komputer,[1][2] meskipun kode aplikasi biasonya dieksekusi langsuang dek perangkek kareh jo acok bana manghubungi OS atau taputuih dek itu. Sistem operasi nan ditamukan pado hampia sado perangkek nan barisi komputer-dari ponsel jo konsol pamainan video untuak superkomputer jo server web.
Contoh sistem operasi modern adolah Linux, Android, iOS, Mac OS X, jo Microsoft Windows.[3][4]
Biasonya, istilah sistem operasi acok ditujukan kapada sado perangkek luneik nan masuak dalam ciek paket dek sistem komputer sabalum aplikasi-aplikasi perangkek luneik tainstal. Sistem operasi adolah perangkek luneik sistem nan batugas untuak mangarajoan kontrol jo manajemen perangkek kareh sarato operasi-operasi dasa sistem, tamasuak manjalankan perangkek luneik aplikasi sarupo program-program pangolah kato jo peramban web.
Sacaro umum, sistem operasi adolah perangkek luneik pado lapisan patamo nan ditampekkan pado memori komputer pado wakatu komputer dihiduikan booting. Sadangkan software-software lainnyo dijalankan salapeh sistem operasi bajalan, jo sistem operasi nyio mangarajoan layanan inti untuak software-software itu. Layanan inti tasabuik sarupo akses ka disk, manajemen memori, panjadwalan tugas schedule task, jo anta-muko user GUI/CLI. Sahinggo satiok software indak paralu liak mangarajoan tugas-tugas inti umum tasabuik, karano dapek dilayani jo dikarajoan dek sistem operasi. Bagian kode nan mangarajoan tugas-tugas inti jo umum tasabuik dinamoan dek "kernel" suatu sistem operasi.[5]
Kalau sistem komputer tabagi dalam lapisan-lapisan, mako sistem operasi adolah panghubuang antaro lapisan hardware jo lapisan software. Sistem operasi mangarajoan sadolah tugas-tugas pantiang dalam komputer, jo manjamin aplikasi-aplikasi nan babeda dapek bajalan sacaro basamoan jo lanca. Sistem operasi manjamin aplikasi lainnyo dapek manggunoan memori, mangarajoan input jo output terhadap paralaikan lain, jo ado akses kapada sistem barakeh. Apobilo babarapo aplikasi bajalan sacaro basamoan, mako Sistem operasi mangatur schedule nan tapek, sahinggo sadapek mungkin sado proses nan bajalan mandapekkan wakatu nan cukuik untuak manggunoan prosesor (CPU) sarato indak saling mangganggu.
Dalam banyak kasus, Sistem Operasi manyadioan suatu pustaka dari fungsi-fungsi standa, dima aplikasi lain dapek mamanggia fungsi-fungsi itu, sahinggo dalam satiok pambuekan program baru, indak paralu mambuek fungsi-fungsi tasabuik dari awal.
Sistem operasi sacaro umum tadiri dari babarapo bagian:
Sabagian Sistem operasi cuman mangizinkan ciek aplikasi ajo nan bajalan pado ciek wakatu (misalnyo DOS), tatapi sabagian gadang Sistem Operasi baru mangizinkan babarapo aplikasi bajalan sacaro simultan pado wakatu nan basamoan. Sistem operasi sarupo iko disabuik sabagai Multi-tasking Operating System (misalnyo kaluarga sistem operasi UNIX). Babarapo Sistem Operasi baukuran gadang bana jo kompleks, sarato inputnyo tagantuang kapado input pangguno, sadangkan sistem operasi lainnyo ketek bana jo dibuek dek asumsi bakarajo tanpa intervensi manusio samo sakali. Tipe nan patamo acok disabuik sabagai Desktop OS, sadangkan tipe kaduo adolah Real-Time OS, contohnyo adolah Windows, Linux, Free BSD, Solaris, palm, symbian, jo sabagainyo.
Sairiang dek bakambangnyo sistem operasi, samakin banyak liak layanan nan manjadi layanan inti umum. Kini, sabuah OS mungkin paralu manyadioan layanan jaringan jo koneksi internet, nan dulunyo indak manjadi layanan inti umum. Sistem operasi jugo paralu untuak manjago karusakan sistem komputer dari gangguan program parusak nan barasa dari komputer lainnyo, sarupo virus. Daftar layanan inti umum akan taruih batambah.
Program saling bakomunikasi antaro ciek jo lainnyo jo Antamuko Pemrograman Aplikasi, Application Programming Interface atau disingkek jo API. Dek API ikolah program aplikasi dapek bakomunikasi jo sistem operasi. Sabagaimano manusio bakomunikasi jo komputer malalui Antamuko User, program jugo bakomunikasi jo program lainnya malalui API.
Walaupun demikian API sabuah komputer indaklah bapangaruh sapanuahnyo pado program-program nan dikarajoanan diateh platform operasi tasabuik. Contohnyo kalau program nan dibuek untuak windows 3.1 kalau dikarajoan dek windows 95 jo generasi salapehnyo akan nampak pabedoan nan mancolok antaro program tasabuik jo program nan lain.
Sistem operasi utamo nan digunoan komputer umum (tamasuak PC, komputer personal) tabagi manjadi 3 kalompok gadang:
Sadangkan komputer Mainframe, jo Super komputer manggunoan banyak bana sistem operasi nan babeda-beda, umumnya marupokan turunan dari sistem operasi UNIX nan dikambangkan dek vendor sarupo IBM AIX, HP/UX, dll.
Prosesor mengeksekusi program-program komputer. Prosesor adolah sabuah chip dalam sistem komputer nan mangarajoan instruksi-instruksi program komputer. Dalam satiok datiknyo prosesor dapek mangarajoan jutaan instruksi.
Program adolah saderetan instruksi nan diagiah kapado suatu komputer. Sadangkan proses adolah suatu bagian dari program nan barado pado status tatentu dalam rangkaian eksekusinyo. Di dalam bahasan Sistem Operasi, kito labiah acok mambahas proses dibandingkan dek program. Pado Sistem Operasi modern, pado saat tatentu indak sado program dimuek dalam memori, tatapi hanyo ciek bagian ajo dari program tasabuik. Sadangkan bagian lain dari program tasabuik tetap baistirahat di media panyimpan disk. Hanyo pado saat dibutuhkan se, bagian dari program tasabuik dimuek di memori dan dieksekusi dek prosesor. Hal iko manghimeik bana pamakaian memori.
Babarapo sistem hanyo mangarajoan ciek proses tungga dalam ciek wakatu, sadangkan nan lainnyo mangarajoan multi-proses dalam ciek wakatu. Padahal sabagian gadang sistem komputer hanyo punyo ciek prosesor, jo sabuah prosesor hanyo dapek mangarajoan ciek instruksi dalam ciek wakatu. Mako baa sabuah sistem prosesor tungga dapek mangarajoan multi-proses? Sabananyo pado granularity nan ketek bana, prosesor hanyo mangarajoan ciek proses dalam ciek wakatu, kamudian sacaro capek inyo bapindah mangarajoan proses lainnyo, jo sataruihnyo. Sahinggo bagi pancaliakan jo perasoan pangguno manusio, seakan-akan prosesor mangarajoan babarapo proses sacaro basamoan.
Satiok proses dalam sabuah sistem operasi mandapekan sabuah PCB (Process Control Block) nan mamuek informasi tentang proses tasabuik, inyo tu: sabuah tando pangana proses (Process ID) nan unik jo manjadi nomor identitas, status proses, prioritas eksekusi proses jo informasi lokasi proses dalam memori. Prioritas proses marupokan suatu nilai atau gadangan nan manunjukan sabarapo acok proses harus dikarajoan dek prosesor. Proses nan punyo prioritas labiah tinggi, akan dikarajoan labiah acok atau dieksekusi labiah dulu dibandingkan dek proses nan berprioritas labiah randah. Suatu sistem operasi dapek se manantuan sado proses dek prioritas nan samo, sahingga satiok proses punyo kesempatan nan samo. Suatu sistem operasi dapek jugo marubah nilai prioritas proses tatentu, agar proses tasabuik akan dapek punyo kesempatan labiah gadang pado eksekusi barikuiknyo (misalnyo: pado proses nan alah lama bana manunggu eksekusi, sistem operasi manaikan nilai prioritasnyo).
Jinih status nan mungkin dapek disematkan pado suatu proses pado satiok sistem operasi dapek babeda-beda. Tatapi paliang indak ado 3 macam status nan umum, inyo tu: