Memory – Ch 8 Memory Management Main Memory Management Latar Belakang

Shared by: cometjunkie44
-
Stats
views:
136
posted:
12/25/2009
language:
Indonesian
pages:
5
Document Sample
scope of work template
							                                                                          Memory Management

                                                   Memory                 n   Latar Belakang

                                                    – Ch. 8               n   Address space: lojik vs fisik
                                                                          n   Swapping
                               SISTIM OPERASI                             n   Contiguous Allocation
                               (Operating System)                         n   Paging
                               IKI- 20230                                 n   Segmentation
                               Johny Moningka                             n   Segmentation dengan Paging
                               (moningka@cs.ui.ac.id)

                                                Fakultas Ilmu Komputer
                                                  Universitas Indonesia
                                                    Semester 2000/2001
                                                                                                                   Deadlock JM-2000/v1.1/2




Main-Memory Management                                                    Latar Belakang
n   Memori sebagai tempat penyimpanan instruksi/data dari                 •   Untuk dieksekusi program harus berada dalam
    program                                                                   memori
    n   Storage yang cepat sehingga dapat mengimbangi kecepatan
        eksekusi instruksi CPU                                                •   Alokasi resources memori: ruang (tempat storage)
    n   Terdiri dari “array of words/bytes” yang besar                            untuk menyimpan data, instruksi, stack dll.
    n   Address digunakan untuk mengakses data (shared oleh CPU dan       •   Problem: Memori secara fisik (besarnya storage)
        I/O devices)
                                                                              sangat terbatas ukurannya,
n   Umumnya main memory bersifat “volatile” – tidak
    permanent. Isinya akan hilang jika komputer di matikan.                   •   Manajemen storage: alokasi dan dealokasi untuk
n    Manajement memori:                                                           proses-proses dalam menggunakan address space.
    n   Melacak pemakaian memori (siapa dan berapa besar?).                   •   Utilisasi: optimal dan efisien
    n   Memilih program mana yang akan diload ke memori.
    n   Alokasi dan De-alokasi memori fisik untuk program.

                                             Deadlock JM-2000/v1.1/3                                               Deadlock JM-2000/v1.1/4




                                                                                                                                             1
Address Binding                                                            Program & Memori (review ...)
n   Sebelum eksekusi program berada di dalam disk,
    dan saat dieksekusi ia perlu berada pada suatu                             S1            O1

    lokasi dalam memori fisik                                                  S2            O2
                                                                                                             L binary             L memory
n   Address binding adalah menempatkan address
                                                                                                                        Loading
    relatif ke dalam adress fisik memori.                                      Sn            On
                                                                                                   Linking
n   Dapat berlangsung dalam di salah satu tahapan:
                                                                                Kompilasi/
    kompilasi, load, atau eksekusi dari suatu                                                                  Si = source program
                                                                                Translation
                                                                                                               Oi = object module
    program.                                                                                                   L binary = relocatable load module
                                                                                                               L memory = executable




                                                Deadlock JM-2000/v1.1/5                                                      Deadlock JM-2000/v1.1/6




Program & Memori                                                           Address Binding: choice
n   Bagaimana OS menempatkan (load) program di                             n   Kompilasi:
    memori?                                                                    n    Jika lokasi dari proses sudah fixed pada alamat fisik memori,
                                                                                    maka saat kompilasi address- address instruksi dan data
    n   kompilasi & linking menerjemahkan semua simbol,                             ditentukan berdasarkan referensi alamat fisik
        data (i.e branch) berdasarkan alamat acuan absolut,                    n    jika terjadi perubahan pada lokasi tersebut maka harus
        misalkan alamat mulai dari 0                                                direkompilasi
    n   proses mapping program => lokasi memori                            n   Loading
        sebenarnya disebut relokasi                                            n    Hasil kompilasi masih menunjuk address-address secara relatif,
         • jika program berada di memori (misalnya pada partisi tetap               saat di-load address-address disubstitusi dengan alamat fisik
           alamat awal S), maka semua alamat lojikal dalam program                  berdasar relokasi proses yang diterima
           harus di -konversi ke alamat fisikal (shift sebesar S)              n    Jika terjadi perubahan relokasi maka code di -load ulang
         • statis: relokasi alamat dilakukan sebelum program dijalankan
         • dinamis: relokasi alamat dilakukan pada saat referensi setiap
           instruksi atau data
                                                Deadlock JM-2000/v1.1/7                                                      Deadlock JM-2000/v1.1/8




                                                                                                                                                       2
