sistem operasi _ manajemen memori

21
SISTEM OPERASI MANAJEMEN MEMORI ELISA GALUH SETYORINI 11100066 JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNIK

Upload: elissa-sarwohono

Post on 07-Feb-2016

63 views

Category:

Documents


3 download

DESCRIPTION

TI

TRANSCRIPT

Page 1: Sistem Operasi _ Manajemen Memori

SISTEM OPERASI

MANAJEMEN MEMORI

ELISA GALUH SETYORINI

11100066

JURUSAN TEKNIK INFORMATIKA

SEKOLAH TINGGI TEKNIK

CAHAYA SURYA

KEDIRI

2014

Page 2: Sistem Operasi _ Manajemen Memori

1. KONSEP DASAR MEMORI

Memori sebagai tempat penyimpanan instruksi/ data dari program

sehingga untuk dapat dieksekusi, program harus dibawa ke memori dan

menjadi suatu proses.Pengertian memori adalah pusat operasi pada modem

komputer, karena setiap proses yang akan dijalankan, harus melalui memori

terlebih dahulu.Manajemen Memori merupakan salah satu bagian terpenting

pada sistem operasi. Sejak awal komputer digunakan untuk keperluan

komputasi, kebutuhan akan memori yang lebih besar dibandingkan dengan

keadaan fisik memori di dalam sistem terus meningkat. Berbagai perhitungan

dan strategi terus dilakukan untuk mengatasi keterbatasan ukuran memori fisik.

Sistem operasi memberikan tanggapan terhadap manajemen memori

utama untuk aktivitas-aktivitas sebagai berikut:

1.    Menjaga dan memelihara bagian-bagian memori yang sedang digunakan

dan dari yang menggunakan.

2.    Memutuskan proses-proses mana saja yang harus dipanggil kememori

jika masih ada ruang di memori.

3.    Mengalokasikan dan mendelokasikan ruang memori jika diperlukan 

Media penyimpanan data di dalam komputer disebut sebagai memory

atau storage. Dalam hal ini pengertian memori terbagi menjadi 2 (dua), yaitu

internal memory dan external memory.

Ada dua pengaruh dari manajemen memori dalam pembuatannya, yaitu :

1.      Diinginkan bahwa memory management harus sesederhana mungkin.

2.      Ada kehendak supaya pemakai bisa fleksibel dalam penggunaannya.

Kebanyakan komputer, selain dilengkapi dengan memori utama (real

memory), dilengkapi juga dengan media penyimpanan yang paling umum

adalah disk, karena biayanya murah dan program dapat disimpan pada alat

penyimpanan sekunder ini, maka ukuran program tidak dibatasi oleh ukuran

memori utama, namun oleh ukuran ruang alamat logis komputer.

Page 3: Sistem Operasi _ Manajemen Memori

1.1. KONSEP BINDING

Binding adalah cara instruksi dan data (yang berada di disk sebagai

file yang dapat dieksekusi) dipetakan ke alamat memori.Binding instruksi

dan data ke memori dapat dapat terjadi dalam tiga cara yang berbeda,yaitu:

Compilation Time Jika kita tahu dimana proses akan ditempatkan di

memori pada saat mengkompilasi, maka kode absolut dapat dibuat. Kita

harus mengkompilasi ulang kode jika lokasi berubah.

Load TimeKita harus membuat kode relokasi jika pada saat

mengkompilasi kita tidak mengetahui proses yang akan ditempatkan

dalam memori. Pada kasus ini, binding harus ditunda sampai load time.

Execution TimeBinding harus ditunda sampai waktu proses berjalan

selesai jika pada saat dieksekusi proses dapat dipindah dari satu segmen

ke segmen yang lain di dalam memori. Kita butuh perangkat keras

khusus untuk melakukan ini.

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

1.2. DYNAMIC LOADING

Dengan dynamic loading, suatu routine tidak diload sampai dipanggil.

Semua routine disimpan pada disk sebagai format relocatable load

Mekanisme dasar Dynamic Loading, yaitu :

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.

