Struktur Sistem Operasi
Pada kenyataannya tidak semua sistem
operasi mempunyai struktur yang sama. Namun menurut Avi Silberschatz, Peter
Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen
sebagai berikut:
·
Managemen
Proses.
·
Managemen
Memori Utama.
·
Managemen Secondary-Storage.
·
Managemen
Sistem I/O.
·
Managemen
Berkas.
·
Sistem
Proteksi.
·
Jaringan.
·
Command-Interpreter
system.
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 yang berkaitan dengan managemen proses seperti:
·
Pembuatan
dan penghapusan proses pengguna dan sistem proses.
·
Menunda
atau melanjutkan proses.
·
Menyediakan
mekanisme untuk proses sinkronisasi.
·
Menyediakan
mekanisme untuk proses komunikasi.
·
Menyediakan
mekanisme untuk penanganan deadlock.
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. 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 yang berkaitan dengan managemen memori seperti:
·
Menjaga track dari
memori yang sedang digunakan dan siapa yang menggunakannya.
·
Memilih
program yang akan di-load ke memori.
·
Mengalokasikan
dan meng-dealokasikan ruang memori sesuai kebutuhan.
Managemen 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.
Managemen
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:
·
Buffer:
menampung sementara data dari/ ke perangkat I/O.
·
Spooling:
melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
·
Menyediakan driver untuk
dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Managemen
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:
·
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 (non-volatile).
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.
·
provide
a means of enforcement.
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 menyediakan akses pengguna ke bermacam
sumber-daya sistem. Akses tersebut menyebabkan:
·
Computation
speed-up.
·
Increased
data availability.
·
Enhanced
reliability.
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, danUNIX 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.
Layanan
Sistem Operasi
Eksekusi program adalah kemampuan sistem
untuk "load" program ke memori dan menjalankan program.
Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya
perangkat keras, sistem operasi harus menyediakan mekanisme untuk melakukan
operasi I/O atas nama pengguna. Sistem manipulasi berkas dalah kemampuan
program untuk operasi pada berkas (membaca, menulis, membuat, and menghapus
berkas). Komunikasi adalah pertukaran data/ informasi antar dua atau lebih
proses yang berada pada satu komputer (atau lebih). Deteksi error adalah
menjaga kestabilan sistem dengan mendeteksi "error", perangkat
keras mau pun operasi.
Efesisensi penggunaan sistem:
·
Resource
allocator adalah mengalokasikan sumber-daya ke beberapa
pengguna atau job yang jalan pada saat yang bersamaan.
·
Proteksi
menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya
ke sistem).
·
Accounting adalah
merekam kegiatan pengguna, jatah pemakaian sumber daya (keadilan atau
kebijaksanaan).
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 (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 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.
·
Push (store)
melalui "stack" pada memori dan OS mengambilnya melalui pop pada stack tsb.
Mesin
Virtual
Sebuah mesin virtual (Virtual Machine)
menggunakan misalkan terdapat sistem program => control program yang mengatur
pemakaian sumber daya perangkat keras. Control program = trap System
call + akses ke perangkat keras. Control program memberikan fasilitas
ke proses pengguna. Mendapatkan jatah CPU dan memori. Menyediakan interface "identik"
dengan apa yang disediakan oleh perangkat keras => sharing devicesuntuk
berbagai proses.
Mesin Virtual (MV) (MV) => control
program yang minimal MV memberikan ilusi multitasking: seolah-olah
terdapat prosesor dan memori ekslusif digunakan MV. MV memilah fungsi multitasking dan
implementasiextended machine (tergantung proses pengguna) =>
flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu
MV => bebas untuk menjalankan OS (kernel) yang diinginkan pada MV tersebut.
Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM VM370: menyediakan
MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah: Sharing disk
=> OS mempunyai sistem berkas yang mungkin berbeda. IBM: virtual disk
(minidisk) yang dialokasikan untuk pengguna melalui MV.
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.
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.
System
Generation (SYSGEN)
Sistem operasi dirancang untuk dapat
dijalankan di berbagai jenis mesin; sistemnya harus di konfigurasi untuk tiap
komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari
sistem perangkat keras.
·
Booting: memulai
komputer dengan me-load kernel.
·
Bootstrap
program: kode yang disimpan di code ROM yang dapat
menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya.
ARSITEKTUR SISTEM OPERASI
Arsitektur perangkat
lunak adalah struktur-struktur yang menjadi landasan untuk menentukan
keberadaan komponen-komponen perangkat lunak, cara komponen-komponen saling
berinteraksi dan organisasi komponen-komponen dalam membentuk perangkat lunak. Arsitektur
sistem operasiadalah arsitektur perangkat lunak yang digunakan dalam
membangun perangkat lunak sistem operasi.
1.
Sistem monolitik
2.
Sistem berlapis
3.
Sistem client / server
4.
Sistem mesin maya
5.
Object Oriented System/ Sistem berorientasi objek
1. Sistem monolitik
Operating
System/ Sistem operasi merupakan kumpulan prosedur bahwa prosedur-prosedur di
dalamnya dapat saling memanggil apabila perlu. Semua layanan yang
disediakan sistem operasi berisi karnel. Seluruh komponen sistem operasi berada
di satu ruang alamat.
Kelemahan :
· Karena tidak dapat dipisahkan dan
dilokalisasikan maka pengujian dan penghilangan kesalahan sulit, namun praktik
pemrograman yang berdisiplin bagus dapat mempermudah pengembangan.
· Dalam menyediakan fasilitas
pengamanan tergolong sulit
· Pemborosan apabila setiap
komputer harus menjalankan kernelmonolitik sangat besar sementara
sebetulnya tidak membutuhkan semua layanan yang telah disediakan kernel.
Tidak fleksibel.
· Mengakibatkan matinya seluruh
sistem karena kekeliruan pemrograman di satu bagian kernel
Keunggulan :
· Layanan dapat dilakukan sangat cepat karena ada di
suatu ruang alamat
2. Sistem berlapis
Operating
System/ Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan ,
dalam hal ini lapisan-lapisan bawah memberi layanan untuk lapisan lebih atas.
Masing-masing lapisan di satu ruang alamat tersendiri. Sistem operasi berlapis
yang pertama kali memakai sistem berlapis THE. THE dibuat
oleh Dijkstra dan mahasiswa-mahasiswanya. Sistem berlapis bertujuan untuk
mengurangiimplementasi sistem operasi dan kompleksitas rancangan. Tiap
lapisan memiliki antarmuka dan fungsional masukan – keluaran dengan 2
lapisan bersebelahan dengan terdefinisi baik.
Kelemahan :
Fungsi
– fungsi sistem operasi yang harus diberikan ke masing-masing lapisan harus
dilakukan secara hati-hati.
Keunggulan :
Sistem
berlapis memiliki semua keunggulan rancangan yang modular, yaitu sistem terbagi
dalam beberapa modul. Masing-masing lapisan atau modul itu dapat dirancang,
dikode, dan diuji secar independen. Pendekatan berlapis menyederhanakan
rancangan, spesifikasi, dan implementasi sistem operasi.
3. Sistem client / server
Sistem
operasi merupakan kumpulan proses, dalam hal ini proses-proses dikategorikan
menjadi server dan client. Server danclient berinteraksi,
saling melayani yaitu :
· Server adalah proses yang menyediakan
layanan
· Client adalah proses yang memerlukan /
meminta layanan
Kelemahan :
· Layanan dilakukan secara lambat
karena harus melalui pertukaran pesan
· Pertukaran pesan dapat
menjadi bottleneck
Kelebihan :
· Pengembangan dapat dilakukan
secara modular
· Kesalahan (bugs) di satu
sub sistem (diimplementasikan sebagai satu proses tersendiri) tidak merusak sub
sistem-sub sistem lain sehingga tidak mengakibatkan satu sistem mati secara
keseluruhan.
4. Sistem mesin maya
Awalnya
struktur ini membuat seolah-olah semua pemakai mempunyai seluruh komputer
sendirian. Teknik yang digunakan adalah degnan atas pemroses yang digunakan.
Sistem operasi melakukan simulasi banyak mesin nyata. Mesin maya hasil simulasi
digunakan pemakai. Mesin maya ini merupakan tiruan seratus persen atas mesin
nyata. Satu pemakai diberi satu mesin maya. Semua pemakai diberi ilusi
mempunyai satu mesin nyata(maya) yang sama-sama canggih.
Kelemahan :
Implementasi
yang efisien merupakan masalah yang sulit karena sistem menjadi besar dan
kompleks
Keunggulan :
Sistem
mesin maya memberikan fleksibilitas tinggi sehingga sampai memungkinkan sistem
operasi-sistem operasi berbeda dapat dijalankan di mesin maya – mesin maya
berbeda oleh pemakai-pemakai yang berbeda.
5. Sistem berorientasi objek
Sistem operasi yang
merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel
proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem
operasi yang diinstruksikan berdasarkan paradigma objek disebut sistem operasi
berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan
teknologi berorientas objek.
Comments
Post a Comment