Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KELOMPOK 1 ( satu ) Roni Aditya M. Lingga Z. Jeges. P Yunus. Prayogo

Presentasi serupa


Presentasi berjudul: "KELOMPOK 1 ( satu ) Roni Aditya M. Lingga Z. Jeges. P Yunus. Prayogo"— Transcript presentasi:

1 KELOMPOK 1 ( satu ) Roni Aditya M. Lingga Z. Jeges. P Yunus. Prayogo
M. Maulana Nurul Amin

2 BAB V Manajemen Memori Memori merupakan tempat menampung data dan kode instruksi program. Kode instruksi Program akan dibaca dari memori ke register prosesor untuk dieksekusi baris demi baris, Manajemen memori berkaitan dengan aktifitas pengelolaan penggunaan memori pada saat komputer

3 REGISTER CHACHE MEMORY MAIN MEMORY SECONDARY MEMORY Gambar diatas menunjukan hierarki organisasi memori pada sistem komputer secara umum.pada tingkatan paling atas terdapat register yang secara fisik berada dalam chip prosessor. Contoh memori register adalah register IR(Instruction Register)yang menampung kode instruksi yang akan di eksekusi oleh prosesor.

4 Memori utama umumnya dapat diakses secara random sehingga disebut dengan RAM (Random Acces Memory) dan Volatile yaitu jika komputer dimatikan maka datanya juga turut hilang. Namun sayangnya kecepatan transfer data memori utama ke prosesor sangat lambat jika dibandingkan dengan kecepatan eksekusi prosesor. Sebagai contoh intel pentiumn IV 1,7GHz memiliki frontbus berkecepatan 400MHz ini berarti terdapat selisih kecepatan eksekusi prosesor dan transfer data dari memori ke prosesor sebanyak 4kali dan berarti setiap kali terjadi transfer data dari memori utama ke register prosesor,prosesor harus menunggi waktu iddle sebanyak 4 skilus

5 Untuk Mengatasi perbedaan kecepatan ini maka di gunakan teknik caching untuk memori utama mengunakan memori chache yang terbagi menjadi L1 chache dan L2 chache dan umumnya berada dalam prosesor contoh kapasitas memori chache adalah 256kbyte, 512kbyte. Prinsip kerja chaching adalah sebagai salinan bayangan dari data atau kode instruksi di memori utama. Jadi setiap data di chache memiliki asosiasi dengan data di memori utama. Setiap kali prosesor mengakses instruksi ataupun data dari memori utama maka prosesor akan memeriks apakah salinannya di chache.Kalau ada maka instruksi atau data tersebut akan diambil langsung dari chache tanpa butuh mengakses memori utama.Jika ternyata tidak ada di chache maka cheche akan di perbaharui secara mekanisme block.

6 Tingkat paling bawah dari hierarki organisasi memori adalah memori sekunder (secondary memory) umumnya berupa disk atau non volatile, Dengan kecepatan dala lebih lambat dari memori utama Penggunaan kapasitas memori sekunder umumnya di batasi misalnya 2kali ukuran memori utama.Alasan pembatsaan tersebut adalah pengaksesan memori sekunder terlalu sering akan menyebabkan penurunankinerja sistem komputer secara signifikaan 5.1 PENGALAMATAN MEMORI Metode pengalamatan memori mendefinisikan model alamat yang di tuliskan pada kode instruksi program, mekanisme penyalinan ,loading ,kode instruksi dan data program ke memori utama yang sesungguhnya. Secara garis besar, pengalamatan memori dapat di bedakan atas pengalamatn secara fisik ,relatif dan logika.

