APAKAH SISTEM OPERASI ?
Sistem operasi adalah program yang bertindak sebagai perantara antara user dengan perangkat keras komputer. Sistem operasi digunakan untuk mengeksekusi program user dan memudahkan menyelesaikan permasalahan user. Selain itu dengan adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem operasi mempunyai tujuan untuk menggunakan perangkat keras komputer secara efisien. Secara umum komponen sistem komputer terdiri dari :
- Perangkat Keras, merupakan sumber daya utama untuk proses komputasi. Perangkat keras komputer terdiri dari : CPU, memory dan perangkat input output.
- Sistem Operasi, mempunyai tugas untuk melakukan control dan koordinasi penggunaan perangkat keras pada berbagai program aplikasi untuk user-user yang berbeda.
- Program Aplikasi, menentukan cara sumber daya sistem digunakan untuk menyelesaikan permasalahan komputasi dari user, contohnya compiler, sistem basis data, video games, program bisnis dan lain-lain.
- User yang menggunakan sistem, terdiri dari orang, mesin atau komputer lain.
Sistem Operasi Juga Bisa Didefinisikan Sebagai :
- Resource allocator
Sistem operasi mengatur dan mengalokasikan sumber daya – sumber daya
sistem komputer
- Program control
Sistem operasi melakukan control eksekusi dari program user dan operasi input
output.
- Kernel
Sistem operasi sering disebut kernel, yaitu suatu program yang berjalan
sepanjang waktu (selain program aplikasi).
Perkembangan Sistem Operasi
1. Sistem Mainframe
Sistem komputer pendahulu secara fisik berbentuk mesin besar yang disebut sistem mainframe. Untuk menjalankan sistem ini dilakukan dari suatu console. Perangkat input yang digunakan berupa card reader dan tape drive. Perangkat output yang digunakan berupa line printer, tape drive dan card punch. Kemudian, user menyiapkan job yang terdiri dari program, data dan beberapa informasi kontrol (control card) dan dikirimkan ke operator komputer. Job biasanya dalam bentuk punch card. Beberapa waktu kemudian (dalam hitungan waktu menit, jam atau hari), output ditampilkan. Output berupa hasil program, apabila terjadi error pada program memory dan register akan berisi kosong.
Sistem operasi pada komputer mainframe sangat sederhana. Task utama mengirim control secara otomatis dari satu job ke job berikutnya. Sistem operasi selalu residen di memory yang disebut dengan resident monitor. Untuk meningkatkan kecepatan proses, job yang sama perlu dikumpulkan bersama (batch) dan dijalankan oleh komputer sebagai satu kelompok. Kemudian programmer memberikan program kepada operator. Operator akan mengurut program yang sama dan kemudian komputer akan menjalankan setiap kumpulan program tersebut. Output dari setiap job dikirim kembali kepada programmer.
Untuk menghindari adanya waktu nganggur CPU yang cukup lama maka dikembangkan suatu teknik mengurutan kerja job secara otomatis. Teknik ini mampu mentrasfer kontrol secara otomatis dari suatu job ke job berikutnya. Inilah bentuk sistem operasi pertama kali. Program kecil yang bersifat residen di memori berisi urutan-urutan job yang akan berpindah secara oromatis inilah yang disebut dengan Resident Monitor. Jika komputer dinyalakan, maka sistem akan menunjuk ke resident monitor, secara otomatis kontrol akan menunjuk ke program tersebut.
2. Sistem Batch Multiprogram
Beberapa job dikumpulkan oleh sistem operasi pada memory utama pada waktu yang sama.. Kumpulan job ini merupakan bagian dari job yang disimpan pada pool (job pool). Job pool berisi job-job yang sudah siap dieksekusi. Jumlah job dapat disimpan bersama-sama pada memory biasanya lebih kecil daripada jumlah job yang dapat berada pada job pool. Sistem operasi mengambil beberapa job yang siap untuk dieksekusi untuk diletakkan di memori utama. Jika job yang sedang dieksekusi menunggu beberapa task (seperti proses mount tape drive atau operasi I/O yang harus diselesaikan), maka job tersebut diganti dengan job berikutnya.
Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi
akan dipilih oleh sistem job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.
3.Sistem Time Sharing
Time sharing atau multitasking adalah pengembangan dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian. CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahan antar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya. Sistem time sharing juga disebut dengan sistem komputasi interaktif, dimana sistem komputer menyediakan komunikasi on-line antara user dengan sistem. User memberikan instruksi pada sistem operasi atau program secara langsung dan menerima respon segera. Perangkat input berupa keyboard dan perangkat output berupa display screen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai mengeksekusi satu perintah, makan sistem akan mencari pernyataan berikutnya dari user melalui keyboard. Sistem menyediakan editor interaktif untuk menulis program dan sistem debug untuk membantu melakukan debugging program. Agar user dapat mengakses data dan kode program dengan nyaman, sistem menyediakan sistem file online. Suatu file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa program (baik bentuk source dan object) dan data. Data file berupa teks dengan format tertentu.
Secara umum, file adalah kumpulan bit, bite, baris atau record. Sistem operasi mengimplementasikan konsep abstrak dari file dengan mengatur perangkat penyimpan seperti tape dan disk. File secara normal diorganisasikan dalam logical cluster atau directory, untuk memudahkan lokasi dan akses file.
4. Sistem Desktop
Semakin turunnya harga perangkat keras, dikembangkan sistem komputer untuk satu user. Jenis sistem komputer ini biasanya disebut dengan personal computer (PC). Perangkat I/O berupa keyboard dan mouse, dan perangkat output berupa display screen atau printer yang berkecepatan tinggi. Personal komputer dikembangkan tahun 1970-an. Sistem ini disebut dengan mikrokomputer. Sistem operasi masih belum dikembangkan untuk multiuser maupun multitasking.
Tujuan sistem operasi adalah untuk memaksimalkan utilitas CPU dan peripheral, serta memaksimalkan kenyamanan dan respon user. Sistem operasi yang dikembangkan adalah Microsoft Windows dan Apple Machintosh. Sistem operasi MSDOS dari Microsoft yang masih single tasking dikembangkan oleh IBM menjadi OS/2 yang merupakan sistem multitasking.
Berkembangnya sistem komputer dari mainframe menjadi mikrokomputer menunjukkan bahwa sistem operasi mikrokomputer dapat mengadopsi sistem mainframe.
5. Sistem Paralel
Sistem paralel atau sistem multiprosessor mempunyai lebih dari satu prosessor yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memory dan peripheral. Sistem ini disebut sebagai tightly coupled system. Sistem ini dikembangkan karena beberapa alasan. Salah satu keuntungan dari sistem ini adalah meningkatkan jumlah proses yang dapat dijalankan pada satu waktu (throughput). Dengan meningkatkan jumlah prosessor, diharapkan pekerjaan dapat dikerjakan dalam waktu yang lebih pendek.
Alasan lain dari pengembangan sistem multiprosessor adalah meningkatkan kehandalan sistem. Jika fungsi dapat didistribusikan pada beberapa prosessor, maka kegagalan dari satu prosessor tidak akan menghentikan sistem, tetapi hanya memperlambat sistem. Jika terdapat 10 prosessor dan satu gagal, makan sisa 9 prosessor menggantikan pekerjaan prosessor yang gagal. Keseluruhan sistem hanya memperlambat 10 persen. Kemampuan untuk melanjutkan penyediaan layanan untuk menyelamatkan perangkat keras disebut gracefull degradation. Sistem yang didesain untuk gracefull degradation juga disebut faul- tolerant.
Sistem multi prosessor yang sering digunakan adalah model symmetric multiprocessing, dimana setiap prosessor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan. Beberapa sistem menggunakan asymmetric multiprocessing, dimana setiap prosessor mempunyai tugas tetentu. Prosessor master mengontrol sistem, prosessor lain menunggu instruksi master atau mempunyai tugas yang ditentukan oleh master. Skema ini merupakan hubungan master-slave. Prosessor master menjadwal dan mengalokasikan pekerjaan dari prosessor slave.
6. Sistem Terdistribusi
Tren sistem komputer saat ini adalah mendistribusikan komputasi diantara beberapa prosessor. Prosessor berkomunikasi dengan prosessor lain melalui saluran komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Sistem ini disebut loosely coupled system atau sistem terdistribusi (distributed system).
Prosessor pada sistem terdistribusi bervariasi ukuran dan fungsinya. Biasanya terdiri dari mikroposessor, workstation, minikomputer dan sistem komputer generalpurpose. Prosessor-prosessor ini disebut dengan site, node, komputer atau lainnya.
Sistem terdistribusi memerlukan infrastruktur jaringan, berupa local area network (LAN) atau wide area network (WAN). Sistem terdistribusi biasanya disebut dengan sistem client-server atau peer-to-peer.
7. Sistem Terklaster
Sistem terklaster (clustered system) adalah pengembangan dari sistem terdistribusi. Perbedaan sistem terklaster dengan sistem terdistribusi adalah pada sistem terklaster memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder (storage) bersama-sama. Sistem ini mempunyai kehandalan sistem yang tinggi seperti pada sistem terdistribusi.
Sistem terklaster dapat berupa model asymmetric clustering dimana satu serber menjalankan aplikasi sementara server lainnya standby. Model lainnya adalah symmetric clustering dimana semua host menjalankan aplikasi.
8. Sisitem Real Time
Salah satu bentuk sistem operasi untuk keperluan khusus adalah sistem real time. Sistem real time digunakan bila terdapat kebutuhan keteptan waktu pa operasi prosessor atau aliran data sehingga sering digunakan untuk perangkat control pada suatu aplikasi seperti mengontrol percobaan keilmuan, sistem medical imaging, sistem control industri dan beberapa sistem display. Pada sistem real time harus didefinisikan batasan waktu yang tetap. Pemrosesan harus dikerjakan dalam waktu tertentu atau sistem akan gagal. Sebagai contoh, jika lengan robot tidak diinstruksikan untuk berhenti segera maka dapat merusak robot tersebut.
Terdapat dua bentuk sistem real time. Sistem hard real time menjamin tugas kritis diselesaikan tepat waktu. Pada sistem ini penyimpan sekunder terbatas atau tidak digunakan, data langsung dikirim ke memory atau read-only memory (ROM) dalam waktu singkat. Pada sistem hard real time terjadi konflik pada sistem time sharing dan tidak didukung oleh sistem operasi tujuan umum. Bentuk lainnya adalah soft real time dimana tugas kritis mendapatkan prioritas lebih tinggi dari tugas lain dan setelah satu task selesai maka task berprioritas ini akan diselesaikan. Sistem ini terbatas pada industri pengontrol robot. Sangat berguna pada aplikasi multimedia dan virtual rality yang membutuhkan fitur sistem operasi tertentu.
9. Sistem Handheld
Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display screen yang kecil.