Anda di halaman 1dari 6

MANAJEMENMEMORISISTEMOPERASI

ManajemenMemori
Memoriadalahpusatdarioperasipadasistemkomputermodern,berfungsisebagaitempat
penyimpananinformasiyangharusdiaturdandijagasebaikbaiknya.Memoriadalaharraybesar
dariwordataubyte,yangdisebutalamat.CPUmengambilinstruksidarimemoryberdasarkan
nilaidariprogramcounter.
Sedangkanmanajemenmemoriadalahsuatukegiatanuntukmengelolamemorikomputer.Proses
inimenyediakancaramengalokasikanmemoriuntukprosesataspermintaanmereka,
membebaskanuntukdigunakankembaliketikatidaklagidiperlukansertamenjagaalokasiruang
memoribagiproses.Pengelolaanmemoriutamasangatpentinguntuksistemkomputer,penting
untukmemprosesdanfasilitasmasukan/keluaransecaraefisien,sehinggamemoridapat
menampungsebanyakmungkinprosesdansebagaiupayaagarpemogramatauprosestidak
dibatasikapasitasmemorifisikdisistemkomputer.

a.JenisMemori
MemoriKerja
ROM/PROM/EPROM/EEPROM
RAM
Cachememory

MemoriDukung
Floppy
Harddisk
CD

b.Fungsimanajemenmemori:
Manajemenmemorimerupakansalahsatubagianterpentingdalamsistemoperasi.Memoriperlu
dikelolasebaikbaiknyaagar:
1.UtilitasCPUmeningkat.
2.DatadaninstruksidapatdiaksesdengancepatolehCPU.
3.Tercapaiefisiensidalampemakaianmemoriyangterbatas.
4.Transferdatadari/kememoriutamake/dariCPUdapatlebihefisien.
5.Mengelolainformasiyangdipakaidantidakdipakai.
6.Mengalokasikanmemorikeprosesyangmemerlukan.
7.Mendealokasikanmemoridariprosestelahselesai.
8.Mengelolaswappingataupagingantaramemoriutamadandisk.

1.IsiMemori
Instruksieksekusiyangumum,contohnya,pertamamengambilinstruksidarimemori.Instruksi
dikodekandanmungkinmengambiloperanddarimemory.Setelahinstruksidieksekusipada
operand,hasilnyaadayangdikirimkembalikememory.Sebagaicatatan,unitmemoryhanya
merupakanderetanalamatmemorytanpatahubagaimanamembangkitkan(instructioncounter,
indexing,indirection,literaladdressdanlainnya)atauuntukapa(instruksiataudata).Oleh
karenaitu,kitadapatmengabaikanbagaimanaalamatmemoridibangkitkanolehprogram,yang
lebihmenarikbagaimanaderetanalamatmemoridibangkitkanolehprogramyangsedang
berjalan.

a.PengikatanAlamat(AddressBinding)
Pengikatanalamatadalahcarainstruksidandata(yangberadadidisksebagaifileyangdapat
dieksekusi)dipetakankealamatmemori.Sebagianbesarsistemmemperbolehkansebuahproses
user(userprocess)untukmeletakkandisembarangtempatdarimemorifisik.Sehingga,
meskipunalamatdarikomputerdimulaipada00000,alamatpertamadariprosesusertidakperlu
harusdimulai00000.Instruksipengikataninstruksidandatakealamatmemoridapatdilakukan
padasaat:
oCompiletime
Jikalokasimemoridiketahuisejakawal,kodeabsolutdapatdibangkitkan,apabilaterjadi
perubahanalamatawalharusdilakukankompilasiulang.
oLoadtime
Harusmembangkitkankoderelokasijikalokasimemoritidakdiketahuipadasaatwaktu
kompilasi.
oExecutiontime
Pengikatanditundasampaiwaktueksekusijikaprosesdapatdipindahkanselamaeksekusidari
satusegmenmemorikesegmenmemorilain.

b.DinamicLoading
Untukmemperolehutilitasruangmemori,dapatmenggunakandynamicloading.Dengan
dynamicloading,sebuahrutintidakdisimpandimemorisampaidipanggil.Semuarutin
disimpanpadadiskdalamformatrelocatableload.Mekanismedaridynamicloadingadalah
programutamadiloaddahuludandieksekusi.Bilasuaturoutineperlumemanggilroutinelain,
routineyangdipanggillebihdahuludiperiksaapakahrutinyangdipanggilsudahdiload.Jika
tidak,relocatablelinkingloaderdipanggiluntukmeloadrutinygdimintakememoridan
mengubahtabelalamat.
Keuntungandaridynamicloadingadalahrutinyangtidakdigunakantidakpernahdiload.
Skemainilebihbergunauntukkodedalamjumlahbesardiperlukanuntukmenangani
kasuskasusyangjarangterjadisepertierrorroutine.Dinamicloadingtidakmemerlukan
dukungankhususdarisistemoperasi.

