Sistem komputer modern yang semakin kompleks dan rumit
memerlukan sistem operasi yang dirancang dengan sangat hati-hati agar dapat
berfungsi secara optimum dan mudah untuk dimodifikasi. Pada kenyataannya tidak
semua sistem operasi mempunyai struktur yang sama.
Menurut Avi Silberschatz, Peter Galvin, dan Greg
Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
A. Manajemen Proses
B. Manajemen Memori Utama
C. Manajemen Secondary Storage
D. Manajemen Sistem I/O
E. Manajemen Berkas
F. Sistem Proteksi
G. Jaringan
H. Command Interpreter System
I. Layanan Sistem Operasi
J. System Calls
K. Mesin Virtual
L. Perancangan Sistem dan Implementasi
M. System Generation (Sys Gen)
A. Manajemen Proses
Proses adalah keadaan ketika sebuah program sedang
dieksekusi. 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 yang berkaitan
dengan managemen proses, seperti:
1. Pembuatan dan
penghapusan proses pengguna dan sistem proses.
2. Menunda atau
melanjutkan proses.
3. Menyediakan
mekanisme untuk proses sinkronisasi.
4. Menyediakan
mekanisme untuk proses komunikasi.
5. Menyediakan
mekanisme untuk penanganan deadlock.
B. 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
tersendiri.
Memori Utama berfungsi sebagai tempat penyimpan-an 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 yang berkaitan dengan managemen memori seperti:
1. Menjaga track dari memori yang sedang digunakan dan siapa yang
menggunakannya.
2. Memilih program yang akan di-load ke memori.
3. Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
C. 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, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan
disk-management seperti: free-space management, alokasi penyimpanan,
penjadualan disk.
D. Manajemen Sistem I/O
Sering disebut device manager. Menyediakan
"device driver" yang umum sehingga operasi I/O dapat seragam
(membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada
hard-disk, CD-ROM, dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
1. Buffer: menampung sementara data dari/ ke perangkat I/O.
2. Spooling: melakukan penjadualan pemakaian I/O sistem supaya
lebih efisien (antrian dsb.).
3. Menyediakan driver untuk dapat melakukan operasi "rinci" untuk
perangkat keras I/O tertentu.
E. 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:
1. Pembuatan dan
penghapusan berkas.
2. Pembuatan dan
penghapusan direktori.
3. Mendukung
manipulasi berkas dan direktori.
4. Memetakan
berkas ke secondary storage.
5. Mem-backup
berkas ke media penyimpanan yang permanen (non-volatile).
F. Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses
yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya.
Mekanisme proteksi harus:
1. Bisa membedakan antara penggunaan yang sudah diberi izin dan yang
belum.
2. Bisa menentukan pengontrolan yang akan dilakukan terhadap sumber
daya.
3. Bisa memberikan punishment terhadap kesalahan yang terjadi.
G. Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang
tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri.
Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem
terdistribusi men-yediakan akses pengguna ke bermacam sumber-daya system.
Akses tersebut dapat menyebabkan:
1. Meningkatnya
proses komputasi.
2. Meningkatnya
ketersediaan data.
3. Meningkatnya
kehandalan.
H. Command Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command
driven). Program yang membaca instruksi dan mengartikan control
statements umumnya disebut: control-card interpreter, command-line
interpreter, dan UNIX shell.
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: CLI, Windows, Pen-based (touch), dan lain-lain.
I. Layanan Sistem Operasi
1.
Eksekusi program,
yaitu kemampuan sistem untuk "load" program ke memori dan menjalankan
program.
2.
Operasi I/O, yaitu
sistem operasi harus menyediakan mekanisme untuk melakukan operasi I/O atas
nama pengguna.
3.
Sistem manipulasi,
berkas yaitu kemampuan program untuk operasi pada berkas (membaca, menulis,
membuat, and menghapus berkas).
4.
Komunikasi, yaitu
pertukaran data/informasi antar dua atau lebih proses yang berada pada satu
komputer (atau lebih).
5.
Deteksi error
yaitu menjaga kestabilan sistem dengan mendeteksi "error" pada
perangkat keras mau pun operasi.
Dalam efesiensi penggunaan sistem, sistem operasi memberikan pelayanan:
1.
Resource allocator, yaitu SO mengalokasikan sumber daya ke beberapa
pengguna atau job yang jalan pada saat yang bersamaan.
2.
Proteksi yaitu SO
menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya
ke sistem).
3.
Accounting yaitu SO merekam kegiatan pengguna dan jatah pemakaian
sumber daya (berdasarkan prinsip keadilan atau kebijaksanaan).
J. 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 (Bahasa C).
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 padaUNIX: read(buffer, max_size, file_id);
K. Mesin Virtual
Mesin Virtual/Virtual Machine (VM) adalah sebuah mesin
yang mempunyai dasar logika yang menggunakan pendekatan lapisan-lapisan (layers)
dari sistem komputer. Sehingga sistem komputer dengan tersendiri dibangun atas
lapisan-lapisan tersebut, dengan urutan lapisannya mulai dari lapisan terendah
sampai lapisan teratas adalah sebagai berikut:
1.
Perangkat keras
(semua bagian fisik komputer)
2.
Kernel (program untuk mengontrol disk dan sistem file, multi-tasking,
load-balancing, networking dan security)
3.
Sistem program
(program yang membantu general user)
Kernel yang berada
pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan
seperangkat system call yang dapat digunakan oleh komponen-komponen pada
level sistem program.
Sistem program kemudian dapat menggunakan system
call dan perangkat keras lainnya seolah-olah pada level yang sama.
Meskipun sistem program berada di level tertinggi,
namun program aplikasi bisa melihat segala sesuatu pada tingkatan di bawahnya
seakan-akan mereka adalah bagian dari mesin.
Pendekatan dengan lapisan-lapisan inilah yang kemudian
menjadi kesimpulan logis pada konsep Virtual Machine.
L. Perancangan Sistem dan Implementasi
Target untuk pengguna sebuah sistem operasi harus nyaman digunakan, mudah dipelajari, dapat diandalkan, aman dan cepat. Sedangkan target untuk sistem, sebuah sistem operasi harus gampang dirancang, diimplementasi, dan dipelihara, sebagaimana fleksibel, error, dan efisien.
Sebuah Sistem Operasi mempunyai mekanisme dan kebijaksanaan :
1.
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.
2.
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 bahasa assembly, sedangkan 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 di-debug. Sistem operasi lebih mudah dipindahkan ke perangkat keras yang lain bila ditulis dengan bahasa tingkat tinggi.
Sistem operasi dirancang untuk dapat dijalankan diberbagai jenis mesin yang mana setiap sistemnya harus dikonfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari sistem perangkat keras, seperti:
1.
Booting, yaitu memulai komputer dengan me-load kernel.
2.
Bootstrap program, yaitu kode yang disimpan di code ROM yang dapat
menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya.
Komentar
Posting Komentar