Selasa, 08 Mei 2018

Makalah Managemen Memori | SIstem Operasi




SISTEM OPERASI
MANAJEMEN MEMORI



Disusun Oleh:
Anis Marifatul Dienillah (10116899)
Fadli Iman.S (12116465)
Ikral Adi Putra (13116408)
Kapraptiyan Sasmoko (13116813)
Panji Titan A (15116727)
Rivaldo Alsi K (16116514)




SISTEM INFORMASI
UNIVERSITAS GUNADARMA
Tahun Ajaran 2017/2018



Daftar Isi
Kata Pengantar............................................................................................................................. 3
BAB I Pendahuluan....................................................................................................................... 4
Latar Belakang........................................................................................................................... 4
BAB II Pembahasan....................................................................................................................... 5
Konsep Dasar Memori............................................................................................................... 5
Strategi Manajemen Memori.................................................................................................... 6
Ruang Alamat Logika dan Fisik.................................................................................................... 7
Swapping.................................................................................................................................. 7
Pencatatan Pemakaian Memori................................................................................................. 8
Monoprogramming................................................................................................................... 8
Pengalokasian Berurutan (Contigous Allocation)................................................................... 9
Pengalokasian Tak Berurutan (Non Contigous Allocation)........................................................... 9
BAB III Kesimpulan..................................................................................................................... 11
Kesimpulan............................................................................................................................. 11
Daftar Pustaka............................................................................................................................ 12






Kata Pengantar

Puji dan syukur saya panjatkan kehadirat ALLAH SWT, atas limpahan rahmat dan karunianya baik berupa kesehatan maupun kesempatan sehingga penyusunan makalah ini dapat terselesaikan sebagai mana mestinya.
Adapun tema yang saya susun yaitu ”MANAJEMEN MEMORI” merupakan tugas yang di berikan oleh dosen mata kuliah Sistem Operasi guna memenuhi salah satu persyaratan akademik,dalam standarisasi penilayan saya menyadari sepenuhnya masih banyak terdapat kesalahan dan kekurangan yang ada di dalamnya,oleh karena itu kritik dan saran dari teman-teman mahasiswa,sangat saya harapkan demi kesempurnaan makalah ini,harapan penulis muda-mudahan makalah ini dapat memenuhi fungsinya.
























BAB I
PENDAHULUAN

A.Latar Belakang
Sistem operasi adalah perangkat lunak sisitem yang bertugas untuk melakukankontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasukmenjalankan perangkat lunak aplikasi seperti program-program pengolah katadanperamban web. Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan booting.Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, danSistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan intitersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, danantar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukantugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan"kernel" suatu Sistem Operasi.

