Page 4: Sistem Operasi _ Manajemen Memori

1.3. DYNAMIC LINKING

Dynamic Linking adalah  proses dengan banyak langkah, ditemukan

juga penghubung-penghubung pustaka yang dinamis, yang menghubungkan

semua rutin yang ada di pustaka. Beberapa sistem operasi hanya mendukung

penghubungan yang statis, dimana seluruh rutin yang ada dihubungkan ke

dalam suatu ruang alamat.

Setiap program memiliki salinan dari seluruh pustaka. Konsep

penghubungan dinamis, serupa dengan konsep pemanggilan dinamis.

 Pemanggilan lebih banyak ditunda selama waktu eksekusi, dari pada

lama penundaan oleh penghubungan dinamis. Keistimewaan ini biasanya

digunakan dalam sistem kumpulan pustaka, seperti pustaka bahasa subrutin.

Tanpa fasilitas ini, semua program dalam sebuah sistem, harus mempunyai

salinan dari pustaka bahasa mereka (atau setidaknya referensi rutin oleh

program) termasuk dalam tampilan yang dapat dieksekusi.

1.4. OVERLAY

Overlay merupakan suatu metode untuk memungkinkan suatu proses

yang membutuhkan memori yang cukup besar menjadi lebih sederhana.

Penggunaan overlays ini dapat menghemat memori yang digunakan dalam

pengeksekusian instruksi-instruksi. Hal ini sangat berguna terlebih jika

suatu program yang ingin dieksekusi mempunyai ukuran yang lebih besar

daripada alokasi memori yang tersedia.

Cara kerjanya yaitu pertama-tama membuat beberapa overlays yang

didasarkan pada instruksiinstruksi yang dibutuhkan pada satu waktu

tertentu. Setelah itu, membuat overlays drivernya yang digunakan sebagai

jembatan atau perantara antara overlays yang dibuat. Proses selanjutnya

ialah me-load instruksi yang dibutuhkan pada satu waktu ke dalam absolut

memori dan menunda instruksi lain yang belum di butuhkan pada saat itu.

Setelah selesai dieksekusi maka instruksi yang tertunda akan diload

menggantikan instruksi yang sudah tidak dibutuhkan lagi.

Page 5: Sistem Operasi _ Manajemen Memori

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.

ProteksiSetiap 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 AllocationDigunakan oleh Manajemen Memori

untuk membagi penggunaan memori fisik secara "adil" ke setiap proses

yang berjalan pada sistem.

Shared Virtual MemoryMeskipun 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 ialah alamat yang diturunkan oleh CPU. Sedangkan

alamat yang terdapat dalam memori disebut dengan alamat fisik. Pada saat

compile time dan load time alamat logika dan alamat fisik menunjukkan nilai

yang sama. Sedangkan pada saat execution time terjadi perbedaan antara

alamat logika dengan alamat fisik. Sedangkan alamat fisik yang berhubungan

dengan alamat logika disebut dengan ruang alamat fisik.

Page 6: Sistem Operasi _ Manajemen Memori

4. SWAPPING

Swapping adalah suatu proses dapat di-swap secara temporary keluar dari

memori dan dimasukkan ke backing store, dan dapat dimasukkan kembali ke

dalam memori pada eksekusi selanjutnya.

Ø  Backing store disk cepat yang cukup besar untuk mengakomodasi copy

semua memori image pada semua user; menyediakan akses langsung ke

memori image.

Ø  Roll out, roll in varian swapping yang digunakan dalam penjadualan

prioritas; proses dengan prioritas rendah di-swap out, sehingga proses

dengan prioritas tinggi dapat di-load dan dieksekusi.

Bagian terbesar dari swap time adalah transfer time, total transfer time

secara proporsional dihitung dari jumlah memori yang di swap.

5. PENCATATAN PEMAKAIAN MEMORI

Memori yang tersedia harus dikelola, dilakukan dengan pencatatan

pemakaian memori. Terdapat dua cara utama pencatatan pemakaian memori,

yaitu:

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.

