Anda di halaman 1dari 10

TUGAS ARSITEKTUR DAN ORGANISASI KOMPUTER

Disusun Oleh : Agin Dwindah Aprilla 123100046

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UPNVETERAN YOGYAKARTA 2012

MANAGING MEMORY A. SWAPPING Swapping (tukar menukar) ==> antrian panjang dari proses yang disimpan dalam disk 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.

Teknik swapping yang sudah dimodifikasi ditemui pada beberapa sistem misalnya Linux, UNIX dan Windows.

B. PARTITIONING Memori utama biasanya dibagi ke dalam dua partisi yaitu untuk Sistem operasi biasanya diletakkan pada alamat memori rendah dengan vektor interupsi Proses user yang diletakkan pada alamat memori tinggi. Alokasi proses user pada memori berupa single partition allocation atau multiple partition allocation. Pengalokasian memori dibagi 2 tipe, yaitu : 1. Pengalokasian berurutan (Contiguous Allocation) 2. Pengalokasian tidak berurutan (Non Contiguous Allocation) Pengalokasian berurutan (Contiguous Allocation) Pada Multiprogramming memori utama harus mengalokasikan tempat untuk sistem operasi dan beberapa user proses Memori harus mengakomodasi baik OS dan proses user Ada 2 tipe Contiguos Allocation : 1. Single Partition (Partisi Tunggal) 2. Multiple Partition (Partisi Banyak) 1. 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

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)

2. Multiple Partition (Partisi Banyak) Ada 2 skema dalam Multiple Partition Allocation :

Partisi Fixed Size (MFT)

1. Memori dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam 2. Setiap partisi berisi tepat 1 proses 3. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT) 4. Masalah yang muncul pada MFT :

Sifat Program dinamis (alokasi dan dealokasi) Memori yang teralokasi mungkin lebih besar dari memori yang diminta, sehingga mengakibatkan fragmentasi internal

Partisi variable Size (MVT)

1. Pembagian memori sesuai dengan request dari proses-proses yang ada 2. Peranan memori manajemen semakin penting : list dari partisi yang digunakan, free dll 3. Masalah pada MVT :

Terjadi fragmentasi external Ruang memori free tapi tidak contiguous Hole-hole ada diantara proses Tidak dapat digunakan karena proses menggunakannya

terlalu

besar

untuk

Pada MVT OS akan menyimpan tabel yang berisi bagian memori yang tersedia dan yang digunakan : Mula-mula,semua memori tersedia untuk proses user sebagai satu blok besar (large hole). Bila proses datang dan memerlukan memori, dicari hole yang cukup untuk proses tersebut. Bila ditemukan, memory manager akan mengalokasikan sejumlah memori yang dibutuhkan dan menyimpan sisanya untuk permintaan berikutnya. Contoh : Diasumsikan tersedia memori 2560 Kb dan untuk OS 400 Kb. Sisa 2160 Kb digunakan untuk user proses. Diasumsikan terdapat 5 job (P1 s/d P5) terdapat pada input queue. Diasumsikan penjadwalan FCFS digunakan untuk load job ke memori. Penjadwalan CPU secara Round Robin (quantum time =1) untuk penjadwalan job yang sudah ada di memori. Job Queue

Proses

memori

time

P1

600 K

10

P2

1000 K

P3

300 K

20

P4

700 K

P5

500 K

15

Menggunakan MVT, terdapat beberapa kali hole untuk ukuran berbeda : Bila proses datang dan memerlukan memori, dicari dari hole yang cukup untuk proses. Dynamic Storaimege Allocation dapat dilibatkan untuk memenuhi permintaan ukuran n dari hole bebas : First Fit : alokasi hole yang pertama yang memenuhi permintaan

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 Kb bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 4 Kb. Best Fit : alokasi hole terkecil yang memenuhi permintaan

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 Kb bila datang data yang berukuran 3 Kb maka akan menempati partisi ukuran 3 Kb. Dalam strategi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah terurut. Worst Fit : alokasi hole terbesar.

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. Strategi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah terurut. Di antara algoritma di atas, first fit dan best fit lebih baik dibandingkan worst fit dalam hal menurunkan waktu dan utilitas penyimpanan. Dan First Fit lebih cepat.

