SISTEM OPERASI
Memory Virtual
Demand paging:
load page ke memori virtual
alokasikan page ke memori utama
saat dibutuhkan
Page replacement
saat page akan dialokasikan ke
memori utama dan tidak tersedia frame
kebijakan yang dapat digunakan:
FIFO, LRU, optimal, LFU, MFU
Alokasi frame:
fixed: frame dialokasikan
berdasarkan proses
proporsional: frame dialokasikan
berdasarkan page
Memory Virtual
Page replacement terkait alokasi
frame
global: page replacement dapat
dilakukan ke semua frame
lokal: page replacement hanya
dilakukan di frame yang sudah
dialokasikan
Thashing: lebih banyak page fault
daripada eksekusi
Kasus
Sistem dengan kinerja sbb:
CPU utilization: 20%
Paging disk: 97.7%
Other I/O devices: 5%
Apa yang mendesak dilakukan untuk
meningkatkan utilisasi CPU?
Konsep File & Metode Akses
File:
kumpulan informasi terkait dalam
secondary storage
satuan penyimpanan logika
File memiliki:
atribut: nama, jenis, lokasi,
ukuran, proteksi (kontrol akses), waktu,
identifikasi pengguna
operasi: create, write, read,
repositioning (move), delete, truncate (hapus
isi), copy, rename, ...
jenis: sh, exe, bin, cpp, java, py,
tar, ...
Struktur File
Tanpa struktur: hanya susunan byte
data
Sederhana: per baris, per jumlah
byte (fixed atau variable)
Kompleks: dokumen dengan format
khusus
Penggunaan di tingkat sistem
operasi atau aplikasi
Agar mudah digunakan (baca/tulis)
Metode Akses
Sekuensial
Langsung:
file dipandang sebagai blok/record
terurut
tidak ada urutan tertentu dalam
mengakses (baca/tulis)
contoh: database
Indeks (contoh kasus IBM Index
Sequential Access Method/ISAM)

Struktur direktori
dan penerapan
Memudahkan pengelolaan, terutama ketika data sudah sangat
banyak:
partisi, minidisk (IBM), volume (MAC)
Setiap partisi berisi informasi tentang file yang berada di
dalamnya:
device directory, volume table of contents
Target:
efisiensi: mudah dan cepat mencari lokasi file
penamaan: memudahkan pengguna, pengguna yang berbeda dapat
memiliki file dengan nama yang sama, file yang sama dapat
memiliki
nama yang berbeda
pengelompokkan file sejenis dengan mudah
Operasi Pada Direktori
Pencarian file
Membuat dan menghapus file
Melihat isi direktori (list)
Mengganti nama file
Strukture tree
Pencarian efisien, setiap pengguna memiliki path sendiri,
absolute atau
relative
Direktori diperlakukan seperti file dengan flag penanda
Direktori kerja, direktori yang menjadi lokasi pengguna saat
ini berada

Mounting system File
Sistem file harus di-mount sebelum digunakan

Penggunaan Bersama File
Diperlukan di sistem operasi dengan pengguna jamak
Penerapan skema proteksi, tidak semua pengguna dapat
memodifikasi
sebuah file
Ilustrasi: NFS, CIFS, lustre, pvfs, ...
USER ID: mengidentifikasi pengguna, memungkinkan permisi dan
proteksi berdasarkan pengguna
GROUP ID: mengijinkan akses mewakili grup
Secara remote
Menggunakan jaringan untuk akses antar sistem file
manual: ftp, sftp, ...
otomatis: distributed file system
semi otomatis: www
Client-server: client melakukan mount terhadap sistem file
server
server dapat melayani banyak client
system call standar dalam sistem operasi ditranslasi sebagai
remote call
Distributed information systems: LDAP, NIS, active
directory, DNS,
menerapkan akses tunggal ke informasi yang dibutuhkan remote
Proteksi
Pemilik file/direktori harus dapat mengendalikan:
apa yang dapat dilakukan file
oleh siapa
Kelompok pengguna: masing-masing memilki akses read, write,
execute (rwx)
user
group
public (semua pengguna)
Ilustrasi
Unix
Struktur dan Penerapan Sistem Fle
Dikelola dalam layer-layer
Sistem file berada dalam media penyimpanan sekunder (HD)
Memungkinkan data disimpan, dicari dan diambil dengan mudah
File Control Block: struktur penyimpanan yang terdiri dari
informasi
tentang file
Device Driver: mengendalikan perangkat fisik

