Sistem Operasi

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 44

The System Unit

• What are common components inside the system


unit? power supply drive bays
 Processor
 Memory
processor
 Adapter cards
 Sound card memory
ports
 Modem card
 Video card
 Network card
 Ports sound card

 Drive bays
 Power supply
video card
modem card
network card

OS TKJ - UM 2
p. 181 Fig. 4-2 Next
The System Unit
• What is the motherboard? adapter cards
processor chip

 Main circuit board


in system unit
 Contains adapter
cards, processor memory chips

chips, and
memory chips
 Also called system
board memory slots

Expansion
slots for
adapter cards motherboard

OS TKJ - UM 3
Next
Buses
 Allows processor to communicate with peripherals
• What is an expansion bus?

OS TKJ - UM 4
p. 209 Fig. 4-39
Processor
• What is the central processing unit (CPU)?
 Interprets and carries out
Processor
basic instructions that Control
Control Arithmetic
Arithmetic
operate a computer Unit
Unit Logic
Logic Unit
Unit (ALU)
(ALU)

 Control unit directs and


Instructions
coordinates operations in Data
computer Information

 Arithmetic logic unit


Input Output
(ALU) performs Data Memory Information
Devices Devices
arithmetic, comparison,
and logical operations
Instructions
Data
Information
 Also called the processor
Storage
OS TKJ - UM
Devices 5
p. 183 Fig. 4-5 Next
Memory
• What is access time?
 Measured in nanoseconds (ns),
one billionth of a second
 Amount of time it takes processor
to read data from memory
 It takes 1/10 of a second to blink
your eye; a computer can perform
up to 10 million operations in same amount of time
Term Speed
Millisecond One-thousandth of a second
Microsecond One-millionth of a second
Nanosecond One-billionth of a second
Picosecond One-trillionth of a second

OS TKJ - UM 6
p. 200 Figs. 4-25-4-26 Next
Mobile Computers and Devices
• What is a mobile computer?
 Notebook, weighing between 2.5 and 8 pounds, or mobile
device such as a PDA flash memory card

PDA

PC Cards in PC
Card slots
CD or DVD drive

disk in floppy
disk drive or battery
Zip® disk drive

OS TKJ - UM
notebook computer 7
p. 211 Fig. 4-41 Next
Putting It All Together
•What are suggested processor, clock speed, and RAM
requirements based on the needs of various types of
users?

OS TKJ - UM 8
p. 213 Fig. 4-45 Next
• Lapisan sistem komputer
– Lapisan application programs (Banking system, airline reservation)
– Lapisan system programs
• Compilers / Editors / Command interpreter: run in user mode / free to choose
• OS: run in ke rn el mode
– Lapisan hardware
• Bahasa mesin (bukan berbentuk hardware, namun semua perusahaan menyebut
dmkn):
• Microprogramming
• Physical devices
• Sistem operasi sebagai pengelola sumber daya (resource manager)
– Mengendalikan alokasi prosesor, memori, dan I/O untuk program-program yg
membutuhkannya
– Penting dlm kondisi multitasking dan multiuser
• Perkembangan sistem operasi
– Gen I: bekerja utk. sistem tumpukan (batch system)
– Gen II: multitasking dan timesharing, spooling
– Gen III: PC - user friendliness, distributed/network OS, real-time OS
– Gen IV: embedded OS, small-scale OS

OS TKJ - UM 9
• Sistem operasi sebagai mesin semu (virtual machine)
– Lapisan software di atas hardware
– Membungkus kompleksitas hardware, mengelola seluruh bagian sistem, dan
memberi interface kpd pemakai
• Sistem operasi sebagai pengelola sumber daya (resource manager)
– Mengendalikan alokasi prosesor, memori, dan I/O untuk program-program yg
membutuhkannya
– Penting dlm kondisi multitasking dan multiuser
• Perkembangan sistem operasi
– Gen I: bekerja utk. sistem tumpukan (batch system)
– Gen II: multitasking dan timesharing, spooling
– Gen III: PC - user friendliness, distributed/network OS, real-time OS
– Gen IV: embedded OS, small-scale OS

