TUGAS
MAKALAH
Guna
Untuk Memanuhi Nilai Sistem Berkas
Yang
diampu Bp.Dian Asmarajati
Disususno
oleh
Affanoer
Sistem Operasi adalah bagian yang sangat
penting bagi semua sistem komputer. Secara umum sistem komputer terbagi atas hardware
, sistem operasi, program aplikasi, dan user seperti yang terlihat pada
gambar 1.1. hardware terdiri atas CPU, memori {XE “memori”} dan I/O device
yang merupakan resource-resource dasar. Program aplikasi berisi compiler,
basis data, game dan program-program bisnis, yang merupakan suatu cara atau
alat yang mana resource-resource akan di akses untuk menyelesaikan
masalah user.
……………………
Gambar 1.1 Komponen-komponen sistem
komputer
Definisi Sistem Operasi
Ada beberapa
definisi yang dapat diberikan untuk sistem operasi antara lain :
a.
Software yang mengontrol hardware, hanya
berupa program biasa (seperti beberapa file pada DOS).
b.
Program
yang menjadikan hardware lebih mudah untuk digunakan.
c.
Kumpulan
program yang mengatur kerja hardware (seperti: permintaan user).
d.
Resource manager atau resource allocator
(seperti mengatur memori, printer, dll).
e.
Sebagai
program pengontrol (program yang digunakan untuk mengontrol program yang
lainnya)
f.
Sebagai
Kernel, yaitu program yang terus menerus running selama komputer
dihidupkan.
g.
Sebagai
guardian, yaitu mengatur atau menjaga computer dari berbagai kejahatan
computer.
1.
Sistem Operasi Ditinjau Dari Apa yang Dilakukannya
a.
Sebagai
antarmuka antara user dengan hardware.
b.
Memungkinkan
adanya pemakaian bersama hardware maupun data antar user.
c.
Pengatur
penjadwalan resource bagi user (seperti pemakaian CPU dan I/O
secara beragantian, dengan adanya memori manager dapat mengakses program
besar hanya dengan memori kecil).
d.
Menyediakan
fasilitas sistem operasi (seperti: menyediakan fasilitas interrupt).
2.
Tujuan adanya Sistem Operasi
a.
Menunjukkan
lingkungan dimana seorang user dapat mengeksekusi program-programnya.
b.
Membuat
sistem komputer nyaman untuk digunakan.
c.
Mengefisienkan
hardware komputer.
3.
Sejarah Singkat Perkembangan Sistem Operasi
Perkembangan Sistem Operasi sangat
dipengaruhi oleh perkembangan hardware, yaitu :
1.
Generasi ke-nol (1940)
a.
Komponen
utama tabung hampa udara.
b.
Sistem
komputer belum menggunakan sistem operasi.
c.
Semua
operasi komputer dilakukan secara manual melalui plugboards, dan hanya
bias digunakan untuk menghitung (+,- dan *)
2.
Generasi pertama (1950)
a.
Komponen
utama transistor.
b.
Sistem
operasi berfungsi terutama sebagai pengatur pergantian antar job agar
waktu instalasi job berikutnya lebih efisien. Dalam masa ini muncul
konsep batch system (semua job sejenis dikumpulkan jadi satu).
c.
Input memakai punch card.
3.
Generasi kedua (1960)
a.
Komponen
utama IC.
b.
Berkembang
konsep-konsep :
§ Multiprogramming, satu prosesor
mengerjakan banyak program yang ada di memori utama.
§ Multiprocessing, satu job
dikerjakan oleh banyak prosesor berguna untuk meningkatkan utilitas.
§ Spooling (Simultaneous
Peripheral Operation On Line), bertindak sebagai
buffer saja, dan mampu menerima pesanan meskipun belum akan dikerjakan.
§ Device Independence,
masing-masing komponen memiliki sifat yang saling berbeda (misal : tiap-tiap
printer memiliki driver).
§ Time Sharing
atau multitasking.
§ Real time
system, berguna sebagai kontrol bagi mesin-mesin.
4.
Generasi ketiga (1970)
a.
Komponen
utama VLSI (Very Large Scale Integrated Circuit).
b.
Ditandai
dengan berkembangnya konsep general purpose system,
sehingga sistem operasi menjadi sangat kompleks, mahal dan sulit untuk
dipelajari.
5.
Generasi keempat (pertengahan 1970-an hingga
sekarang)
a.
PC
makin populer.
b.
Ditandai
dengan berkembangnya sistem operasi untuk jaringan komputer dengan tujuan :
data sharing, harware sharing dan program sharing.
c.
User interface semakin user friendly
tanpa harus mengorbankan unjuk kerjanya.
4. Macam-macam
System Operasi
1. UNIX
Termasuk sistem operasi yang paling awal ada untuk komputer. Merupakan induk dari sistem operasi linux.
Termasuk sistem operasi yang paling awal ada untuk komputer. Merupakan induk dari sistem operasi linux.
2. DOS
Sistem operasi yang merupakan cikal bakal dari Microsoft Windows. Ciri khasnya yaitu berupa teks putih dengan latar belakang hitam. Kalau mau mencobanya bisa lewat Start Windows – Run, lalu ketik cmd.
Sistem operasi yang merupakan cikal bakal dari Microsoft Windows. Ciri khasnya yaitu berupa teks putih dengan latar belakang hitam. Kalau mau mencobanya bisa lewat Start Windows – Run, lalu ketik cmd.
3. Novell Operating Sistem
Dibuat oleh Novell Corporation. Sistem operasi yang dulu pernaha digunakan oleh Fakultas MIPA UGM untuk Entry Key-In KRS mahasiswa.
Dibuat oleh Novell Corporation. Sistem operasi yang dulu pernaha digunakan oleh Fakultas MIPA UGM untuk Entry Key-In KRS mahasiswa.
4. Microsoft
Windows
Merupakan sistem operasi yang paling populer. Hampir semua orang pernah memakainya. Beberapa versi Microsoft Windows yang terkenal: Microsoft Windows 98, 2000, Me, XP, Vista, dan yang paling terbaru Windows 7.
Merupakan sistem operasi yang paling populer. Hampir semua orang pernah memakainya. Beberapa versi Microsoft Windows yang terkenal: Microsoft Windows 98, 2000, Me, XP, Vista, dan yang paling terbaru Windows 7.
5. Apple
Machintos
System operasi yang unggul dalam hal grafik. Memerlukan hardware khusus sehingga tidak dapat di-install di computer biasa. Versinya antara lain Mac OS X (Tiger), Leopard.
System operasi yang unggul dalam hal grafik. Memerlukan hardware khusus sehingga tidak dapat di-install di computer biasa. Versinya antara lain Mac OS X (Tiger), Leopard.
6. Linux
Pertama kali dikembangkan oleh Linus Torvald. Merupakan sistem operasi open source artinya bisa dikembangkan oleh semua orang dengan bebas. Turunan linux atau yang dikenal dengan distro linux banyak sekali macamnya. Mungkin linux merupakan sistem operasi yang paling banyak. Beberapa di antaranya yaitu: Debian, Suse, Red Hat (Fedora), Slackware, Ubuntu, Backtrack, dan lain-lain
Pertama kali dikembangkan oleh Linus Torvald. Merupakan sistem operasi open source artinya bisa dikembangkan oleh semua orang dengan bebas. Turunan linux atau yang dikenal dengan distro linux banyak sekali macamnya. Mungkin linux merupakan sistem operasi yang paling banyak. Beberapa di antaranya yaitu: Debian, Suse, Red Hat (Fedora), Slackware, Ubuntu, Backtrack, dan lain-lain
7. Solaris
Dikembangkan oleh Sun Microsystem. Lebih banyak digunakan untuk perusahaan.
Dikembangkan oleh Sun Microsystem. Lebih banyak digunakan untuk perusahaan.
8. Free BSD
Dibuat oleh Universitas Berkeley. Hampir sama seperti linux.
Dibuat oleh Universitas Berkeley. Hampir sama seperti linux.
2.
STRUKTUR SISTEM OPERASI
1.
Komponen-komponen Sistem
Sebuah sistem
operasi dapat dibagi menjadi beberapa komponen. Secara umum, para pakar sepakat
bahwa terdapat sekurangnya empat komponen utama yaitu :
·
Manajemen
Proses
·
Manajemen
Memori Utama
·
Manajemen
Sistem Berkas
·
Manajemen
Masukan/Keluaran ( I/O )
Selain keempat
komponen di atas, Avi Silberschatz, dan kawan-kawan menambahkan beberapa
komponen seperti :
·
Manajemen
Memori Sekunder
·
Manajemen
Sistem Proteksi
·
Manajemen
Jaringan
·
Command-Interpreter System
1.
Manajemen Proses
Proses adalah
sebuah program yang sedang dieksekusi. Sebuah proses membutuhkan beberapa
sumber daya untuk menyelesaikan tugasnya. Alokasi sumber daya tersebut dikelola
oleh Sistem Operasi. Umpamanya, walku CPU, memori, berkas-berkas, dan
perangkat-perangkat I/O. Ketika proses tersebut berhenti dijalankan, sistem
operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali.
Sistem operasi
memberikan tanggapan terhadap manajemen proses untuk aktivitas-aktivitas
sebagai berikut :
a.
Pembuatan
atau penghapusan proses yang dibuat oleh user atau sistem.
b.
Suspensi
dan asumsi proses.
c.
Kelengkapan
mekanisme untuk sinkronisasi proses.
d.
Kelengkapan
mekanisme untuk komunikasi proses.
e.
Kelengkapan
mekanisme untuk pengendalian deadlock.
2.
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 penyimpanan instruksi/data yang akses datanya
digunakan oleh CPU dan perangkat Input/Output. Memori utama
termasuk tempat penyimpanan data yang bersifat volatile –tidak
permanen—yaitu data akan hilang kalau komputer dimatikan.
Sistem operasi
memberikan tanggapan terhadap manajemen memori utama untuk aktivitas-aktivitas
sebagai berikut :
a.
Menjaga
dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang
menggunakan.
b.
Memutuskan
proses-proses mana saja yang harus dipanggil ke memori jika masih ada di ruang
memori.
c.
Mengalokasikan
dan mendealokasikan ruang memori jika diperlukan.
3.
Manajemen Sistem Berkas / File
Berkas adalah
kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuatan berkas
tersebut. Umumnya berkas merepresentasikan program pada data. Berkas dapat
mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.).
Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur
media penyimpanan massa, misalnya tapes dan disk.
Sistem operasi
memberikan tanggapan terhadap manajemen file untuk aktivitas-aktivitas sebagai
berikut :
a.
Pembuatan
dan penghapusan file.
b.
Pembuatan
dan penghapusan direktori.
c.
Primitif-primitif
yang mendukung untuk manipulasi file dan direktori.
d.
Pemetaan
file ke memori sekunser.
e.
Backup file ke media penyimpanan yang
stabil (nonvolatil).
4.
Manajemen I/O
Sistem ini
sering disebut dengan device manager. Menyediakan device driver
yang umum sehingga operasi Input/Output dapat seragam (membuka,
membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama
untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
System operasi
memberikan tanggapan terhadap manajemen I/O untuk aktivitas-aktivitas sebagai
berikut :
a.
Penyangga:
menampung sementara dari/ke perangkat Input/Output.
b.
Spooling : melakukan penjadwalan pemakaian Input/Output
sistem supaya lebih efisien (antrian, dsb.).
c.
Menyediakan
driver : untuk dapat melakukan operasi rinci untuk perangkat keras
Inputan/Outputan tertentu.
5.
Manajemen Memori Sekunder
Data yang
disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh
karena itu, untuk menyimpan keseluruhan data dan program 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.
System operasi
memberikan tanggapan terhadap manajemen penyimpanan sekunder untuk
aktivitas-aktivitas sebagai berikut :
a.
Pengaturan
ruang kosong.
b.
Alokasi
penyimpanan.
c.
Penjadwalan
disk.
6.
Manajemen 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 diberi izin dan yang belum
·
Menspesifikasi
control untuk dibedakan/diberi tugas
·
Menyediakan
alat untuk pemberlakuan system
7.
Manajemen Jaringan
Sistem
terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock.
Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor
tersebut terhubung melalui jaringan komunikasi. System terdistribusi menyiapkan
akses pengguna ke bermacam sumber-daya system. Akses tersebut menyebabkan
peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.
Sistem
Terdistribusi adalah kumpulan prosesor yang tidak berbagi memori atau clock.
Setiap prosesor memiliki memori lokal masing-masing. Prosesor-prosesor dalam
sistem terhubung dalam jaringan komunikasi. Sistem terdistribusi menyediakan
akses pengguna ke bermacam-macam sumber daya. Akses tersebut menyebabkan :
§ Peningkatan
kecepatan kompuatsi
§ Peningkatan
penyediaan data
§ Peningkatan
keandalan
8.
Sistem Proteksi
Proteksi
berkenaan dengan mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, pengguna sistem maupun
pengguna sumber daya.
Mekanisme
Proteksi harus :
§ Membedakan antara
penggunaan yang sah dan yang tidak sah.
§ Spesifikasi
kontrol untuk di terima
§ Menyediakan alat
untuk pemberlakuan sistem.
9.
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 terkadang dikenal sebagai shell.
Command Interpreter Sistem sangat bervariasi dari satu system
operasi ke system operasi yang lain dan disesuaikan dengan tujuan dan teknologi
perangkat Inputan/ Outputan yang ada. Contohnya: CLI, Windows, Pen-based
(touch), dan lain-lain.
2.
Pelayanan
Sistem Operasi
Sistem
operasi harus dapat melayani programmer sehingga dapat melakukan pemrograman
dengan mudah.
a.
Eksekusi
Program. System harus dapat memanggil program ke memori dan menjalankannya.
Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau
abnormal (indikasi error).
b.
Operasi-operasi
I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file
atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O
secara langsung, pengontrolan dilakukan oleh SO.
c.
Manipulasi
system file. Meliputi pembuatan, penghapusan, read dan write.
d.
Komunikasi.
Komunikasi dibutuhkan jika beberapa proses saling tukar-menukar informasi. Ada
2 cara yang dapat dilakukan, 1. Tukar-menukar data oleh beberapa proses dalam
satu komputer; 2. Tukar-menukar data oleh beberapa proses dalam computer yang
berbeda melalui sistem jaringan. Komunikasi dilakukan dengan cara berbagi
memori atau dengan cara pengiriman pesan.
e.
Mendeteksi
kesalahan. Untuk masing-masing kesalahan, system operasi harus memberikan aksi
yang cocok agar komputasinya menjadi konsisten.
3.
Pelayanan Tambahan
Lebih diarahkan
kepada upaya untuk menjaga efisiensi sistem,bukan untuk membantu pengguna.
§ Alokasi sumber
daya : mengalokasikan sumber daya kepada beberapa pengguna atau tugas yang
dijalankan pada saat yang bersamaan.
§ Accounting : menentukan
berapa banyak dan berapa lama users menggunakan sumber daya system.
§ Proteksi :
menjaga semua akses ke sumber daya system terkontrol.
4.
System Call
System calls menyediakan
antarmuka antara proses (program yang sedang dijalankan) dan sistem operasi.
Biasanya tersedia sebagai instruksi bahasa rakitan Beberapa sistem mengizinkan
system calls dibuat langsung dari bahasa pemrograman tingkat tinggi
Beberapa bahasa
pemrograman tingkat tinggi (contoh : C, C++) telah didefenisikan untuk
menggantikan bahasa rakitan untuk sistem pemrograman.
Tiga metode umum
yang digunakan dalam memberikan parameter kepada sistem operasi
§ Melalui
register.
§ Menyimpan
parameter dalam blok atau tabel pada memori dan alamat blok tersebut diberikan
sebagai parameter dalam register.
§ Menyimpan
parameter (push) ke dalam stack (oleh program), dan melakukan pop
off pada stack (oleh sistim operasi).
Gambar 2.1 System Call
Pada dasarnya System
Call dapat dikelompokkan dalam 5 kategori sebagai berikut :
1.
Kontrol Proses
Hal-hal yang dilakukan :
§ Mengakhiri (end)
dan membatalkan (abort);
§ Mengambil (load)
dan eksekusi (execute);
§ Membuat dan
mengakhiri proses;
§ Menentukan dan
mengeset atribut proses;
§ Wait for time;
§ Wait event,
signal event;
§ Mengalokasikan
dan membebaskan memori.
Gambar2.2 Eksekusi MS-DOS
Gambar 2.3 UNIX Menjalankan
Multiple Program
Contoh : Sistem
operasi pada MS-DOS menggunakan system single-tasking yang memiliki command
interpreter yang akan bekerja pada saat start. Karena singletasking,
maka akan menggunakan metode yang sederhana untuk menjalankan program dan tidak
akan membuat proses baru.
2.
Manipulasi File
Hal-hal yang dilakukan :
§ Membuat dan
menghapus file;
§ Membuka dan
menutup file;
§ Membaca,
menulis, dan mereposisi file;
§ Menentukan dan
mengeset atribut file;
3.
Manipulasi Device
Hal-hal yang dilakukan ;
§ Meminta dan
membebaskan device;
§ Membaca,
menulis, dan mereposisi file;
§ Menentukan dan
mengeset atribut device;
4.
Informasi Lingkungan
Hal-hal yang dilakukan :
§ Mengambil atau
mengeset waktu atau tanggal;
§ Mengambil atau
mengeset sistem data;
§ Mengambil atau
mengeset proses,file atau atribut-atribut device;
5.
Komunikasi
Hal-hal yang dilakukan :
§ Membuat dan
menghapus sambungan komunikasi;
§ Mengirim dan
menerima pesan;
§ Mentransfer
satus informasi;
Ada 2 model
komunikasi :
a.
Message-passing Model. Informasi
saling ditukarkan melalui fasilitas yang telah ditentukan oleh system operasi
(Gambar 2.4 kiri).
Gambar 2.4 Model komunikasi : Message
Passing (kiri); Shared Memory (kanan)
b.
Shared-memory Model. Proses-proses menggunakan map
memory untuk mengakses daerah-daerah di memori dengan proses-proses yang lain
(gambar 2.4 kanan).
5.
Sistem Program
Sistem program adalah masalah yang relative
kompleks, namun dapat dibagi menjadi beberapa kategori, antara lain :
a.
Manipulasi
File. Meliputi : membuat, menghapus, mengcopy, rename, print, dump, list,
pada file dan direktori.
b.
Status
Informasi. Meliputi : tanggal, waktu (jam, menit, detik), penggunaan memori
atau disk space, banyaknya user.
c.
Modifikasi
File. Ada beberapa editor yang sanggup digunakan sebagai sarana untuk menulis
atau memodifikasi file yang tersimpan dalam disk atau tape.
d.
Bahasa
Pemrograman yang mendukung. Meliputi : Compiler, assembler, dan
interpreter untuk beberapa bahasa pemrograman (seperti : Fortran, Cobol,
Pascal, Basic, C, dan LISP).
e.
Pemanggilan
dan Eksekusi Program. Pada saat program dicompile, maka harus dipanggil ke
memori untuk dieksekusi. Suatu system biasanya memiliki absolute loader,
melokasikan loader, linkage editor, dan overlay loader.
Juga dibutuhkan debugging system untuk bahasa tingkat tinggi.
f.
Komunikasi.
Sebagai mekanisme untuk membuat hubungan virtual antar proses, user, dan sistem
computer yang berbeda.
g.
Program-program
aplikasi. Sistem operasi harus menyokong program-program yang berguna untuk
menyelesaikan permasalahan secara umum, ayau membentuk operasi-operasi secara
umum, seperti compiler, pemformat teks, paket plot, system basis data, spreadsheet,
paket analisis statistic, dan games.
6.
Struktur Sistem Operasi
Sistem
computer modern yang semakin komplek dan rumit memerlukan system operasi yang
dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah
untuk dimodifikasi.
1.
Struktur Sederhana
Dimulai dengan
sistem yang kecil, sederhana dan terbatas kemudian berkembang dengan cakupan
original. Struktur sistem MS-DOS: disusun untuk mendukung fungsi yang banyak
pada ruang yang kecil
Ada sejumlah
system komersial yang tidak memiliki struktur yang cukup baik. Sistem operasi
tersebut sangat kecil, sederhana dan memiliki banyak keterbatasan. Salah satu
contoh sistem tersebut adalah MS-DOS. MS-DOS dirancang oleh orang-orang yang
tidak memikirkan akan kepopuleran software tersebut. Sistem operasi
terbatas pada hardware sehingga tidak terbagi menjadi modul-modul
seperti terlihat pada Gambar 2.5. Karena Intel 8088 tidak menggunakan dual-mode
sehingga tidak ada proteksi hardware. Oleh karena itu orang mulai enggan
menggunakannya.
Gambar
2.5 Struktur
system MS-DOS
Contoh
lainnya adalah UNIX. Sistem operasi UNIX juga terbatas pada hardware. UNIX
hanya terdiri dari atas 2 bagian, yaitu Kernel dan program system. Kernel
terbagi menjadi beberapa antarmuka dan device driver. Kernel ini berisi
system file, penjadwalan CPU, manejemen memori, dan fungsi system operasi
lainnya yang ada pada system call. Program system meminta bantuan kernel untuk
memanggil fungsi-fungsi dalam kompilasi dan manipulasi file. Gambar 2.6 di
bawah ini memperlihatkan struktur system UNIX.
Users
|
||
shell dan
perintah-perintah;
compiler dan
interpreter;
system
libraries;
|
||
sinyal;
pengendali
terminal;
system
karakter I/O;
terminal
drivers;
|
antarmuka
system call ke kernel
system file;
swapping;
system blok
I/O;
disk &
tape drivers;
|
penjadwalan
CPU;
page
replacement;
demand paging;
virtual
memory;
|
terminal
controllers
terminals
|
device
controllers
disks &
tapes
|
memory
controllers
memory fisik
|
Gambar 2.6 Struktur system UNIX
2.
Monolithic System
Pada
dasarnya, system monolithic merupakan struktur sederhana yang dilengkapi
dengan operasi dual-mode. Pelayanan (system call) yang diberikan oleh
system operasi model ini dilakukan dengan cara mengambil sejumlah parameter
pada tempat yang telah ditentukan sebelumnya, seperti register atau stack,
dan kemudian mengeksekusi suatu instruksi trap tertentu pada monitor mode.
Gambar 2.7 menunjukkan bagaimana system call tersebut dibuat.
User
program melakukan ‘trap’ pada kernel. Instruksi berpindah dari user-mode
ke monitor mode dan mentransfer kontrol ke sistem operasi;
Sistem
operasi mengecek parameter-parameter dari pemanggilan tersebut untuk menentukan
system call mana yang memanggil;
Sistem
operasi menunjuk ke suatu tabel yang berisi slot ke-k, yang menunjukkan system
call k.
Setelah
system call selesai mengerjakan tugasnya, control akan dikembalikan pada user
program.
User Program 2
Gambar 2.7 Bagaimana
system call dibuat
Tatanan ini memberikan suatu
struktur dasar dari system operasi sebagai berikut :
a.
Program
utama yang meminta service procedure;
b.
Kumpulan
service procedure yang dibawa oleh system call;
c.
Kumpulan
utility procedure yang membantu service procedure;
Gambar
2.8 Model
Struktur Monolithic
Pada
model ini, tiap-tiap system call memiliki satu service procedure. Utility
procedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service
procedure, seperti mengambil data dari user program. Pembagian procedure
menjadi 3 lapisan ini seperti terlihat pada gambar 2.8.
3.
Pendekatan Terlapis (Layered Approach)
Teknik
pendekatan terlapis pada dasarnya dibuat dengan cara membentuk system operasi
menjdi bentuk modular. Dengan menggunakan pendekatan top-down, semua
fungsi ditentukan dan dibagi menjadi komponen-komponen. Modularisasi system
dilakukan dengan cara memecah system operasi menjadi beberapa lapis (tingkat).
Lapisan terendah (lapis-0) adalah hardware dan lapisan teratas (lapisan N)
adalah user interface. Gambar 2.9
menunjukkan lapisan tersebut. Tiap-tiap lapisan diimplementasikan hanya
dengan menggunakan operasi-operasi yang disediakan oleh lapisan yang lebih
rendah. Sistem operasi yang menggunakan system ini adalah : UNIX termodifikasi,
THE, Venus dan OS2.
operasi-operasi
baru
operasi-operasi
yang
ada
Gambar 2.9 Lapisan system
operasi
Lapis-5 : user
program
Lapis-4 :
buffering untuk I/O device
Lapis-3 :
operator-console device driver
Lapis-2 :
manajemen memori
Lapis-1 :
penjadwalan CPU
Lapis-0 :
hardware
Gambar 2.10 Struktur “THE”
Lapis-6 : user
program
Lapis-5 :
device driver dan scheduler
Lapis-4 :
virtual {XE “virtual”} memory
Lapis-3 : I/O
channel
Lapis-2 :
penjadwalan CPU
Lapis-1 :
instruksi interpreter
Lapis-0 :
hardware
Gambar 2.11 Struktur
“Venus”
Gambar 2.12 Struktur OS/2
4.
Mikrokernel
Menyusun
sistem operasi dengan menghapus semua komponen yang tidak esensial dari kernel,
dan mengimplementasikannya sebagai sistem program dan level pengguna. Fungsi
utama microkernel adalah mendukung fasilitas komunikasi antara program
klien dan bermacam-macam layanan yang juga berjalan di user-space.
Keuntungannya
adalah ketika layanan baru akan ditambahkan ke user-space kernel tidak
perlu di modif, OS lebih mudah ditempatkan pada suatu desain perangkat keras ke
desain lainnya, mendukung keamanan reliabilitas lebih.
Contoh
sistem operasi : Tru64 UNIX, MacOSX, QNX.
5.
Mesin Virtual (Virtual Machine)
Konsep
dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan terlapis, hanya
saja konsep ini memberikan sedikit tambahan berupa tatap antarmuka yang
menghubungkan hardware dengan kernel untuk tiap-tiap proses, gambar 2.13
menunjukkan konsep tersebut.
Meskipun
konsep ini cukup baik, namun sulit untuk diimplementasikan, ingat bahwa system
menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan monitor-mode jika berupa system operasi,
sedangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode.
Konsekuensinya, baik virtual monitor-mode maupun virtual user-mode harus
dijalankan melalui physical user mode. Hal ini menyebabkan adanya transfer dari
user-mode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adanya
transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual.
Ide dasar dari virtual
machine adalah mengabtraksi perangkat keras dari satu computer (CPU, memori,
disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa
masing-masing environment menjalankan komputernya [terpisah] sendiri. VM muncul
karena adanya keinginan untuk menjalankan banyak sistem operasi pada satu
komputer.
Teknologi virtual machine memiliki
banyak kegunaan seperti memungkinkan konsolidasi perangkat
keras, memudahkan recovery
sistem, dan menjalankan perangkat
lunak terdahulu. Salah
satu penerapan penting dari teknologi VM adalah integrasi lintas platform. Beberapa penerapan
lainnya yang penting adalah:
·
Konsolidasi server. Jika beberapa server menjalankan
aplikasi yang hanya memakan sedikit sumber daya, VM dapat digunakan untuk
menggabungkan aplikasi-aplikasi tersebut sehingga berjalan pada satu server
saja, walaupun aplikasi tersebut memerlukan sistem operasi yang berbeda-beda.
·
Otomasi
dan konsolidasi lingkungan pengembangan dan testing. Setiap VM dapat
berperan sebagai
lingkungan yang berbeda,
ini memudahkan pengembang
sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
·
Menjalankan
perangkat lunak terdahulu. Sistem operasi dan perangkat lunak terdahulu
dapat dijalankan pada sistem yang lebih baru.
·
Memudahkan
recovery sistem. Solusi virtualisasi dapat dipakai untuk rencana recovery
sistem yang memerlukan portabilitas dan fleksibilitas antar platform.
·
Demonstrasi
perangkat lunak. Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya
dapat disediakan secara cepat.
Keuntungannya
adalah bahwa konsep tersebut sepenuhnya melakukan proteksi, sehingga keamanan
resource, terutama untuk resource-resource yang digunakan secara bersama-sama,
akan terjamin. Contoh system operasi yang memakai mesin virtual adalah IBM VM
system.
Kerugiannya
adalah virtual machine sulit diimplementasikan karena banyak syarat yang dibutuhkan untuk menyediakan duplikat yang
tepat dari underlying machine, yaitu harus punya virtual-user mode dan virtual-monitor
mode yang keduanya berjalan di pysical
mode. Akibatnya, saat
instruksi yang hanya membutuhkan
virtual monitor mode dijalankan, register berubah dan bisa berefek pada virtual
user mode, bahkan bisa me-restart virtual machine. Selain itu, waktu
yang dibutuhkan I/O bisa lebih cepat(karena ada spooling), tapi bisa
lebih lambat( karena diinterpreted).
antarmuka
pemrograman
Gambar 2.13 Konsep Mesin
Virtual : (a) Tanpa Mesin Virtual; (b) Dengan Mesin Virtual
Suatu VM proses,
kadang disebut application virtual machine, berjalan sebagai aplikasi normal di
dalam sebuah sistem operasi dan mendukung satu proses. VM Proses diciptakan
saat proses tersebut dimulai dan dihancurkan (destroyed) ketika prosesnya
exit. Tujuannya adalah
menyediakan environment
pemrograman yang platform-independent yang
mengabstraksi detil-detil
perangkat lunak atau
sistem operasi, dan
mengizinkan suatu program tereksekusi dengan cara yang sama
pada platform manapun.
VM proses
menyediakan abstraksi tingkat-tinggi (dibandingkan abstraksi tingkat rendah dari VM sistem) –
yaitu abstraksi bahasa pemrograman tingkat tinggi. VM proses diimplementasi
menggunakan interpreter. Tipe VM ini
menjadi populer dengan
bahasa pemrograman Java, yang diimplementasi dengan
Java Virtual Machine. Contoh
lainnya adalah .NET Framework, yang berjalan atas VM disebut
Common Language Runtime. Kasus istimewa dari VM proses adalah sistem yang
mengabstraksi mekanisme komunikasi
dari cluster komputer
(yang mungkin heterogen).
VMnya tidak terdiri dari satu
proses, melainkan satu proses per mesin fisik di dalam cluster. VM tersebut
dirancang untuk mempermudah pekerjaan memrogramkan aplikasi parallel dengan
membiarkan programmer fokus
pada algoritma daripada mekanisme komunikasi yang
disediakan oleh interconnect dan sistem
operasi. Kenyataan bahwa komunikasi
terjadi tidak
disembunyikan, dan cluster
tidak diusahakan direpresentasi sebagai satu mesin.
6.
Client-server Model
Trend
dari system operasi modern adalah memindahkan kode ke lapisan yang lebih tinggi
dan menghapusnya sebanyak mungkin dari system operasi sehingga akan
meninggalkan kernel yang minimal. Konsep ini biasanya diimplementasikan dengan
cara menjadikan fungsi-fungsi yang ada pada system operasi menjadi user proses.
Jika suatu proses minta untuk dilayani, misalkan saja satu blok file, maka user
proses (disini dinamakan: client proses) mengirim permintaan tersebut ke
server proses. Server proses akan melayani permintaan tersebut kemudian
mengirimkan jawabannya kembali. Pada model ini, seperti terlihat pada Gambar
2.14, semua pekerjaan kernel ditekankan pada pengendalian komunikasi antara client
dan server. Dengan membagi system operasi menjadi beberapa bagian,
dimana tiap-tiap bagian mengendalikan satu segi system, seperti pelayanan file,
pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap
bagian menjadi lebih sederhana dan dapat diatur. Selain itu, karena semua
server berjalan pada user-mode proses, dan bukan merupakan monitor mode, maka
server tidak dapat mengakses hardware secara langsung. Akibatnya, jika terjadi
kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini
tidak akan sampai mengganggu system lainnya.
Gambar 2.14 Model Client-Server
mesin-1 mesin-2 mesin-3 mesin-4
Gambar 2.15 Model Client-Server pada system
terdistribusi
Keuntungan
lain dari model client-server ini adalah dapat diadaptasikan pada system
terdistribusi (Gambar 2.15). jika suatu client berkomunikasi dengan server
dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan
tersebut dikirim dari mesin itu sendiri (local) atau dikirim oleh mesin
yang lain melalui jaringan.
·
Perancangan Sistem
Perancangan
sistem dipengaruhi oleh perangkat keras dan jenis system sehingga kebutuhan-nya
akan lebih sulit untuk dispesifikasikan. Kebutuhan terdiri dari tujuan pengguna
dan tujuan system. Pengguna ingin sistem yang
enak digunakan, mudah dipelajari, terpercaya, aman, dan cepat. Tapi itu
semua sebenarnya tidak dibutuhkan oleh sebuah sistem. Sistem ingin mudah
dirancang dan diimplmentasikan, fleksibel, terpercaya, error yang minimal, dan
efisien.
·
Mekanisme dan Kebijakan
Mekanisme
menjelaskan bagaimana melakukan sesuatu, kebijakan menentuakan apa yang akan
dilakukan. Pemisahan kebijakan dari mekanisme adalah hal yang sangat penting,
ini ,mengijinkan fleksibilitas yang tinggi jika kebijakan akan diubah suatu
saat. Kebijakan penting untuk semua alokasi sumber daya dan menjadwalkan
masalah, menentukan perlu atau tidaknya mengalokasikan sumber daya.
·
Implementasi Sistem
Secara
tradisional, sistem operasi ditulis dalam bahasa rakitan, tapi sekarang sering
dibuat dalam bahasa tingkat tinggi.
Keuntungan
ditulis dalam bahasa tingkat tinggi adalah :
1.
Kodenya
bisa ditulis dengan lebih cepat
2.
Lebih
padat
3.
Mudah
dimengerti dan didebug
Sistem operasi
yang ditulis dengan bahasa tingkat tinggi akan mudah dipindahkan ke perangkat
keras lain, tapi bisa mengurangi kecepatan dan membutuhkan penyimpanan yang
lebih banyak.
·
System Generation
Sistem
operasi dirancang untuk dapat dijalankan pada berbagai jenis mesin, sistemnya
harus dikonfigurasikan untuk setiap komputer. Program Sysgen mendapatkan
informasi mengenai konfigurasi khusus tentang sistem perangkat keras dari
sebuah data, antara lain sebagai berikut:
1.
CPU
apa yang digunakan, pilihan yang diinstal
2.
Berapa
banyak memori yang tersedia
3.
Peralatan
yang tersedia
4.
Sistem
operasi pilihan apa yang diinginkan atau parameter apa yang digunakan
Satu kali info diperoleh, bisa digunakan
dengan berbagai cara.
DAFTAR PUSTAKA
[ 1 ] Hariyanto, Bambang. Sistem
Operasi. Edisi Bandung. Informatika.
1999.
[ 2 ]
Kusumadewi, Sri. Sistem Operasi. Edisi 2. Yogyakarta. Graha Ilmu. 2002.
[ 3 ] Yuniarto, Nurwono, Ir, MBA.
Manajemen Informasi Pendekatan Global. Jakarta,
Elex Media Komputindo. 1994.
Tidak ada komentar:
Posting Komentar