Penerapan
On disk sistem file
Boot Control Block: berisi informasi yang diperlukan untuk
menjalankan
(booting) sistem operasi dari partisi tertentu
Volume Control Block: berisi detil tentang volume (partisi)
Struktur direktori mengelola file
File Control Block (per setiap file): berisi detil tentang
file
In-memory sistem file, digunakan untuk pengelolaan sistem file
dan
peningkatan kinerja (caching)
Tabel partisi: berisi informasi tentang partisi yang
di-mounted
Struktur direktori: berisi informasi tentang direktori yang
baru saja
diakses
System-wide open-file table: berisi salinan dari file control
block dari
setiap file yang dibuka
Per-process open-file table: berisi pointer ke entry yang
sesuai di dalam
system-wide open-file table

Sistem Operasi
Kemungkinan-Kemungkinan Terjadinya Deadlock
Mengelola deadlock
Mencegah deadlock ! mengeliminasi setiap kemungkinan yang
dapat
menyebabkan deadlock
Menghindari deadlock ! mengatur eksekusi proses sehingga
permintaan
resource selalu dapat dipenuhi sistem
Menangani deadlock !penghentian dan penundaan
Binding Intruksi Data
dan ke Memory
Dilakukan dengan 3 cara
Compile time: lokasi untuk proses diketahui pada saat
kompilasi.
Kompilasi diulang jika alamat awal berubah ! absolute code
Load time: lokasi memori diketahui pada saat load proses
!relocatable
code
Execution time: proses dapat berpindah lokasi pada saat
eksekusi !
generic, umum terdapat dalam sistem operasi
Ruang Alamat Logika
dan Fisik
Ruang alamat logika (logical address space) dibatasi oleh
ruang alamat
fisik (physical address space)
Logical address (virtual address): dihasilkan CPU
Physical address: alamat fisik memori
Pada skema binding:
compile time dan load time: alamat logika dan fisik sama
execution time: alamat logika dan fisik berbeda
Sistem Operasi - Pengelolaan Memory -Konsep
Unit Pengelolaan Memori ( M M U )
Perangkat keras: menterjemahkan alamat logika ke alamat fisik
Pada MMU, sebuah alamat offset (relocation register),
ditambahkan
pada setiap alamat logika setiap akan dikirim ke memori
Program (user) hanya mengenal alamat logika
Dynamic Loading
Latar belakang: program dan data harus berada dalam memori
agar
dapat dieksukusi ! dibatasi memori fisik
Dynamic loading: program dan data tidak di-load sebelum
dipanggil
jika tidak digunakan tidak di-load
meski secara total besar, lokasi memori yang digunakan bisa
lebih kecil
sangat bergunaka ketika sistem lebih banyak dipenuhi program
yang
jarang digunakan
perlu pustaka khusus
Sistem Operasi - Pengelolaan Memory -Konsep
Dynamic Linking
Linking ditunda hingga eksekusi, digunakan pada shared
library.
Pustaka tidak di-linked jika belum digunakan
Stub, sebuah rutin yang bertugas menempatkan pustaka yang
diperlukan
jika ada di memori: gunakan
jika belum: load dan gunakan
Satu pustaka untuk banyak program
Swapping
Proses dapat dikeluarkan (swapped out) dari memori untuk
sementara
dan selanjutnya dikembalikan ke memori untuk melanjutkan
eksekusi
Backing store:
lokasi hard disk tempat proses dikeluarkan sementara dari
memori
proses yang dikeluarkan/dimasukkan berdasarkan aturan
tertentu
(prioritas, round robin)
Transfer time: sebanding dengan banyaknya proses/data yang
dipindahkan
Sistem operasi memiliki semacam ready queue untuk
proses-proses
yang berada dalam backing store.
Sistem Operasi - Pengelolaan Memory -Swapping
Ilustrasi ![]() |
G A M B A R : Ilustrasi swapping
|
Alokasi Contiguous
(berurutan)
Sebuah proses
dialokasikan dalam ruang yang utuh, sebesar kebutuhan
proses
Skema umum:
Sistem operasi: low end memory
Proses user: high memory
Register relokasi: register yang digunakan dalam translasi
alamat logika
ke alamat fisik
base register: alamat terkecil proses
limit register: jangkauan terbesar memori untuk sebuah
proses, alamat
logika < limit register
MMU: memetakan alamat logika secara dinamis
Multiple-partition
Hole-block: tersebar dalam memori
Ketika proses ter-swapped in, ia akan dialokasikan di lokasi
hole dalam
memori
Sistem operasi mengelola informasi:
partisi teralokasi (block)
partisi bebas (hole)
![]() |
G A M B A R : Ilustrasi multiple allocation |
Masalah Alokasi Penyimpanan Dinamis
First fit: mengalokasi hole
pertama yang memenuhi permintaan
Best Fit: mengalokasi hole
terkecil yang sesuai permintaan
Worst fit: mengalokasi hole terbesar
sesuai permintaan
Sistem Operasi - Pengelolaan
Memory -Alokasi Contiguous (berurutan)
Fragmentasi
External: total memori tersedia
memenuhi kebutuhan, tetapi tidak
contiguous
Internal: memori yang
dialokasikan sedikit lebih besar daripada
kebutuhan, sisa tidak digunakan
Compaction: memperkecil
kemungkinan fragmentasi eksternal
menyatukan hole agar berada dalam
blok yang sama ! menggeser block
juga
hanya digunakan pada relokasi
dinamik dan dilakukan saat eksekusi
Paging
Ruang alamat logika bisa saja
non-contiguous
Ruang alamat fisik dibagi dalam
blok berukuran tetap (frame),
sedangkan pembagian alamat logika
disebut page
Perlu mekanisme untuk
mengidentifikasi frame kosong, agar page
teralokasi
Proses dengan n page, memerlukan
n frame
Page table, digunakan untuk
mentranslasi alamat logika ke alamat fisik
Sistem Operasi - Pengelolaan
Memory -Paging
Skema Translasi Alamat
Nomor page (p): digunakan sebagai
indeks ke page table, berisi base
address dari setiap page dalam
memori fisik
Offset (d): nilai yang
ditambahkan ke base address untuk
mendefinisikan alamat fisik
![]() |
G A M B A R : Paging hardware
|
Dukungan Hardware untuk Page Table
Page table disimpan di memori
utama
Page table base register (PTBR):
menunjuk page table
Page table length register (PTLR):
mengindikasikan ukuran page table
Dengan skema ini, setiap akses
instruksi/data memerlukan dua akses
memori, ke page table dan ke
instruksi/data ! menimbulkan masalah
waktu akses
Diatasi dengan associative memory
dan translation look aside buffer
(TLB) ! hardware khusus untuk
mempercepat waktu akses
Beberapa TLBs meyimpan
address-space identifiers (ASIDs) disetiap
entry TLB – Secara unik
mengidentifikasi setiap proses untuk
memberikan proteksi terhadap ruang
alamat
Hanya beberapa dari page table
yang disimpan dalam TLB, kapasitas
terbatas
Sistem Operasi - Pengelolaan
Memory -Paging
Associative Memory
Nomor page Nomor frame
Transalasi alamat p : d
Aturan:
jika diketahui nomor page:
keluarkan nomor frame
jika tidak diketahui nomor page,
cari dari page table, keluarkan nomor
frame
Waktu akses efektif:
Waktu akses TLB + waktu akses
memori
Hit rasio: persentase ditemukannya
page table dalam TLB dalam rentang
waktu tertentu
P roteksi Memory
Setiap referensi ke memori
memiliki pasangan nomor page dan frame
Proteksi memori diterapkan melalui
proteksi bit yang terkait pada setiap
frame, dapat menyebabkan blok
memori bersifat read-write atau read
only
Valid-invalid bit pada page table:
valid: sedang berada pada ruang
alamat logika proses
invalid: tidak sedang pada ruang
alamat logika proses
Struktur Page Table
Target: membuat alokasi page table
dan memori efisien
Mekanisme:
Hierarchical paging: ruang alamat
logika dipecah dalam beberapa tabel
Hashed page table:
inverted page table
Hashed Page Table
Umum digunakan di sisitem > 32
bit
Halaman virtual di-hashed dalam
page table: berisi pointer ke element
hashing di lokasi yang sama
Halaman virtual dibandingkan
dengan pointer, jika ditemukan
dihubungkan dengan alamat fisik
Inverted Page Table
Umum digunakan di sisitem > 32
bit
Setiap entri page table memiliki
pasangan alamat memori fisik dengan
informasi proses yang memilikinya
Butuh lebih sedikit memori untuk
menyimpan, tetapi butuh waktu lebih
banyak untuk me-refer ke lokasi
memori fisik (gunakan hash table)
Segmentation
Skema pengelolaan memori yang
mendukung pemisahan antara lokasi
memori logika dengan lokasi memori
fisik
Sebuah program adalah kumpulan
segment.
Segement adalah unit logika yang
dapat berupa: program utama,
prosedur, fungsi metode, obyek,
variabel lokal dan global, blok bersama,
stack, tabel simbol, array
Arsitektur
Alamat logika terdiri dari dua
bagian: <nomor-segment, offset>
Segment table – memetakan alamat
fisik yang setiap entry terdiri dari:
base – berisi lokasi fisik di mana
segmen dimulai
limit – berisi jumlah lokasi
memory yang diperlukan segmen
Segment-table base register (STBR)
menunjuk ke tabel lokasi segmen
di memori
Segment-table length register
(STLR) menunjukkan banyaknya lokasi
memori yang diperlukan: nomor
segmen s valid jika s < STLR
Arsitektur
Proteksi, setiap entry dalam tabel
segmen menghubungkan:
Bit validasi = 0 ) illegal segment
read/write/execute (privileges)
Bits proteksi terkait dengan
segment: code sharing terjadi pada level
segmen
Karena panjang segemen bervariasi,
alokasi memori merupakan bagian
dari masalah alokasi dinamis
Segmentasi dengan Paging
Memanfaatkan kelebihan segmentasi:
sharing & protection: setiap
segmen memiliki informasi read/write atau
read-only
Memanfaatkan kelebihan paging:
tidak ada fragmentasi external
alokasi cepat

