Sejarah dan Perkembangan Sistem Operasi Komputer
Untuk memahami sistem operasi (
operating system),
terlebih dahulu akan diulas mengenai sistem komputer. Pada dasarnya
agar komputer dapat digunakan haruslah terdiri dari suatu kesatuan
sistem yang terdiri dari 3 komponen utama, yaitu hardware (perangkat
keras), software (perangkat lunak) dan brainware (user/pengguna).
Hardware adalah perangkat fisik komputer yang menjadi inti dari
sumber daya sebuah komputer.Perangkat fisik dari sebuah komputer adalah
bagian yang dapat dilihat dan disentuh. Contoh dari hardware adalah
monitor, keyboard, processor dan lain sebagainya.Hardware dapat
digolongkan sesuai dengan fungsinya menjadi 4 macam golongan:
- Input Device (perangkat keras masukan), berfungsi sebagai
masukandata pengguna untuk diolah oleh komputer misalnya: keyboard
(masukan data berupa angka/text/karakter), mouse (masukan data berupa
arah/pointer), microphone (masukan data berupa suara), camera (masukan
data berupa gambar), scanner dsb.
- Processing Device (Perangkat keras pemrosesan), berfungsi
untuk mengolah atau memproses data yang diinputkan agar dapat
disajikan/dioutputkan ke pengguna. Contoh: processor, RAM/main memory,
VGA card, sound card, network interface card/LAN card dsb.
- Output Device (Perangkat keras keluaran), berfungsi untuk
menampilkan hasil pengolahan komputer bagi pengguna, misalnya: monitor
& proyektor (keluaran berupa gambar), speaker & earphone
(keluaran berupa suara), printer & plotter (keluaran berupa hasil
cetakan pada kertas) dsb.
- Storage Device (Perangkat keras penyimpanan), berfungsi
untuk menyimpan hasil pengolahan komputer. Contoh: harddisk, flashdisk,
disket, CD/DVD/Blueray disk dsb.
Software merupakan program berupa kode-kode dan perhitungan matematis
yang dapat dimengerti oleh perangkat keras komputer (hardware) yang
disesuaikan dengan tujuan dan fungsinya agar komputer tersebut dapat
dioperasikan oleh brainware. Apabila dimisalkan seorang manusia,
hardware merupakan raga atau fisiknya dan software merupakan jiwa atau
ruhnya sedangkan brainware merupakan akal pikiran yang mengendalikannya.
Software secara umum dibagi menjadi “program aplikasi” dan “sistem
operasi”. Program aplikasi adalah program yang digunakan oleh pengguna
untuk menyelesaikan suatu tugas tertentu misalnya untuk hiburan,
menyetel video, pengolah grafis, pengolah kata, pengolah angka dll.
Contoh perangkat lunak aplikasi yang sering digunakan adalah MS Word, MS
Word digunakan sebagai perangkat pengolah kata yaitu membuat surat,
makalah dan lain sebagainya.
Brainware biasa juga disebut dengan user atau pengguna, merupakan
manusia atau program yang menggunakan dan mengoperasikan komputer. Pada
umumnya brainware adalah seorang manusia yang mengoperasikan komputer.
Namun sebenarnya brainware bukan hanya manusia, software semisal program
aplikasi juga dapat bertindak sebagai brainware.
Ketiga komponen sistem komputer tersebut dibutuhkan dalam sebuah
kesatuan yang utuh untuk menjalankan komputer agar dapat berfungsi.
Tanpa adanya salah satu komponen, mustahil komputer dapat digunakan.
Hardware tanpa software hanya seonggok rangkaian semikonduktor tak
berarti, software tidak akan dapat digunakan tanpa adanya hardware. Dan
tanpa adanya brainware, hardware dan software tidak akan dapat
menjalankan fungsi sesuai tujuannya untuk menyelesaikan pekerjaan
manusia sebagaimana mestinya.
Sistem operasi bisa dikatakan merupakanprogram yang menghubungkan
semua komponen sistem komputer tersebut. Sistem operasi dapat
diibaratkan sebuah jembatan yang menghubungkan antara brainware,
software aplikasi dan hardware agar dapat saling berkomunikasi.Sebuah
sistem operasilah yang mengatur hardware komputer, dengan menyediakan
landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai
penghubung antara brainware dengan hardware. Sistem operasi bertugas
untuk mengendalikan (kontrol) serta mengkoordinasikan pengunaan hardware
untuk berbagai program aplikasi yang digunakan brainware.
Sistem operasi merupakan software pada lapisan pertama yang diletakan
didalam memori utama pada saat komputer pertama kali dinyalakan.
Sedangkan software lainnya baru diaktifkan setelah sistem operasi
berjalan, sistem operasi akan menyediakan layanan inti umum bagi
software-software itu. Layanan inti tersebut seperti akses ke disk,
manajemen memori,
scheduling task, dan memberikan antar muka
bagi user. Software-software lainnya tidak perlu lagi melakukan
tugas-tugas inti umum tersebut, karena dapat dilakukan dan dilayani oleh
sistem operasi. Bagian kode (
source code) yang melakukan tugas-tugas inti umum dan berjalan setiap saat disebut dengan “kernel” dalam sistem operasi.
TUJUAN DAN FUNGSI SISTEM OPERASI
Dari sudut pandang pengguna, Sistem operasi merupakan alat yang
bertujuan untuk mempermudah penggunaan komputer. Dari sudut pandang
sistem komputer, sistem operasi dapat dianggap sebagai alat yang
bertujuan menempatkan sumber daya secara efisien (
Resource Allocator).
Sistem operasi ialah manager bagi sumber daya, yang menangani konflik
permintaan sumber daya secara efisien. Sistem operasi juga mengatur
eksekusi aplikasi dan operasi dari hardware I/O (Input/Output). Fungsi
ini dikenal juga sebagai program pengendali (
Control Program).
Jadi dari sudut pandang tujuan sistem operasi itu sendiri, sistem
operasi dapat dipandang sebagai alat yang membuat komputer lebih nyaman
digunakan (
convenient) untuk menjalankan program aplikasi dan
menyelesaikan masalah pengguna. Tujuan lain sistem operasiialah membuat
penggunaan sumber daya komputer menjadi efisien.
Sistem operasi yang baik adalah yang mampu memberikan keadaan aman
dan tetap konsisten pada saat hardware dan software aplikasi
berkomunikasi, juga tetap memberikan antar muka yang mudah, nyaman dan
menarik bagi pengguna. Berikut ini adalah 8 fungsi sistem operasi :
- Resource Manager : Mengalokasikan sumber daya, maksud
sumber daya disini adalah hardware seperti memori, CPU, Printer, disk
drive dan perangkat lainnya.
- Coordinator : menyediakan fasilitas sehingga aktivitas yang
kompleks dapat diatur untuk dikerjakan dalam urutan yang telah disusun
sebelumnya.
- Interface: sebagai perantara antara pengguna (user) dengan hardware untuk menyediakan lingkungan yang bersahabat atau mudah digunakan (User Friendly). Pengguna tidak akan dikhawatirkan dan dirumitkan oleh bahasa mesin atau perangkat level bawah.
- Guardian: menyediakan kontrol akses yang melindungi file dan memberi pengawasan pada pembacaan/penulisan/eksekusi data dan program.
- Gatekeeper: mengendalikan siapa saja yang berhak masuk
(log) kedalam sistem dan mengawasi tindakan apa saja yang dapat mereka
kerjakan ketika telah log dalam sistem.
- Optimizer: menjadwal pemasukan (input) oleh pengguna,
pengaksesan basis data, proses komunikasi, dan pengeluaran (output)
untuk meningkatkan kegunaan.
- Accountant: mengatur waktu CPU (CPU time), penggunaan memori, pemanggilan perangkat I/O (masukan/keluaran), disk storage dan waktu koneksi terminal.
- Server: untuk menyediakan layanan yang sering dibutuhkan
pengguna, baik secara eksplisit maupun implisit, seperti mekanisme akses
file.
Dapat disimpulkan, bahwa Sistem operasi merupakan komponen penting
dari setiap sistem komputer. Konsep sistem operasi dapat lebih mudah
dipahami, jika juga memahami jenis hardware yang digunakan. Demikian
pula sebaliknya. Dari sejarah diketahui bahwa sistem operasi dan
hardware saling mempengaruhi dan saling melengkapi. Struktur dari sebuah
sistem operasi sangat tergantung pada hardware yang pertama kali
digunakan untuk mengembangkannya. Sedangkan perkembangan hardware sangat
dipengaruhi dari hal-hal yang diperlukan oleh sebuah sistem operasi.
SEJARAH PERKEMBANGAN SISTEM OPERASI
Arsitektur hardware komputer tradisional terdiri dari empat komponen
utama yaitu “Prosesor”, “Memori Penyimpanan”, “Masukan” (Input), dan
“Keluaran” (Output). Model tradisional tersebut sering dikenal dengan
nama
arsitektur von-Neumann. Pada saat awal, komputer
berukuran sangat besar sehingga komponen-komponennya dapat memenuhi
sebuah ruangan yang sangat besar. Sang pengguna menjadi programer yang
sekaligus merangkap menjadi menjadi operator komputer dan bekerja masih
di dalam ruang komputer tersebut.
Walaupun berukuran besar, sistem tersebut dikategorikan sebagai
“komputer pribadi” (PC). Siapa saja yang ingin melakukan komputasi harus
memesan untuk antri mendapatkan alokasi waktu (rata-rata 30-120 menit).
Jika ingin melakukan kompilasi program Fortran, maka pengguna pertama
kali akan me-
load kompilator Fortran, yang diikuti dengan “load” program dan data. Hasil yang diperoleh, biasanya berbentuk cetakan (print-out).
Dari cara penggunaan seperti itu, timbul beberapa masalah pada sistem
PC tersebut.Alokasi pesanan apa saja yang akan dilakukan harus
dilakukan diawal. Jika pekerjaan selesai sebelum rencana awal, maka
sistem komputer menjadi “idle” (tidak tergunakan). Sebaliknya, jika
perkerjaan selesai lebih lama dari rencana semula, para calon pengguna
berikutnya harus menunggu hingga pekerjaan selesai. Selain itu, seorang
pengguna kompilator Fortran akan beruntung jika pengguna sebelumnya juga
menggunakan Fortran. Namun, jika pengguna sebelumnya menggunakan Cobol,
maka pengguna Fortran harus me-”load” kembali dari awal (
Set-Up). Masalah ini ditanggulangi dengan menggabungkan para pengguna kompilator sejenis ke dalam satu kelompok (
batch) yang sama. Untuk mengurangi waktu
set-up tersebut, digunakan jasa operator komputer dan menggabungkan tugas-tugas yang sama (
sistem batch).
Selanjutnya terjadi pemisahan tugas antara programer dan operator.
Para operator biasanya secara eksklusif menjadi penghuni “ruang kaca”
seberang ruang komputer. Para programer yang merupakan pengguna (users),
mengakses komputer secara tidak langsung melalui bantuan para operator.
Para pengguna mempersiapkan sebuah job yang terdiri dari program
aplikasi, data masukan, serta beberapa perintah pengendali program.
Medium yang lazim digunakan ialah kartu berlubang (
punch card).
Setiap kartu dapat menampung informasi satu baris hingga 80 karakter.
Set kartujob lengkap kemudian diserahkan kepada para operator.
Perkembangan Sistem operasi dimulai dari sini. Dengan memanfaatkan
sistembatch
para operator mengumpulkan job-job yang mirip yang kemudian dijalankan
secara berkelompok. Misalnya, job yang memerlukan kompilator Fortran
akan dikumpulkan ke dalam sebuah batch bersama denganjob-job lainnya
yang juga memerlukan kompilator Fortran. Setelah sebuah kelompok job
selesai, maka kelompok job berikutnya akan dijalankan secara otomatis.
Sistem batch mengizinkan pengurutan tugas secara otomatis
dengan menggunakan Sistem operasi yang terintegrasi dan memberikan
peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak
perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja
rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk I/O
secara relatif terhadap kecepatan CPU. Operasi
off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem
reader-to-tape dan tape
-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para
developer memperkenalkan konsep
multiprogramming.
Pada perkembangan berikutnya, diperkenalkan konsep
Multiprogrammed System.
Dengan sistem ini job-job disimpan di memori utama di waktu yang sama
dan CPU dipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan
tambahan yaitu: penyediaan I/O yang rutin oleh sistem, pengaturan memori
untuk mengalokasikan memori pada beberapa Job, penjadwalan CPU untuk
memilih job mana yang akan dijalankan, serta pengalokasian hardware
lain.
Peningkatan lanjut dikenal sistem “bagi waktu” (
Time Sharing System),”tugas ganda” (
Multitasking), dan “komputasi interaktif” (
Interactive Computing).
Sistem ini, secara simultan dapat diakses lebih dari satu pengguna.
CPUdigunakan bergantian oleh job-job di memori dan di disk. CPU
dialokasikan hanya pada job di memori dan job dipindahkan dari dan ke
disk. Interaksi langsung antara pengguna dan komputer ini melahirkan
konsep baru, yaitu
response time (waktu respon) yang diupayakan wajar agar tidak terlalu lama menunggu.
Hingga akhir tahun 1980-an, sistem komputer dengan kemampuan yang “normal”, lazim dikenal dengan istilah
main frame.
Sistem komputer dengan kemampuan jauh lebih rendah (dan lebih murah)
disebut “komputer mini”. Sebaliknya, komputer dengan kemampuan jauh
lebih canggih disebut komputer super (
super computer). Namun prinsip kerja dari Sistem operasi dari semua komputer tersebut lebih kurang sama saja.
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi :
1. Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik
sebagai pengganti sistem komputasi mekanik, hal itu disebabkan
kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah
untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi
ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang
harus dikerjakan secara langsung.
2. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan
Batch Processing System, yaitu
Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara
berurutan. Pada generasi ini sistem komputer belum dilengkapi sistem
operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya
fungsi sistem operasi ialah FMS dan IBSYS.
3. Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk
melayani banyak pemakai sekaligus, dimana para pemakai interaktif
berkomunikasi lewat terminal secara
on-line ke komputer, maka sistem operasi menjadi
multi-user(di gunakan banyak pengguna sekaligus) dan
multi-programming (melayani banyak program sekaligus).
4. Generasi Keempat (Pasca 1980-an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana
pemakai menyadari keberadaan komputer-komputer yang saling terhubung
satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan
dengan
Graphical User Interface yaitu antar-muka komputer yang
berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era
komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di
satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja
yang lebih baik.
KELUARGA SISTEM OPERASI
Perkembangan sistem operasi modern (sudah mendukung
multitasking dan
multiuser)
diawali oleh UNIX yang dibangun pada tahun 1969 oleh AT&T Bell
Labs, termasuk didalamnya Ken Thompson, Dennis Ritchie, Brian Kernighan,
Douglas McIlroy, dan Joe Ossana. Saat ini UNIX sudah jauh berkembang
sehingga terdiri dari bermacam variasi berkat AT&T, berbagai vendor
komersial, lembaga non-profit dan universitas.
Diera tahun 70-an sampai 80-an, Personal Computer (PC) sudah memiliki
sistem operasi dengan level abstraksi yang tinggi yang disimpan di
memori sekunder seperti harddisk drive dan floppy disk drive. Sistem
operasi semacam ini disebut dengan
Disk Operating System (DOS).
Contoh sistem operasi yang terkenal adalah OS/2 yang di buat oleh
perusahaan IBM dan Microsoft. Antar muka sistem operasi di era ini masih
berupa text sehingga relatif sulit untuk dioperasikan pengguna awam.
Mac OS atau
Macintosh Operating System merupakan sistem
operasi pertama yang sukses dengan antar muka grafis (GUI), sistem
operasi tersebut diperkenalkan oleh Apple Computer pada tahun 1984.
Sistem operasi modern untuk PC saat ini didominasi oleh Microsoft
Windows yang pertama kali diperkenalkan pada tahun 1985. Popularitas
Windows saat ini mendapat perlawanan dari Linux dengan sifat open
sourcenya dan dukungan pengembangan berbagai distro. Linux merupakan
keluarga sistem operasi mirip UNIX, Kernel Linux disusun pertama kali
oleh Linus Torvalds pada tahun 1991.
Era tahun 2000-an merupakan awal tren Mobile Computing, yang saat ini
sistem operasi perangkatnya didominasi oleh Android, iOS, Blackberry
OS, Windows Phone dan Symbian.