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
Sistem
- 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
0 comments: