P. 1
sistem operasi

sistem operasi

|Views: 2,229|Likes:
Dipublikasikan oleh huda

More info:

Published by: huda on Sep 10, 2009
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

01/17/2013

pdf

text

original

The System Unit

• What are common components inside the system unit?

Processor  Memory  Adapter cards
   
  

power supply

drive bays

processor

Sound card Modem card Video card Network card

memory ports

Ports Drive bays Power supply
network card modem card

sound card

video card

p. 181 Fig. 4-2

OS TKJ - UM

Next

2

The System Unit
• What is the motherboard?
 
adapter cards processor chip

Main circuit board in system unit Contains adapter cards, processor chips, and memory chips Also called system

memory chips

board
Expansion slots for adapter cards motherboard

memory slots

OS TKJ - UM

Next

3

Buses

Allows processor to communicate with peripherals

• What is an expansion bus?

p. 209 Fig. 4-39

OS TKJ - UM

4

Processor
• What is the central processing unit (CPU)?
 Interprets

and carries out basic instructions that operate a computer

Processor
Control Control Unit Unit Arithmetic Arithmetic Logic Unit (ALU) Logic Unit (ALU) Instructions Data Information

 Control unit directs and coordinates operations in computer  Arithmetic logic unit (ALU) performs arithmetic, comparison, and logical operations
 Also

Input Devices

Data

Memory
Instructions Data Information

Information

Output Devices

called the processor
OS TKJ - UM

Storage Devices
Next

p. 183 Fig. 4-5

5

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
Millisecond Microsecond Nanosecond Picosecond

Speed
One-thousandth of a second One-millionth of a second One-billionth of a second One-trillionth of a second
OS TKJ - UM
Next

p. 200 Figs. 4-25-4-26

6

Mobile Computers and Devices
• What is a mobile computer?

Notebook, weighing between 2.5 and 8 pounds, or mobile flash memory card device such as a PDA

PDA PC Cards in PC Card slots CD or DVD drive disk in floppy disk drive or Zip® disk drive

battery

p. 211 Fig. 4-41

OS notebook computer TKJ - UM

Next

7

•What are suggested processor, clock speed, and RAM requirements based on the needs of various types of users?

Putting It All Together

p. 213 Fig. 4-45

OS TKJ - UM

Next

8

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

• 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

Operating System Concepts

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- kondisi-kondisi prasyaratnya OS TKJ UM 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 OS proses, 18 • Tergantung skema penjadwalanTKJ - UM looping dan busy waiting dapat 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 (producerconsumer) – 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 -resource OS TKJ UM

19

Semaphore dan Monitor
#define N 100 typedef int sem aphore; sem aphore m = 1; utex sem aphore em = N pty ; sem aphore full = 0; producer() { int item ; w (TR E) { hile U produce_item item (& ); dow n(em pty); dow utex n(m ); enter_item (item ); up(m ); utex up(full); }

Listing problem producer-consumer dengan semaphore

consum { er() int item ; w (TR E) { hile U dow n(full); dow utex n(m ); rem e_item item ov (& ); up(m ); utex up(em pty); consum e_item (item ); }

}

}

• 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

empty → menghitung jumlah slot kosong full → menghitung jumlah slot yang terisi mutex → mencegah producer dan consumer mengakses buffer scr bersamaan

20

Semaphore dan Monitor
m itor Produ onsum on cerC er con dition full, em pty; integer count; procedure enter; begin if cou = Nth w nt en ait(fu ll); enter_item ; cou := cou + 1; nt nt if cou = 1 then signal(em nt pty); end; procedure rem e; ov begin if cou = 0 then w nt ait(em pty); rem e_item ov ; cou := cou - 1; nt nt if cou = N then signal(fu nt -1 ll); end; cou := 0; nt end m onitor; procedure producer; begin w true do hile begin produce_item ; ProducerC onsum er.enter; end; end; procedure consum er; begin w true do hile begin ProducerC onsum er.rem e; ov con e_item sum ; end; end;

• 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 OS TKJ - UM yg dikuasai proses resource 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 ? • 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

Deadlock

• 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 OS TKJ - UM 28 • Bit map berisi status semua blok (0-bebas, 1-terpakai)

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 0 X 1 EOF 2 10 3 2 4 EOF 5 4 6 FREE 7 5 8 FREE 9 8 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

Sistem File

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 8 byte Ext. 3 byte Attr. 1b Reserved 8 byte Time 2 byte Date 2 byte First block num. 2 byte Size 4 byte

Root directory
1 1 4 7 14 9 6 8

i-node 6 for /usr

bin dev lib etc usr tmp

. ..

block 132 is /usr directory
6 1 19 30 26 45

mode size tim es 132

dick eric ast bal

. ..

i-node 26 for /usr/ast
mode size tim es 406

block 406 is /usr/ast dir.
26 6 64 92 60 81

grants books mbox src

. ..

usr: to i-node 6

/usr is in block 132

/usr/ast is i-node 26

/usr/ast is in block 406

/usr/ast/mbox is i-node 60

OS TKJ - UM

30

• 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

Sistem File

owner = C count = 1

owner = C count = 2

owner = C count = 1

OS TKJ - UM

31

Konsistensi 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 inode • Info ini dibandingkan dng isi field refcount dari i-node ybs – Kemungkinan inkonsistensi file • Counter link terlalu tinggi → file TKJ - UM meskipun telah dihapus OS tetap ada 32 • Counter link terlalu rendah → problem integritas file

Sistem 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

• 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 Mulai transaksi Baca file A Baca file B Update file A Update file B Selesai transaksi File Server Buat transaction record di stable storage Lock file A Lock file B Buat salinan A dan update salinan ini Buat salinan B dan update salinan ini Simpan intention list ke stable storage Tandai transaksi sebagai ‘commited’ Ganti file A dengan salinannya Ganti file B dengan salinannya Lepaskan lock A dan B Acknowledge

Pengaksesan File

• Replikasi – Mewujudkan konsep fault tolerance – Menyimpan lebih dari 1 copy file OS TKJ - lingkungan sistem – Biasanya diterapkan diUM terdistribusi

34

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 1 Operating system

Partisi 2 Partisi 1

OS TKJ - UM

Operating system

36

Manajemen Memori
• Alokasi memori dengan partisi variabel
– Bgmn mengalokasikan memori untuk proses yg berkembang ?
Data B Program B Stack A Stack B Data A Program A
H

Bgmn mengalokasikan memori untuk proses yg berkembang ?  Bitmap  Linked-list  Buddy system
1111100011111100 P 0 5 5 3 P 8 6 H 14 2

OS TKJ - UM

Sistem operasi

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 Initial Req. 70 Req. 35 Req. 80 Return A Req. 60 Return B Return D Return C D D A A A B B B B C C C C C 128 256 512 1024

OS TKJ - UM

40

• • •

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

Virtual Memory: Paging
44K - 48K 52K - 56K Virtual page 2 1 6 0 4 3 24K - 28K 8K - 12K 0 - 4K x x x 5 x 7 x x x 60K - 64K x 28K - 32K 36K - 40K 12K - 16K 20K - 24K 16K - 20K 32K - 36K 40K - 44K 48K - 52K 56K - 60K 4K - 8K 4K - 8K Virtual address space

Page frame

8K - 12K

• •

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

28K - 32K

12K - 16K

20K - 24K

16K - 20K

24K - 28K

Physical memory address

0 - 4K

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 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 khusus -atau simulasi software utk 44 OS TKJ UM mencatat status referensinya (bit R)

Algoritma Pergantian Page

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->