} SISTEM OPERASI: SISTEM OPERASI

SISTEM OPERASI

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

About