Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta Manajemen Memori Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Manajemen memori berkaitan dengan aktivitas pengelolaan penggunaan memori pada saat komputer aktif dan menjalankan proses-proses Register Cache Memory Main Memory Secondary Memory Harga persatuan byte makin murah, Kapasitas semakin besar, Kecepatan akses semakin lambat
Pengalamatan Secara Fisik (Physical/Absolute Addressing) Pengalamatan Memori Pengalamatan Secara Fisik (Physical/Absolute Addressing) Alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memori utama yang sesungguhnya. Tidak membutuhkan translasi alamat memori Pengalamatan Secara Relatif (Relative Addressing) Digunakan pada sistem yang menggunakan alokasi memori berurut dimana image proses harus terletak pada satu area memori utuh Membutuhkan translasi alamat memori pada saat eksekusi Translasi alamat memori MMU (Memory Management Unit)
Pengalamatan Memori Proses alokasi memori dan translasi alamat pada pengalamatan relatif
Pengalamatan Secara Logika (Logical Addresing) Pengalamatan Memori Pengalamatan Secara Logika (Logical Addresing) Memerlukan translasi alamat yang dilakukan saat eksekusi proses Kelebihan : Relokasi program dapat dilakukan secara fleksibel, bahkan ruang atau kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori utama Image proses dapat dialokasikan secara parsial dan tersebar pada memori utama (alokasi memori dapat dilakukan dengan paging atau segmentasi)
Pengalamatan Memori Proses alokasi memori dan translasi alamat pada pengalamatan logika
Perbedaan sistem tersebut terletak pada: Pengalamatan Memori Berdasarkan cara membagi ruang alamat logika program, pengalamatan logika dapat dibedakan atas sistem paging dan segmentasi Perbedaan sistem tersebut terletak pada: Bagaimana memori utama dipartisi dan dialokasi ke proses aplikasi Informasi apa saja yang perlu dicatat di tabel alokasi proses pada saat terjadi alokasi memori Proses translasi alamat
Address Binding Aktivitas translasi alamat disebut dengan istilah address binding Translasi alamat dapat terjadi pada saat : Compile time Loading time Execution time
Manajemen Memori pada Sistem Monoprogramming Hanya ada satu proses pada suatu saat dan menggunakan seluruh area memori pengguna Program dimuatkan seluruhnya ke memori dari disk/tape Pada saat eksekusi, program mengambil kendali seluruh sumber daya komputer Alokasi memori dilakukan secara berurutan,yang artinya image proses dari program harus menempati area memori yang utuh
Manajemen Memori pada Sistem Monoprogramming Alokasi Memori
Manajemen Memori pada Sistem Monoprogramming Proteksi Memori Proteksi diimplementasikan dengan menggunakan bantuan register relokasi dan register pembatas (limit register) Jika alamat logika yang diakses lebih besar dari nilai limit register maka sinyal addressing error interrupt akan dibangkitkan Akses ke bagian memori OS dicegah dengan mekanisme relokasi sehingga alamat fisik tidak dapat mereferensi bagian memori sistem operasi
Model proteksi memori pada sistem monoprogramming
Manajemen Memori pada Sistem Multiprogramming Terdapat sejumlah proses yang menempati memori utama pada setiap saat Image proses dari program dapat dimuat seluruhnya atau sebagian saja ke memori utama Alokasi memori utama ke proses dapat berurutan ataupun tidak berurutan Dimungkinkan seluruh atau sebagian image proses berpindah lokasi memori utama selama eksekusinya Dimungkinkan suatu lokasi memori utama diakses bersama oleh sejumlah proses atau disebut dengan memory sharing
Manajemen Memori pada Sistem Multiprogramming Alokasi pada Sistem Multiprogramming Alokasi Berurut Partisi Statis Partisi Dinamis Sistem Buddy Alokasi Tidak Berurut Paging Segmen-tation Kombi-nasi
Manajemen Memori pada Sistem Multiprogramming
Pengalokasian Berurut dengan Partisi Statis Karakteristik Memori dibagi menjadi partisi-partisi dengan ukuran yang tetap Satu proses hanya menggunakan satu partisi. Jika proses sudah selesai, partisi tersebut dapat digunakan oleh proses lain Membutuhkan pengelolaan informasi mengenai partisi-partisi yang kosong yang siap untuk dialokasikan Kategori berdasarkan ukuran partisi Partisi statis berukuran sama Pertisi statis berukuran tidak sama
Pengalokasian memori pada partisi statis dengan ukuran berbeda dapat dilakukan dengan 2 strategi, yaitu satu antrian untuk setiap partisi atau satu antrian untuk seluruh partisi
Pengalokasian Berurut dengan Partisi Dinamis Karakteristik Pada kondisi awal, memori utama tidak dibagi-bagi menjadi partisi-partisi Pemartisian dilakukan pada saat image proses akan disalinkan ke memori utama Ukuran partisi yang dialokasikan akan disesuaikan dengan ukuran image proses Membutuhkan pengelolaan informasi mengenai area yang masih kosong dan dapat dialokasikan ke proses
Pengalokasian Berurut dengan Partisi Dinamis Kelemahan : Terjadinya fragmentasi eksternal Operasi alokasi dan dealokasi menjadi lebih rumit sehingga membutuhkan pengelolaan informasi area memori yang masih kosong linked list Pengelolaan informasi kosong membutuhkan algoritma untuk menentukan hole yang mana yang akan dialokasikan Best fit memilih hole yang paling kecil yang dapat menampung image proses First fit mencari hole yang kosong dari alamat awal sampai menemukan blok yang dapat menampung image proses Next fit hampir sama dengan first fit tapi pencarian dimulai dari alamat alokasi terakhir Worst fit mencari hole yang paling besar agar sisa memori dapat dialokasikan untuk proses lain
Pengalokasian Berurut dengan Sistem Buddy Partisi yang terbentuk berukuran sebesar bilangan pangkat 2 seperti 2,4,8,16,...256k Alokasi memori pada sistem buddy: Menentukan ukuran partisi Pengalokasian mencari hole yang besarnya seukuran dengan perhitungan ukuran partisi. Jika tidak ada, maka sistem buddy akan mencari hole yang berukuran sedikit lebih besar dan memecahnya secara bertahap hingga mendapatkan hole yang sesuai
Pengalokasian Tak Berurut dengan Sistem Paging Sistem paging memerlukan pengalamatan logika khusus yang membagi suatu ruang alamat logika proses menjadi bagian-bagian yang berukuran sama page Memori fisik dipartisi secara statis frame, yang berukuran sama dengan page alamat logika Image proses dapat menempati lebih dari satu frame yang letaknya tidak harus berurutan Membutuhkan pengelolaan informasi mengenai seluruh frame yang masih kosong dan tersedia untuk dialokasikan Tidak terjadi fragmentasi eksternal dan fragmentasi internal hanya terjadi pada frame tertentu saja
Alokasi memori pada Sistem Paging Memori utama dibagi menjadi frame-frame kecil berukuran sama. Tiap frame memiliki nomor frame sebagai referensi. Ruang alamat logika proses dibagi menjadi page-page seukuran frame. Image proses umumnya berukuran lebih kecil dari ruang alamat logika proses. Page juga diberi nomor sebagai referensi. Pada saat proses di load, page-page image proses diletakkan atau dialokasikan pada frame-frame yang masih kosong. Alokasi ini dicatat pada page table yang memetakan asosiasi page dan frame yang dialokasi Page table berisi nomor frame yang telah dialokasikan untuk image proses. Indeks dari page table dapat digunakan sebagai referensi nomor page yang dialokasikan. Page table digunakan untuk translasi alamat logika ke alamat fisik pada saat kode instruksi program dieksekusi.
Address Binding pada Sistem Paging Address binding pada sistem paging terjadi pada saat eksekusi. Alamat referensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat harus ditranslasikan.
Proteksi Memori pada Sistem Paging Proteksi memori berfungsi menghindari pengaksesan memori secara ilegal, misal pengaksesan bagian memori yang ditempati proses lain atau kode instruksi sistem operasi Proteksi memori dilakukan dengan menambahkan bit proteksi untuk tiap entri page table
Memory Sharing pada Sistem Paging Memori sharing ditujukan untuk menghemat kapasitas memori 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 proses mengacu ke frame yang sama pada page table
Pengalokasian Tak Berurut dengan Sistem Segmentation Memerlukan pengalamatan logika khusus yang memecah image proses suatu program menjadi bagian-bagian yang disebut segmen Pemartisian memori utama terjadi secara dinamis pada saat alokasi. Ukuran partisi disesuaikan dengan besarnya segmen program yang hendak dialokasikan Menggunakan pengalokasian memori tak berurut sehingga segmen-segmen image proses dari program dapat menempati bagian memori utama yang letaknya terpisah satu sama lain Membutuhkan pengelolaan informasi mengenai seluruh area kosong atau hole yang tersebar di memori utama Tidak terjadi fragmentasi internal tapi fragmentasi eksternal tetap terjadi
Alokasi Memori pada Sistem Segmentation 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 dan informasi alokasi dicatat pada segment table dari proses tsb Segmen table berisi rekaman nilai limit, yang berisi panjang segmen dan nilai base, alamat awal bagian memori utama yang dialokasikan ke segmen. Indeks rekaman pada segment table menunjukan nomor segmen yang dialokasikan
Address Binding pada Sistem Segmentation
Proteksi Memori pada Sistem Segmentation Proteksi memori dilakukan dengan membandingkan nomor offset dari alamat logika yang diakses dengan limit segmen bersangkutan yang tercatat pada tabel segmen. Jika nilai offset dari alamat logika lebih besar dari nilai limit di rekaman tabel segmennya, berarti terjadi usaha pengaksesan lokasi di luar area segmen program addressing error
Memory Sharing pada Sistem Segmentation