Penghitungan Alamat Absolute pada Paging
Alamat referensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat referensi tersebut haruslah ditranslasi ke alamat fisik memori utama yang sesungguhnya.
Pada gambar diatas merupakan contoh translasi alamat pada system paging. Diasumsikan system memori computer menggunakan pengalamatan 16 bit, 16 bit pertama untuk menunjukkan nomor page,10 bit, terakhir untuk menunjukkan nilai offset, yaitu alamat relative dalam suatu page. Dengan kata lain, tiap page berukuran 20 bit atau 1024 alamat. Misalnya dalam program terdapat kode instruksi jump[1502]. Alamat 1502 dalam kode program adlah alamat logika proses sehingga jika instruksi ini dieksekusi di prosesor maka lamat 1502 harus ditranslasi terlebih dahulu.
Pehitungan Alamat Absolut Pada Segmentasi
Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi.
Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848]. Pada saat eksekusi, berapakah alamat fisik hasil translasi dari referensi alamat logika 4848 pada instruksi jump tersebut?
Jika direpresentasikan dalam bentuk biner, alamt logika 4848 adalah 000100101111000, yang berarti nomor segmennya adalah 1 (0001) dan alamat offsetnya adalah 752 (001011110000). Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.
Minggu, 05 Juli 2009
perbedaan Partition, Segmentation dan Paging
Partisi
Bahasan pertama adalah review sekilas tentang partisi. Hard disk untuk bisa diisi sistem operasi, membutuhkan satu wadah, yang dinamakan partisi. Jika Anda terbiasa menggunakan Microsoft, partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan seterusnya.
Dengan membagi hard disk ke dalam beberapa partisi Anda dapat menjalankan berbagai sistem operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT.
Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama, disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika Anda ingin lebih dari 4 partisi, maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah lebih banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya merupakan wadah dari partisi logical. Contoh pengaturan hard disk dan nama yang biasa dipergunakan di Linux.
Segmentasi
Segmentasi adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari memori yang terdiri dari segmen-segmen. logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut (Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat keras, semua ini tidak dapat dilihat oleh user).
Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.
Paging
Membagi memory ke dalam chunks (bagian-bagian) kecil berukuran tetap dan
sama, dan membagi setiap proses ke dalam chunk berukuran sama tersebut
Chunks dari suatu proses dinamakan pages
Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut diperlukan.
Bahasan pertama adalah review sekilas tentang partisi. Hard disk untuk bisa diisi sistem operasi, membutuhkan satu wadah, yang dinamakan partisi. Jika Anda terbiasa menggunakan Microsoft, partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan seterusnya.
Dengan membagi hard disk ke dalam beberapa partisi Anda dapat menjalankan berbagai sistem operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT.
Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama, disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika Anda ingin lebih dari 4 partisi, maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah lebih banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya merupakan wadah dari partisi logical. Contoh pengaturan hard disk dan nama yang biasa dipergunakan di Linux.
Segmentasi
Segmentasi adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari memori yang terdiri dari segmen-segmen. logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut (Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat keras, semua ini tidak dapat dilihat oleh user).
Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.
Paging
Membagi memory ke dalam chunks (bagian-bagian) kecil berukuran tetap dan
sama, dan membagi setiap proses ke dalam chunk berukuran sama tersebut
Chunks dari suatu proses dinamakan pages
Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut diperlukan.
Pengalamatan Logical, Relative dan Physical
Pengalamatan Phyical
Pada meode pengalamatan memori secara fisik,alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memory utama yang sesungguhnya. Konsekuensinya adalah pada saat penyalinan image proses ke memori utama, maka kode instruksi dan data program harus disalin pada posisi yang sesuai dengan referensi tersebut. Pada saat eksekusi, prosesor akan memproses alamat pada kode instruksi program secara langsung tanpa melakukan translasi alamat memori.
Pengalamatan Relative
Pengalamatan relative terutama digunakan pada sistem yang menggunakan alokasi memori berurut, dimana keseluruhan image proses harus terletak di satu area memori yang utuh.
Alamat pada kode instruksi program merupakan alamat relatif(offset) terhadap posisi awal program. Pada saat image proses dari program tersebut disalin atau dialokasikan ke memori utama, alamat awal memorinya dicatat ke suatu register alokasi. Pada saat eksekusi, pemgaksesan alamatakan ditranslasi dengan menjumlahkan alamat referenai pada instruksi dengan isi registrasi alokasi untuk mendapatkan alamat fisik memori yang akan benar-benar diakses. Umumnya proses translasi ini dilakukan menggunakan perangkat keras khusus yang disebut dengan MMU(Memory Management Unit).
Pengalamatan logical
Pada pengalamatan secara logika, alamat yang ada pada kode program merupakan suatu alamat logika yang masih perlu diterjemahkan atau ditranslasikan kealamat fisik memori utama pada saat eksekusi. Umumnya , translasi almat untuk pengalamatannya secara logika terjadi pada saat eksekusi.
Kelebihan pengalamatan ini adalah relokasi program dapat dilakukan secara fleksibel, bahkan ruang atau kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori utama. Misalnya program dapat menggunakan ruang alamat logika sebesar 2Giga, sedangkan emori utama fisik di mana program tersebut dijalankan hanya memiliki kapasitas 256 Mega
Pada meode pengalamatan memori secara fisik,alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memory utama yang sesungguhnya. Konsekuensinya adalah pada saat penyalinan image proses ke memori utama, maka kode instruksi dan data program harus disalin pada posisi yang sesuai dengan referensi tersebut. Pada saat eksekusi, prosesor akan memproses alamat pada kode instruksi program secara langsung tanpa melakukan translasi alamat memori.
Pengalamatan Relative
Pengalamatan relative terutama digunakan pada sistem yang menggunakan alokasi memori berurut, dimana keseluruhan image proses harus terletak di satu area memori yang utuh.
Alamat pada kode instruksi program merupakan alamat relatif(offset) terhadap posisi awal program. Pada saat image proses dari program tersebut disalin atau dialokasikan ke memori utama, alamat awal memorinya dicatat ke suatu register alokasi. Pada saat eksekusi, pemgaksesan alamatakan ditranslasi dengan menjumlahkan alamat referenai pada instruksi dengan isi registrasi alokasi untuk mendapatkan alamat fisik memori yang akan benar-benar diakses. Umumnya proses translasi ini dilakukan menggunakan perangkat keras khusus yang disebut dengan MMU(Memory Management Unit).
Pengalamatan logical
Pada pengalamatan secara logika, alamat yang ada pada kode program merupakan suatu alamat logika yang masih perlu diterjemahkan atau ditranslasikan kealamat fisik memori utama pada saat eksekusi. Umumnya , translasi almat untuk pengalamatannya secara logika terjadi pada saat eksekusi.
Kelebihan pengalamatan ini adalah relokasi program dapat dilakukan secara fleksibel, bahkan ruang atau kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori utama. Misalnya program dapat menggunakan ruang alamat logika sebesar 2Giga, sedangkan emori utama fisik di mana program tersebut dijalankan hanya memiliki kapasitas 256 Mega
Langganan:
Postingan (Atom)