Disusun
Oleh:
1. Anto NIM:
2106141469
2. IlhamSuwita NIM:2016141718
3. YegiCandraMonanza NIM:2016141223
4. Rahma Danny Febrianto NIM:2016140168
Teknik informatika
Fakultas teknik
Universitas pamulang
TANGERANG
SELATAN
2017
Sistem operasi sering
ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan
sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal.Strategi yang dikenal untuk mengatasi
hal tersebut adalah memori maya. 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.
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. Memori
dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi,
yaitu 1 bit pada bit map. Sistem operasi mengelola senarai berkait (linked
list) untuk segmen-segmen memori yang telah dialokasikan dan bebas.
Puji syukur kehadirat Allah swt atas segala rahmatnya
sehingga makalah ini dapat tersusun hingga selesai. Tidak lupa kami juga
mengucapkan banyak terima kasih atas bantuan dari pihak yang telah
berkontribusi dengan memberikan sumbangan baik materi maupun pikiranya.
Makalah yang
berjudul “manajemen memory” di susun berdasarkan tugas kelompok mata kuliah Sistem Operasi. Terlepas dari semua itu, kami
menyadari sepenuhnya bahwa masih ada kekurangan baik dari segi susunan kalimat
maupun tata bahasanya. Oleh karena itu dengan tangan terbuka kami menerima
segala saran dan kritik dari pembaca demi kesempurnaan makalah ini.
Akhir kata
kami berharap semoga makalah tentang “manajemen memori” dapat memberikan
manfaat maupun inspirasi terhadap pembaca.
Pamulang, September 2017
Penyusun
Istilah sistem operasi sering
ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan
sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal.
Sistemoperasi adalah perangkat lunak sistem yang bertugas
untuk melakukan kontrol dan manajemen perangkat
keras serta operasi-operasi dasar sistem, termasuk menjalankan
perangkat lunak aplikasi seperti program-program pengolah kata dan peramban
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,
dan sistem operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan
tugas schedule task, dan
antar-muka user gui/cli. Sehingga
masing-masing software tidak perlu lagi melakukan tugas-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.
Kalau
sistem komputer terbagi dalam lapisan-lapisan, maka sistem operasi adalah penghubung antara
lapisan hardware dengan lapisan software. Sistem operasi melakukan semua
tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda
dapat berjalan secara bersamaan dengan lancar. Sistem operasi menjamin aplikasi
lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan
lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi
berjalan secara bersamaan, maka sistem operasi mengatur schedule yang
tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu
yang cukup untuk menggunakan prosesor (cpu) serta tidak saling mengganggu.
Dalam
banyak kasus, sistem operasi menyediakan suatu pustaka dari fungsi-fungsi
standar, di mana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga
dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut
dari awal.
Sistem operasi secara umum terdiri
dari beberapa bagian:
·
Command interpreter atau shell,
yang bertugas membaca input dari pengguna
·
Pustaka-pustaka,
yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil
oleh aplikasi lain
·
Driver
untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Sebagian sistem operasi hanya
mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya dos), tetapi sebagian
besar sistem operasi baru mengizinkan beberapa aplikasi berjalan secara
simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut
sebagai multi-tasking operating system (misalnya keluarga
sistem operasi unix).
Beberapa sistem operasi berukuran sangat besar dan kompleks, serta inputnya
tergantung kepada input pengguna, sedangkan sistem operasi lainnya sangat kecil
dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe
yang pertama sering disebut sebagai desktop os, sedangkan tipe
kedua adalah realtime os,contohnyaadalah windows, linux, freebsd, solaris, palm, symbian, dan
sebagainya.
Memori
adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat
penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori
adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil
instruksi dari memory berdasarkan nilai dari program counter.Sedangkan
manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses
ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka,
membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga
alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk
sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara
efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai
upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem
komputer (Eko, 2009).Memory manager merupakan salah satu bagian sistem operasi
yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.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. Jenis-jenis Memori:
·
Memori Kerja: ROM/PROM/EPROM/EEPROMRAM ,Cache memory
·
Memori DukungFloppy, harddisk, CD, dll.
o 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
• eksekus idari suatu program
• load,atau
• eksekus idari suatu program
Cara
Sistem Operasi menempatkan program di dalam memori :
• Kompilasi
dan Linking menerjemahkan semua simbol data berdasarkan alamat acuan absolut.
• Proses
relokasi (proses mapping program dari lokasi memori) terjadi apabila :
1. Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik.
1. Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik.
2. Statis
: relokasi alamat dilakukan sebelum program dijalankan
3.
Dinamis : relokasi alamat dilakukan pada saat referensi setiap instruksi
atau data
o Dynamic
Loading
Dengan dynamic
loading merupakan suatu routine tidak diload sampai dipanggil. Semua routine
disimpan pada disk sebagai format
relocatable load. Mekanismedasar:
• Program utama diload dahulu dan dieksekusi.
• 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 pernahdi-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
• Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading
o 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
librarykarena:
• Systemlibrarydipakaibersama
• Mengurangi pemakaian space : satu rutin library di memori digunakan secara bersama oleh sekumpulan prosesContoh: DLL Win32Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library jika routine tidak tersedia saat itu) :
• Mengurangi pemakaian space : satu rutin library di memori digunakan secara bersama oleh sekumpulan prosesContoh: DLL Win32Mekanisme 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 :
• 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.File dynamiclinking
berekstensi ( .sys),(.drv), dan lain-lain.
o 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
• OS memberitahu hanya jika terdapat I/O yang melebihi biasanya
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 beberapa
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
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
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
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 yang telah 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.
Teknik
swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana
ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan
mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses
dengan prioritas yang lebih tinggi tersebut. Saat proses dengan prioritas yang
lebih tinggi telah selesai dieksekusi maka proses yang memiliki prioritas lebih
rendah dapat dimasukkan kembali ke dalam memori dan kembali dieksekusi.Sebagian
besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi
berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat
penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar
20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar
5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps =
250 ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan kapan membebaskan ruang memori tersebut.Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan pada buffer sistem operasi.Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang digunakannya.
Sebagai contoh pada UNIX, swapping pada
dasarnya tidak diaktifkan, namun akan dimulai jika banyak proses yang
membutuhkan alokasi memori yang banyak. Swapping akan dinonaktifkan kembali
jika jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft
Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada cukup
ruang di memori untuk menampungnya, proses yang lebih dulu ada di memori akan
dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan teknik
swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam
menentukan proses mana yang akan ditukar daripada penjadwal CPU.
Dengan ketentuan
seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke
memori hingga pengguna memilih proses tersebut untuk dijalankan.Pencatatan
pemakain memoriMemori yang tersedia harus dikelola, dilakukan dengan pencatatan
pemakaianmemori.Pencatatan memakai peta bit.Memori dibagi menjadi unit-unit
alokasi,berkorespondensi dengan tiap unitalokasi 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 alokasimemori, 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 unitalokasi.
banyak disiakan pada unit terakhir jika ukuran proses bukan kelipatan unitalokasi.
Keunggulan :
*Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang
berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
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.
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 sudahtercatat di node.
* Memori yang diperlukan relatif
lebih kecil.Kelemahan :
*Dealokasi sulit dilakukan karena
terjadi berbagai operasi penggabungan
1. Monoprogramming
Monoprogramming
sderhana 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
Masalah
proteksi di monoprogramming adalah cara untuk melindungi
rutin system operasi dari penghancuran program pemakai. Program
pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini dapat merusak system operasi. Proteksi diimplementasikan dengan menggunakan satu register batas di processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan register batas untuk memastikan proses tidak pemakai tidak merusak system operasi, yaitu tidak melewati nilai register batas.Register batas berisi alamat memori tertinggi yang dipakai system operasi.Jika program pemakai mencoba memasuki system operasi, instruksi diintersepsi dan job diakhiri dan diberi pesan kesalahan.
rutin system operasi dari penghancuran program pemakai. Program
pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini dapat merusak system operasi. Proteksi diimplementasikan dengan menggunakan satu register batas di processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan register batas untuk memastikan proses tidak pemakai tidak merusak system operasi, yaitu tidak melewati nilai register batas.Register batas berisi alamat memori tertinggi yang dipakai system operasi.Jika program pemakai mencoba memasuki system operasi, instruksi diintersepsi dan job diakhiri dan diberi pesan kesalahan.
Pengalolasian
Berurutan (Contigous Allocation)
Alokasi
memori secara berturutan adalah tiap proses menempati satu blok tunggal memori
yang berturutan
Multiprograming
Multiprogramming merupakan
banyak proses pada memori utama pada saat bersamaan. Alasan mengunakan
multiprogramming :
·
Mempermudah
pemogram karena pemrogram dapat memecah program menjadi dua proses atau lebih.
·
Dapat
memberi layanan interaktif ke beberapa orang secara simultan.
·
Efisiensi
penggunaan sumber daya.
·
Eksekusi
lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
·
Dapat
mengerjakan sejumlah job secara simultan
a.
Multiprogramming dengan Pemartisisan 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
b.
Multiprogramming dengan Permartisian Statis
Terbagi dua
:
1. Pemartisian menjadi partisi-partisi berukuran sama,
yaitu ukuran semua partisi memori adalah sama
2. Pemartisian menjadi partisi-partisi berukuran berbeda,
yaitu ukuran semua partisi memori adalah berbeda.
System 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.
Pencatatan
memakai peta bit
Memori dibagi menjadi unit-unit alokasi,
berkorespondensi dengan tiap unit alokasi, yaitu 1 bit pada bit map.
• nilai
0 pada peta bit berarti unit itu masih bebas
• nilai
1 berarti unit sudah 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
disiapkan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasiKeunggulan :
dealokasi
dapat dilakukan dengan mudah, hanya tinggal mengeset bit yang berkorespondensi
dengan unit yang telah tidak digunakan dengan 0.
Kelemahan
:
• dilakukan
penghitungan blok lubang memori saat unit memori bebas
• memerlukan
ukuran bit map besar untuk memori yang besar.
Pencatatan
memakai senarai berkait
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. Memori yang digunakan pada metode ini lebh
kecil dibandingkan dengan peta bit.
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 node di senarai
Strategi
Alokasi Memori
Alokasi harus mencari sekumpulan blok memori
yang ukurannya mencukupi
untuk
memuat proses,dimana lubang kosong yang sama atau lebih besar dibanding ukuran
memori yang diperlukanoleh proses. Macam strategi :
First-fit
Algorithm
Pencarian dimulai dari awal dan akan
berhenti jika ditemukan lokasi pertama yang cukup besar untuk menempatkan
proses tersebut.
Contoh
:
terdapat
partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6
Kbbila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 4 Kb.
Next-fit
Algorithm
Sama dengan
first-fit hanya saja pencarian tidak dimulai dari awal, tapi dari lokasi
terakhir kali menemukan segmen yang cocok dan akan berhenti jika ditemukan
lokasi pertama yang cukup besar untuk menempatkan proses tersebut.
Contoh
:
terdapat
partisi pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb bila
datang data yang berukuran 3 Kb dan pencarian partisi dimulai dari urutan
ketiga karena sebelumnya posisi terakhir pencarian di partisi kedua, maka data
tersebut akan menempati partisi ukuran 6 Kb.
Best-fit
Algorithm
Pencarian
dimulai dari awal dan akan berhenti jika ditemukan lokasi terkecil pertama yang
cukup untuk menempatkan proses tersebut.
Contoh
:
terdapat
partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6
Kbbila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 3 Kb.
Worst-fit
Algorithm
Pencarian
dimulai dari awal dan akan berhenti jika ditemukan lokasi yang paling besar
yang cukup untuk menempatkan proses tersebut.
Contoh
:
terdapat
partisi kosong pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 6 Kb.
Quick-fit
Algorithm
Cara
ini hanya cocok untuk pencatatan dengan linked list. Algoritma ini dirancang
dengan membuat list lubang. Lubang-lubang memori dimuat di list sesuai dengan
ukuran terdekatnya. sebagai contoh algoritma mengelola list lubang : 8 Kb, 12
Kb, 20 Kb, 40 Kb, 60 Kb, dst, maka jika ada lubang memori sebesar 42 Kb akan
ditempatkan di list 40.
Secara
umum, sistem operasi adalah perangkat lunak pada lapisan pertama yang
ditempatkan pada memori komputer pada saat
komputerdinyalakan booting.Memori maya menyebabkan sistem seolah-olah
memiliki banyak memori dibandingkan dengan keadaan memori fisik yang
sebenarnya.Berikut adalah keuntungan dari memori maya seperti large address space, proteksi, memori
mapping, fair physical allocation, dan shared virtual memory. Dalam
manajemen memori juga terdapat skema untuk menghubungkan antara ruang alamat
logika dan fisik. Berikut adalah skemanya :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 dimemoriProgram-program user hanya berurusan
dengan alamat logika saja. 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. Kemudian untuk pencatatan pemakain memori
terbagi dalam dua cara yaitu ,memakai bit dan senarai berakit. Memakai bit
berarti Memori
dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi,
yaitu 1 bit pada bit map. Sedangkan memakai senarai berakit yaitu Segmen memori
menyatakan memori untuk proses atau memori yang bebas
Demikian yang dapat kami paparkan
mengenai materi manajemen memori yang menjadi pokok bahasan dalam makalah ini,
tentunya masih banyak kekurangan dan kelemahanya. Karena terbatasnya
pengetahuan dan kurangnya rujukan atau referensi yang ada hubunganya dengan
judul makalah ini.
Penulis
banyak berharap para pembaca yang budiman sudi memberikan kritik dan saran yang
membangun kepada penulis demi sempurnanya makalah ini dan penulisan makalah di
kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada
khususnya juga para pembaca yang budiman pada umumnya.
cuncunnurhaento, A. (2014, 05 01). Konsep Dasar
Memori. Dipetik 09 11, 2017, dari Cuncunnurhaento:
http://cuncunnurhaento.blogspot.co.id
el-kameel, A. (2014, 05 01). Tulisan Knsep Dasar Memori. Dipetik 09
10, 2017, dari el-kameel: http:// el-kamee.blogspot.co.id
Tugas-Komputerku, A. (2012, 09 01). Pencatatan Pemakaian Memori.
Dipetik 09 12, 2017, dari tugas-tomputerku:
http://tugas-tomputerku.blogspot.co.id
Wikkipedia, A. (t.thn.). Pengertian Sistem Operasi. Dipetik 09 10,
2017, dari wikkipedia: http://wikkipedia.com
EmoticonEmoticon