Page 7: Sistem Operasi _ Manajemen Memori

Keunggulan dan Kelemahanya adalah :

·         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.

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. Setiap node list terdiri atas :

Informasi yang menyatakan adanya proses (p) dan hole (H).

Lokasi awal dan panjang lokasi.

·         Keunggulan :

Ø  Tidak harus dilakukan perhitungan blok lubang memori karena sudah tercatat di

node.

Ø  Memori yang diperlukan relatif lebih kecil dibandingkan peta bit.

·         Kelemahan :

Ø  Dealokasi sulit dilaksanakan mengingat akan terjadinya penggabungan antara

beberapa mode.

6.        MONOPROGRAMMING DAN MULTIPROGRAMMING

A. MONOPROGRAMMING

Bila program komputer yang dijalankan hanya satu jenis selama proses

berlangsung maka dikatakan mode kerja komputer itu adalah monoprogramming.

Selama komputer itu bekerja maka memory RAM seluruhnya di kuasai oleh

program tersebut. Jadi  RAM tidak dapat di masuki oleh program lain. Mode

serupa ini di temui pada komputer berbasis DOS.

Penempatan program di memory  diatur sedemikain rupa sehingga :

Page 8: Sistem Operasi _ Manajemen Memori

a)      BIOS selalu di ROM (BIOS)

b)      Sistem Operasi  di RAM bawah (alamat rendah)

c)      Program Aplikasi di RAM tengah (alamat sesudah OS terakhir)

d)     Data Sementara di RAM atas (alamat sesudah Aplikasi terakhir).

Bila sistem operasi telah selasai dimuat maka tampillah prompt di layar

monitor, dan itu adalah tanda bahwa komputer siap menerima program aplikasi.

Letakkan disk yang berisi program aplikasi pada diskdrive yang aktif lalu

eksekusi , sehingga program itu termuat  seluruhnya ke RAM. Dengan demikian

program aplikasi siap digunakan menurut semestinya.Kita lihat ketika komputer

mula-mula dinyalakan maka proses yang dibaca pertama kali adalah apa yang

tertulis di dalam ROM. Setelah semua perintah di adalam ROM BIOS selesai

dibaca maka komputer meminta kita memasukkan DOS ke dalam RAM-

nya.Ketika DOS dibaca maka diletakkan sebagian dari program DOS yang

terpenting saja ke dalam RAM, seperti : COMMAND.COM  dan INTERNAL

COMMAND. Sedangkan program DOS yang lain masih tetap di dalam disk dan

apabila kita perlukan dapat di eksekusi. Hal itu berguna untuk mrnjaga agar RAM

tidak penuh oleh Sistem Operasi saja.

Ketika kita bekerja dengan program aplikasi tasdi maka kita akan menghasilkan

data. Data itu akan di simpan sementara di RAM yang masih tersisa. Data yang

disimpan di RAM bersifat voletile, artinya data hanya bisa bertahan selama

catudaya komputer masih ON. Untuk berjaga-jaga biasakan menyimpan data ke

disk dalam jangka waktu yang tidak terlalu lama, misalnya setiap 5 menit sekali.

Selain menjaga data agar tidak amblas menyimpan ke disk bertujuan juga untuk

mengosongkan RAM agar tidak cepat penuh.

Didalam sistem  juga dapat kita lihat bahwa sistem operasi terletak berdekatan

dengan program lain di RAM  sehingga kemungkinan sistem operasi ter ganggu

atau terubah oleh proses yang sedang berjalan sangat besar .Hal itu tidak boleh

terjadi.Untuk mencegah terganggu sitem operasi tersebut maka alamat tertinggi

dari sistem operasi dletakkan pada register batas dalam CPU. Jika ada proses yang

mengacu ke alamat itu atau yang lebih rendah dari itu maka proses di hentikan

dan program akan menampilkan pesan kesalahan.

Page 9: Sistem Operasi _ Manajemen Memori

B. MULTIPROGRAMMING

Untuk sistem komputer yang berukuran besar (bukan small computers),

