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:
1.
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.
2.
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.
3.
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.
4.
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 :
1.
Resource
Manager : Mengalokasikan
sumber daya, maksud sumber daya disini adalah hardware seperti memori, CPU,
Printer, disk drive dan perangkat lainnya.
2.
Coordinator : menyediakan fasilitas sehingga
aktivitas yang kompleks dapat diatur untuk dikerjakan dalam urutan yang telah
disusun sebelumnya.
3.
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.
4.
Guardian: menyediakan kontrol akses yang melindungi
file dan memberi pengawasan pada pembacaan/penulisan/eksekusi data dan program.
5.
Gatekeeper: mengendalikan siapa saja yang berhak masuk
(log) kedalam sistem dan mengawasi tindakan apa saja yang dapat mereka kerjakan
ketika telah log dalam sistem.
6.
Optimizer: menjadwal pemasukan (input) oleh pengguna,
pengaksesan basis data, proses komunikasi, dan pengeluaran (output) untuk
meningkatkan kegunaan.
7.
Accountant: mengatur waktu CPU (CPU time), penggunaan memori, pemanggilan perangkat I/O
(masukan/keluaran), disk storage dan
waktu koneksi terminal.
8.
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 sistembatchpara 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 secaraon-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.
Berikut ini adalah
beberapa daftar keluarga sistem operasi yang marak digunakan.
1. Keluarga Windows :
1)
Berbasis MS-DOS: MS-DOS, Windows 1.0 , Windows 2.0, Windows 2.1x, Windows 3.0,
Windows 3.1x
2) Windows 9x: Windows 95, Windows 98, Windows Me
3) Berbasis Windows NT: Windows NT 3.1, Windows
NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP (edisi),
Windows Server 2003, Fundamentals for Legacy PCs, Windows Vista (edisi),
Windows Home Server, Windows Server 2008, Windows 7, Windows Server 2008 R2,
Windows 8
4) Keluarga Windows CE: CE 1.0, CE 2.0, CE 3.0,
CE 4.0, CE 5.0, CE 6.0, Mobile
2. Keluarga UNIX :
1)
AIX
2) AmigaOS
3) BSD
4) DragonFly BSD
5) Free BSD
6) GNU
7) HP-UX
8) IRIX
9) Linux
10) LynxOS
11) MINIX
12) NetBSD
13) OpenBSD
14) OS X
15) Plan 9
16) QNX
17) Research UNIX
18) SCO OpenServer
19) Solaris
20) UNIX System V
21) Tru64 UNIX
22) UnixWare
23) VxWork
24) Xenix
3. Keluarga Mac OS:
1)
PC : Public Beta (Kodiak), Mac OS X 10.0 (Cheetah), Mac OS X 10.1 (Puma), Mac
OS X 10.2 (Jaguar), Mac OS X 10.3 (Panther), Mac OS X 10.4 (Tiger), Mac OS X
10.5 (Leopard), Mac OS X 10.6 (Snow Leopard), Mac OS X 10.7 (Lion), Mac OS X
10.8 (Mountain Lion).
2) Server : OpenStep, Raphsody, Mac OS X Server
1.0
3) Mobile: iOS
DAFTAR
ISTILAH
·
Kompilator: Kompilator (Inggris:compiler) adalah sebuah program komputer yang berguna
untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman
tertentu menjadi program yang ditulis dalam bahasa pemrograman lain.
·
Fortran
: Fortran (atau FORTRAN) adalah sebuah bahasa pemrograman. Pertama kali dikembangkan pada tahun 1950 dan digunakan dalam
bidang sains selama 50 tahun kemudian. Pertama kali bernama FORTRAN yang
merupakan singkatan dariFormula Translator/Translation,
tetapi penggunaan huruf besar kemudian ditiadakan sejak versi Fortran 90.
Pertama kali dikembangkan merupakan bahasa pemrograman prosedural, akan tetapi
versi-versi terbaru dari Fortran kemudian dikembangkan dengan memasukkan
kemampuanobject-oriented programming.
·
Cobol: COBOL(singkatan
dariCommonBusinessOrientedLanguage)
adalah sebuah bahasa pemrogramangenerasi ketiga. Sesuai dengan namanya, maka
bahasa COBOL mempunyai fungsi menyelesaikan masalah-masalah yang berhubungan
dengan perdagangan, seperti sistem pengelolaan keuangan, laporan pengeluaran
sebuah perusahaan dan lain-lain.
·
Time Sharing
System :Time sharing system adalah suatu teknik penggunaan online system
oleh beberapa pemakai secara bergantian menurut waktu yang diperlukan pemakai.
Disebabkan waktu perkembangan proses CPU semakin cepat, sedangkan alat
Input/Output tidak dapat mengimbangi kecepatan dari CPU, maka kecepatan dari
CPU dapat digunakan secara efisien dengan melayani beberapa alat I/O secara
bergantian.
·
Multitasking: sebuah
metode dimana banyak pekerjaan atau dikenal juga sebagai prosesdiolah dengan
menggunakan sumberdayaCPUyang sama.
Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang
dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif
mengolah instruksi untuk satu pekerjaan tersebut. Multitasking memecahkan
masalah ini dengan memjadwalkan pekerjaan mana yang dapat berjalan dalam satu
waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan.
·
Multiprogramming :
salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap
berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu
respon dari luar (external event), misalnya membaca data dari disket/CD/dsb,
atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan
tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai
scheduler-nya bertujuan untuk memaksimalkan penggunaanCPU.
·
Interactive Computing
: software yang mampu menerima input/masukan dari manusia seperti input data
dan perintah.
·
Kartu berlubang
(Punched card): Kertas yang mengandung informasi digital dalam bentuk
lubang-lubang.