Evolusi
Computer digital, pertama kali di desain oleh ahli matematika bernama Charles Babbage (1792 -
1871), memberikan gagasan tantang suatu mesin yang terprogram. Keterbatasan teknologi
masa itu, membuat mesin yang diciptakan Charles Babbage tidak dapat bekerja sesuai dengan
yang diinginkan. Mesin yang diciptakan hanya berupa mekanis, tanpa adanya sistem operasi.
Pada walanya komputer bekerja sebagai mesin hitung. Terdapat beberapa generasi dari
komputer, yaitu :
Program dibuat berdasarkan bahasa mesin dengan cara menghubungkan sirkuit pada
suatu papan tancap (plug board)
Komputer hanya dialokasikan satu tugas tertentu saja
Komputer digunakan oleh operator dan pemrogram harus melakukan reservasi terlebih
dahulu untuk menggunakan komputer
Plugboard dimasukkan ke dalam komputer dan hasil eksekusinya dapat diperoleh
setelah 1 atau 2 jam.
Operasi yang dilakukan adalah operasi perhitungan matematika seperti sinus dan
logaritma
Tahun 1950, Plugboard digantikan dengan kartu berlubang (punch card)
Punchcard
Plugboard
Kelemahan mainframe
Pengguna harus menunggu secara pasif (idle) ketika mengalihkan eksekusi ke job baru
berikutnya.
Pemrosesan job yang baru dimulai dengan pembacaan kartu dari tumpukan kartu
berikutnya yang melibatkan campurtangan operator
Proses pembacaan akan memakan waktu berjam-jam sementara komputer harus idle
tanpa dapat melakukan aktivitas lain
Solusi :
Dikembangkan sistem batch pada mainframe sehingga peralihan dari satu job ke job
berikutnya dapat dilakukan otomatis tanpa campur tangan pengguna.
Sistem Batch
Job – job dibaca dan ditampung dahulu pada tape magnetic dengan komputer lain
(misal IBM 1401)
Kumputer tersebut kurang powerful dalam kalkulasi numeris tapi handal dalam
pembacaan dari card reader, penyalinan ke tape magnetis serta pencetakan ke printer
Tape yang sudah penuh dan berisi kumpulan job (batch) dipindahkan dan dijadikan
sebagai tape input ke komputer utama (mainframe IBM 7094)
Pada mainframe, terdapat tape sistem yang berisi kompilator FORTRAN, yang akan
dimuat ke memori komputer pada saat mengompilasi program FORTRAN
Hasil kompilasi berupa program jadi yang kemudian dieksekusi oleh mainframe
Hasil output eksekusi program akan disimpan ke suatu tape output
Jika tape sudah penuh, tape dipindahkan ke komputer lain (IBM1401) untuk selanjutnya
dicetak ke printer
Spooling
OS/360 cikal bakal konsep spooling, multiprogramming, dan time-sharing
IBM 360 masih digunakan pada sistem reservasi tiket pesawat
Pada IBM 360 tidak perlu lagi komputer khusus untuk membaca card dan mencetak ke
printer, akan tetapi dapat kedua hal tersebut dapat dilakukan secara simultan dengan
eksekusi prosesor. Fitur ini disebut Spooling (Simultaneous Peripheral Operation On
Line)
Fitur ini dimungkinkan dengan mengganti tape dengan media penyimpan sementara
yang dapat diakses secara acak dan bersamaan baik oleh pembaca kartu maupun oleh
prosesor
Dengan demikian, tidak perlu lagi memindahkan tape seperti pada mainframe 7904
Multi programming
Selain itu pada IBM 7094, job akan berhenti jika terjadi pergantian tape dan prosesor
menjadi idle dan tidak dapat dialihkan ke job berikutnya >> masih bersifat sekuensial
(pergantian job hanya terjadi bila job sebelumnya sudah selesai)
Solusi : Konsep multi programming yaitu kemampuan sistem operasi untuk
mengeksekusi sejumlah job secara simultan >> prosesor dapat dialihkan ke job lainnya
tanpa perlu job sebelumnya selesai >> efek eksekusi simulatan (bersamaan)
Konsekuensi : memori komputer harus dipartisi untuk menampung beberapa job
sekaligus
Time sharing
IBM 7094 hanya dapat melayani satu pengguna/operator dalam satu waktu.
Muncul konsep sistem time-sharing CTSS (Compatible Time Sharing System) pada tahun
1962 oleh Corbato dengan menggunakan mesin IBM 7094
Pada timesharing, pengguna mengakses komputer melalui sebuah terminal yang terdiri
dari piranti I/O untuk berinteraksi dengan mainframe
Kesuksesan CTSS mejadi cikal bakal MULTICS (Multiplexed Information and Computing
Service) yang dibuat oleh MIT, BELL Labs, dan General Electrics dengan metoda
timesharing yang mamou mendukung ratusan pengguna secara simultan
Pada masa ini muncul sistem minicomputer lain, misalnya DEC PDP- 1 sampai PDP-11.
Ken Thompson, salah satu anggota proyek MULTICS, memodifikasi komputer MULTICS
tersebut tapi hanya satu pengguna, yang dia namakan UNICS (Uniplexed Information
and Computing Service), yang kemudian dinamakan UNIX yang disematkan di DEC PDP.
Karena ketidak kompatibelan antar versi dari DEC PEP (bahasa assembly), maka Ken
Thompson dan Dennis Rithchie menulis ulang UNIX dengan bahasa yang dikembangkan
sendiri yaitu bahasa B, yang kemudian diperbaiki dan diberi nama bahasa C
Karena UNIX sudah dalam bahasa level tinggi (bahasa C), tugas membangun ulang
(porting) sistem operasi UNIX pada komputer yang memiiki instruksi prosesor yang
berbeda (misal VAX) menjadi lebih mudah. Pengembang cukup membat kompilator
bahasa C saja tanpa perlu menulis ulang UNIX.
Kode program UNIX disebarkan secara luas, yang memungkinkan dikembangkan oleh
siapapun, sehingga menghasilkan banyak versi UNIX yang lain yang antar UNIX tidak
compatible
Akhirnya disepakati, versi UNIX yang utama adalah System V dari AT&T dan BSD
(berkeley Software Distribution) dari Universitas California di Berkeley.
Untuk mengatasi kompatibelitas, maka IEEE mendefinisikan spesifikasi API (application
Programming Interface) UNIX yang disebut POSIX 1003.1 atau biasa disebut POSIX saja.
Saat ini hampir seluruh varian UNIX memiliki POSIX sehingga seluruhnya menjadi
kompatibel
Generasi Keempat (1980-2000an) : Personal Computer (PC)
Dengan penemuan IC di generasi sebelumnya, maka dibuatlah microcomputer atau
disebut personal computer (PC) karena orang awam dapat membelinya dengan harga
murah
Tahun 1974, Intel mengeluarkan prosesor 8080 (8 bit) >> Gary Kidall membuat OS untuk
8080 yang dinamakan CP/M (Control Program for Microcomputer) dan sistem operasi
berbasis disk. Gary membangun Digital Research dan menulis ulang CP/M berbasis
untuk beberapa microcomputer lainnya.
Tahun 1980, Intel mengeluarkan prosesor 16 bit. IBM mengontak Bill Gates untuk
membeli lisensi bahasa pemrograman BASIC dan sistem operasi yang untuk yang satu
ini Bill Gates merekomentasikan Gary Kidall untuk membuat sistem operasinya. Gary
tidak terlalu tanggap, dan akhirnya IBM mengontak Bill Gates kembali untuk
mencarikan sistem operasi yang cocok.
Bill Gates kemudian membeli OS DOS dari Seattle Computer Products, sehingga terjual
lah paket DOS/BASIC ke IBM.
DOS dikembangkan dan akhirnya diberi nama MS DOS (Microsoft DOS), sesuai dengan
nama perusahaan Bill Gates, Microsoft.
MS DOS sangat populer karena lisensinya dijual satu paket dengan IBM PC, sementara
CP/M dijual terpisah dari penjualan perangkat keras komputernya.
Dengan IBM mengeluarkan IBM PC/AT dengan prosesor 80286, 80386, dan kemudian
80486, CP/M sudah kehilangan pasar dan MS DOS sudah menguasai hampir seluruh
pasar PC.
MS DOS dan CP/M >> OS berbasis Perintah teks
GUI baru ditemukan oleh Doug Engelbart tahun 1960, yang akhirnya Macintosh pelopor
GUI pada tahun 1990.
Berasal dari sana microsoft membangun GUIS diatas MS DOS yang dinamakan Windows
dengan versi 1.0, 2.0, 3.0, sampai 3.11.
Tahun 1995, microsoft mengeluarkan Windows 95 yang dapat berjalan sendiri tanpa MS
DOS, kemudian dilanjutkan Windows 98, dan Windows Millenium.
Secara terpisah, dikembangkan pula Windows NT yang ditujukan untuk server
perusahaan.
Sistem operasi kompetitor lain adalah Linux yang lisensinya bebas dan gratis. Linux
adalah varian dari sistem operasi UNIX yang dibuat oleh Linus Torvald tahun 1991
GUI untuk linux di kembangkan oleh MIT, dengan nama X-Windows, yang memiliki
tampilan seperti windows dengan adanya KDE ataupun GNOME.
Pengembangan linux tidak terpusat seperti windows, sehingga muncullan Linux (distro)
seperti RedHat, Mandriva, Open Suse, Ubuntu, Fedora, dan lainnya
Dalam perkembangannya, komunikasi jaringan antara PC diperlukan pula
sehinggamuncul pula perkembangan LAN, Internet, Platform sistem terdistribusi seperti
teknologi java dan .NET, serta arsitektur seperti client-server, multi-tier, dan
pemrograman berorientasi obyek
Dalam perkembangan ini, yang diperlukan bukan hanya sistem operasi tapi protokol-
protokol untuk komunikasi, cara penstrukturan aplikasi dalam lingkungan yang tersebar,
serta pratform untuk menjalankannya.
- History End –
SISTEM OPERASI
Contoh :
Sistem operasi diibaratkan seperti sistem otomotif pada kendaraan bermotor seperti
mobil,
Sistem otomotid melakukan abstraksi bagi pengguna mobil terhadap pengendalian
elemen-elemen mobil dengan menyediakan antarmuka seperti kemudi, pedal rem,
pedal gas, stop kontak, dan gigi sneling.
Pengemudi tidak butuh mengendalikan detil operasi elemen otomotif yang
sesungguhnya, seperti memutar tuas roda, memperbanyak debit pembakaran bensin,
menggesek roda dengan banlana rem.
Seluruh detail operasi tersebut dikendalikan secara tidak langsung lewat antarmuka
seperti kemudi, pedal gas, dan pedal rem. Pengemudi hanya butuh belajar bagaimana
mengemudikan mobil menggunakan antarmuka tersebut.
“Sistem Operasi melakukan abstraksi terhadap pengaksesan terhadap sumber daya komputer
sehingga pengoperasian komputer menjadi mudah bagi pengguna”
Resource Manager
Sistem Operasi mengelola seluruh sumber daya komputer sehingga terpakai secara
efisien, efektif, dan aman
Dimungkinkan beberapa job dijadwal secara bergantian untuk menggunakan prosesor,
dengan melakukan multipleks (multiplexing) pada penggunaan sumber daya, baik dari
segi waktu maupun ruang
Secara Waktu
Sumber daya yang dimultipleks secara waktu adalah prosesor dan printer.
Multiprogramming pada prosesor tunggal dicapai dengan melakukan alokasi prosesor
kepada masing-masing job secara bergantian. Setiap kali terjadi pergantian job, status
eksekusi dari job sebelumnya harus disimpan sehingga jika eksekusi kembali lagi
kepadanya, job tersebut dapat melanjutkan eksekusinya dari keadaan terakhirnya
Jika printer sedang melakukan pencetakan dari suatu job, sebaiknya printer tidak
dialokasikan ke job lain jika job pencetakan itu belum selesai. Dengan adanya tugas ini
menjamin penggunaan printer secara eksklusif oleh suatu job sampai selesai.
Secara Ruang
Sumber daya yang dimultipleks secara ruang adalah memori dan disk.
Ruang memori dipartisi untuk menympan beberapa job secara bersamaan. Sistem
Operasi harus memastikan program yang satu tidak menulis atau memodifikasi partisi
memori job lainnya
Disk yang sama digunakan untuk menyimpan berkasberkas yang berbeda. Penyimpanan
berbagai berkasi di disk butuh dilakukan secara baik sehingga mudah dibaca kembali
dan tidak saling tumpang tindih
Komponen Sistem Operasi
Sebagai Resource manager, sistem operasi menyediakan rutin-rutin penanganan
sumber daya komputer, yang dikelompoka menjadi empat kategori besar :
1. Manajemen Proses
2. Manajemen Memori
3. Manajemen Device
4. Manajemen Berkas
Manajemen Proses
Job yang dieksekusi oleh prosesor disebut proses
Tugas : untuk membuat proses-proses yang berjalan tidak saling mengganggu bahkan
dapat saling bekerjasama, dengan cara membuat dan menghentikan proses, menunda
dan melanjutkan kembali proses, serta menyediakan mekanisme penjadwalan,
komunikasi, sinkronisasi, dan penanganan deadlock bagi proses-proses yang berjalan
secara bersamaan.
Proses adalah program yang sedang dieksekusi, yang berarti bahwa program itu sedang
dijadwal untuk menggunakan prosesor, yang membutuhkan sumber daya lain untuk
menyelesaikan tugasnya.
Manajeman Memori
Tugas Utama : Mengatur pemakaian ruang memori utama yang terbatas agar dapat
digunakan secara bersamaan oleh sebanyak mungkin proses tanpa saling mengganggu
satu sama lain, dengan cara mengelola memori kosong, mengalokasikan dan
membebaskan ruang memori kepada proses sesuai kebutuhan, melakukan proteksi dan
bagi pakai memori utama
Memori utama adalah tempat penyimpanan yang bersifat volatile dan memiliki struktur
sebagai byte atau word. Memori dapat diakses (tulis/baca) oleh prosesor maupun
piranti I/O.
Manajemen Device
Tugas : mengelola beragam device atau piranti I/O yang berbeda karakteristiknya dapat
digunakan dengan baik oleh proses-proses, menggunakan device driver dari masing-
masing piranti, menyediakan pengaksesan yang lebih mudah dan sederhana ke berbagai
piranti I/O, dengan cara Penjadwalan peranti I/O, buffering, caching, spooling, reservasi
device serta penanganan kesalahan pengaksesan peranti I/O.
Manajemen Berkas
Berkas adalah sekumpulan informasi yang saling berkaitan dan disimpan sebagai suatu
entitas tunggal pada media penyimpanan sekunder.
Diperlukan sistem pengarsipan berkas yang baik pada mdia penyimpan, misal FAT16
pada MSDOS, FAT32 dan NTFS pada Windows, dan Ext2 dan Ext3 pada Linux.
Tugas : Mendukung pembuatan dan operasi pada berkas dan direktori, melakukan
alokasi ruang disk ke berkas, mengelola ruang kosong disk, mengelola isi direktori,
melakukan proteksi dan berbagi pakai berkas, melakukan pemulihan (recovery)
terhadap berkas.