OS TKJ - UM 10
Operating System Concepts
• Microsoft DOS and Microsoft
Windows adopted original UNIX
design concepts, such as the idea of
a shell--an interface between the user
and the operating system--and the
hierarchical structure of directories
and subdirectories
• The kernel is the base operating
system, which interacts directly with
OS TKJ - UM 11
Layers of a UNIX System

OS TKJ - UM 12
• Proses
– Program yg sedang dieksekusi
– Isu-isu penting: penciptaan, terminasi, penjadwalan, hak dan privilege
– Terkait dengan sumber daya (prosesor, memori, I/O) dan pemakai (pemilik
proses)
• File
– Sistem file sbg abstraksi model pengorganisasian (data, proses, I/O)
– Menggunakan konsep direktori
• Bertingkat
• Nama jalur (path name) untuk menunjuk ke suatu file
– Sebagai alat pengorganisasian data:
• Mekanisme proteksi secara ekstensif
• Pemanggilan sistem (system call) untuk manipulasi file
– Untuk pemodelan struktur proses:
• Proses sebagai “data”
• Dalam Linux: direktori /proc
– Abstraksi I/O
• Agar sejalan dengan abstraksi pengorgani-sasian data dan proses
• Dalam Unix: direktori /dev - file-file khusus
OS TKJ - UM 13
• Input/Output
– Keragaman hardware I/O
• Perlu abstraksi untuk menyembunyikan kompleksitas teknis → pendekatan
keseragaman
– Penggunaan
• Efektif (semua permintaan dapat terlayani)
• Efisien (menggunakan resource sehemat mungkin)
• Arsitektur sistem operasi
– Monolitik
• Tidak berstruktur, semua dikemas menjadi satu kesatuan
– Modular
• Kernel sebagai inti
• Modul-modul mengimplementasikan layanan
• Prinsip as-needed (hanya modul-modul yg diperlukan saja yg terpasang)
– Client-server, terdistribusi
• Dalam lingkungan jaringan, untuk embedded systems dengan resource yg
sangat terbatas
• Menggunakan model service-based
OS TKJ - UM 14
• Abstraksi ttg. eksekusi program
– Program counter, register, variabel, CPU
– Menunjukkan aktivitas
• Program
• Input
• Output
• State: running, ready, blocked
– Satu prosesor bisa dipakai bersama oleh bbrp proses, dng memanfaatkan
algoritma penjadwalan yg menentukan pelayanan thdp proses-proses tsb.
• Semua yg terjadi dlm komputer adalah proses!
– Hirarki proses: sebuah proses dpt melahirkan proses lain melalui fork()
– Dalam Linux: init → login → shell → … (coba perintah ps -AH)
• Bagaimana mengelola proses ?
– Tabel proses: state, PC, stack pointer, alokasi memori, file-file yg terbuka, …
– Mekanisme penanganan interupsi
• Vektor interupsi
• Rutin penanganan interupsi

OS TKJ - UM 15
• Mengenai perintah ps –AH yang masuk dlm kategori fork()
– ps: report process status
– -A: select all processes
– -H: show process hierarchy
• PID TTY TIME CMD
• 1? 00:00:03 init
• 2? 00:00:00 keventd
• 3? 00:00:00 kapmd
• 270 ? 00:00:00 safe_mysqld
• 310 ? 00:00:00 mysqld
• 318 ? 00:00:00 mysqld
• 319 ? 00:00:00 mysqld

• Di atas Linux byk digunakan lapisan command interpreter (shell) bash


