Struktur
Sistem Operasi
Sistem Operasi
Struktur-struktur OS
Tanpa adanya modularitas maka
fungsi dan struktur OS secara keseluruhan rumit
Dibagi dalam modul dengan fungsi
tertentu, dengan akses (input, output) tertentu
Komponen dalam Sistem
operasi
- Manajemen Proses
- Manajemen Memori
- Manajemen Storage/Data
- Manajemen I/O dan Berkas (File)
- Proteksi
- Networking
- Interface dengan user (command interpreter)
Manajemen Proses
Proses adalah program yang
dieksekusi, memerlukan resource, CPU time, memory, file, I/O device.
OS bertanggung jawab dalam :
- Create & delete ; baik proses user maupun sistem
- Suspend & meneruskan proses
- Mendukung mekanisme-mekanisme sinkronisasi proses
- Mendukung mekanisme proses communication
- Mendukung mekanisme penanganan deadlock
Manajemen Memori Utama
Memory merupakan array words/byte
dalam jumlah besar. Akses share data secara cepat oleh CPU dan I/O device
Volatile storage device
OS bertanggung jawab dalam :
- Keep track bagian mana dari memori yang sedang digunakan & oleh siapa
- Memutuskan proses-proses mana yang di-load ke ruang memori saat available
- Alokasi & dealokasi ruang memori
Manajemen Secondary-Storage
Back up main memory, non-volatile
Data dan program disimpan disimpan
dalam secondary storage (penyimpanan sekunder; disk)
OS bertanggung jawab dalam :
- Bagaimana mengelola ruang yang kosong dalam storage
- Bagaimana mengalokasi storage
- Bagaimana melakukan scheduling penggunaan disk
Manajemen I/O
OS bertanggung jawab dalam :
“menyembunyikan” kekhususan perangkat keras tertentu dari user
Melakukan optimalisasi dalam akses
Buffer cache system : menampung sementara data dari/ke piranti I/O
Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian, dsb)
Interface device-driver : open, read, write, close
Drivers untuk spesifik perangkat keras :
Menyediakan driver untuk melakukan operasi detail untuk perangkat keras tertentu
“menyembunyikan” kekhususan perangkat keras tertentu dari user
Melakukan optimalisasi dalam akses
Buffer cache system : menampung sementara data dari/ke piranti I/O
Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian, dsb)
Interface device-driver : open, read, write, close
Drivers untuk spesifik perangkat keras :
Menyediakan driver untuk melakukan operasi detail untuk perangkat keras tertentu
Manajemen File
Berkas (File) adalah kumpulan
informasi yang berhubungan (sesuai dengan tujuan pembuat berkas tersebut).
Biasanya berkas merepresentasikan program dan data
OS bertanggung jawab dalam :
- Pembuatan dan penghapusan file
- Pembuatan dan penghapusan direktori
- Mendukung primitif-primitif manipulasi file dan direktori
- Pemetaan file dalam secondary storage
- Backup file dalam media yang stabil (non-volatile)
Networking (Distributed System)
Distributed system : kumpulan
prosesor yang terdistribusi, tidak berbagi (share) memory atau clock. Setiap
prosesor memiliki memori lokal masing-masing
Prosesor-prosesor dalam sistem
terhubung dalam jaringan komunikasi
Sebagai pengatur (protokol) dalam
komunikasi data
Menentukan strategi-strategi
menangani masalah-masalah komunikasi
Mengatur network file system
Dengan adanya shared resource :
- Peningkatan kecepatan komputasi
- Peningkatan penyediaan data
- Meningkatkan reliabilitas (kehandalan)
Sistem Proteksi
Mekanisme untuk mengontrol akses
yang dilakukan oleh program, prosesor atau user ke resource-resource dalam
sistem komputer
Mekanisme proteksi :
Dapat membedakan pemakaian yang
sah (authorized) & yang tidak sah (unauthorized)
Spesifikasi kontrol yang dikenakan
Menyediakan alat untuk
pemberlakuan sistem
Command Interpreter :
Memungkinkan sistem berkomunikasi
dengan user melalui perintah-perintah menjalankan proses yang telah
didefinisikan dan parameternya serta melakukan respon
OS menunggu instruksi dari user (command
driven)
Control statement berhubungan dengan
:
process creation and management
I/O handling
secondary-storage management
main-memory management
file-system access
protection
networking
Program yang membaca instruksi dan
mengartikan control statements (keinginan pengguna) umumnya disebut :
control-card interpreter
command-line interpreter
UNIX Shell
Command-Interpreter System sangat
bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan
dengan tujuan dan teknologi I/O peranti yang ada.
Contohnya : CLI, Windows, Pen-based
(touch), dll
Layanan Operating System
Eksekusi program : load program
user ke memory dan menjalankannya (run)
Operasi-operasi I/O : pengguna
tidak bisa mengontrol I/O secara langsung (untuk efisiensi & keamanan),
sistem harus bisa menyediakan mekanisme untuk melakukan operasi I/O
Manipulasi file system : read,
write, create & delete
System Call
Menyediakan antarmuka antara
proses (program yang run) dengan OS
Umumnya dalam bentuk instruksi
bahasa assembly
Bahasa untuk system programming
tingkat tinggi biasanya memungkinkan system call dilakukan langsung
Misal C, C++, Bliss, PL/360
Tiga metode untuk passing
parameter antara running program dan OS :
Pass parameter melalui register
Meyimpan parameter dalam blok atau
tabel pada memory, dan alamat tabel di-passing sebagai parameter dlm register
Mmenyimpan parameter (push)
ke dalam stack (oleh program), dan pop off parameter pada stack (oleh
OS)
Jenis-jenis System Call
- Process Control
- File Manipulation
- Device Manipulation
- Information Maintenance
- Communication
Model Komunikasi
Komunikasi dapat dilakukan dengan
cara message passing atau shared memory
Pemrograman Sistem
Pemrograman sistem menyediakan
lingkungan yang memungkinkan pengembangan program dan eksekusi berjalan dengan
baik
Dapat dikategorikan :
Manipulasi Berkas (File)
Informasi Status : tanggal, jam,
jumlah memori, disk, dll
Modifikasi Berkas
Mendukung bahasa pemrograman :
kompilator, assembly, interpreter
Loading & eksekusi program
Komunikasi : menyediakan mekanisme
komunikasi antara proses, user dan sistem komputer yang berbeda
Dari sisi user, operasional sistem
dilakukan dengan system program, bukan system call
- 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
- Struktur Lapisan MS-DOS
- Struktur Sistem UNIX
Memiliki struktur yang terbatas
Terdiri dari 2 bagian :
- Kernel : Berada dibawah antarmuka system call dan diatas hardware Menyediakan sistem berkas, penjadualan CPU, manajemen memori, device driver, dan fungsi OS lainnya
- Program Sistem
Kernel
Kategori kernel :
Monolithic kernel. Kernel
yang menyediakan abstraksi akses ke perangkat keras yang kaya dan handal. Semua
layanan OS dilakukan pada kernel
Semua code pada address space yang
sama (kernel space) Meningkatkan performance system
Mudah dalam hal design dan
implementasi Bugs dapat menyebabkan sistem crash
Microkernel adalah Kernel yang
menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan
menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan
fungsi-fungsi lainnya.
Banyak layanan OS yang run pada user
space untuk me-minimalisasi kernel (seperti networking)
Modularity : mudah dalam me-memaintain code
Hybrid (modifikasi dari
microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa
service tambahan di kernel (network stack, file system) agar
menjadi lebih cepat.
Running beberapa layanan OS
(network stack, file system) dalam kernel space untuk mengurangi performance
overhead dari metode microkernel, tetapi tetap menjalankan kernel code
(seperti device driver) sebagai server di user space
Exokernel. Kernel yang
tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan
sekumpulan library yang menyediakan fungsi-fungsi akses ke perangkat keras
secara langsung.
Mikrokernel
Menyusun sistem operasi dengan
menghapus semua komponen yang tidak esensial dari kernel, dan
mengimplementasikannya sebagai sistem program dan level pengguna
Fungsi utama : mendukung fasilitas
komunikasi antara program klien dan bermacam-macam layanan yang juga berjalan
di user-space
Keuntungan :
Ketika layanan baru akan
ditambahkan ke user-space, kernel tidak perlu di-modif
OS lebih mudah ditempatkan (porting)
pada suatu desain perangkat keras ke desain perangkat keras lainnya
(asrsitektur sistem yang baru)
Mendukung keamanan &
reliabilitas lebih
Contoh sistem operasi :
Tru64 UNIX, MacOSX, QNX
Virtual Machine (VM)
Menggunakan layered approach
Melihat hardware dan kernel OS
sebagai suatu “hardware”
Menyediakan interface yang identik
dengan underlaying bare hardware
OS menyediakan illusion dari
banyak proses yang masing-masing berjalan pada prosesornya serta memorinya
(virtual) sendiri
Resource dari komputer fisiknya
di-share menjadi sejumlah mesin-mesin virtual
CPU scheduling yang menciptakan
penampilan seakan-akan user memiliki prosesor sendiri
Spooling & file system
menyediakan virtual card readers dan virtual line printers
Sebuah time-sharing terminal
user berlaku sebagai virtual console
VM software membutuhkan ruang di
dalam disk untuk menyediakan memori virtual dan spooling, yaitu sebuah
disk virtual
bang awal awal membuat os bagaimana ? adakah tutorial? bagaimana desain os di buat?
ReplyDelete