April 18, 2011

Tugas Sistem Operasi III

Tugas Mata Kuliah Sistem Operasi

Proteksi Memory

 

Proteksi adalah suatu mekanisme untuk mengontrol akses oleh program, proses atau user pada sistem maupun resource dari user. Masalah proteksi pada banyak partisi dengan banyak proses di satu sistem secara bersamaan dikhawatirkan

proses menggunakan atau memodifikasi daerah yang dikuasai proses lain (yang bukan haknya). Bila kejadian ini terjadi, maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi kacau.
Mekanisme sistem proteksi yang harus disediakan sistem meliputi :
  • Membedakan antara penggunaan yang sah dan yang tidak sah.
  • Menentukan kontrol yang terganggu.
  • Menetapkan cara pelaksanaan proteksi.
Proteksi pada monoprogramming sederhana.
Pada monoprogramming, pemakai mempunyai kendali penuh terhadap seluruh memori utama. Memori terbagi menjadi tiga bagian, yaitu :
a. Bagian yang berisi rutin-rutin sistem operasi.
b. Bagian yang berisi program pemakai.
c. Bagian yang tidak digunakan.
Masalah proteksi di monoprogramming adalah cara memproteksi rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem operasi. Aktivitas program pemakai ini dapat merusak sistem operasi. Sistem operasi harus diproteksi dari modifikasi program pemakai. Proteksi ini diimplementasikan menggunakan satu registe batas (boundary register) dipemroses.Setiap kali program pemakai mengacu alamat memori dibandingkan register batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu tidak melewati nilai register batas. Register batas berisi alamat memori tertinggi yang dipakai sistem operasi.
Jika program pemakai mencoba memasuki sistem operasi, instruksi diintersepsi dan job diakhiri dan diberi pesan kesalahan. Untuk memperoleh layanan sistem operasi, program pemakai harus menggunakan instruksi spesifik meminta layanan sistem operasi.
Integritas sistem operasi terjaga dan program pemakai tidak merusak bagian sistem operasi.
Gambar  Proteksi pada monoprogramming
Gambar menunjukkan skema proteksi menggunakan register batas. Register batas menunjuk alamat terakhir sistem operasi. Bila program pemakai mengacu ke alamat daerah sistem operasi, pemroses menjadi fault  menyatakan terjadinya pelanggaran pengaksesan oleh proses pemakai.
MASALAH PROTEKSI DI MONOPROGRAMMING
Merupakan cara memproteksi rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem operasi. Aktivitas program pemakai ini dapat merusak sistem operasi. Untuk mengatasinya Sistem operasi harus diproteksi dari modifikasi program pemakai.
Proteksi ini diimplementasikan menggunakan satu register batas (boundary register) dipemroses.Setiap kali program pemakai mengacu alamat memori dibandingkan register batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu tidak melewati nilai register batas.
PENGALOKASIAN MEMORI
  • Salah satu tanggung jawab Sistem Operasi adalah mengontrol akses ke sumber daya sistem. Salah satunya adalah memori
  • Pengalokasian memori dibagi 2 tipe, yaitu :
    • Pengalokasian berurutan (Contiguous Allocation)
    • Pengalokasian tidak berurutan (Non Contiguous Allocation)
PENGALOKASIAN BERURUTAN ( CONTIGOUS ALLICATION )
Tiap proses menempati satu blok tunggal lokasi memori yang berurutan.
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)
  • 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)
    • Contoh multiple allocation
Ada 2 skema dalam Multiple Partition Allocation:
  • Partisi Fixed Size (MFT)
    • Memori dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam
    • Setiap partisi berisi tepat 1 proses
    • Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT)
    • 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
  • 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
MULTIPLE PARTITION
Menggunakan MVT, terdapat beberapa kali hole untuk ukuran berbeda:
  • Bila proses datang dan memerlukan memori, dicari dari hole yang cukup untuk proses
  • Dynamic Storage Allocation dapat dilibatkan untuk memenuhi permintaan ukuran n dari hole bebas :
    • First Fit à alokasi hole yang pertama yang memenuhi permintaan.
    • Best Fit à alokasi hole terkecil yang memenuhi permintaan.
  • Dalam stratagi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah terurut
    • Worst Fit à alokasi hole terbesar. Strategi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah terurut
      • Diantara algoritma diatas, first fit dan best fit lebih baik dibandingkan worst fit dalam hal menurunkan waktu dan utilitas penyimpanan. Dan First Fit lebih cepat.
      • Diantara algoritma diatas, first fit dan best fit lebih baik dibandingkan worst fit dalam hal menurunkan waktu dan utilitas penyimpanan. Dan First Fit lebih cepat .
Keunggulan :
  • Sederhana
  • tidak akan terbentuk lubang-lubang (rongga) memori bersebaran
  • Karena berurutan, proses dapat dieksekusi dengan cepat.
Kelemahannya :
  • Dapat memboroskan Memori
  • Tidak dapat memuatkan proses bila tidak ada satu blok memori yang mencukup
PENGALOKASIAN TAK BERURUTAN ( NON CONTIGUOS ALLOCATION )
Program dibagi menjadi beberapa blok atau segmen. Blokblok program ditempatkan di memori dalam potonganpotongan tanpa perlu saling berdekatan.
Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
  • Paging
    • Paging adalah solusi untuk permasalahan fragmentasi external
    • Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut “frame”
    • Memori logika dibagi ke dalam blok-blok dengan ukuran yang sama yang disebut “page”
    • Untuk menjalankan program berukuran n page, harus dicari frame kosong sebanyak n untuk meload program
    • Page table digunakan untuk translasikan alamat lojik ke alamat fisik
  • Alamat yang dibangkitkan CPU dibagi menjadi :
    • Page number (p) à digunakan sebagai index ke page table. Page table berisi alamat basis dari setiap page pada memori fisik.
    • 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 komputer
  • Segmentasi
    • 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
Keuntungan :
  • Sistem dapat memanfaatkan memori utama secar lebih efisien
  • Sistem operasi masih mampu memuatkan proses bila jumlah total lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi
Kelemahan :
  • Memerlukan pengendalian yang lebih rumit dan sulit
  • Memori dapat menjadi banyak lubang tersebar (memori tak terpakai bertebaran).

Tidak ada komentar:

Posting Komentar