– Bisa menjalankan program sederhana
– Mis:
• adji@phantom:~$ echo HELLO
• adji@phantom:~$ a=2
• adji@phantom:~$ b=3
• adji@phantom:~$ echo $a
• adji@phantom:~$ expr $a + $b
OS TKJ - UM 16
Komunikasi Antar Proses
• Dalam banyak situasi, proses-proses perlu saling berinteraksi
– Konsep pemipaan (piping), daemon proses
– Sering melalui media penyimpanan: memori dan file → sharing
• Problem dlm interaksi antar proses
– Ra ce con di ti on: 2 proses menggunakan resource yg sama, hasil akhirnya
tergantung pd eksekusi dilakukan
– Dea dlock : 2 proses saling menunggu akibat masing-masing memerlukan
resource yg dikuasai oleh proses satunya
• Bgmn mengatasi problem tsb ?
– Race condition → mutual exclusion
• Jika ada satu proses yg sedang menggunakan shared memori atau file, tidak
boleh ada proses lain yang melakukan hal yang sama
• Konsep critical section
– Deadlock
• Membiarkan saja
• Mendeteksi dan memulihkan
• Mencegah dng cara mencegah
OS TKJ - kondisi-kondisi
UM prasyaratnya 17
• Menghindari dng cara mengatur alokasi resource
Mengatasi Race Condition
• Mutual exclusion dng busy waiting
– Mematikan mekanisme interupsi
• Memberi hak pada user utk memodifikasi mekanisme interupsi
• Sangat berpotensi mengganggu sistem
• Tidak efektif untuk sistem multiprocessor
– Variabel kunci
• Variabel penanda:1-sibuk, 0-kosong
• Masih berpotensi terjadi race condition
– Penggiliran secara ketat
• Penggiliran utk masuk ke critical section
• Mekanisme busy waiting
• Tidak cocok utk 2 proses yg sangat berbeda waktu eksekusinya
– Algoritma Peterson
• Menggabungkan mekanisme kunci dan penggiliran – lihat kode program
• Untuk 2 proses yg masuk pd saat yg hampir bersamaan, berpotensi utk melakukan
hal yg “terbalik” (meskipun masih dpt mencegah terjadinya race condition)
– Secara umum:
• Jika sebuah proses ingin memasuki critical region, ia akan memeriksa apakah ia
diijinkan. Jika tidak, ia akan menunggu (looping aktif) sampai ijin diberikan
• Looping memakan resource CPU
• Tergantung skema penjadwalan proses,
OS TKJ - UM looping dan busy waiting dapat 18
menyebabkan kemacetan pada semua proses yang terlibat
Mengatasi Race Condition
• Sleep and wakeup
– Sleep: system call yg menyebabkan pemanggilnya
masuk ke state blocked
– Wakeup: system call yg membangun-kan proses yg
sedang blocked (disebutkan sbg parameter)
– Skenario dengan problem bounded buffer (producer-
consumer) – lihat kode program
• Semaphore (Dijkstra, 1965)
– Semaphore: variabel berisi nilai dan berasosiasi
dengan list proses-proses yg sedang tidak aktif
(sleep)
– Operasi DOWN dan UP
• DOWN: utk menguasai akses ke resource
• UP: utk membebaskan
OS TKJ -resource
UM 19
Semaphore dan Monitor
#define N 100
typedef int semaphore; Listing problem producer-consumer
semaphore mutex= 1; dengan semaphore
semaphore empty = N;
semaphore full = 0;

producer() { consumer() {
int item; int item;

while (TRUE) { while (TRUE) {


produce_item(&item); down(full);
down(empty); down(mutex);
down(mutex); remove_item(&item);
enter_item(item); up(mutex);
up(mutex); up(empty);
up(full); consume_item(item);
} }
} }

empty → menghitung jumlah slot kosong


full → menghitung jumlah slot yang terisi
mutex → mencegah producer dan consumer mengakses buffer scr bersamaan
• Monitor
– Primitif sinkronisasi tingkat tinggi (pd aras bhs pemrograman)
– Monitor: data, prosedur, variabel dlm sebuah konstruksi khusus
– Hanya ada satu proses aktif dlm sebuah monitor pd satu saat ttt
– Implementasi mekanisme oleh kompiler bahasa pemrograman
– Penggunaan operasi WAIT dan SIGNAL
OS TKJ - UM 20
Semaphore dan Monitor
monitor ProducerConsumer procedure producer;
condition full, empty; begin
integer count; while true do
begin
procedure enter; produce_item;
begin ProducerConsumer.enter;
if count = Nthen wait(full); end;
enter_item; end;
count := count + 1;
if count = 1 then signal(empty); procedure consumer;
end; begin
while true do
procedure remove; begin
begin ProducerConsumer.remove;
if count = 0 then wait(empty); consume_item;
remove_item; end;
count := count - 1; end;
if count = N-1 then signal(full);
end;
count := 0;
end monitor;