membutuhkan pengaturan memori, karena dalam multiprogramming akan

melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat

lebih dari satu proses bersamaan.Oleh karena itu dibutuhkan sistem operasi yang

mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut saling

bertentangan, yaitu :

a)      Pemisahan ruang-ruang alamat.

b)      Pemakaian bersama memori.

Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap proses

agar mencegah proses aktif atau proses yang ingin berlaku jahat mengakses dan

merusak ruang alamat proses lain. Manajer memori di lingkungan

multiprogramming sekalipun melakukan dua hal, yaitu :

a)      Proteksi memori dengan isolasi ruang-ruang alamat secara dis-joint.

b)      Pemakaian bersama memori.

Memungkinkan proses-proses bekerja sama mengakses daerah memori

bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat

ditingkatkan.  Sebuah model untuk mengamati pemakaian CPU secara

probabilistic :

CPU utilization = 1 – p n

Dengan :

a)      N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan

bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU

menganggur) adalah sebesar pn. Fungsi dari n disebut sebagai degree of

multiprogramming.

b)      P menunjukkan  besarnya waktu yang digunakan sebuah proses

7.        PENGALOKASIAN BERURUTAN

Page 10: Sistem Operasi _ Manajemen Memori

Pada Multiprogramming memori utama harus mengalokasikan tempat

untuk sistem operasi dan beberapa user proses. Memori harus mengakomodasi

baik OS dan proses user Memori dibagi menjadi 2 partisi :

Untuk OS yang resident

Untuk Proses User

Ø  Ada 2 tipe Contiguos Allocation :

Single Partition (Partisi Tunggal)

Multiple Partition (Partisi Banyak)

›      Ruang kosong blok memori yang tersedia, ruang kosong dengan

berbagai ukuran tersebar pada memori

›      Proses akan dialokasikan memori pada ruang kosong yang cukup besar

untuk ditempatinya

›      OS akan mengelola informasi mengenai :

›      Partisi yang dialokasikan

›      Partisi bebas (ruang kosong)

›      Contoh multiple allocation

Ø  Single Partition (Partisi Tunggal)

Pada skema ini, diasumsikan OS ditempatkan di memori rendah, dan proses

user dieksekusi di memori tinggi

Proteksi dapat dilakukan dengan dengan menggunakan register relokasi dan

register limit

Register relokasi berisi nilai dari alamat fisik terkecil

Register Limit berisi jangkauan alamat logika

Alamat logika harus lebih kecil dari register limit

7.1.            MULTIPROGRAMMING DENGAN PARTISI STATIS

Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu :

a. Mempermudah pemogram.

Pemogram dapat memecah program menjadi dua proses atau lebih.

b. Agar dapat memberi layanan interaktif ke beberapa orang secara

simultan.Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses

Page 11: Sistem Operasi _ Manajemen Memori

dimemori agar memperoleh kinerja yang baik.

c. Efisiensi penggunaan sumber daya.

Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang

bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat

meningkatkan efisiensi sistem.

d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.

e. Dapat mengerjakan sejumlah job secara simultan.

Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori

dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut

proses-proses ditempatkan. Pemartisian statis berdasarkan ukuran partisi-

partisinya terbagi dua, yaitu :

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.

7.2.            MULTIPROGRAMMING DENGAN PARTISI DINAMIS

Pemartisian statis tidak menarik karena terlalu banyak diboroskan proses-proses

yang lebih kecil dibanding partisi yang ditempatinya. Dengan pemartisian dinamis

maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu

secara dinamis. Proses yang akan masuk ke memori segera dibuatkan paritisi

untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitasi memori.

·         Kelemahan pemartisian dinamis adalah :

a. Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai.

b. Merumitkan alokasi dan dealokasi memori

7.3.            SISTEM BUDDY

Sistem buddy merupakan cara mengelola memori utama dengan memanfaatkan

kelebihan penggunaan bilangan biner. Jika suatu proses berukuran 35 Kbyte,

maka proses tersebut akan di tempatkan pada lubang 64 Kbyte, dan akan