7 1PENGALAMATAN SECARA FISIK (physical/AbsoluteAddresing)
Alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memori utama yang sesungguhnya.konsekuensinya adalah pada saat penyalinan image proses kememori utama maka kode instruksi dan data program harus disalin pada posisi yang sesuai dengan refrensi tersebut. 2.PENGALAMATAN SECARA RELATIF(Relative Addresing) Alamat pada kode instruksi program merupakan alamat relatif (Offset) terhadap posisi awal program .Pada saat image proses dari program tersebut di salin atau di alokasikan ke memori utama, alamat awal memorinya di catat ke suatu register alokasi. Pada saat eksekusi pengaksesan alamat akan di translasi dengan menjumlahkan alamat refrensi pada instruksi dengan isi register alokasiuntuk mendapatkan alamat fisik yang akan benar-benar di akses. Yang umumnya dilakukan denga menggunakan perangkat perangkat keras khusu yang di sebut dengan MMU(memory management unit)

8 3.PENGALAMATAN SECARA LOGIKA (LOGICAL ADDRESING) Pada pengalamatan secara logika alamat yang dad pada kode program merupakan suatu alamat logika yang masih perlu diterjemahkan atau di translasikan ke alamat fisik memori utama pada saat ekseskusi. Kelebihan pengalamatan ini adalah relokasi program dapat dilakukan secara fleksibel, kapasitas alamat logika programdapat lebih besar dari pada kapasitas fisik memori utama

9 Kode Program Jump [35] 1400 Jump [35]

10 Ruang Alamat Logika P1 DATA KODE PROGRAM P2 P3 P4 KODE CPU P5 F1 F2 P1 Data TABEL ALOKASI F3 LOGIKA FISIK F4 P3 (KODE) F5 P1 F2 F6 P3 F4 P3(+0ffset) F7 Alamat Logika F8 F9 (2) Translasi Alamat

11 Berdasarkan cara membagi ruang lamat logika program, Pengalamatan logika dapat dibedakan atas sistem paging dan segmentasi. Sistem paging membagi ruang alamat logika program dalam fragmen yang berukuran berbeda-beda dan pemartisian memori utama bersifat dinamisdengan ukuran yang bervariasi yang di sebut dengan segmen 5.2 ADDRESS BINDING Aktifitas translasi alamat ini disebut juga dengan istilah address binding,Translasi alamat dapat terjadi pada saat kompilasi (Compile time),pada saat alokasi ke memori utama (loading-time) ataupun pada saat eksekusi (exceution time).

12 Compile time Jika lokasi kode instruksi atau data program di memori sudah ditetapkan dengan denga pasti sebelumnya maka pada saat kompilasi program, Alamat absolut (fisik) dapat di tuliskan dalam kode program.Kosekuensinya adalah pada saat program di-load ke memori,program harus di letakan pada lokasi tertentu di memori yang bersesuaian dan tidak boleh di relokasi selama eksekusi,Sistem yang menggunakan pengalamatan fisik melakukan address binding pada saat binding pada saat kompilasi program 2. Loading time Address binding pada saat compile time membuat alokasi program ke memori utama menjadi sangat tidak fleksibel, karena kode program hanya dapat diletakan pada alokasi yang sudah di tentukan pada saat kompilasi.

13 3.Execute time Address binding dapat pula dilakukan pada saat eksekusi kode instruksi program.Umumnya address binding pada saat execution time membutuhkan dukungan perangkat keras sperti MMU (memory management unit).

14 Source Program Compile or assembler Compile Time Other Object Modules Object module Linkage editor System Library Load module Load time Loader Dynamically Loaded System library In-memory binary memory image Execution time (Time) Dynamic Linkin

15 5.3 MANAJEMEN MEMORI PADA SISTEM MONOPROGAMMING Cara pengelolaan memori pada sistem monoprogramming berbeda dengan sistem yang multiprogramming.Adapun ciri-ciri manajemen memori pada sistem monoprograming antara lain 1.Hanya ada satu proses pada suatu saat menggunakan seluruh area memori pengguna. 2.Program di muatkan seluruhnya ke memori utama dari disk. 3.Alokasi memori dilakukan secara berurutan, yang artinya image proses dari program harus menempati area memori yang utuh.

16 5.3.1 ALOKASI MEMORI Pada sistem monoprogramming, seluruh area memori yang tidak digunakan oleh sistem operasi dan device driver akan dialokasikan semuanya ke proses pengguna. Ada berbagai kemungkinan konfigurasi ruang alamat memori fisik pada sistem monoprograming. Sistem Operasi Di RAM Sistem Operasi Di RAM User Program Di RAM User Program Di RAM User Program Di RAM Sistem Operasi Di ROM Sistem Operasi D ROM