• Problem Dining Philosopher


– Problem klasik dlm sinkronisasi proses (Dijkstra, 1965)
– n buah proses, m resources (m > n), maksimisasi
paralelisme
– Dapat dipecahkan dengan semaphore (lihat contoh
kode) OS TKJ - UM 21
Penjadwalan Proses
• Prinsip-prinsip penjadwalan
– Keadilan: tiap proses mendapatkan alokasi CPU yang adil
– Efisiensi: penggunaan CPU semaksimal mungkin
– Waktu respons: minimal
– Waktu tunggu: minimal
– Throughput: maksimisasi pemrosesan proses
• Strategi penjadwalan
– Run to completion
– Preemptive
• Teknik Round Robin
– List proses
– Semua proses memiliki hak yang sama
 Tiap proses dialokasikan sepotong selang waktu (quantum) utk eksekusi
 Jika dalam 1 quantum eksekusi belum selesai → dikeluarkan dari status
aktifnya (preempted)
 Selanjutnya proses tsb ditempatkan di akhir list
 Eksekusi berlanjut dng proses pd antrian pertama
OS TKJ - UM 22
Penjadwalan Proses
• Penjadwalan dengan prioritas
– Memasukkan unsur prioritas proses
– Tiap proses memiliki prioritas tertentu, dan penjadwalannya
menurut urutan prioritasnya
– Sering diimplementasikan dengan kelas-kelas prioritas dan teknik
round robin
– Prioritas proses diturunkan selama eksekusi dilakukan → supaya
proses dng prioritas rendah memiliki kesempatan dieksekusi juga
– Contoh penjadwalan dng prioritas
• Proses dng prioritas pertama diekseskusi selama 1 quantum,
prioritas kedua selama 2 quantum, prioritas ketiga 4 kuantum,
dst.
• Setelah eksekusi menghabiskan n quantum yg dialokasikan,
proses diturunkan ke prioritas berikutnya
• Proses sepanjang 100 quantum memerlukan 7x pergantian
(swap) saja OS TKJ - UM 23
Penjadwalan Proses
• Teknik Pengutamaan Proses Tercepat
– Cocok untuk batch job dng waktu eksekusi yg diketahui sebelumnya
– Menempatkan proses-proses pendek pada urutan awal
– Memperpendek waktu tunggu
– Optimal untuk proses-proses yg sudah “siap” dieksekusi
• Penjadwalan berbasis pemakai
– Jika ada n pemakai pd satu saat ttt, maka tiap orang akan menerima
1/n alokasi CPU
– Perlu informasi:
• Brp banyak waktu CPU yg telah dikonsumsi seorang pemakai sejak
login → x
• Brp lama pemakai ybs login ke sistem → y
– “Jatah” pemakai z = y/n, dan rasio antara jatah dng kenyataan r = z/x
– Penjadwalan mengikuti nilai r: proses-proses milik pemakai dengan nilai
r yg lebih rendah dieksekusi dahulu
OS TKJ - UM 24
Deadlock
• Deadlock: sekumpulan proses yg menunggu event yg hanya
bisa dimunculkan oleh salah satu dr proses anggota
– Tidak ada proses yg bisa berlanjut, melepaskan
resources, atau diaktifkan kembali
– Berawal dari situasi supply resources lebih kecil drpd
demand
• Empat kondisi pemicu deadlock
– Kondisi mutual exclusion. Sebuah resource sdg
digunakan oleh 1 proses, atau sdg bebas
– Kondisi hold and wait. Proses-proses yg sdg memakai
resources diijinkan meminta resources baru
– Kondisi non-preemptive. Resource yg sdg digunakan
hanya bisa dilepaskan oleh proses yg memakainya
(pelepas-an tdk bisa dipaksa oleh pihak lain)
– Kondisi circular wait. Ada rantai dr 2 atau lebih proses,
msg-msg menunggu OSresource
TKJ - UM yg dikuasai proses 25
berikutnya dalam rantai tsb.
Deadlock
• Pemodelan penggunaan resource
– A menguasai resource R A R
– Menggunakan graf alokasi resource
– A meminta resource R A R
– Dpt digunakan utk analisis deadlock
• Strategi dlm menghadapi deadlock
– Abaikan saja → algoritma “onta” (prinsip pragmatisme)
– Pendeteksian dan pemulihan
– Pencegahan, dng cara menegasikan kondisi-kondisi pemicu
– Menghindari, dng cara alokasi resource scr hati-hati
• Algoritma onta (Ostrich algorithm)
– Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock
dng akibat yg ditimbulkannya
• Pendeteksian dan pemulihan
– Monitoring request dan release dr resources, menganalisis graf alokasi
resources utk mendeteksi deadlock
OS TKJ - UM 26
– Rantai deadlock diputus dng mengorbankan 1 atau lebih proses
• Pencegahan deadlock
– Negasi 4 kondisi pemicu
– Kondisi mutual exclusion ?
Deadlock
• Resource bisa digunakan oleh lebih dr satu proses
– Kondisi hold and wait ?
• Proses yg sdg menguasai sbh resource tidak diijinkan utk meminta resource
yg lain
• Kebutuhan resource sering bersifat dinamis
• Menyebabkan alokasi resource tdk efisien
– Kondisi non-preemptive ?
• Memungkinkan resource dilepas scr paksa
• Dapat mengacaukan operasi (e.g., printing)
– Kondisi rantai tunggu (circular wait) ?
• Alternatif yg paling mungkin ditempuh
• Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu
• Menghindari deadlock
– Alokasi resource scr hati-hati
– Algoritma banker
• Alokasi resource selalu memperhatikan kemungkinan ke depan (next state)
OS TKJ - UM 27
• Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh
Sistem File
• Tujuan: memberikan persistence bagi data
– Kondisi ideal: tidak ada impedance mismatch antara short-term
memory dan long-term memory
– Krn kondisi ideal tdk bisa tercapai → muncul abstraksi file
• Bagaimana rancangan sistem file ?
• Manajemen ruang disk
– Ruang sebesar n byte scr kontinyu, atau m blok yg tidak harus
kontinyu
– Alt. I → bgmn jika file berkembang (bertambah besar) ?
– Alt. II → brp besar ukuran blok ?
• Terlalu besar → boros
• Terlalu kecil → delay saat pembacaan
• Trade off antara efisiensi waktu dan ruang → 512 byte, 1 kb, atau
2 kb
– Bgmn melacak blok-blok bebas ?
• Linked list berisi blok-blok bebas
• Bit map berisi status semua blok
OS TKJ - UM(0-bebas, 1-terpakai) 28
Sistem File
• Bagaimana menyimpan file ?
– Blok data dirangkai mjd linked-list
• Implementasi akses scr acak mjd mahal
– File Allocation Table (FAT) dr MS-DOS
• Tidak cocok utk disk berukuran besar → menyita tempat di memory
• Pointer ke semua file disimpan dlm satu tabel yg sama
– i-Node (digunakan oleh UNIX)
• Tabel berisi info accounting dan proteksi, diasosiasikan ke sebuah
file
• Mampu menangani dinamika file, dan lebih modular (1 file 1 i-node)
X X EOF 10 2 EOF 4 FREE 5 FREE 8

