Anda di halaman 1dari 14

BAB

1.1.

PENGENALAN
SISTEM OPERASI

Sekilas Tentang Sistem Komputer


Sebuah komputer dapat bekerja dengan melibatkan 3 komponen
utama. Dalam penggunaan komputer sehari-hari, 3 komponen ini
akan sering kita temui,yaitu:
1. HARDWARE (Perangkat Keras)
2. SOFTWARE (Perangkat Lunak) &
3. BRAINWARE (User/Sumber Daya Manusia).
HARDWARE

SOFTWARE
Sistem Operasi

BRAINWARE
Aplikasi

Gambar 1.1. Skema hubungan antar komponen utama komputer


1. Hardware (perangkat keras) seperti : Desktop PC, Laptop, Tablet
PC, Server, terdiri dari 3 bagian utama, yaitu:
a. Input Unit
b. Process Unit, dan
c. Output Unit
2. Software (perangkat lunak) terdiri dari 2 jenis, yaitu:
a. Sistem Operasi
b. Aplikasi
3. Brainware (User/Sumber Daya Manusia) yang menggunakan
komputer, dikategorikan sesuai dengan keahlian atau profesinya,
seperti:
a. Operator (Data Entry/EDP)
b. Programmer System
c. Analys System (Program, Database dan Network)

d. Administrator System, Network Engineer


e. Technical Engineer (Technical Support)
f. Web Developer / Web Designer
g. Animator, dll.
1.2.

Pengertian Sistem Operasi (SO)


Sistem Operasi merupakan program utama yang menghubungkan
Software Aplikasi yang digunakan oleh user dengan hardware.

Pengertian sistem operasi secara umum ialah pengelola seluruh


sumber-daya yang terdapat pada sistem komputer dan menyediakan
sekumpulan layanan (system calls) yang sering disebut tools atau
utility berupa aplikasi kepemakai sehingga memudahkan dan
menyamankan penggunaan ketika memanfaatan sumber-daya sistem
komputer tersebut.
1.3.

Jenis Sistem Operasi (SO)


Sistem operasi dapat dibedakan berdasarkan jumlah pengguna dan
program yang dapat dijalankan, juga berdasarkan jenis software, atau
jenis hardware yang digunakan.
Berdasarkan jumlah pengguna dan program yang dijalankan, sistem
operasi dapat dikategorikan dengan:
1. Single User Single Tasking :
Satu komputer hanya bisa digunakan oleh satu user dan hanya
bisa menjalankan satu program di satu waktu, contohnya: DOS
(Disk Operating System).
2. Multi User Single Tasking :
Satu komputer dapat digunakan oleh banyak user namun tiap
user hanya bisa menjalankan 1 program (aplikasi) di satu waktu,
contohnya: Novell Netware yang menjalankan SO Network
berbasis DR-DOS.
3. Single User Multi Tasking :

Satu komputer dipakai oleh satu user dan dapat menjalankan


banyak program disatu waktu, contohnya: Windows, MacOS,
BeOS, JDS, dll.
4. Multi User Multi Tasking :
Satu komputer dipakai bersamaan oleh banyak user yang dapat
menjalankan banyak program di satu waktu, contohnya: Unix,
Linux, FreeBSD (SO turunan Unix) atau Windows dengan aplikasi
Citrix Metaframe, dll.
Berdasarkan hardware komputer yang digunakan, sistem operasi
dapat dibedakan untuk:
1. Komputer PC (desktop / laptop):
2. Komputer Server
Berdasarkan jenis software, sistem operasi dibedakan berdasarkan:
1. Perangkat Lunak Bebas (Free Software)
2. Perangkat Lunak Open Source
3. Perangkat Lunak Public Domain
4. Perangkat Lunak Copylefted
5. Perangkat Lunak Bebas Non-Copylefted
6. Perangkat Lunak GPL-covered
7. Perangkat Lunak GNU
8. Perangkat Lunak Semi Bebas
9. Perangkat Lunak Berpemilik
10.

Freeware

11.

Shereware

12.

Perangkat Lunak Komersial

Lebih detail tentang jenis software tersebut anda bisa baca di bab 9.

1.4.

Fungsi Dasar Sistem Operasi


Menjembatani hubungan antara hardware dan program aplikasi
yang dijalankan user.

Mengatur dan mengawasi penggunaan perangkat keras oleh user


