SISTEM OPERASI ISG2B3 MANAJEMEN MEMORI Agus Setiawan
Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University
OVERVIEW • Manajemen memori merupakan salah satu fungsi sistem operasi • ‘Proses’ tidak hanya berbagi CPU, akan tetapi juga berbagi memori fisik • ‘Proses’ tidak hanya read saja tetapi juga write di memori • Chapter ini menjelaskan bagaimana ‘Proses’ melakukan sharing memori fisik.
OVERVIEW
MANAJEMEN MEMORI • Manajemen memori dilakukan dengan cara membagi-bagi memori untuk mengakomodasi banyak proses • Manajemen memori dilakukan untuk menjamin agar setiap proses yang ready dapat segera memanfaatkan processor time
REQUIREMENT MANAJEMEN MEMORI • Terdapat 5 requirement manajemen memori : – Relocation – Protection
– Sharing – Logical organization – Physical organization Mnemonic : #RaPopo #SeLowPrend
REQUIREMENT MANAJEMEN MEMORI : RELOCATION • Programmer tidak tahu di bagian memori yang mana program akan ditaruh pada saat dieksekusi • Pada saat program dieksekusi, dimungkinkan program tersebut akan di-swap ke disk dan kemudian diambil lagi dari disk untuk ditaruh di memori dengan lokasi yang berbeda dengan lokasi sebelumnya (terjadi relocation) • Diperlukan adanya translasi antara alamat program dengan alamat fisik memori
REQUIREMENT MANAJEMEN MEMORI : PROTECTION • Suatu proses tidak boleh mengakses lokasi memori proses yang lain tanpa ijin • Lokasi program di memori tidak tentu -> alamat mutlak pada saat compile tidak dapat diketahui • Penanganan proteksi memori diserahkan kepada prosesor (secara hardware), bukan bagian sistem operasi (software)
• Sistem operasi tidak dapat memperkirakan penggunaan semua referensi memori dari setiap program
REQUIREMENT MANAJEMEN MEMORI : SHARING • Harus dimungkinkan suatu lokasi memori dapat diakses oleh lebih dari satu proses (secara legal) • Beberapa proses yang memerlukan data yang sama, maka tidak perlu setiap proses meng-copy data dari disk ke memori, cukup sebuah copy saja
REQUIREMENT MANAJEMEN MEMORI : LOGICAL ORGANIZATION • Main memory dikelompokkan secara linier atau berdimensi satu yang berupa ruang alamat yang terdiri dari deretan byte atau word • Sebagian besar program dibuat dalam bentuk modul -> penempatan di memori tidak linier -> diperlukan pengaturan secara logic
• Kelebihan program dalam bentuk modul: – Modul dapat ditulis dan di-compile secara terpisah – Setiap modul dapat diberi tingkatan proteksi berbeda-beda (read only, execute only) - Modul dapat dishare oleh beberapa proses
REQUIREMENT MANAJEMEN MEMORI : PHYSICAL ORGANIZATION • Memory dikelompokkan menjadi memori utama dan memori sekunder • Diperlukan metode yang mengatur aliran data dari memori utama ke memori sekunder dan sebaliknya • Pengaturan tersebut dilakukan oleh sistem, bukan programmer, karena: - Programmer tidak tahu berapa ruang memori yang tersedia pada saat program dijalankan
REQUIREMENT MANAJEMEN MEMORI : PHYSICAL ORGANIZATION • – Bila ruang memori yang tersedia tidak cukup untuk menampung program dan data -> sistem dapat melakukan overlay Overlay adalah menempatkan beberapa bagian modul / program pada area memori yang sama secara bergantian
TEKNIK MANAJEMEN MEMORI
1 2
•Segmentation •Paging
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Memori dipartisi menjadi bagian yang besar dengan ukuran yang fix yang disebut segmen • Segment digunakan untuk beberapa software yang berbeda-beda • Memori seperti slot yang fix (segmen) • Masing-masing segmen memiliki alamat unik
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Ketika sistem operasi booting, sistem operasi pertama kali akan diload di memori • Sistem operasi akan menempati level bawah
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Selanjutnya device driver yang dibutuhkan untuk mengontrol hardware
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Sisa space digunakan secara normal untuk program aplikasi (user process) • Satu proses secara menyeluruh diload ke satu segmen
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Partisi bisa berukuran sama dan berbeda-beda • Meskipun demikian, ukuran tiap partisi : FIXED • Ukuran harus diperbesar untuk menyimpan data secara keseluruhan
TEKNIK MANAJEMEN MEMORI : SEGMENTATION Sistem operasi bertanggung jawab : 1) Mencatat bagian memori yang sedang digunakan dan proses apa yang menggunakannya 2) Mengetahui berapa bagian memori yang free
TEKNIK MANAJEMEN MEMORI : SEGMENTATION “Pendekatan segmentation kadang-kadang menyebabkan kesulitan karena ukuran partisi yang tidak fleksibel” - Banyak space yang terbuang - Sebagian besar program tidak menggunakan ukuran yang sama persis dengan ukuran segmen
TEKNIK MANAJEMEN MEMORI : SEGMENTATION 1. Kadang-kadang jumlah total sisa yang tidak terpakai cukup untuk proses lain, akan tetapi proses harus difragmentasi dan proses tidak bisa share partisi 2. Segmentasi memiliki batas maksimum tetap pada jumlah maksium proses yang dapat berjalan pada satu waktu
TEKNIK MANAJEMEN MEMORI : SEGMENTATION - Untuk mengatasi hal tersebut, OS menggunakan variable partitioning - Jangan menentukan berapa jumlah segment, berikan sebuah proses sesuai dengan memori yang dibutuhkan
TEKNIK MANAJEMEN MEMORI : SEGMENTATION - Konsekuensinya ketika proses selesai tidak membutuhkan memori yang sama dengan proses sebelumnya - Jika ada bagian kecil yang digunakan oleh proses selanjutnya, maka masih bisa digunakan dengan beberapa fragmentasi yang terjadi pada periode waktu tertentu
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Fragmentasi: penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. • Jenis fragmentasi: • Fragmentasi Internal: -> Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses • Fragmentasi Eksternal: -> Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan.
TEKNIK MANAJEMEN MEMORI : SEGMENTATION • Solusi Sistem Operasi : OS secara periodik menghentikan sementara semua pekerjaan (PAUSE) dan mengumpulkan dalam satu area kosong yang bisa digunakan oleh proses lain • Kekurangan pendekatan segmentation : Menetapkan waktu kapan harus kompak saat PAUSE terjadi, ingat ini bukan tugas user tapi tugas SO sehingga waktu sangat bernilai untuk constructive processing
TEKNIK MANAJEMEN MEMORI : PAGING • Untuk penggunaan yang terbaik, kita membutuhkan pendekatan manajemen memori lainnya yaitu Paging • Pada metode Paging, memori dibagi menjadi frame yang sangat kecil jika dibandingkan dengan segment • Single process akan tahu bahwa semua data tidak bisa masuk kedalam satu frame • Ukuran frame berkisar antara 2^9 sampai 2^13 • Frame ukurannya fixed untuk beberapa bagian sistem
TEKNIK MANAJEMEN MEMORI : PAGING • Program dan data harus dipartisi sehingga porsi program dan data sesuai dengan ukuran individual frame • Program dan data harus dibagi menjadi beberapa pages. Ukuran page akan sama dengan dengan ukuran frame di memori.
TEKNIK MANAJEMEN MEMORI : PAGING
Main Memory Frame
Page Program dan Data
TEKNIK MANAJEMEN MEMORI : PAGING • Paging menjadi cara yang efektif untuk manajemen memori