0 1 2 3 4 5 6 7 8 9 10

File node

No. of links to file

Owner's UID

Owner's GID

File size

Tim e created

Tim e last accessed

Tim e last modified

10 disk block numbers

Single indirect

Double indirect

Triple indirect
OS TKJ - UM 29
Sistem File
• Struktur dan organisasi direktori
– Direktori pada MS-DOS
• Direktori diwujudkan dlm sebuah file
• Tiap entri direktori menunjuk pd satu file
• Tidak ada batas maksimal jumlah file pada sebuah direktori
– Direktori pada UNIX
• Direktori diwujudkan dlm sebuah file
• Tiap entri merujuk pd satu file
• Info pd tiap entri: nomor i-node dan nama file

File name Ext. Attr. Reserved Time Date First Size


block
num.
8 byte 3 byte 1b 8 byte 2 byte 2 byte 2 byte 4 byte

block 132 is i-node 26 for block 406 is


Root directory i-node 6 for /usr /usr directory /usr/ast /usr/ast dir.
1 . mode 6 . mode 26 .
1 .. size 1 .. size 6 ..
4 bin tim es 19 dick tim es 64 grants
7 dev 132 30 eric 406 92 books
14 lib 26 ast 60 mbox
9 etc 45 bal 81 src
6 usr /usr/ast is /usr/ast/mbox
8 tmp /usr is in i-node 26 /usr/ast is in is i-node 60
block 132 block 406
usr: to i-node 6