C. PAGGING membagi memory dalam ukuran yang sama, dalam potongan kecil (disebut bingkai halaman). Membagi program (proses) dalam potongan kecil berukuran sama Mengalokasikan jumlah bingkai halaman yang diperlukan untuk sebuah proses Sistem Operasi mengelola daftar bingkai yang bebas (tidak digunakan) Sebuah proses tidak memerlukan bingkai halaman yang berdampingan Menggunakan tabel halaman untuk menjaga alur kerja Paging > Mempersiapkan resource untuk proses yang akan dijalankan Alamat yang dibangkitkan CPU dibagi menjadi : a) Page number (p) : digunakan sebagai index ke page table. Page table berisi alamat basis dari setiap page pada memori fisik b) Page Offset (d) : dikombinasikan dengan alamat basis untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori

Skema translasi alamat

Model Paging

Ukuran page atau frame ditentukan oleh hardware Ukuran page merupakan bilangan 2 pangkat k mulai 512 sampai 8192 tergantung arsitektur computer

Segmentasi Virtual Memory

Beberapa sistem, seperti sistem Burroughs besar, tidak menggunakan paging untuk mengimplementasikan memori virtual. Sebaliknya, mereka menggunakan segmentasi, sehingga virtual address space sebuah aplikasi dibagi menjadi segmen variabel-panjang. Alamat maya terdiri dari beberapa segmen dan offset dalam segmen tersebut. Terutama, didukung Intel 80286 skema segmentasi yang sama sebagai pilihan, tapi itu tidak digunakan oleh sistem operasi. Hal ini dimungkinkan untuk menggabungkan segmentasi dan paging, biasanya membagi segmen ke halaman masing-masing. Dalam sistem yang menggabungkan mereka, seperti Multics dan System/38 IBM dan IBM System i mesin, memori virtual biasanya diimplementasikan dengan Pager, dengan segmentasi digunakan untuk menyediakan perlindungan memori. Dengan Intel 80386 dan kemudian IA-32 prosesor, segmen berada dalam ruang alamat 32-bit linear paged, sehingga segmen dapat dipindahkan ke dalam dan keluar dari ruang alamat linier, dan halaman di ruang alamat linier dapat dipindahkan masuk dan keluar dari memori utama , menyediakan dua tingkat memori virtual, namun jika ada beberapa sistem operasi melakukannya. Sebaliknya, mereka hanya menggunakan paging. Perbedaan antara implementasi memori virtual menggunakan halaman dan menggunakan segmen bukan hanya tentang pembagian memori dengan ukuran tetap dan variabel, masing-masing. Dalam beberapa sistem, umpamanya Multics, atau kemudian System/38 dan mesin Perdana, segmentasi itu

sebenarnya terlihat oleh pengguna proses, sebagai bagian dari semantik model memori. Dengan kata lain, bukan sebuah proses hanya memiliki memori yang tampak seperti vektor besar tunggal byte atau kata-kata, itu lebih terstruktur. Hal ini berbeda dengan menggunakan halaman, yang tidak mengubah model terlihat pada proses. Hal ini memiliki konsekuensi penting. Segmen bukan hanya halaman "dengan panjang variabel", atau cara sederhana untuk memperpanjang ruang alamat (seperti pada Intel 80286). Dalam Multics, segmentasi itu merupakan mekanisme yang sangat kuat yang digunakan untuk menyediakan model memori virtual single-level, di mana tidak ada pembedaan antara "memori proses" dan "file system" - sebuah proses 'ruang alamat aktif hanya terdiri daftar segmen (file) yang dipetakan ke ruang alamat potensi, baik kode dan data. Hal ini tidak sama dengan fungsi mmap kemudian di Unix, karena antar-file pointer tidak bekerja saat file pemetaan ke semi- sewenang-wenang tempat. Multics memiliki seperti mode pengalamatan dibangun ke instruksi paling. Dengan kata lain itu bisa melakukan pindah referensi antar-segmen, sehingga menghilangkan kebutuhan untuk linker yang sepenuhnya. ini juga bekerja ketika proses yang berbeda memetakan file yang sama ke tempat yang berbeda dalam ruang alamat pribadi mereka

Anda mungkin juga menyukai