17 Gambar yang memperlihatkan konfigurasi yang cukup umum,Yaitu ruang alamat memori sistem komputer yang meliputi seluruh ruang alamat memori utama yang volatile (RAM).Sistem operasi dan proses aplikasi pengguna berbagai pakai kapasitas RAM PROTEKSI MEMORI Proteksi dapat di implementasikan dengan bantuan register relokasi dan register pembatas(limit register) register pembatas berisi jangkauan atau lebar ruang alamat logika dari proses aplikasi pengguna.Jika alamat logika yang diakses lebih besar dari nilai limit register maka sinyal addressing error interupt akan di bangkitkan. Sedangkan akses ke bagian memori OS di cegah dengan mekanisme relokasi , dimana register relokasi diisi dengan alamat fisik awal dari proses.

18 5.4 MANAJEMEN MEMORI PADA SISTEM MULTIPROGRAMMING Berbeda dengan sistem monoprogramming manajemen pada sistem multiprogramming memiliki karakteristik sebagai berikut. 1.Terdapat sejumlah proses yang menenpati memori utama pada setiap saat 2.Image proses dari program dapat dimuat seluruhnya atau sebagian saja ke memori utama 3.Alokasi memori utama ke proses dapat berurutan ataupun tidak berurutan. 4.Dimungkinkan seluruh atau sebagian image proses berpindah lokasi memori selama eksekusinnya 5.Dimungkinkan suatu lokasi memori utama diakses bersama oleh sejumlah proses atau di sebut denga memory sharing

19 5. 4. 1 PENGALOKASIAN BERURUT DENGAN PARTISI STATIS 1
5.4.1 PENGALOKASIAN BERURUT DENGAN PARTISI STATIS 1.Memori dibagi menjadi partisi-partisi dengan ukuran yang tetap 2.Satu proses hanya menggunakan satu partisi. Jika proses sudah selesai,partisi tersebut dapat digunakan oleh proses lain. 3.Membutuhkan pengelolaan informasi mengenai partisi-partisi yang kosong yang siap untuk dialokasikan. Model alokasi berturut dengan partisi statis dapat di kategorikan bersdasarkan ukuran pertisi yaitu 1.Partisi statis berukuran sama. Yaitu ukuran tiap partisi adalah sama besarnya 2.Partisi statis berukuran tidak sama Yaitu ukuran tiap partisi berbeda-beda

20 5. 4. 2 PENGALOKASIAN BERURUT DENGAN PARTISI DINAMIS. 1
5.4.2 PENGALOKASIAN BERURUT DENGAN PARTISI DINAMIS. 1.Pada kondisi awal,memori utama tidak dibagi-bagi menjadi partisi-partisi. 2.Pemartisian dilakukan pada saat image proses akan di salinkan ke memori utama 3.Ukuran partisi yangh di alokasikan dengan ukuran image proses 4.Partisi akan dibebaskan jika program sudah selesai. 5.Membutuhkan pengelolaan informasi mengenai area memori utama yang masih kosong dan dapat dialokasikan ke proses.

21 5.4.3 PENGALOKASIAN BERURUT DENGAN SISTEM BUDDY Pengalokasian berurut lainya adalah sistem buddy, yang melakukan paemartisian secara dinamis. Alokasi memori pada sistem buddy adalah sebagai berikut 1.Menetukan ukuran partisi Jika suatu proses baru di-load maka akan di tentuakn ukuran partisi yang akan dibuat ataupun digunakan untuk menampung image proses. 2.Pengalokasian Operasi selanjutnya adalah mencari hole yang besarnya sukuran dengan perhitungan.Jka ternyata tidak ada maka sistem buddy akan meencari hole yang berukuran sedikit lebih besar dan kemudian memecahnya secara bertahap sehingga didapatkan hole dengan ukuran yang di tentukan .