OS TKJ - UM 30
Sistem File
• Berbagi file (file sharing)
– Dengan mekanisme link
– Problem: update agar terlihat oleh pihak lain
• Metode langsung: Info blok disk sbg “atribut” file (di i-node
dlm UNIX) yg bisa dilihat oleh direktori siapapun
• Kelemahan metode langsung: “dirty” deletion → penghapusan
file oleh pemilik bisa menyisakan i-node file tsb (agar tidak
terjadi situasi yg “menggantung”)
• Symbolic linking: menyisipkan file bertipe LINK, yg berisi path
ke file yg di-share, ke direktori “tamu”
• Kelemahan symlink: overhead pemrosesan, krn harus
membaca dan memproses path ke file yg sebenarnya
C's directory B's directory C's directory B's directory

owner = C owner = C owner = C


count = 1 count = 2 count = 1

OS TKJ - UM 31
• Konsistensi sistem file
Sistem File
– Problem inkonsistensi antara data dan info ttg file (i-node)
– Pemeriksaan konsistensi blok
• List untuk blok yg dipakai dlm file
• List untuk blok bebas
– Pemeriksaan konsistensi: blok & file
• Kedua counter dibandingkan → sebuah nomor blok hrs berada di salah
satu list
– Kemungkinan inkonsistensi blok
• Nomor blok hilang
• Duplikasi nomor blok di list blok bebas
• Duplikasi nomor blok di list blok terpakai
– Pemeriksaan konsistensi file
• Dilakukan pd direktori
• Caranya mirip pemeriksaan konsistensi blok
• Menghasilkan sebuah list berisi info ttg. banyaknya refcount ke sebuah i-
node
• Info ini dibandingkan dng isi field refcount dari i-node ybs
– Kemungkinan inkonsistensi file
• Counter link terlalu tinggi → file tetap
OS TKJ ada meskipun telah dihapus
- UM 32
• Counter link terlalu rendah → problem integritas file
Pengaksesan File
• Abstraksi server file sbg interface
• Atomic update
– Perubahan thdp file harus berhasil atau tidak sama sekali
– Diimplementasikan dng konsep tempat penyimpanan stabil (stable storage)
• Sebuah drive logikal diimplementasikan dng dua disk fisis
• Penulisan ke blok logikal n, dituliskan ke blok n di disk #1, diverifikasi, lalu
dituliskan ke blok n di disk #2 dan diverifikasi
• Error fisis (blok rusak, dsb) bisa diperbaiki dng cara menyalin data dari
salah satu disk
• Crash pd saat menulis disk #1 → kembali ke kondisi asal
• Crash pd saat menuli disk #2 → kembali ke kondisi setelah update
• Concurrency control
– Serializability: update secara bersama-an menghasilkan situasi yg sama jika
updatenya dilakukan scr sekuensial
– Locking → concurrency control dari sisi data (file)

OS TKJ - UM 33
Pengaksesan File
• Transaksi
– Atomic update + locking
– Concurrency ditangani oleh file server
– BEGIN TRANSACTION
• Transaction record utk merekam status transaksi
– END TRANSACTION
• Proses commit utk membuat update mjd permanen
Client File Server
Mulai transaksi Buat transaction record di stable storage
Baca file A Lock file A
Baca file B Lock file B
Update file A Buat salinan A dan update salinan ini
Update file B Buat salinan B dan update salinan ini
Selesai transaksi Simpan intention list ke stable storage
Tandai transaksi sebagai ‘commited’
Ganti file A dengan salinannya
Ganti file B dengan salinannya