Sistem Operasi
DalamI lmu komputer, Sistem operasi atau dalam bahasa Inggris: operating systematau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol danmanajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankansoftware aplikasi seperti program-program pengolah kata dan browser web.Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh padamemori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnyadijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layananinti umum untuk software-software itu. Layanan inti umum tersebut seperti akses kedisk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karenadapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi
- Tujuan system operasi :
Control
program
Mengeksekusi
program dan menyelesaikan masalah user dengan mudah
Resource
allocator
Membuat
sistem komputer lebih mudah digunakan
Memanfaatkan
sumber daya sistem komputer secara efisien
- Fungsi system operasi :
User
environment: mentransformasi perangkat keras ke level abstraksi yang lebih
tinggi dalam hal:
Lingkungan
eksekusi → pengelolaan proses, manipulasi berkas, penanganan interrupt,
operasi I/O
Deteksi
kesalahan dan penanganannya
Proteksi
dan keamanan
Fault
tolerance dan perbaikan kegagalan
Pengelolaan
resource
Waktu:
penjadwalan CPU dan media penyimpanan
Ruang
media penyimpanan: alokasi media penyimpanan utama dan sekunder
Sinkronisasi
dan penanganan deadlock: IPC, critical section, koordinasi
Accounting
dan informasi status: tracking penggunaan resource
- Komponen system computer :
Perangkat
keras:
menyediakan
resource dasar komputasi → CPU, memori, I/O
Sistem
operasi (protected mode):
mengendalikan
dan mengkoordinasikan penggunaan perangkat keras oleh berbagai program
aplikasi
untuk berbagai pengguna
Program
aplikasi (user mode):
pemanfaatan
resource untuk menyelesaikan masalah pengguna → kompilator, sistem basis data,
pengolah kata, IDE, …
Pengguna:
Orang,
mesin, komputer lain, ...
Interup
Mengirimkan
kendali ke rutin layanan interrupt melalui interrupt vector
yang berisi alamat semua layanan interrupt
Menyimpan
semua instruksi interrupt
Interrupt
yang datang akan diabaikan ketika masih ada interrupt lain yang sedang
dilayani
Trap:
interrupt yang dihasilkan oleh perangkat lunak karena adanya error
atau permintaan dari pengguna
Pembagian
dengan 0
Sistem operasi adalah interrupt driven (bekerja
karena ada trigger dari interrupt
Jenis system computer
Desktop
Parallel
(tighly coupled): terdapat sejumlah prosesor yang
Symmetric:
sama
Asymmetric:
berbeda
Distributed
(loosely coupled): terhubung melalui media komunikasi
Real
time:
Hard:
kemampuan dan kapasitas device terbatas
Tujuan khusus
Soft
Handheld
Lingkup system
operasi
pengelolaan:
Proses
Memori
Media
penyimpanan (sistem berkas)
Pengelolahan proses
Proses:
Program
yang sedang dieksekusi
Membutuhkan
resource:
-
CPU, memori, I/O, berkas
-
Inisialisasi data
Single
threaded
Multi
threade
Memiliki
program counter sebagai penanda (identifier)
Proses
harus mengembalikan resource yang digunakan ke sistem setelah selesai
Umumnya,
ada banyak proses, yang dijalankan banyak user, bahkan ada sejumlah sistem
operasi yang dijalankan CPU
Penjadwalan
CPU (multiplexing)
Aktifitas pengelolaan
proses
Membuat
& menghapus proses, (user & system process)
Menunda
/ melanjutkan proses
Sinkronisasi
& komunikasi antar proses
Mengelola
deadlock
Pengelolaan memory
Semua
data harus ada dalam memori sebelum dan sesudah eksekusi proses (inisialisasi
data)
Semua
instruksi harus ada dalam memori agar dapat dieksekusi (program)
Pengelolaan
memori:
Menentukan
apa saja yang berada dalam memori
Aktifitas pengelolaan
memory
Menjaga
jejak (track) tentang apa (isi memori) dan siapa yang menggunakannya
(proses)
Menentukan
proses dan data mana yang akan masuk/keluar ke/dari memori untuk dieksekusi
Mengalokasi
dan mendealokasi ruang memori sesuai kebutuhan proses
Tidak ada komentar:
Posting Komentar