- Pengertian Sistem Operasi
Sistem Operasi
merupakan sebuah program yang bertindak sebagai perantara/intermediary
antara pemakai/user komputer dengan perangkat keras/hardware komputer.
Layanan Sistem Operasi
dirancang untuk membuat pemrograman menjadi lebih mudah. Macam-macam layanan
dalam sistem operasi antara lain:
- Pembuatan
program : Sistem operasi menyediakan berbagai fasilitas yang membantu
programer dalam membuat program.
- Eksekusi
program : Sistem harus me-load program ke memori, dan menjalankan program
tersebut. Sistem operasi harus bisa mengetahui tentang program tersebut
apakah hasil eksekusinya ada error atau tidak.
- Operasi
masukan/keluaran : Program yang sedang dijalankan membutuhkan masukan
atau keluaran. Operasi masukan dapat berupa pembacaan data keyboard.
Sedangkan operasi keluaran dapat berupa penulisan ke layar monitor dan
penulisan ke berkas data.
- Manipulasi
sistem berkas : Program harus membaca dan menulis berkas, dan kadang kala
juga harus membuat dan menghapus berkas.
- Komunikasi
: Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat
terjadi antara proses dalam satu komputer, atau antara proses yang berada
dalam komputer yang berbeda, dihubungkan oleh jaringan komputer.
Komunikasi dapat dilakukan dengan share-memory atau message-passing,
dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
- Deteksi
error : Sistem operasi harus selalu waspada teradap kemungkinan error.
Error dapat terjadi di CPU dan memori perangkat keras, masukan atau
keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap
jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk
mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan
jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau
melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah
selanjutnya.
- Alokasi
sumber daya : Ketika beberapa pengguna menggunakan sistem atau beberapa
program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi
masing-masing pengguna dn program tersebut.
- Accounting
: Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya,
dan jelas sumber daya yang digunakan selalu terjaga. Untuk itu maka
diperlukan suatu perhitungan dan statik. Perhitungan ini diperlukan bagi
seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan
pelayanan.
- Proteksi
: Layanan proteksi memastikan bahwa segala akses ke sumber daya
terkontrol. Dan tentu saja keamanan terhadap gangguan dari luar sistem
tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu
mengidentifikasi pengguna. Ini bisa dilakukan dengan meminta password
bila ingin menggunakan sumber daya.
Sistem monolitik adalah
kumpulan prosedur dimana prosedur tersebut dapat dipanggil oleh prosedur lain
di sistem bila diperlukan.
Kekurangan dari sistem monolitik:
- Pengujian dan penghilangan
kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi
- Sulit dalam
menyediakan fasilitas pengamanan
- Terjadi pemborosan bila setiap komputer
harus menjalankan kernel monolitik sangat besar sementara
sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel
- Tidak fleksibel,
kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem
Keunggulan dari sistem
monolitik adalah sistem ini memliki pengaksesan layanan sangat cepat karena
terdapat di satu ruang alamat saja. UNIX merupakan sistem operasi yang
menggunakan sistem monolitik.
Sistem operasi dibentuk
secara hirarki berdasar lapisan-lapisan. Lapisan yang paling bawah adalah
perangkat keras, dan yang paling atas adalah user-interface. Sebuah lapisan adalah implementasi dari obyek
abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi
data tersebut. Struktur berlapis dimaksudkan untuk mengurangi kompleksitas
rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional
dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi
bagus.
Menurut Tanenbaum dan Woodhull,
sistem berlapis terdiri dari enam lapisan, yaitu:
- Lapisan 0. Mengatur alokasi prosesor, pertukaran
antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini
mendukung dasar multi-programming pada CPU.
- Lapisan 1. Mengalokasikan ruang untuk proses di
memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian
proses ketika tidak ada ruang di memori utama.
- Lapisan 2. Menangani komunikasi antara
masing-masing proses dan operator console. Lapisan ini
masing-masing proses secara efektif memiliki operator console sendiri.
- Lapisan 3. Mengatur peranti I/O dan menampung
informasi yang mengalir dari/ke proses tersebut.
- Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses,
memori, console, atau manajemen I/O.
- Lapisan 5. Merupakan operator sistem.
Untuk mengelola
suatu jaringan LAN komputer diperlukan adanya sistem operasi jaringan.
Salah satu sistem operasi jaringan berdasarkan tipe jaringannnya, yaitu sistem
operasi client-server. Server adalah komputer yang menyediakan
fasilitas bagi komputer-komputer lain didalam jaringan dan client adalah
komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh
server. Dijaringan tipe client-server disebut dengan Dedicated
Server karena murni berperan sebagai server yang menyediakan
fasilitas kepada workstation dan server tersebut tidak dapat
berperan sebagai workstation.
Keunggulan sistem client-server
- Kecepatan
akses lebih tinggi karena penyediaan fasilitas jaringan dan
pengelolaannya dilakukan secara khusus oleh satu komputer (server)
yang tidak dibebani dengan tugas lain sebagai workstation.
- Sistem
keamanan dan administrasi jaringan lebih baik, karena terdapat seorang
pemakai yang bertugas sebagai administrator jaringan, yang mengelola
administrasi dan sistem keamanan jaringan.
- Sistem
backup data lebih baik, karena pada jaringan client-server
backup dilakukan terpusat di server, yang akan membackup seluruh
data yang digunakan di dalam jaringan
Kelemahan sistem client-server
- Biaya
operasional relatif lebih mahal.
- Diperlukan
adanya satu komputer khusus yang berkemampuan lebih untuk ditugaskan
sebagai server.
- Kelangsungan
jaringan sangat tergantung pada server. Bila server
mengalami gangguan maka secara keseluruhan jaringan akan terganggu.
Evolusi dari sebuah sistem operasi
berawal dari sistem serial processing, simple batch, multipogrammed,
dan time-sharing.
Serial Processing
Programmer berinteraksi
secara langsung dengan hardware komputer karena belum ada sistem
operasi. Komputer ini dijalankan dengan perangkat yang terdiri dari display
light, toggle switch, dan beberapa jenis alat input-an.
Sistem awal ini menunjukan 2 masalah utama, yaitu:
Simple Batch Systems
Penggunaan bagian dari
perangkat lunak yang dikenal sebagai monitor adalah ide utama di balik skema simple
batch-processing. Dengan jenis OS ini, pengguna tidak lagi memiliki
akses langsung ke prosesor. Sebaliknya, pengguna menyerahkan job pada kartu
atau tape ke komputer operator, yang memaketkan job bersama-sama secara
berurutan dan menempatkan seluruh paket pada perangkat input, untuk digunakan
oleh monitor. Setiap program akan dibangun untuk kembali ke monitor bila itu
selesai mengolah, di mana titik monitor secara otomatis mulai memuat program
berikutnya.
Mode pada Simple Batch Systems:
- User
Mode:
Kondisi dimana pada saat program user sedang dikesekusi oleh
prosesor sehingga protected memory dan privileged
instructions tidak bisa diakses
- Kernel
Mode:
kondisi pada saat program monitor sedang dieksekusi oleh prosesor
dan protected memory dan privileged instructions boleh
diakses.
Multiprogrammed Batch Systems
Multiprogramming Batch
systems ada tipe OS modern yaitu OS yang sudah
mendukung multiprogramming atau yang biasa disebut multitasking.
Time-Sharing systems
Sistem time-sharing merupakan sebuah sistem yang befungsi membagi sumber daya yang ada pada komputer dengan cara multi-programming dan multi-tasking. Dengan time sharing user dapat berinteraksi secara bersamaan dengan menggunakan satu komputer.
- Komponen
Utama Sistem Operasi
Hal-hal yang ditangani
oleh sistem operasi bukan hanya satu atau dua saja, melainkan banyak hal. Dari
menangani perangkat keras, perangkat lunak atau program yang berjalan, sampai
menangani pengguna/user. Hal tersebut menyebabkan sebuah sistem operasi memiliki
banyak sekali komponen-komponen tersendiri yang memiliki fungsinya
masing-masing. Seluruh komponen yang menyusun sistem operasi tersebut saling
bekerjasama untuk satu tujuan, yaitu efisiensi kerja seluruh perangkat komputer
dan kenyamanan dalam penggunaan sistem operasi.
Pada umumnya sebuah sistem operasi modern terdiri dari
komponen sebagai berikut:
Manajemen Proses
Sistem operasi bertanggung-jawab atas
aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
- Membuat
dan menghapus proses pengguna dan sistem proses
- Menunda
atau melanjutkan proses
- Menyediakan
mekanisme untuk sinkronisasi proses
- Menyediakan
mekanisme untuk komunikasi proses
- Menyediakan
mekanisme untuk penanganan deadlock
Manajemen
Memori Utama
Sistem operasi memiliki tugas
untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah
dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun
untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah
agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
Sistem operasi bertanggung-jawab atas
aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
- Menjaga
track dari memori yang sedang digunakan dan siapa yang menggunakannya
- Memilih
program yang akan di-load ke memori
Manajemen Sistem Berkas
File atau berkas adalah representasi program dan data yang berupa kumpulan
informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem
operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka,
membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan
sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas
dengan baik.
Sistem operasi bertanggung-jawab dalam aktivitas yang
berhubungan dengan manajemen berkas:
- Pembuatan
dan penghapusan berkas.
- Pembuatan
dan penghapusan direktori.
- Mendukung
manipulasi berkas dan direktori.
- Memetakan
berkas ke secondary-storage.
- Membackup
berkas ke media penyimpanan yang permanen (non-volatile)
Manajemen Sistem Masukan/Keluaran
Sistem ini sering disebut
dengan device manager. Menyediakan device driver yang umum sehingga
operasi masukan/keluaran dapat seragam (membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada
perangkat keras, CD-ROM dan floppy disk.
Sistem operasi bertanggung-jawab atas
aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
- Penyangga:
menampung sementara data dari/ke perangkat Masukan/Keluaran.
- Spooling:
melakukan penjadwalan pemakaian Masukan/Keluaran sistem supaya lebih
efisien (antrian dsb.).
- Menyediakan
driver: untuk dapat melakukan operasi rinci untuk perangkat keras
masukan/keluaran tertentu.
Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat
sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan
keseluruhan data dan program komputer dibutuhkan penyimpanan sekunder yang
bersifat permanen dan mampu menampung banyak data, sebagai back-up dari memori
utama. Contoh dari penyimpanan sekunder adalah hard-disk, disket, dll. Sistem
operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen disk seperti:
- Free
space management
- Alokasi
penyimpanan
- Penjadwalan
disk
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses
yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya.
Mekanisme proteksi harus:
- Membedakan
antara penggunaan yang sudah diberi izin dan yang belum
- Menspesifikasi
kontrol untuk dibebankan/diberi tugas
- Menyediakan
alat untuk pemberlakuan sistem