• Replikasi
Lepaskan lock A dan B
Acknowledge

– Mewujudkan konsep fault tolerance


– Menyimpan lebih dari 1 copy file
– Biasanya diterapkan
OS TKJdi lingkungan sistem
- UM 34

terdistribusi
Keamanan Sistem File
• Berkaitan dng kehilangan data dan usaha-usaha penyusupan
– Mekanisme proteksi
– Usaha/biaya sebanding dengan nilai informasi yg akan dilindungi
• Prinsip-prinsip pengamanan
– Desain sistem hrs bersifat public
• “Security through obscurity” tidak cocok
– Prinsip paranoid
• Kondisi default: tidak ada akses
• Berikan privilege seminimal mungkin
• Autorisasi hrs dilakukan sesaat sbl. aktivitas yg memerlukan autorisasi tsb
dilakukan
– Sistem proteksi hrs sederhana, seragam, dan mendasar
– Sistem proteksi hrs dpt diterima scr psikologis
• Beberapa mekanisme pengamanan
– Autorisasi → identifikasi pemakai
– Domain proteksi → lingkup akses sebuah object
– Access Control List
OS TKJ - UM 35
Manajemen Memori
• Mengapa perlu manajemen memori
– Resource yg sangat berharga
– Parkinson’s law: program cenderung memenuhi seluruh
kapasitas memori dan menguasainya
– Kemampuan multiprogramming → beberapa proses berada
di memori pd saat yg sama
• Manajemen memori dengan partisi tetap
– n buah partisi, ukuran bisa bervariasi, diset pd saat sistem
diaktifkan
– Bgmn jika proses berkembang ?
Partisi 4 Partisi 4

Partisi 3 Partisi 3

Partisi 2 Partisi 2

Partisi 1 Partisi 1
Operating Operating
system OS TKJ - UM system 36
Manajemen Memori
• Alokasi memori dengan partisi variabel
– Bgmn mengalokasikan memori untuk proses yg
berkembang ?

Data B

Data A
Stack A
Stack B

Program B

Program A

Sistem operasi
 Bgmn mengalokasikan memori untuk proses yg
berkembang ?
 Bitmap
 Linked-list
 Buddy system 1111100011111100

P 0 5 H 5 3

P 8 6 H 14 2

OS TKJ - UM 37
Manajemen Memori
• Pelacakan memori bebas dengan metode bit map
– Faktor pemilihan satuan alokasi mjd penting
• Satuan kecil → bit map besar
• Satuan besar → ada kemungkinan sisa memori
• Pelacakan memori bebas dengan metode linked-list
– Diurutkan berdasar alamat memori
– Implementasi dng double linked-list
• Algoritma alokasi memori
– First fit: mencari daerah memori bebas (DMB) yg pertama kali
ditemukan yg bisa menampung proses
– Next fit: mirip dng first fit, tapi dng merekam posisi DMB. Proses
pencarian selanjutnya dimulai dr posisi ini.
– Best fit: mencari di seluruh list DMB yg paling sesuai dng
kebutuhan proses
– Worst fit: mencari di seluruh list DMB yg paling besar yg tersedia

OS TKJ - UM 38
Manajemen Memori
• Pelacakan memori bebas dengan metode buddy system
– Berdasar kenyataan bhw komputer bekerja dng bilangan biner →
diguna-kan utk mempercepat penggabungan DMB-DMB yg
bersebelahan pd saat sebuah proses selesai dieksekusi (atau
diswap ke disk)
– Diimplementasikan dng list memori bebas berukuran 1, 2, 4, 8,
16, … byte
– Pengalokasian memori ke proses dila-kukan dng memecah satu
blok memori bebas mjd 2 bg yg sama besar. Peme-cahan
dilakukan scr rekursif shg dida-pat blok yg besarnya sesuai
kebutuhan
– Keuntungan
• Cepat utk proses pembebasan memori
– Kerugian
• Utilisasi memori yg kurang efisien krn terikat pd aturan 2n →
fragmentasi internal
OS TKJ - UM 39
Manajemen Memori
• Ilustrasi model buddy system
0 128 256 512 1024

