SISTEM
OPERASI
Pengertian Sistem Operasi
Sistem operasi Komputer adalah
perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol
dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk
menjalankan software aplikasi seperti program-program pengolah data yang bisa
digunakan untuk mempermudah kegiatan manusia. Sistem Operasi dalam bahasa
Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
Secara umum, Sistem Operasi adalah
software pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan,
dan Sistem Operasi akan melakukan layanan inti umum untuk software-software
itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori,
skeduling task, dan antar-muka user. Sehingga masing-masing software tidak
perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan
dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan
umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Kalau sistem komputer terbagi dalam
lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih
jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam
komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara
bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat
menggunakan memori, melakukan input dan output terhadap peralatan lain, dan
memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara
bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat
mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk
menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi
menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain
dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program
baru, tidak perlu membuat fungsi-fungsi tersebut dari awal. Sistem Operasi
secara umum terdiri dari beberapa bagian:
3.
Command Interpreter atau shell, yang bertugas membaca input
dari pengguna
4.
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi
dasar dan standar yang dapat dipanggil oleh aplikasi lain
5.
Driver untuk berinteraksi dengan hardware eksternal,
sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya
mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS),
tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi
berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini
disebut sebagai Multi-tasking
Operating System (misalnya keluarga sistem operasi UNIX). Beberapa
Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung
kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat
dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama
sering disebut sebagai Desktop OS,
sedangkan tipe kedua adalah Real-Time
OS.
Sebagai contoh, yang dimaksud sistem
operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
B.
Tugas-Tugas Sistem Operasi
Tugas-tugas sistem operasi diantaranya:
1.
Menyediakan antarmuka pengguna (user interface), berupa:
a.
Melakukan perintah (command-base
user interface) dalam bentuk teks.
b.
Mengarahkan menu (menu
driven).
c.
Antarmuka unit grafik (graphical user interface-GUI).
d.
Kombinasi ikon dan menu untuk menerima dan melaksanakan
perintah.
2.
Menyediakan informasi yang berkaitan dengan hardware, yaitu
berupa perangkat yang aktif atau pasif, dan mengendalikan perangkat I/O.
3.
Melakukan tugas pengolahan dan pengendalian sumber daya
dalam sebuah proses sebagai berikut:
a.
Multitasking, yaitu melakukan tugas secara
serentak atau sekaligus pada aplikasi yang sama maupun berbeda.
b.
Multiprocessing, penggunaan atau pemrosesan sebuah
program secara serentak oleh beberapa unit CPU.
c.
Timesharing, menggunakan sistem komputer yang
sama pada banyak pengguna.
d.
Multithreading, memproses aktivitas pada bentuk yang
sama dengan multitasking tetapi pada aplikasi tunggal.
e.
Scalability dan Network, upaya komputer dalam mengendalikan dan meningkatkan
kewaspadaan dan keamanan jumlah pengguna dan memperluas pelayanan.
4.
Pengelolaan file dan direktori data, yaitu memastikan
file-file dalam penyimpanan sekunder tersedia jika diperlukan, dan mengamankan
dari pengguna yang tidak diizinkan.
Layanan Sistem Operasi
Seiring dengan berkembangnya Sistem
Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini,
sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet,
yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk
menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya,
seperti virus. Daftar layanan inti umum akan terus bertambah.
Sebuah sistem operasi yang baik
harus memiliki layanan berupa eksekusi program, operasi I/O, menipulasi sistem
file, komunikasi, dan deteksi kesalahan. Dalam pemakaian secara multiuser sistem dapat lebih
menguntungkan yaitu lebih efisien karena pemakaian sumber daya bersama antara
pengguna. Sebagai fungsi layanan bersama tersebut maka sistem operasi akan
memberikan efisiensi pengguna sistem berupa:
1.
Resource allocator, yaitu mengalokasikan sumber daya ke
beberapa pengguna atau pekerjaan yang berkalan pada saat yang bersamaan.
2.
Protection, menjamin akses ke sistem sumber daya
yang dikendalikan (akses pengguna ke sistem menjadi terkendali)
3.
Accounting, yaitu merekam kegiatan pengguna,
jatah pemakaian sumber daya (keadilan atau kebijakan)
Eksekusi program merupakan kemampuan
sistem untuk memuat program ke memori dan menjalankan program. Pengguna tidak
dapat secara langsung mengakses sumber daya hardware, sistem operasi harus
menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna.
Manipulasi sistem file adalah kemampuan program untuk melakukan operasi pada
file (membaca, menulis, membuat dan menghapus file). Komunikasi adalah
pertukaran data atau informasi antar dua atau lebih proses yang berada pada
satu komputer (atau lebih). Deteksi kesalahan (error) adalah menjaga kestabilan sistem dengan mendeteksi error
hardware maupun operasi.
D.
Struktur Sistem Operasi
Silberschatz, Galvin, Gagne (2003),
berpendapat bahwa umumnya sebuah sistem operasi modern mempunyai komponen
sebagai berikut:
1.
Manajemen proses
2.
Manajemen memori utama
3.
Manajemen memori skunder
4.
Manajemen sistem I/O (input/output)
5.
Manajemen file
6.
Sistem proteksi
7.
Jaringan
8.
Sistem command
interpreter
a.
Manajemen proses
Prosesor mengeksekusi
program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer
yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya
prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi
yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status
tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita
lebih sering membahas proses
dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak
seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program
tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di
media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program
tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat
menghemat pemakaian memori.
Beberapa sistem hanya menjalankan
satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan
multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya
memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu
instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat
menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil,
prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat
ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi
penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan
beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem
operasi mendapatkan sebuah PCB (Process
Control Block) yang memuat informasi tentang proses tersebut, yaitu:
sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor
identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses
dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang
menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang
memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi
lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu
sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama,
sehingga setiap proses memiliki kesempatan yang sama. Sistem operasi
bertanggung jawab atas aktifitas-aktifitas yang berkaitan dengan manajemen
proses seperti:
·
Pembuatan dan penghapusan proses user dan sistem proses
·
Menunda atau melanjutkan proses
·
Menyediakan mekanisme untuk proses sinkronisasi
·
Menyediakan mekanisme untuk proses komunikasi
·
Menyediakan mekanisme untuk penanganan deadlock.
b.
Status Proses
Jenis status yang mungkin dapat
disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda.
Tetapi paling tidak ada 3 macam status yang umum, yaitu:
·
Ready, yaitu status dimana proses siap
untuk dieksekusi pada giliran berikutnya
·
Running, yaitu status dimana saat ini
proses sedang dieksekusi oleh prosesor
·
Blocked, yaitu status dimana proses tidak
dapat dijalankan pada saat prosesor siap/bebas
c.
Manajemen
memori utama
Memori utama atau lebih dikenal
sebagai memori adalah sebuah array yang besar dari word atau byte,
yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat sendiri. Memori utama berfungsi sebagai
tempat penyimpanan yang akases datanya digunakan oleh CPU atau perangkat I/O.
Memori utama termasuk tempat penyimpanan data sementara (volatile), artinya data dapat hilang
begitu sistem dimatikan. Sistem operasi bertanggung jawab atas
aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
·
menjaga track
memori yang sedang diguanakan dan siapa yang menggunakannya
·
memilih program yang akan di-load ke memori.
·
Mengalokasikan dan men-dealokasikan ruang memori sesuai
kebutuhan.
d.
Manajemen memori skunder
Data tersimpan dalam memori utama bersifat sementara dan
jumlahnya sangat kecil. Oleh karenan itu, untuk menyimpan keseluruhan data dan
program komputer dibutuhkan secondary
storage yang bersifat permanen dan mempu menampung data dengan ukuran
besar. Contoh dari memori skunder adalah harddisk, disket, USB flash disk, dan
lain-lain. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang
berkaitan dengan disk managementi
seperti free space management, alokasi penyimpanan, dan penjadwalan disk.
e.
Manajemen sistem I/O
Manajemen sistem I/O biasa juga
disebut sebagai device manager,
yang bertugas menyediakan device
driver´yang umum sehingga operasi I/O dapat seragam (membuka, membaca,
menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca
file pada hard disk, CD-ROM dan disket. Komponen sistem operasi untuk sistem
I/O adalah sebagai berikut:
·
Buffer: berfungsi untuk sementara menampung
data dari/ke perangkat I/O.
·
Spooling: melakukan penjadwalan pemakaian I/O
sistem supaya lebih efisien (antrian dan sebagainya).
·
Menyediakan driver untuk
dapat melakukan operasi detail untuk hardware I/O tertentu.
f.
Manajemen file
File adalah sekumpulan informasi
yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat
mempunyai struktur yang bersifat hirarki (direktori, volume, dan lain-lain).
Tanggung jawab sistem operasi adalah:
·
Pembuatan dan penghapusan file
·
Pembuatan dan penghapusan direktori
·
Mendukung manipulasi file dan direktori
·
Memetakan file ke secondary
storage
·
Melakukan backup
file ke media penyimpanan permanen (non
volatile)
g.
Sistem proteksi
Proteksi mengacu pada mekanisme
untuk mengendalikan akses yang dilakukan oleh program, prosesor, atau pengguna
ke sistem suber daya. Mekanisme proteksi seharusnya:
·
Dapat membedakan antara pengguna yang diizinkan dan yang
belum
·
Menentukan kendali
·
Menyediakan alat pengatur
h.
Jaringan
Sistem distribusi adalah sekumpulan
prosesor yang tidak berbagi memori atau clock.
Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung
memlaui jaringan komunikasi sistem terdistribusi yang menyediakan akases
pengguna ke berbagai macam sumber daya sistem. Akses tersebut menyebabkan
meningkatnya:
·
Kecepatan komputer
·
Ketersediaan data
·
Kehandalan (enhanced
reliability)
i.
Sistem command-interpreter
Sistem operasi menunggu instruksi
dapri pengguna (command driven).
Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter, shell pada
UNIX. Sistem command interpreter
sangat bervariasi antara satu sistem operasi dengan sistem operasi lainnya dan
disesuaikan dengan tujuan dan teknologi perangkat I/O yang ada. Contohnya CLI,
Windows, pen-based (touch), dan
lain-lain.
E.
Klasifikasi Sistem Operasi
Sistem operasi dapat
diklasifikasikan sebagai berikut:
1.
Berdasarkan skala arsitekturnya (bit), sistem operasi
dibedakan menjadi sistem operasi berskala 8-bit, 16-bit, 32-bit, dan 64-bit.
Sistem operasi dengan skala 8-bit dan 16-bit saat ini sudah mulai ditinggalkan,
sedangkan saat ini kebanyakan yang digunakan adalah skala 32-bit, seperti
sistem operasi Microsoft Windows NT, Windows 2000, Windows XP, LINUX, IBM
OS/400, Sun Solaris). Sedangkan yang baru dan masih jarang ditemui di pasaran
adalah skala 64-bit. Seperti Windows XP 64-bit, Digital UNIX, Open VMS, IBM AIX
for RS/6000, SGI IRIX, dan HP-UX.
2.
Klasifikasi sistem operasi berdasarkan end-user interface.
a.
Command driven. Biasa juga disebut command line dimana perintah sistem
operasi diketikkan pada prompt perintah
atau dieksekusi melalui script
file (misalnya pada sistem operasi DOS, UNIX, atau XENIX)
b.
Graphical user interface (GUI). Pengguna akhir menggunakan
mouse atau alat penunjuk (pointer)
yang lain untuk memilih objek yang mewakili suatu instruksi spesifik (misalnya:
semua sistem operasi Windows, IBM OS/2, MAC-OS, LINUX)
3.
Klasifikasi sistem operasi berdasarkan pengguna:
a.
Single-user single-tasking: sistem operasi yang hanya mampu
untuk melayani satu pengguna pada satu saat untuk satu instruksi dalam satu
siklus proses (misal MS-DOS)
b.
Single-user multi-tasking: sistem operasi yang hanya mampu untuk melayani satu
pengguna pada satu saat tetapi mampu untuk mengeksekusi beberapa instruksi
dalam satu siklus proses (misalnya Windows 95, IBM OS/2, MAC-OS).
c.
Multi-user multi-tasking: sistem operasi yang mampu untuk melayani beberapa
pengguna sekaligus dalam satu waktu dan juga mampu untuk menjalankan beberapa
instruksi sekaligus dalam satu siklus proses.
4.
Klasifikasi sistem operasi berdasarkan pangsa pasar:
a.
Sistem operasi server/network,
seperti Windows NT Server, Windows XP, IBM AIX for RS/6000, Digital UNIX, Open
VMS, HP-UX, Sun Solaris, dan IBM OS/400, LINUX.
b.
Sistem operasi desktop,
seperti Windows 95 / Windows NT Workstation, Windows XP, LINUX, OS/2 Wrap,
MacOS, Java
c.
Sistem operasi Hanheld,
seperti Windows CE, GEOS, Magic Cap.
Sistem Operasi Saat Ini
Sistem operasi-sistem operasi utama
yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi
menjadi 3 kelompok besar:
1.
Keluarga Microsoft
Windows
- yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga
versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT
(Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003,
Windows Vista, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows
Orient yang akan dirilis pada tahun 2014.
2.
Keluarga Unix yang menggunakan antarmuka sistem
operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis
kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3.
Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh.
Sistem operasi yang terbaru adalah Mac
OS X
versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super
komputer
menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan
turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX,
HP/UX, dll.