22 Kekurangan sistem budy adalah fragmentasi internal tetap terjadi sedangkan kelebihanya adalah dealokasi proses dapat dilakukan denga cepat. kemudian image proses A sebesar 90kbyte hendak dialokasi ke memori utama adalah sebesar 1m byte.ketika belum ada proses pengguna yang dialokasikan maka seluruh bagian memori masih kosong dan tersedia. Kemudian image proses A sebesar 90kbyte hendak dialokasi ke memori utama.maka terjadi pemecahan partisi sebanyak 3kali(1M byte menjadi 2 bagian sebesar 512k,521 k menjadi 2bagian sebesar 256k,256k,menjadi 128k)untuk mendapatkan partisi berukuran kelipatan 2terkecil yang dapat menampung image A.

23 Kemudian menjadi alokasi image proses B yang berukuran sebesar 50 k
Kemudian menjadi alokasi image proses B yang berukuran sebesar 50 k. partisi terkecil yang tersedia adalah partisi di samping partisi proses A yang berukuran sebesar 128 K. karena proses B hanya berukuran 50 K maka partisi tersebut dipecah lagi menjadi 2 bagian sebesar 64 K, kemudian image proses B di alokasikan pada bagian pertama dari pecahan tersebut

24 5.4.4 Pengalokasian Tak Berturut Dengan Sistem Paging
Berbeda dengan model pengalokasian berurut,bagian-bagian dari image proses dapat diletakkan secara terpisah di memori utama.Model alokasi tak berturut yang akan di bahas di sini adalah Sistem Paging.

25 Model alokasi memiliki karakteristik berikut :
Sistem paging memerlukan pengalamatan logika khusus yang membagi suatu ruang alamat logika proses menjadi bagian yang berukuran sama yang disebut denga page. Pada sistem paging,memori fisik di partisi secara statis yang disebut dengan frame page atau disebut frame saja. Sistem paging memakai pengalokasian memori tak berurut. Sistem paging membutuhkan pengelolaan informasi mengenai frame yang masih kosong. Pada sistem paging tidak terjadi fregmentasi eksternal,sedangkan fregmentasi internal hanya terdapat pada sejumlah frame tertentu.

26 Konsep-konsep alokasi sebagai berikut:
Memori utama dibagi menjadi frame-frame kecil berukuran sama.Tiap frame memiliki nomor frame sebagai refrensi. Ruang alamat logika dibagi menjadi page-page seukuran frame,misalnya ruang alamat logika adalah 4 G,sedangkan image proses berukuran 20 M bytes. Pada saat proses di-load,page-page image proses diletakkan pada frame yang masih kosong. Page table umumnya berisi nomor frame yang dialokasikan untuk image proses.Page table digunakan untuk translasi alamat logika ke alamat fisik pada saat kode instruksi program dieksekusi.

27 Addres Binding pada Sistem Paging.
Adress binding pada sistem paging terjadi pada saat eksekusi(execution time). Alamat refrensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat referensi tersebut harus di translasi ke alamat fisik memori utama yang sesungguhnya. Proteksi Memori pada Sistem Paging. Mekanisme lain yang didukung dalam sistem paging adalah proteksi memori. Mekanisme proteksi ini berfungsi untuk menghindari pengaksesan memori secara ilegal.

28 Memori Sharing pada Sistem Paging.
Sistem paging mendukung mekanisme bagi pakai memori utama utau memori sharing, mekanisme sharing ini penting untuk menghemat penggunaan kapasitas memori.Pada sistem paging, jika ada 2 atau lebih proses memiliki bagian kode instruksi atau data yang sama maka bagian tersebut dapat digunakan bersama dan cukup diletakkan sekali di frame memori.Masing-masing memori mengacu ke frame yang sama pada page tablenya.

29 5.4.5 PENGALOKASIAN TAK BERURUT DENGAN SISTEM SEGMENTATION
Selain sistem paging, model pengalokasian tak berurut lainnya adalah sistem segmentation. Berbeda dengan sistem paging yang menganut pemartisian secara statis maka sistem segmentation memakai sistem pemartisian secara dinamis.jadi memori utama tidak dipartisi dari awal ,tetapi di partisi pada saat terjadi alokasi memori utama ke proses baru.