BAB II 
PEMBAHASAN
1. KONSEP DASAR MEMORI
Memori sebagai tempat penyimpanan instruksi/ data dari program. Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat dieksekusi, program harus dibawa ke memori dan menjadi suatu proses.
1.1  Konsep Binding
Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi program tersebut perlu berada pada suatu lokasi dalam memori fisik. Address Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable) dipetakan ke alamat memori. Alamat (address) pada source program umumnya merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat” (bind) alamat simbolik ke alamat relokasi.

Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu :
•kompilasi,
•load, atau
•eksekusi dari suatu program
1.2  Dynamic Loading
Dengan dynamic loading merupakan suatu routine tidak diload sampai dipanggil. Semua routine disimpan pada disk sebagai format relocatable load.
Mekanisme dasar :
•Program utama diload dahulu dan dieksekusi
•Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil lebih dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak, relocatable linking loader dipanggil untuk meload routine yang diminta ke memori dan mengupdate tabel alamat dari program yang mencerminkan perubahan ini.
Keuntungan dari dynamic loading adalah :
•Rutin yang tidak digunakan tidak pernah di-load
•Cocok untuk kode dalam jumlah besar
•Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error routine
•Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading
1.3  Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading. Karena Pada saat loading, linking ditunda hingga waktu eksekusi.
Program-program user tidak perlu menduplikasi system library karena :
•System library dipakai bersama
•Mengurangi pemakaian space : satu rutin library di memori digunakan secara bersama oleh sekumpulan proses
Contoh : DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library jika routine tidak tersedia saat itu) :
•Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam memori(diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut diload
•Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal :
•Bila proses-proses di memori utama saling diproteksi, maka SO melakukan pengecekan apakah rutin yang diminta berada diluar alamat.
•Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
1.4  Overlay
Hanya instruksi dan data yang diperlukan pada suatu waktu yang disimpan di memori. Overlay diperlukan jika ukuran proses lebih besar dari memori yang dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain :
•User dapat mengimplementasikan secara lengkap menggunakan struktur file sederhana
•OS memberitahu hanya jika terdapat I/O yang melebihi biasanya
2. STRATEGI MANAJEMEN MEMORI
Strategi yang dikenal untuk mengatasi hal tersebut adalah memori maya. Memori maya menyebabkan sistem seolah-olah memiliki banyak memori dibandingkan dengan keadaan memori fisik yang sebenarnya. Memori maya tidak saja memberikan peningkatan komputasi, akan tetapi memori maya juga memiliki bberapa keuntungan seperti :
-Large Address Space
Membuat sistem operasi seakan-akan memiliki jumlah memori melebihi kapasitas memori fisik yang ada. Dalam hal ini memori maya memiliki ukuran yang lebih besar daripada ukuran memori fisik.
-Proteksi.
Setiap proses di dalam sistem memiliki virtual address space. Virtual address space tiap proses berbeda dengan proses yang lainnya lagi, sehingga apapun yang terjadi pada sebuah proses tidak akan berpengaruh secara langsung pada proses lainnya
-Memory Mapping
Memory mapping digunakan untuk melakukan pemetaan image dan file-file data ke dalam alamat proses. Pada pemetaan memori, isi dari file akan di link secara langsung ke dalam virtual address space dari proses.
-Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori fisik secara “adil” ke setiap proses yang berjalan pada sistem.
-Shared Virtual Memory.
Meskipun tiap proses menggunakan address space yang berbeda dari memori maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi penggunaan memori



3. RUANG ALAMAT LOGIKA DAN FISIK
Alamat Logika adalah alamat yang digenerate oleh CPU, disebut juga Alamat Virtual. Alamat Fisik adalah alamat yang terdapat di memori. Perlu ada penerjemah (translasi) untuk menerjemahkan bahasa dari alamat logika ke alamat fisik. MMU (Memory Management Unit) adalah perangkat keras yang memetakan alamat logika ke alamat fisik.
Dalam Skema MMU :
•Menyediakan perangkat register yang dapat diset oleh CPU: setiap proses mempunyai data set register tersebut (disimpan di PCB)
•Harga dalam register base/relokasi ditambahkan ke setiap alamat proses user pada saat run dimemori
•Program-program user hanya berurusan dengan alamat logika saja
4. SWAPPING
           
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori maka proses swapping akan dilakukan seperti yangtelah dijelaskan di atas.
            Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut: Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.







5. PENCATATAN PEMAKAIAN MEMORI
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu :
5.1 Peta Bit
Memori dibagi menjadi unit-unit alokasi,berkorespondensi dengan tiap unit alokasi adalah satu bit pada bit map.
* Nilai 0 pada peta bit berarti unit itu masih bebas.
* Nilai 1 berarti unit digunakan.
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori, yaitu :
* Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
* Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak disiakan pada unit terakhir jika ukuran proses bukan kelipatan unit
alokasi.

Keunggulan :
* Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan :
* Harus dilakukan penghitungan blok lubang memori saat unit memori bebas.
* Memerlukan ukutan bit map besar untuk memori yang besar.
5.2 Linked List
Sistem operasi mengelola senarai berkait (linked list) untuk segmen-segmen memori yang telah dialokasikan dan bebas. Segmen memori menyatakan memori untuk proses atau memori yang bebas (lubang). Senarai segmen diurutkan sesuai alamat blok.
Keunggulan :
* Tidak harus dilakukan perhitungan blok lubang memori karena sudah
tercatat di node.
* Memori yang diperlukan relatif lebih kecil.
Kelemahan :
* Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan

6. MONOPROGRAMMING
Monoprogramming sederhana tanpa swapping merupakan manajemen memori sederhana. Sistem computer hanya mengijinkan satu program pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasai proses yang sedang berjalan.
Ciriciri:
·                     Hanya satu proses pada satu saat
·                     Hanya satu proses menggunakan semua memori
·                     Pemakai memuatkan program ke seluruh memori dari disk/tape
·                     Program mengambil alih kendali seluruh mesin
Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi memori dilakukan secara berturutan
Embedded system
Teknik monoprogramming masih dipakai untuk sistem kecil yaitu system tempelan (Embedded sitem) yang terdapat pada system lain. Sistem tempelan menggunakan mikroprosessor kecil. Sistem ini biasanya mengendalikn suatu alat sehingga bersifat intelejen(intelejentdevice) dalam menyediakan satu fungsi spesifik.
Proteksi pada monoprogramming sederhana
Pada monoprogramming pemakai memiliki kendali penuh terhadapmemori utama.Memori terbagi menjadi 3 bagian , yaitu
·                     Bagian rutin system operasi
·                     Bagian program pemakai
·                     Bagian yang tidak digunakan

7. PENGALOKASIAN BERURUTAN (CONTIGOUS ALLOCATION)
Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal memori yang berturutan.
7.1 Multiprogramming Dengan Partisi Statis
Terbagi dua :
-Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
-Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.
7.2 Multiprogramming Dengan Partisi Dinamis
Jumlah lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
-Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.
-Merumitkan alokasi dan dealokasi memori
7.3 Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner dalam pegalamatan memori. Karakteristik bilangan biner digunakan untuk mempercepat penggabungan lubang-lubang berdekatan ketika proses terakhir atau dikeluarkan.

8. PENGALOKASIKAN TAK BERURUTAN (NON CONTIGOUS ALLOCATION)
            Pada model pengalokasian tak berurut, bagian-bagian dari image proses dapat diletakkan secara terpisah di memori utama, pada sistem paging memerlukan pengalamatan logika khusus yang membagi menjadi blok-blok dengan ukuran sama yang disebut page. Pada Sistem paging perlu adanya translasi alamat ke memori fisik yang dipartisi secara statis yang disebut frame, yang ukurannya sama dengan page pada ruang alamat logika.
Konsep dasar alokasi memori : memori utama dibagi menjadi frame-frame kecil berukuran sama dan diberi nomor frame sebagai referensi. Ruang alamat logika proses dibagi menjadi page-page seukuran frame. Loading time(page-page image proses diletakkan pada frame-frame kosong dan dicatat pada page table)
Proteksi memori pada sistem paging : berfungsi menghindari pengaksesan memori secara illegal(missal pengaksesan bagian memori yang sudah ditempati proses lain). Proteksi frame dilakukan dengan cara menambahkan bit proteksi untuk tiap entry page table (missal : cek apakah frame tersebut bersifat read atau read-write, cek apakah alamat logika yang dituju suatu proses valid atau invalid).
Memory Sharing pada sistem paging : untuk menghemat penggunaan kapasitas memori. Jika ada 2 atau lebih proses yang memiliki bagian kode instruksi, atau data yang sama maka dapat digunakan bersama dan cukup diletakkan sekali di frame memori. Masing-masing proses mengacu ke frame yang sama pada page tablenya.
Pengalokasian tak berurut dengan sistem segmentation : memakai sistem partisi dinamis. Pada pengalamatan logika, image proses dibagi menjadi bagian-bagian yang disebut segmen. Pembagian segmen biasanya mengikuti struktur program oleh compiler, yang biasanya tiap segmen berupa main program, stack, routine, symbol table. Partisi memori utama terjadi pada saat alokasi yang besarnya sesuai dengan besar segmen program yang dialokasikan.
Konsep Alokasi memori : image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama. Segmen-segmen image proses dialokasikan ke tempat-tempat kosong di memori utama, dan informasi alokasi dicatat pada segmen table. Segmen table berisi nilai limit(panjang segmen) dan nilai base(alamat awal bagian memori yang dialokasikan)
Proteksi memori : Membandingkan nilai segmen yang ada di pengalamatan logika dengan nilai limit yang ada di segmen table. Apabila nilai segmen yang ada di pengalamatan logika lebih besar daripada nilai limit yang ada di segmen table, berarti terjadi usaha pengaksesan lokasi diluar area segmen program itu sehingga memicu terjadinya trap(addressing error).
Memori Sharing : Sharing segmen antara 2 atau lebih proses dilakukan dengan mencatat lokasi alokasi segmen tersebut ke table segmen masing-masing proses.
Dari Konsep pengalokasian memori antara sistem paging dan segmentation maka dapat dilihat perbedaannya sebagai berikut:
Sistem Paging
Sistem Segmentation
Statis, dibagi menjadi frame-frame dengan ukuran sama
Dinamis, dibagi menjadi segmen segmen yang ukurannya tidak harus sama
Pencatatan dilakukan menggunakan page table
Informasi alokasi dicatat pada segmen table
Proteksi dilakukan dengan menambahkan bit proteksi pada tiap page
Proteksi dilakukan dengan cara membandingkan nilai segmen dengan nilai limit segmen table
Memori sharing: data yang sama cukup diletakkan sekali pada frame, masing-masing proses mengacu pada frame yang sama pada page tablenya.
Sharing segmen dilakukan dengan mencatat lokasi alokasi segmen ke table segmen masing-masing proses








BAB III
KESIMPULAN
A.Kesimpulan
1. Konsep dasar Manajemen Memori pada System Operasi yaitu meningkatkanutilitas CPU yang sebesar-besarnya, data dan instruksi dapat di akses dengan cepat olehCPU, memori utama memiliki kapasitas yang sangat terbatas, sehingga pemakaiannyaharus seefisien mungkin dan transfer data dari memori
2. manajemen memori pemartisian statis dengan proses tanpa swapping itu padadasarnya terdiri atas 2 yaitu : Monoprogramming merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Dan Multiprogramming dapat dilakukan dengan pemartisian statis,yaitu memori dibagi menjadi beberapa sejumlah partisi tetap.
3. Strategi penempatan program ke partisi ada 2 jenis strategi Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi) yaitu :Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Dan Satu antrian untuk seluruh partisi, yaituProses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segeraditempatkan di partisi bebas paling kecil yang dapat memuat.
4. pemartisian memori menjadi partisi-partisi secara statis mempunyai dua masalah,yaitu : relokasi dan partisi.
















Daftar Pustaka:





© Fadli's Blog
Maira Gall