dan berbagai program aplikasi (Resource allocator).
Sebagai program pengendali yang bertujuan untuk menghindari
kekeliruan (error) dan penggunaan komputer yang tidak perlu
(sebagai guardian yang menjaga komputer dari berbagai
kemungkinan kerusakan).
Manajer sumberdaya hardware, seperti mengatur memori, printer,
cdrom, dll.

1.5.

Komponen Utama Sistem Operasi


1. Kernel
2. File
3. User Interface

1.5.1.

Kernel
Kernel merupakan suatu software (kumpulan program) yang
membentuk sistem dan memiliki tugas melayani bermacam program
aplikasi untuk mengakses hardware komputer secara aman dan
terkendali. Karena akses terhadap hardware terbatas, sedangkan ada
lebih dari satu program yang harus dilayani dalam waktu yang
bersamaan, maka kernel juga bertugas untuk mengatur agar kapan
dan berapa lama suatu program dapat menggunakan satu bagian
hardware tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada hardware secara langsung merupakan masalah yang
kompleks, oleh karena itu kernel biasanya mengimplementasikan
sekumpulan abstraksi (gambaran umum tentang) hardware.
Abstraksi-abstraksi tersebut merupakan sebuah cara untuk
menyembunyikan kerumitan, dan memungkinkan akses kepada
hardware menjadi mudah dan seragam. Sehingga abstraksi
(gambaran umum) ini pada akhirnya memudahkan pekerjaan
programmer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan
kernel sistem operasi. Sebuah program dapat saja langsung diload
dan dijalankan diatas mesin komputer, yakni bila programmer ingin
melakukan pekerjaannya tanpa bantuan abstraksi hardware atau
bantuan sistem operasi. Tehnik ini digunakan pada komputer
generasi awal, sehingga bila kita ingin berpindah dari satu program

ke program lain, kita harus mereset dan me-load kembali programprogram tersebut.
Ada 4 kategori kernel:

Monolitich kernel. Kernel yang menyediakan abstraksi hardware


yang kaya dan powerful.

Microkernel. Kernel yang menyediakan hanya sekumpulan kecil


abstraksi hardware sederhana, dan menggunakan aplikasi-aplikasi
yang disebut sebagai server untuk menyediakan fungsi-fungsi
lainnya.

Hybrid (modifikasi dari microkernel). Kernel yang mirip


microkernel, tetapi ia juga memasukkan beberapa kode tambahan
di kernel agar ia menjadi lebih cepat

Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi


hardware, tapi ia menyediakan sekumpulan library yang
menyediakan fungsi-fungsi akses ke hardware secara langsung
atau hampir-hampir langsung.

1.5.2.

File
File disini merupakan file-file yang dibentuk atau dijalankan oleh
sistem operasi. File disini juga berarti sistem berkas dan file system
yang dimiliki oleh suatu sistem operasi.

1.5.3.

User Interface (Shell)


Sebuah sistem operasi memiliki karakteristik (bentuk) interface
(tampilan) yang menjadi interaksi antar user dengan komputer.
Bentuk umum user interface yang ada, adalah:
1. Command Line Interface atau command line interpreter (CLI)
CLI memberikan tampilan dalam mode teks ke user, dengan
backgroud satu warna dan tampilan teks yang juga satu atau
beberapa warna dasar.

2. Graphical User Interface (GUI).


GUI memberikan tampilan yang lebih interaktif dan nyaman
digunakan oleh user. Resolusi gambar dan jumlah warna yang
dihasilkan juga lebih banyak, tergantung kemampuan Video
Adapter yang dimiliki komputer.

1.6.
Tujuan Sistem Operasi
BAB

3a.

Sistem Operasi membuat komputer menjadi lebih mudah dan


menarik serta nyaman untuk digunakan.

b. Sistem Operasi memungkinkan sumberdaya komputer digunakan


secara efisien.
c. Sistem Operasi yang disusun/diprogram sedemikian rupa
memungkinkan menerima perubahan/pengembangan baru yang
efektif dan efisien, dapat melakukan pengujian sistem tanpa
mengganggu layanan yang telah ada.
1.7.

Tujuan Mempelajari Sistem Operasi