30 Pengalokasian dengan sistem segmentation memiliki karakteristik sebagai berikut:
Sistem segmentation memerlukan pengelamatan logika khusus yang memecahkan image proses suatu program menjadi bagian-bagian dengan segmen. Pemartisian memori utama terjadi secara dinamis pada saat alokasi. Sistem segmentation menggunakan peengalokasian memori tak berurut sehingga segmen image proses dari program dapat menempaati bagian memori utama yang letaknya terpisah satu sama lain.

31 4. Segmentation membutuhkan pengelolaan informasi mengenai seluruh area kosong atau hole yang terbesar di memori utama. 5. Pada sistem segmentation tidak terjadi fragmentasi internal, tetapi fregmentasi eksternal tetap terjadi.

32 Alokasi Memori pada Sistem Segmention
Konsep alokasi sistem segmentation sebagai berikut: Image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama. Pada saat image proses dialokasikan ke memori utama, segmen-segmen image proses ditempatkan pada bagian memori yang masih kosong. Segment table berisi rekaman nilai limit,yang berisi panjang segmen dan nilai base, yang berisi alamat awal bagian memori utama yang dialokasikan ke segmen.Indeks pada segment table menunjukkan nomor segmen yang dialokasikan.

33 5.5 OPTIMALISASI UTILITAS MEMORI
Umumnya memori utama pada suatu komputer merupakan sumber daya yang terbatas sehingga penggunaanya butuh dioptimalkan. Dengan mengoptimalkan penggunaan memori, diharapkan tingkat multiprograming atau konkurensi,yaitu jumlah proses yang dapat dijalankan secara bersamaan juga ikut meningkat. Di bawah ini akan dijelaskan beberapa strategi untuk meningkatkan utilitis memori utama pada suatu sistem komputer.

34 5.5.1 OVERLAY Overlay adalah suatu teknik pemrograman yang membagi program yang besar menjadi bagian-bagian yang lebih kecil sehingga dapat dimuat secara parsial ke dalam suatu page memori yang berukuran lebih kecil.

35 5.5.2 DYNAMIC LOADING Dynamic loading adalah teknik pemrograman yang memungkinkan hanya bagian-bagian program yang sedang dibutuhkan pada saat run time yang akan disalin ke memori utama.Dynamic loading berguna terutama untuk program yang besar karna harus menangani banyak kasus yang jarang terjadi.

36 5.5.3 DYNAMIC LINKIN Dynamic Linkin adalah teknik yang memungkinkan linkin ke rutin-rutin pustaka program aplikasi yang dilakukan secara dinamis pada saat runtime. Dynamic Linkin menghemat penggunaan memori utama, karena jika sejumlah aplikasi menggunakan rutin pustaka yang sama,maka pustaka tersebut hanya akan disalinkan sekali saja ke memori utama namun dapat direferensi dan digunakan bersama oleh aplikasi-aplikasi tersebut.

37 5.5.4 VIRTUAL MEMORY Virtual memori atau memori maya adalah teknik pemetaan memori yang melibatkan memori sekunder, umumnya disk, sehingga ukuran memori sistem secara logika dapat lebih besar dari ukuran memori utama secara fisik.Pada teknik virtual memori diperlukan pengalamatan atau secara logika dan melibatkan mekanisme swapping, yaitu proses pemindahan sebagian atau seluruh bagian proses dari memori utama ke memori sekunder, disebut dengan swap out, atau dari disk ke memori utama disebut dengan swap in.

38 Keuntungan dari model virtual memori dengan memakai swapping adalah:
Lebih sedikit operasi I/O yang dilaakukan, karena swappinng dilakukan per page. Lebih sedikit memori utama yang diperlukan per proses, karna tidak semua bagian image proses perlu disalinkan ke memori utama pada saat alokasi. Tangapan sistem menjadi lebih cepat karena tidak semua bagian dari proses dapat mulai di eksekusi lebih cepat. Leebih banyak proses yang dapat dijalankan secara tingkat konkurensi atau tingkat multi programming dari sistem.