c.DinamicLinking
Sebagianbesarsistemoperasihanyamensupportstaticlinking,dimanasistemlibrarylanguage
diperlakukansepertiobyekmodulyanglaindandikombinasikandenganloaderkedalambinary
programimage.Dinamiclinkingbiasanyadigunakandengansistemlibrary,sepertilanguage
subroutinelibrary.Tanpafasilitasini,semuaprogrampadasistemperlumempunyaicopydari
librarylanguagedidalamexecutableimage.Bagaimanapun,tidaksepertidynamicloading,
dynamiclinkingmembutuhkanbeberapadukungandarisistemoperasi

d.Overlay
Sebuahprosesdapatlebihbesardaripadajumlahmemoriyangdialokasikanuntukproses,teknik
overlaybiasanyadigunakanuntukkasusini.TeknikOverlaybiasanyadigunakanuntuk
memungkinkansebuahprosesmempunyaijumlahyanglebihbesardarimemorifisikdaripada
alokasimemoriyangdiperuntukkan.Overlaytidakmembutuhkandukungankhususdarisistem
operasi.Userdapatmengimplementasikannyasecaralengkapmenggunakanstrukturfile
sederhana,membacadarifilekememoridanmeloncatkememoridanmengeksekusiinstruksi
readyanglebihbaru.

2.RuangAlamatLogikaDanRuangAlamatFisik
AlamatyangdibangkitkanolehCPUdisebutalamatlogika(logicaladdress)dimanaalamat
terlihatsebagaiunimemoryyangdisebutalamatfisik(physicaladdress).Tujuanutama
manajemenmemoriadalahkonsepmeletakkanruangalamatlogikakeruangalamatfisik.Hasil
skemawaktukompilasidanwaktupengikatanalamatpadaalamatlogikadanalamatmemori
adalahsama.Tetapihasilskemawaktupengikatanalamatwaktueksekusiberbeda.dalamhalini,
alamatlogikadisebutdenganalamatmaya(virtualaddress).Himpunandarisemuaalamatlogika
yangdibangkitkanolehprogramdisebutdenganruangalamatlogika(logicaladdressspace)
himpunandarisemuaalamatfisikyangberhubungandenganalamatlogikadisebutdenganruang
alamatfisik(physicaladdressspace).MemoryManajementUnit(MMU)adalahperangkatkeras
yangmemetakanalamatvirtualkealamatfisik.PadaskemaMMU,nilairegisterrelokasi
ditambahkankesetiapalamatyangdibangkitkanolehprosesuserpadawaktudikirimke
memori.

3.Swapping
Swappingmerupakanpemindahanprosesdarimemoriutamakediskdankembalilagi.Sebuah
prosesharusberadadimemoriuntukdieksekusi.Prosesjugadapatditukar(swap)sementara
keluarmemorikebackingstoredankemudiandibawakembalikememoriuntukmelanjutkan
eksekusi.Backingstoreberupadiskbesardengankecepatantinggiyangcukupuntukmeletakkan
copydarisemuamemoryimageuntuksemuauser,sistemjugaharusmenyediakanakses
langsungkememoryimagetersebut.

4.AlokasiBerurutan
Memoriutamabiasanyadibagikedalamduapartisiyaituuntuk
oSistemoperasibiasanyadiletakkanpadaalamatmemorirendahdenganvektorinterupsi
oProsesuseryangdiletakkanpadaalamatmemoritinggi.
Alokasiprosesuserpadamemoriberupasinglepartitionallocationataumultiplepartition
allocation.

a.SinglePartitionAllocation
Padasinglepartitionallocationdiasumsikansistemoperasiditempatkandimemorirendahdan
prosesuserdieksekusidimemoritinggi.Kodedandatasistemoperasiharusdiproteksidari
perubahantakterdugaolehuserproses.

b.MultiplePartitionAllocation
Padamultiplepartitionallocation,mengijinkanmemoriuserdialokasikanuntukprosesyang
berbedayangberadadiantrianinput(inputqueue)yangmenunggudibawakememori.Terdapat
duaskemayaitupartisitetap(fixedpartition)dimanamemoridibagidalamsejumlahpartisitetap
dansetiappartisiberisitepatsatuproses.Jumlahpartisiterbataspadatingkatmultiprogramming.
DigunakanolehIBMOS/360yangdisebutMultiprogrammingwithaFixednumberofTask
(MFT).Skemayangkeduaadalahpartisidinamis(variablepartition)merupakanMFTyang
digeneralisasiyangdisebutMultiprogrammingwithaVariablenumberofTasks(MVT).

c.Fragmentasi
FragmentasiEksternalterjadipadasituasidimanaterdapatcukupruangmemoritotaluntuk
memenuhipermintaan,tetapitidakdapatlangsungdialokasikankarenatidakberurutan.
Fragmentasieksternaldilakukanpadaalgoritmaalokasidinamis,terutamastrategifirstfitdan
bestfit.FragmentasiInternalterjadipadasituasidimanamemoriyangdialokasikanlebihbesar
daripadamemoriyangdimintatetapiuntuksatupartisitertentuhanyaberukurankecilsehingga
tidakdigunakan.

5.Paging
a.KonsepDasarPaging
Pagingmerupakankemungkinansolusiuntukpermasalahanfragmentasieksternaldimanaruang
alamatlogikatidakberurutanmengijinkansebuahprosesdialokasikanpadamemorifisikyang
terakhirtersedia.Memorifisikdibagikedalamblokblokukurantetapyangdisebutframe.