Tujuan mempelajari sistem operasi adalah agar user dapat
merancang sendiri dan memodifikasi sistem yang telah ada sesuai
dengan kebutuhan. Untuk dapat memilih sistem operasi yang sesuai,
serta mampu memaksimalkan penggunaan sistem operasi, dan agar
konsep serta teknik sistem operasi dapat diterapkan pada aplikasiaplikasi lain, maka pengetahuan mengenai system operasi sangat
diperlukan.

STRUKTUR
SISTEM OPERASI

3.1.

Komponen-komponen Sistem
Pada kenyataannya tidak semua sistem operasi mempunyai struktur
yang sama. Namun menurut Avi Silberschatz, Peter Galvin, dan Greg

Gagne, umumnya sebuah


komponen sebagai berikut:

sistem

Managemen Proses.

Managemen Memori Utama.

Managemen Secondary-Storage.

Managemen Sistem I/O.

Managemen Berkas.

Sistem Proteksi.

Jaringan.

Command-Interpreter system.

operasi

modern

mempunyai

3.1.2. Manajemen Proses


Proses adalah keadaan ketika sebuah program sedang di eksekusi.
Sebuah proses membutuhkan beberapa sumber daya untuk
menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU
time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas
berkaitan dengan managemen proses seperti:

yang

Pelaksanaan dan penghapusan proses yang diinginkan user atau


sistem.

Menunda atau melanjutkan proses.

Menyediakan mekanisme untuk proses sinkronisasi.

Menyediakan mekanisme untuk proses komunikasi.

Menyediakan mekanisme untuk penanganan deadlock.

3.1.3. Managemen 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 byte. Setiap word atau byte mempunyai
alamat tersendiri. Memori Utama berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau perangkat
I/O. Memori utama termasuk tempat penyimpanan data yang
sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.

Sistem operasi bertanggung jawab atas aktivitas-aktivitas


berkaitan dengan managemen memori seperti:

yang

Menjaga track dari memori yang sedang digunakan dan siapa yang
menggunakannya.

Memilih program yang akan di-load ke memori.

Mengalokasikan
kebutuhan.

dan

meng-dealokasikan

ruang

memori

sesuai

3.1.4. Manajemen Secondary-Storage


Data yang disimpan dalam memori utama bersifat sementara dan
jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan
data dan program komputer dibutuhkan secondary-storage yang
bersifat permanen dan mampu menampung banyak data. Contoh dari
secondary-storage adalah harddisk, flashdisk, CD-ROM, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang
berkaitan dengan disk-management seperti: free-space management,
alokasi penyimpanan, & penjadualan disk.
3.1.5. Manajemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang
umum sehingga operasi I/O dapat seragam (seperti kegiatan untuk
membuka, membaca, menulis, menjalankan dan menutup file atau
program). Contohnya: user menggunakan operasi yang sama untuk
membaca berkas pada hard-disk, CD-ROM, flashdisk, floppy disk, dll.
Komponen Sistem Operasi untuk sistem I/O:

Buffer: menampung sementara data dari dan ke perangkat I/O.

Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih


efektif dan efisien (pengaturan antrian).

Menyediakan driver untuk dapat melakukan operasi "rinci" untuk


perangkat keras I/O tertentu.

3.1.6. Manajemen Berkas


Berkas adalah kumpulan informasi yang berhubungan sesuai dengan
tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur
yang bersifat hirarkis (direktori, volume, dll). Sistem operasi

bertanggung-jawab terhadap:

Pembuatan dan penghapusan berkas.

Pembuatan dan penghapusan direktori.

Mendukung manipulasi berkas dan direktori.

Memetakan berkas ke secondary storage.

Mem-backup berkas ke media penyimpanan yang permanen (nonvolatile).

3.1.7. 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.

specify the controls to be imposed (menetapkan sistem pengaturan


yang digunakan).

provide a means of enforcement (menyiapkan alat yang digunakan).

3.1.8. Jaringan
Dukungan terhadap komunikasi data antar perangkat komputer
mutlak diperlukan. Pada model sistem terdistribusi, dimana sistem
operasi mengatur mekanisme penjadualan penggunaan resource
komputer dalam jaringan, maka sekumpulan prosesor yang tidak
berbagi memori atau clock diatur oleh sistem operasi komputer host
untuk pengunaan prosesor dan alokasi tempat penyimpanan serta
mekanisme pendistribusian data maupun proses yang dilakukan.
Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut
terhubung melalui jaringan komunikasi, Sistem terdistribusi
menyediakan akses pengguna ke bermacam sumber-daya sistem.
Akses tersebut menyebabkan:

Computation speed-up (proses komputasi semakin cepat).

Increased data availability (peningkatan ketersediaan data).

Enhanced reliability (peningkatan kemampuan).

3.1.9. Command-Interpreter System


Sistem Operasi menunggu instruksi dari user (command driven).
Program yang dapat membaca instruksi dan mengartikan control
statements berdasarkan masukan dari user umumnya disebut:
control-card interpreter, atau command-line interpreter. Pada sistem
UNIX sering disebut juga shell atau console. Command-Interpreter
System sangat bervariasi dari satu sistem operasi ke sistem operasi
yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices
yang ada. Contohnya: Command Line Interpreter (CLI), Windows, Penbased (touch), dan lain-lain.
3.2.

Layanan Sistem Operasi


Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki
layanan sebagai berikut:
1. Pembuatan Program
2. Eksekusi program.
3. Operasi I/O (pengaksesan I/O Device)
4. Sistem manipulasi berkas
5. Komunikasi
6. Deteksi error
7. Deteksi dan Pemberian tanggapan pada kesalahan
8. Efesiensi penggunaan sistem
9. Accounting
Pembuatan program, yaitu sistem operasi menyediakan fasilitas
dan layanan untuk membantu para pemrogram untuk menulis
program
Eksekusi program adalah kemampuan sistem untuk "load"
program ke memori dan menjalankan program yang dikehendaki
user maupun sistem.
Operasi I/O merupakan kegiatan dimana pengguna tidak dapat
secara langsung mengakses sumber daya perangkat keras,
sehingga sistem operasi harus menyediakan mekanisme untuk
melakukan operasi I/O atas nama pengguna.

Sistem manipulasi berkas adalah kemampuan program untuk


operasi pada berkas (membaca, menulis, membuat, dan
menghapus berkas yang berupa file atau direktori).
Komunikasi adalah pertukaran data/ informasi antar dua atau
lebih proses yang berada pada satu komputer (atau lebih).
Deteksi error adalah kegiatan untuk menjaga kestabilan sistem
dengan mendeteksi "error", perangkat keras maupun operasi
yang dilakukan.
Deteksi dan Pemberian tanggapan pada kesalahan, jika muncul
permasalahan pada sistem komputer maka sistem operasi harus
memberikan tanggapan yang menjelaskan kesalahan yang terjadi
serta dampaknya terhadap aplikasi yang sedang berjalan.
Efesisensi penggunaan sistem, diantaranya:

Resource allocator, yakni: mengalokasikan sumber-daya hardware


maupun software ke beberapa pengguna atau mengalokasikan job yang
jalan pada saat yang bersamaan ke beberapa komputer dalam jaringan.

Proteksi sistem untuk menjamin akses ke sistem sumber daya yang


aman, dikendalikan oleh sistem sehingga pengguna dikontrol aksesnya
ke sistem).

3.2.9. Accounting adalah kegiatan merekam aktifitas pengguna, report


pemakaian sumber daya. Sistem Operasi yang bagus harus mampu
mengumpulkan data statistik penggunaan beragam sumber-daya dan
memonitor parameter kinerja.
3.3.

System Calls
System call menyediakan interface antara program (program pengguna
yang berjalan) dan bagian OS. System call menjadi jembatan antara
proses dan sistem operasi. System call ditulis dalam bahasa assembly
atau bahasa tingkat tinggi yang dapat mengendalikan mesin Contoh:
UNIX menyediakan system call: read, write operasi I/O untuk
berkas.
Sering pengguna program harus memberikan data (parameter) ke OS
yang akan dipanggil. Contoh pada UNIX: read(buffer, max_size, file_id);
Tiga cara memberikan parameter dari program ke sistem operasi:

Melalui registers (sumber daya di CPU).

Menyimpan parameter pada data struktur (table) di memori, dan

alamat table tsb ditunjuk oleh pointer yang disimpan di register.

3.4.

Push (store) melalui "stack" pada memori dan OS mengambilnya


