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.
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 :
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
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
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.
Tidak ada komentar:
Posting Komentar