Dynamic Loading                                                             Address Binding: saat eksekusi
n   Rutin tidak akan di load jika tidak dipanggil (execute).                n   Binding bisa dilakukan ulang selama proses
n   Pro’s: utilisasi memory-space, rutin yang tidak dieksekusi                  n   Hal ini untuk memungkinkan pemindahan proses dari
    tidak akan dipanggil (program behaviour: 70 -80% dari                           satu lokasi ke lokasi lain selama run.
    code).
                                                                            n   Perlu adanya dukungan hardware untuk
    n   Handling execption, error, atau pilihan yang jarang digunakan.
                                                                                pemetaan adress
n   Tidak perlu dukungan khusus dari OS:
    n   Overlay: memori terbatas dan program lebih besar dari memori.           n   Contoh: base register dan limit register.
    n   Disusun berdasarkan hirarkis dalam bentuk tree: root – branch           n   Informasi ini disimpan pada PCB dari setiap proses.
        dan leaves (misalkan root harus ada di memory, sedangkan yang
        lain dapat di load bergantian).
    n   Tidak dilakukan otomatis tapi harus dirancang oleh programmer
        (user).


                                                 Deadlock JM-2000/v1.1/9                                             Deadlock JM-2000/v1.1/10




Dynamic Linking                                                             Stub untuk Dynamic Linking
n   Linking ditunda sampai saat eksekusi                                    n   Skema referensi dengan “stub”
    n   code menjadi berukuran kecil                                            n   Saat stub dieksekusi ia memeriksa apakah rutin ybs
n   Program-program user tidak perlu menduplikasi                                   sudah berada dalam memori (diakses oleh proses lain
    system library                                                                  yang run), kalau belum ada maka rutin tsb di-load
    n   system library dipakai bersama                                          n   Stub diganti oleh address dari rutin tsb.
    n   Mengurangi pemakaian space: satu rutin library di                       n   Setelah itu program run dengan referensi rutin-rutin
        memory digunakan secara bersama oleh sekumpulan                             secara normal dengan address yang benar
        proses.
    n   Contoh: DLL (dynamic linking library) Win32
n   Mekanisme menggunakan skema Stub
    n   stub: suatu potongan kecil code menggantikan
        referensi rutin (dan cara meload rutin tsb)
                                                 Deadlock JM-2000/v1.1/11                                            Deadlock JM-2000/v1.1/12




                                                                                                                                                3
Address Space: Lojik vs Fisik                                                   Memory Management Unit (MMU)

n   Konsep ruang address lojik terhadap ruang address fisik                     n   Perangkat keras yang memetakan adress lojik ke
    pokok dalam manajemen memori                                                    address fisik
n   Address lojik: address yang di-generate oleh CPU                            n   Dalam skema MMU
    (disebut juga virtual address)
    n   Berdasarkan eksekusi program                                                n   Menyediakan perangkat register yang dapat di set
                                                                                        oleh setiap CPU: setiap proses mempunyai data set
    n   Note: Besarnya address program dapat lebih besar dari kapasitas
        memori fisik.                                                                   register tsb (disimpan di PCB).
                                                                                         • Base register dan limit register.
n   Address fisik: address yang dikenal oleh unit memory
    n   Address sebenarnya yang digunakan untuk mengakses memori.                   n   Harga dalam register base/relokasi ditambahkan ke
                                                                                        setiap address proses user pada saat run di memori
n   Perlu ada penerjemahan (translasi) dari address lojik ke
    address fisik.                                                                  n   Program user hanya berurusan dengan address-
                                                                                        address lojik saja
                                                     Deadlock JM-2000/v1.1/13                                                  Deadlock JM-2000/v1.1/14




Contoh Kerja MMU                                                                Swapping
                                                                                n   Jika memori fisik telah penuh:
                                                                                    n   Proses dapat di swap secara temporer dari memori
                                                                                        (swap-out) ke dalam backing store (disk),
                            Relokasi register
                                                                                    n   Dikembalikan (swap-in) ke dalam memori untuk
                                  14000                                                 melanjutkan eksekusi
            Address lojik                       Address fisik
                346                                14346
                                                                      memori    n   Backing store (biasanya disk)
     CPU                            +                                               n   Cukup besar menyimpan semua image memori user
                                                                                    n   Direct access ke dalam image-image tsb
                                  MMU




                                                     Deadlock JM-2000/v1.1/15                                                  Deadlock JM-2000/v1.1/16




                                                                                                                                                          4
Swap in/out




              Deadlock JM-2000/v1.1/17




                                         5

						
Related docs
Other docs by cometjunkie44