39 Mekanisme-mekanisme Demand Paging:
Jumlah frame memori utama yang dialokasi setiap proses tergantung kepada tingkat multiprogramming yang hendak dicapai. Menggunakan bit valid-invalid pada rekaman page table proses untuk menyatakan ada tidaknya page proses tersebut di frame memori utama. Jika page dari alamat yang hendak di akses ternyata per status invalid di page table maka trap page vauled akan dibangkitkan agar ditangani lebih lanjut oleh rutin sistem operasi, yaitu page fault handler.

40 Adapun langkah-langkah penangan page fault oleh rutin sistem operasi yaitu:
Mengecek apakah referense alamat falid. Jika tidak valid maka proses akan dihentikan. Jika valid berarti alasan page fault adalah karna page yang diminta belum ada di memori utama sehingga sistem operasi akan mencoba melakukan swap-in, yaitu memindahkan page yang diminta daari swap space ke memori utama.

41 Langkah-langkah swap-in meliputi:
Mencari frame memori utama yang kosong, jika tidak ada maka akan dilakukan page replacement, dimana akan dipilih page di frame, atau istilahnya victim page, untuk di swap-out k swap-space supaya tersedia frame kosong untuk operasi swap-in. Memindahkan(swap-in) page yang diminta dari swap-space ke frame memori utama yang telah ditentukan. Memperbarui rekaman di page table proses, yang meliputi catatan frame yang di alokasikan dan mengubah vilidation bit=1. Mengulangi (restart) kode instruksi program yang menghasilkan page vauld.

42 ALOKASI FRAME Dengan model demand paging, tidak semua page dari suatu image proses perlu di alokasikan ke memori utama.Namun jika trlalu sedikit frame yang dialokasikan maka akan sering terjadi swapping yang pada akhirnya akan menurunkan kinerja sistem.

43 Beberapa strategi menentukan frame untuk tiap proses yaitu:
Alokasi sama rata(equal allocation) Tiap proses mendapat jumlah frame yang sama banyak, sesuai dengan jumlah frame yang tersedia dan jumlah proses yang ada. 2. Alokasi proporsional (proportional allocation) Tiap proses mendapat jumlah frame sesuai dengan ukuran dari image proses. Jumlah frame untuk proses ditentukan oleh jumlah frame yang tersedia dan besarnya ukuran masing-masing image proses.

44 3. Alokasi Berprioritas (priority alocation) Jumlah frame yang dialokasikan untuk tiap proses berdasarkan prioritas proses.

45 Page Replacement Pada saat suatu page proses yang diminta ternyata masih berada di virtual memori maka page tersebut haarus dialokasikan ke memori utama.Jika ternyata pada saat itu memori utama dalam keadaan penuh maka diperlukan operasi swap out, yaitu memindahkan sejumlah page dari frame memori ke swap space.

46 Algoritma page replacement secara garis besar dapat dibagi dua yaitu:
Global Replacement. Victim frame dapat dipilih dari semua frame yang ada di memori utama. Jadi frame yang sedang ditempati oleh proses lain dapat turut dikorbankan. Local Replacement. Victim frame hanya dapat dipilih dari frame-frame yang sedang ditempati oleh image proses bersangkutan.

47 Algoritma page replacement yang mungkin digunakan diantaranya:
Algoritma FIFO(First In First Out). Page yang diganti adalah page yang paling lama sudah berada di memori atau paling awal dialokasikan. Algoritma Optimal. Page yang diganti adalah page yang baru akaan dipanggil lagi pada waktu yang masih cukup lama. Algoritma ini mengasumsikan sistem mampu memprediksikan page-page yang akan diakses. Algoritma Least Recently Use (LRU). Page yang diganti adalah page yang paling lama sudah tidak diakses lagi.


Download ppt "KELOMPOK 1 ( satu ) Roni Aditya M. Lingga Z. Jeges. P Yunus. Prayogo"

Presentasi serupa


Iklan oleh Google