b.ImplementasiSistemPaging
Setiapsistemoperasimempunyaimetodesendiriuntukmenyimpantabelpage.Beberapasistem
operasimengalokasikansebuahtabelpageuntuksetiapproses.Pointerketabelpagedisimpan
dengannilairegisterlainnyadariPCB.Padadasarnyaterdapat3metodeyangberbedauntuk
implementasitabelpage:
Tabelpagediimplementasikansebagaikumpulandaridedicatedregister.
Registerberuparangkaianlogikaberkecepatansangattinggiuntukefisiensitranslasialamat
paging.
Tabelpagedisimpanpadamainmemoridanmenggunakanpagetablebaseregiste(PTBR)
untukmenunjukketabelpageyangdisimpandimainmemori.Penggunakanmemoriuntuk
mengimplementasikantabelpageakanmemungkinkantabelpagesangatbesar(sekitar1juta
entry).
Menggunakanperangkatkerascacheyangkhusus,kecildancepatyangdisebutassociative
registeratautranslationlookasidebuffers(TLBs).Merupakansolusistandaruntuk
permasalahanpenggunaanmemoriuntukimplementasitabelpage.

c.Proteksi
Padamodelpage,proteksimemorimenggunakanbitproteksiyangdiasosiasikanuntuksetiap
frame.Biasanyabitproteksidisimpanpadatabelpage.Satubitmendifinisikansatupageuntuk
readandwriteataureadonly.Setiapacuankememorimelaluitabelpageuntukmenemukan
nomorframeyangbenar.Levelproteksiyanglebihbaikdapatdicapaidenganmenambahjumlah
bityangdigunakan.

d.MultilevelPaging
Modelmultilevelpagingdigunakanpadasistemyangmempunyairuangalamatlogikayang
sangatbesaryaituantara232s/d264.Padasistemini,tabelpageakanmenjadisangatbesar.
Misalnyauntuksistemdenganruangalamatlogika32bitdanukuranpage4Kbyte,makatabel
pageberisi1jutaentry(232/212).Solusinyayaitudenganmelakukanpartisitabelkebeberapa
beberapabagianyanglebihkecil.

e.SharedPage
Padaskemapaging,dimungkinkanuntuksharingkodeumum.Bentukinipentingterutamapada
lingkungantimesharing.Satucopyreadonlydibagikebeberapaproses(misalnyaeditorteks,
compilerdansistemwindow).Kodeyangdibagiharusberadapadalokasiruangalamatlogika
yangsamauntuksemuaproses.

6.Segmentasi
Segmentasiadalahskemamanajemenmemoriyangmemungkinkanuseruntukmelihatmemori
tersebut.Ruangalamatlogikaadalahkumpulansegmen.Setiapsegmenmempunyainamadan
panjang.Spesifikasialamatberupanamasegmendanoffset.Segmentdiberinomordandisebut
dengannomorsegmen(bukannamasegmen)atausegmentnumber.Segmendibentuksecara
otomatisolehcompiler.

a.KonsepDasarSegmentasi
Konsepsegmentasiadalahuseratauprogrammertidakmemikirkansejumlahrutinprogramyang
dipetakankemainmemorisebagaiarraylinierdalambytetetapimemoridilihatsebagai
kumpulansegmendenganukuranberbedabeda,tidakperluberurutandiantarasegmenttersebut.
Sebuahprogramadalahkumpulansegmen.Suatusegmenadalahunitlogikasepertiprogram
utama,prosedur,fungsi,metode,obyek,variabellokal,variabelglobal,blokumum,stack,tabel
simbol,arraydanlainlain
.
b.ArsitekturSegmentasi
Alamatlogikaterdiridariduabagianyaitunomorsegmen(s)danoffset(d)yangdituliskan
dengan.
Pemetaanalamatlogikakealamatfisikmenggunakantabelsegmen(segmenttable),terdiridari:
oSegmenbasis(base)berisialamatfisikawal
oSegmenlimitmerupakanpanjangsegmenSepertitabelpage,tabelsegmendapatberupa
registerataumemoriberkecepatantinggi.
oSegmenttablebaseregister(STBR)digunakanuntukmenyimpanalamatyangmenunjukke
segmenttable.
oSegmenttablelengthregister(STLR)digunakanuntukmenyimpannilaijumlahsegmenyang
digunakanprogram.
oUntukalamatlogika(s,d),pertamadiperiksaapakahsegmentnumberslegal(s<STLR),
kemudiantambahkansegmentnumberkeSTBR,alamathasil(STBR+s)kememoridari
segmenttable.

c.ProteksidanSharing
Proteksibitdapatdiletakkanpadatabelsegmen.Segmeninstruksidapatdiproteksisebagai
segmenreadonlyatauexecuteonly,segmendatadapatdiproteksisebagaisegmenreadwrite.
Pemetaanpadaperangkatkerasmemoryakanmemeriksabitproteksiuntukmencegahakses
yangillegal.

Anda mungkin juga menyukai