melalui pop pada stack tsb.
Mesin Virtual
Program sistem diatas kernel dapat menggunakan system call atau
instuksi-instruksi hardware. Dalam beberapa hal, program sistem
tidak membedakan kedua lapisan tersebut. Program sistem
memperlakukan system call dan hardware dilapisan yang sama.
Beberapa sistem mengadopsi teknik ini supaya program sistem dapat
dipanggil secara mudah oleh program-program aplikasi. Meskipun
program sistem berada ditingkat yang lebih tinggi dari rutin-rutin
program aplikasi yang lain, program-program aplikasi akan melihat
semua yang berada dibawahnya (didalam hirarki).
Pendekatan sistem lapisan ini yang menjadi konsep dari mesin virtual
(MV). Dengan mengunakan penjadwalan CPU dan teknik virtual
memori, sebuah sistem operasi dapat membuat suatu bayangan proses
dalam jumlah banyak, yang masing-masing dieksekusi oleh
prosesornya sendiri dengan memori virtual sendiri. Secara normal,
proses mempunyai ciri-ciri tambahan, seperti system call dan sistem
file, yang tidak disediakan oleh hardware.
Konsep MV menyediakan proteksi yang lengkap untuk sumberdaya
sistem, dikarenakan tiap MV terpisah dari MV yang lain. Namun, hal
tersebut menyebabkan tidak adanya sharing sumberdaya secara
langsung. MV merupakan alat yang tepat untuk penelitian dan
pengembangan
sistem
operasi.
Konsep
MV
susah
untuk
diimplementasi sehubungan dengan usaha yang diperlukan untuk
menyediakan duplikasi dari mesin utama.

Proses

Proses

Proses

Proses

Kernel

Kernel
Mesin
virtual

Kernel

Programming interface

Kernel
Hardware

Hardware

Gambar 3.1. Model Mesin Virtual


Sumber daya komputer secara fisik dibagi pakai untuk membuat suatu
mesin virtual. Penjadwalan CPU dapat digunakan untuk membagi
pakai CPU dan membuat tampilan seolah-olah pemakai mempunyai
prosesor sendiri.
Mesin virtual kembali dikembangkan ketika ada masalah
kompatibilitas sistem. Saat itu komputer-komputer yang tidak
berbasikan prosesor intel akan memakai program MS-DOS yang
notabene berjalan diatas mesin-mesin intel, maka solusinya adalah
membuat mesin intel virtual diatas prosesor aslinya. Sebuah program
MS-DOS dapat berjalan dilingkungan tersebut dan intruksi-intruksi
intel diterjemahkan kekumpulan instruksi aslinya.
3.5.

Perancangan Sistem dan Implementasi


Target untuk pengguna: sistem operasi harus nyaman digunakan,
mudah dipelajari, dapat diandalkan, aman dan cepat. Target untuk
sistem: sistem operasi harus gampang dirancang, diimplementasi, dan
dipelihara, sebagaimana fleksibel, error, dan efisien.

Mekanisme dan Kebijaksanaan:

Mekanisme
menjelaskan
bagaimana
melakukan
sesuatu
kebijaksanaan memutuskan apa yang akan dilakukan. Pemisahan
kebijaksanaan dari mekanisme merupakan hal yang sangat penting; ini
mengizinkan fleksibilitas yang tinggi bila kebijaksanaan akan diubah
nanti.

Kebijaksanaan memutuskan apa yang akan dilakukan.


Pemisahan kebijaksanaan dari mekanisme merupakan hal yang sangat
penting, ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan
akan diubah nanti.
Implementasi Sistem biasanya menggunakan bahas assembly, sistem
operasi sekarang dapat ditulis dengan menggunakan bahasa tingkat
tinggi. Kode yang ditulis dalam bahasa tingkat tinggi: dapat dibuat
dengan cepat, lebih ringkas, lebih mudah dimengerti dan didebug.
Sistem operasi lebih mudah dipindahkan ke perangkat keras yang lain
bila ditulis dengan bahasa tingkat tinggi.

3.6.

System Generation (SYSGEN)


Sistem operasi dirancang untuk dapat dijalankan di berbagai jenis
mesin, sistemnya harus di konfigurasi untuk tiap tipe komputer.
Program SYSGEN mendapatkan informasi mengenai konfigurasi
khusus ini dari sistem perangkat keras, ketika melakukan:

Booting, yakni memulai komputer dengan me-load kernel.

Bootstrap program, yakni kode yang disimpan di code ROM yang dapat
menempatkan kernel, memasukkannya kedalam memori, dan memulai
eksekusinya.

Anda mungkin juga menyukai