Initial

Req. 70 A

Req. 35 A B

Req. 80 A B C

Return A B C

Req. 60 D B C

Return B D C

Return D C

Return C

OS TKJ - UM 40
Virtual Memory
• Muncul dr kenyataan bhw kebutuhan memori jauh lebih tinggi drpd memori
yg tersedia
• Usaha utk menyederhanakan solusi dng cara abstraksi manajemen memori
• Paging
– Akses ke memori melalui
• Mapping dari virtual address
• Mekanisme “page frame”
– Memory management unit (MMU) sbg mapper
– Virtual addr space > real addr space → mapping yg dinamis (bisa
berubah-ubah)
– Mekanisme akses
• Instruksi program berisi perintah akses ke memori
• Alamat memori → virtual address space, diteruskan ke MMU
• MMU melakukan mapping ke real address
• Real address diteruskan ke address bus
OS TKJ - UM 41
Virtual Memory: Paging
Virtual
address

44K - 48K

52K - 56K

60K - 64K
28K - 32K

36K - 40K
12K - 16K

20K - 24K
16K - 20K

32K - 36K

40K - 44K

48K - 52K

56K - 60K
24K - 28K
4K - 8K

8K - 12K
space

0 - 4K
Virtual
2 1 6 0 4 3 x x x 5 x 7 x x x x
page

Page
frame

Physical
memory

0 - 4K

4K - 8K

8K - 12K

28K - 32K
12K - 16K

20K - 24K
16K - 20K

24K - 28K
address

• Page yg tidak terpetakan akan menyebabkan page fault


• Jika terjadi page fault
1. SO memilih salah satu page frame yg tidak banyak
diakses & menyimpan isinya ke disk
2. SO mengambil isi page yg tidak terpetakan dan
menyalinnya ke page frame yg baru saja di-flush
3. SO mengubah mapping
4. Melanjutkan eksekusi instruksi
OS TKJ - UM 42
Algoritma Pergantian Page
• Tujuan: minimisasi overhead, shg hrs dipilih page frame yg tidak banyak digunakan
• Algoritma Not-Recently-Used
– Bit R (referenced) dan M (modified)
• R diset bila sebuah page direferensikan
• M diset bila ada modifikasi thdp isi page
– Pertama kali sebuah proses dimulai, R dan M direset.
– Scr periodis (mis: tiap clock interrupt), bit R direset
– Ada 4 kemungkinan kelas:
• K1: tidak direferensi, tidak dimodifikasi
• K2: tidak direferensi, dimodifikasi
• K3: direferensi, tidak dimodifikasi
• K4: direferensi, dimodifikasi
– Jika ada page fault, SO akan memilih sebuah page dr kelas terendah yg tidak
kosong
• Contoh: lebih baik memilih (utk dibuang) page yg dimodifikasi tp tidak
direferensi dlm waktu yg cukup lama (K2), drpd page yg tdk dimodifikasi tp
sering digunakan (K3)
OS TKJ - UM 43
Algoritma Pergantian Page
• Algoritma FIFO
– Page yang paling awal akan dibuang pd saat terjadi page
fault
– Perlu list utk merekam info ttg “umur” page
– Algoritma FIFO sering dikombinasikan dng bit R dan M utk
meminimisasi overhead akibat dibuangnya page yg sering
direferensi
• Algoritma Least-Recently-Used
– Asumsi: sebuah page yg banyak digunakan pd bbrp instruksi
terakhir akan tetap banyak digunakan dlm bbrp instruksi
berikut, dmk pula sebaliknya
– Pilih page yg tidak direferensikan dlm jangka waktu yg paling
lama
– LRU mahal krn harus memonitor status tiap page → perlu
bantuan hardware khususOS TKJ -atau
UM simulasi software utk 44
mencatat status referensinya (bit R)

You might also like