Wednesday, April 12, 2017

Manajemen Memori

Manajemen  Memori
Memori  adalah  pusat  dari  operasi  pada  sistem  komputer  modern.  Memori  adalah array  besar  dari  word  atau  byte,  yang  disebut  alamat.  CPU  mengambil  instruksi dari  memory  berdasarkan  nilai  dari  program  counter.  Instruksi  ini  menyebabkan penambahan  muatan  dari  dan  ke  alamat  memori  tertentu.  Instruksi  eksekusi yang  umum,  contohnya,  pertama  mengambil  instruksi  dari  memori.  Instruksi dikodekan  dan  mungkin  mengambil  operand  dari  memory.  Setelah  instruksi dieksekusi  pada  operand,  hasilnya  ada  yang  dikirim  kembali  ke  memory.  Unit memory  hanya  merupakan  deretan  alamat  memory;  tanpa  tahu  bagaimana membangkitkan  (instruction  counter,  indexing,  indirection,  literal  address  dan lainnya)  atau  untuk  apa  (instruksi  atau  data).  Oleh  karena  itu,  kita  dapat mengabaikan  bagaimana  alamat  memori  dibangkitkan  oleh  program,  yang  lebih menarik  bagaimana  deretan  alamat  memori  dibangkitkan  oleh  program  yang sedang berjalan. Pengikatan  alamat  adalah  cara  instruksi  dan  data  (yang  berada  di  disk  sebagai file  yang  dapat  dieksekusi)  dipetakan  ke  alamat  memori.  Sebagian  besar  sistem memperbolehkan  sebuah  proses  user  (user  process)  untuk  meletakkan  di sembarang  tempat  dari  memori  fisik.  Sehingga,  meskipun  alamat  dari  komputer dimulai  pada  00000,  alamat  pertama  dari  proses  user  tidak  perlu  harus  dimulai 00000.  Alamat  pada  source  program  umumnya  merupakan  alamat  simbolik. Sebuah  compiler  biasanya  melakukan  pengikatan  alamat  simbolik  (symbolic address)  ke  alamat  relokasi  dipindah  (relocatable  address).  Misalnya  compiler mengikatkan  alamat  simbolik  ke  alamat  relokasi  ―14  byte  from  the  beginning  of this  module‖.  Editor  Linkage  mengikatkan  alamat  relokasi  ini  ke  alamat  absolute (absolute  addresses)  ―74014‖. Instruksi  pengikatan  instruksi  dan  data  ke  alamat  memori  dapat  dilakukan  pada saat  :   Compile  time  :  Jika  lokasi  memori  diketahui  sejak  awal,  kode  absolut  dapat dibangkitkan,  apabila  terjadi  perubahan  alamat  awal  harus  dilakukan kompilasi  ulang.     Load  time  :  Harus  membangkitkan  kode  relokasi  jika  lokasi  memori  tidak diketahui  pada  saat  waktu  kompilasi.   Execution  time  :  Pengikatan  ditunda  sampai  waktu  eksekusi  jika  proses dapat  dipindahkan  selama  eksekusi  dari  satu  segmen  memori  ke segmen  memori  lain.  Memerlukan  dukungan  perangkat  keras  untuk memetakan  alamat  (misalnya  register basis dan  limit).
Alamat  Logika  dan  Alamat  Fisik
Alamat  yang  dibangkitkan  oleh  CPU  disebut  alamat  logika  (logical  address) dimana  alamat  terlihat  sebagai  uni  memory  yang  disebut  alamat  fisik  (physical address).  Tujuan  utama  manajemen  memori  adalah  konsep  meletakkan  ruang alamat  logika  ke  ruang  alamat  fisik. Hasil  skema  waktu  kompilasi  dan  waktu  pengikatan  alamat  pada  alamat    logika dan  alamat  memori  adalah  sama.  Tetapi  hasil  skema  waktu  pengikatan  alamat waktu  eksekusi  berbeda.  dalam  hal  ini,  alamat  logika  disebut  dengan  alamat maya  (virtual  address).  Himpunan  dari  semua  alamat  logika  yang  dibangkitkan oleh  program  disebut  dengan  ruang  alamat  logika  (logical  address  space); himpunan  dari  semua  alamat  fisik  yang  berhubungan  dengan  alamat  logika disebut  dengan  ruang alamat  fisik  (physical  address space).   Memory  Manajement  Unit  (MMU)  adalah  perangkat  keras  yang  memetakan alamat  virtual  ke  alamat  fisik.  Pada  skema  MMU,  nilai  register  relokasi   tambahkan  ke  setiap  alamat  yang  dibangkitkan  oleh  proses  user  pada  waktu dikirim  ke  memori.
Swapping
Sebuah  proses  harus  berada  di  memori  untuk  dieksekusi.  Proses  juga  dapat ditukar  (swap)  sementara  keluar  memori  ke  backing  store  dan  kemudian    dibawa kembali  ke  memori  untuk  melanjutkan  eksekusi.  Backing  store  berupa  disk  besar dengan  kecepatan  tinggi  yang  cukup  untuk  meletakkan  copy  dari  semua  memory image  untuk  semua  user,  sistem  juga  harus  menyediakan  akses  langsung  ke memory  image  tersebut.  Contohnya,  sebuah  lingkungan  multiprogramming dengan  penjadwalan  CPU  menggunakan  algoritma  round-robin.  Pada  saat  waktu kuantum  berakhir,  manajer  memori  akan  memulai  untuk  menukar  proses  yang baru  selesai  keluar  dan  menukar  proses  lain  ke  dalam  memori  yang  dibebaskan .

Share:

0 comments:

Post a Comment

BTemplates.com

Powered by Blogger.