Page 12: Sistem Operasi _ Manajemen Memori

menyisakan 29 Kbyte. Hal ini sering disebut dengan istilah internal

fragmentation, sebab sisi memori yang terbuang tersebut berasal dari segmen

internalnya sendiri. Namun, dengan memakai sistem buddy ini, dealokasi proses

dapat dilakukan dengan cepat.

8.        PENGALOKASIAN TAK BERURUT

PAGING

Salah satu cara mengatasi external fragmentation(munculnya lubang-

lubang yang tidak cukup besar untuk menampung permintaan dari proses). adalah

membentuk teknik pengalokasian non-contigous(tidak berurutan). Paging adalah

teknik yang berorientasi hardware untuk mengelola memori fisik. Paging

digunakan agar program yang besar dapat berjalan pada komputer yang

mempunyai memori fisik yang kecil.

Dalam sistem paging, hardware memori virtual membagi alamat logis

menjadi dua bagian, yaitu virtual page number atau disebut juga page number dan

word offset dalam page. Hardware melakukan pembagian ini dengan menyekat

atau memisahkan bit alamat, yaitu bit high order menjadi page number dan bit low

order menjadi offset. Unit memori yang menyimpan page disebut page frame

( kerangka frame ), atau kadang disebut block, untuk membedakan mereka dengan

page virtual. Untuk sistem yang baru, page mframe mempunyai jangkauan 512

sampai 4096 byte.

Sebagai bagian dari peta page, sistem pengoperasian memelihara atau

mengelola page tabel yang menyimpan berbagai bagian informasi mengenai page

program. Page tabel terdiri atas sejumlah page tabel entries, dan setiap page tabel

entries menyimpan informasi mengenai page tertentu. Virtual page number

berfungsi sebagai offset terhadap page table.

Konsep Dasar

Memori fisik dibagi menjadi blok-blok dengan ukuran tertentu disebut

frame. Sedangkan memori logika dibagi menjadi blok-blok yang disebut page.

Page 13: Sistem Operasi _ Manajemen Memori

Setiap alamat yang diberikan oleh CPU dibagi menjadi 2 bagian, yaitu nomor

page (p) dan offset (d).

·         Page number (p) digunakan sebagai indeks ke dalam table page (page table).

Page table berisi alamat basis dari setiap page pada memori fisik.

·         Page offset (d) mengkombinasikan alamat basis dengan page offset untuk

mendefinisikan alamat memori fisik yang dikirim ke unit memori.

Sistem Paging :

Kerugian dan keuntungan paging

1.      Jika kita membuat ukuran dari masing-masing pages menjadi besar:

·         Keuntungan: akses memori akan relatif lebih cepat.

·         Kerugian: kemungkinan terjadinya fragmentasi internal yang sangat besar.

2.      Jika kita membuat ukuran dari masing-masing pages menjadi kecil:

·         Keuntungan: akses memori akan relatif lebih lambat.

·         Kerugian: kemungkinan terjadinya fragmentasi internal akan menjadi lebih

kecil.

Istilah sistem paging

·         Alamat Maya :

alamat yang dihasilkan dengan perhitungan index register, base register, dan

segmen register, dll. Ruang alamat yang dibentuk alamat maya disebut ruang

alamat maya.

·         Memori management unit (MMU):

Chip atau kumpulan chip yang memetakan alamat maya ke alamat fisik.

·         Alamat Nyata :

Alamat Nyata adalah alamat yang tersedia di memori utama fisik.

·         Page :

Unit terkecil ruang alamat maya. Ruang alamat maya proses merupakan kelipatan

page yang berukuran sama

SEGMENTASI

Page 14: Sistem Operasi _ Manajemen Memori

Segmentasi adalah skema pengaturan memori yang mendukung user untuk

melihat memori tersebut. Tiap-tiap segmen memiliki nama dan panjang.

Pandangan user mengenai memori:

›      Dukungan Hardware :

–   Pemetaan ke alamat fisik dilakukan dengan menggunakan tabel segmen, masing-

masing berisi base dan limit