210 likes | 465 Views
MEMORI. Introduction. Memori adalah pusat data berkumpul sebelum atau sesudah di eksekusi oleh CPU CPU mengambil instruksi dari memori (ex instruksi simpan ke memori , penambahan data yang ada di memori , dll )
E N D
Introduction • Memoriadalahpusat data berkumpulsebelumatausesudahdieksekusioleh CPU • CPU mengambilinstruksidarimemori (ex instruksisimpankememori, penambahan data yang adadimemori, dll) • Memoriharusdapatdigunakandenganbaik, sehinggadapatmemuatbanyakpekerjaandalamsatuwaktu • TugasSistemOperasiadalahmengaturpeletakanbanyakprosespadasuatumemori
Introduction • Biasanyasebuah program ditempatkandalam disk dalambentuk file biner yang dapatdieksekusi. • Sebelumdieksekusisebuah program harusditempatkandimemoriterlebihdahulu. Kumpulan prosesyang adapada disk harusmenunggudalamantrian (input queue) sebelumdibawakememoridandieksekusi. • Prosedurpenempatan yang biasaadalahdenganmemilihsalahsatuproses yang adadiinput queue, kemudianprosestersebutditempatkankememori. • Sebelumdieksekusi, program akanmelaluibeberapatahapdimanapadasetiaptahapalamatsebuah program akandirepresentasikan dalam cara yang berbeda.
Introduction • Alamat di dalam sebuah sumber program biasanya dalambentuksimbol-simbol. • Sebuah compiler akanmemetakansimbol-simbolinikealamatrelokasi. • Linkage Editor akanmemetakanalamatrelokasiinimenjadialamatabsolut. • Binding adalah pemetaan dari satu ruang alamat ke alamat yang lain.
Binding instruksi • Compile time: • Jika kita tahu dimana proses akan ditempatkan di memori pada saat mengkompilasi, maka kode yang absolut dapat dibuat. Kita harus meng-compile ulang kode jika lokasiberubah. • Load time: • Kita harusmembuatkoderelokasijikapadasaatmengkompilasikitatidaktahuprosesakanditempatkandimanapadamemori. Padakasusini, binding harusditundasampai load time. • Execution time: • Binding harus ditunda sampai waktu proses berjalan selesai jika pada saat dieksekusiprosesdapatdipindahdarisatusegmenkesegmen yang lain didalammemori.
Dynamic loading • Sebuah Routine(program kecil) tidakakandipanggiljikatidakdiperlukan. • Routine tersebutdisimpandidalam disk yang mudahuntukdi pindah2 lokasinya • Sehinggamemoritidakpenuholeh Routine yang tidakperlu
Dynamic Linking • Metodepenghubunganantara program dengansuatusistem library secaradinamis • Cara kerjanyayaitumembuatkodetertentudisebut “STUB” • Setiap program yang memerlukan Routine akanmemanggil STUB. • Ketika STUB dieksekusimaka STUB akanmelihatapakah Routine sudahdi load dimemori. • Jikabelumadarutinmakaakanmeloadrutinkememoriatau STUB akanmenggantikandirinyadenganalamatdarirutin, lalumengeksekusinya.
Overlays • Caranyayaitumenambahkan Overlays driver. Overlays iniberfungsiuntuktransisiintruksi • Untukmenempatkansemuanyasekaligus, kitaakanmembutuhkan 200K memori. Jikahanya 150K yang tersedia, kitatidakdapatmenjalankan proses. • Perhatikan bahwa pass1 dan pass2 tidak harus berada di memori pada saat yang sama. • Kita mendefinisikanduabuah overlays. Overlays A untuk pass1, tabelsimboldanrutin, • overlays B untuk pass2, tabelsimboldanrutin. Lalukitabuatsebuah overlay driver(10 Kb) sebagaijembatanantarakedua overlays tersebut.
Overlays • Pertama-tama kitamulaidenganmeload overlays A kememori. Setelahdieksekusi, kemudianpindahke overlay driver, meload overlays B kedalammemori, menimpa overlays A, danmengirimkontrolke pass2. Overlays A hanyabutuh 120 Kb, dan overlays B membutuhkan 150 Kb memori. • Nah, sekarangkitadapatmenjalankan program denganmemori150 Kb (karenakitamenjalankannyasecarabergantian). Sepertidalampemanggilandinamis, overlays tidakmembutuhkanbantuandarisistemoperasi. Implementasidapatdilakukansepenuhnyaoleh user, olehkarenanya programmer harusmerancang overlays tersebutdenganalgoritmayang tepat.
ALAMAT • Alamat Virtual • Adalahalamat yang dibentukoleh CPU • AlamatFisik • Adalahalamatmemorinyata • Contoh • Jika Base memoripadaalamat 14000 makaalamat virtual ke 0 adalahpadaalamatfisik 14000, jikaalamat virtual nya 346 makaalamatfisiknya 14346 • Konversiinidikerjakanoleh MMU ( Memory Management Unit)
swapping • Alokasimemori yang menggunakanmetodepenukaran. • Proses yang akandigantikandisimpanke backing store(Hard Disk)
Contiguous Aloccation • Alokasimemori yang dibagi-bagikedalambagiankecil • Single Partition • Multiple Partition
Multiple Partition • Alokasimemori yang menggunakanbanyakpartisi. Ex:
Pemilihan Hole Multiple Partition • First Fit • Memilih hole pertama yang cukupuntukdiisi. • Best Fit • Memilih hole terkecil yang cukup. • Worst Fit • Memilih hole terbesar yang cukup.
External & Internal Fragmentation • Alokasimemori yang melakukan compaction.