Sistem Operasi Pertemuan 17
Topik Manajemen Memori Manajemen Memori Pemartisian Statis Strategi manajemen memori Pembagian manajemen memori Alamat logik dan alamat fisik Strategi penempatan proses
Subsistem (komponen/Rutin-rutin) Sistem Operasi Manajemen proses Berfungsi membuat proses-proses yang berjalan tidak saling mengganggu bahkan dapat saling bekerja sama Manajemen memory Berfungsi mengatur pemakaian ruang memori utama yang terbatas agar dapat digunakan secara bersamaan oleh sebanyak mungkin proses tanpa saling mengganggu satu sama lain. Manajemen device Berfungsi mengelola beragam device ataupun peranti I/O yg berbeda karakteristiknya agar dapat digunakan dengan baik oleh proses-proses Manajemen berkas Pengelolaan berkas pada media penyimpanan
SISTEM OPERASI MANAJEMEN PROSES MANAJEMEN MANAJEMEN BERKAS/FILE MEMORI DEVICE (PERANGKAT I/O) PENGAMANAN SISTEM SISTEM KOMUNIKASI
Hubungan antar Komponen Sistem Operasi Manajemen proses dan resource Manajemen file Manajemen memori Manajemen device Prosessor Memori utama Device HARDWARE
TUGAS PENTING MANAJEMEN MEMORI Memori utama sbg sumber daya yg harus dialokasikan dan dipakai bersama diantara sejumlah proses aktif. Mengupayakan agar pemogram atau proses tidak dibatasi kapasitas memori fisik di didalam komputer.
FUNGSI MANAJEMEN MEMORI Mengelola informasi mengenai memori yg dipakai dan tidak dipakai sistem. Mengalokasikan memori ke proses yg memerlukan. Mendealokasikan memori dari proses telah selesai digunakan. Mengelola swapping antara memori utama dan harddisk. Swap = tukar-menukar
Multiprogramming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming. Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut. Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama. Pelaksanaan instruksi yang diterapkan adalah: - program dimuat ke dalam memori, - program dijalankan sampai mengakses perangkat I/O, - berpindah (switch) ke pekerjaan lain, - langkah tersebut berulang terus menerus, - untuk proses perpindahan (switching), dilaksanakan oleh software.
Manajemen Memori pada Sistem Multiprogramming DUKUNGAN SISTEM OPERASI PADA SISTEM MULTIPROGRAMMING Pemisahan ruang-ruang alamat, melakukan proteksi memori dengan isolasi ruang-ruang alamat sehingga proses-proses tidak saling mengganggu. Pemakaian bersama memori sehingga memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Dengan keberadaan banyak ruang alamat milik proses-proses di memori utama secara bersama maka sistem operasi harus mampu mendukung 2 kebutuhan yg saling bertentangan Manajer memori harus memaksakan isolasi ruang-ruang alamat masing-masing proses agar mencegah proses yg ingin bertindak jahat mengakses dan merusak ruang alamat milik proses lain
Pemisahan ruang alamat Partisi 1 Partisi 2 Partisi 3 Partisi 4 Partisi 5 Sistem Operasi
KLASIFIKASI MANAJEMEN MEMORI Nyata Maya Nyata (1) Sistem khusus untuk pemakai tunggal Sistem multiprogramming dengan memori nyata Sistem multiprogramming dengan memori maya (4) Multiprogramming dengan pemartisian dinamis (5) Sistem paging murni (6) Sistem Segementasi murni (7) Kombinasi paging dan segmentasi Multiprogramming dengan pemartisian tetap (2) Ditempatkan Secara absolut (3) Dapat direlokasi
Teknik-teknik manajemen memori (1), (2), (3), (4) merupakan pengelolaan untuk kapasitas memori sebatas memori fisik yg tersedia. Teknik-teknik ini tidak dapat digunakan u/ memuat program-program yg berukuran lebih besar dibanding kapasitas fisik memori yg tersedia. Teknik-teknik manajemen memori (5), (7) dapat digunakan u/ mengakali kapasitas memori yg terbatas sehingga dpt dijalankan program yg ukurannya lebih besar dibanding kapasitas memori fisik yg tersedia.
MANAJEMEN MEMORI BERDASARKAN ALOKASI MEMORI ALOKASI MEMORI BERTURUTAN Dengan cara masing-masing proses menempati satu blok tunggal lokasi memori yg berturutan ALOKASI MEMORI TIDAK BERTURUTAN Dengan cara program dibagi menjadi beberapa blok atau segmen. Blok- blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan
HIRARKI MEMORI Chace memory merupakan penyimpan berkecepatan tinggi yg lebih cepat dibanding memory utama. Chache memory lebih mahal dibanding memory utama sehingga kapasitas chace memory relatif kecil. Pemakaian memori dua tingkat misalnya chace memory dpt meningkatkan kinerja dan utilisasi memori secara dramatis. Register Chace memory Memori Utama Memori Sekunder
Gambar sebelumnya menunjukkan hubungan antara chace memory, memori utama dan penyimpan sekunder. Dengan chace memory, bagian program yg akan digunakan (dieksekusi atau di acu) dikopi dulu ke chace memory sebelum dieksekusi. Didalam chace memory, instruksi dpt dieksekusi dengan lebih cepat dibanding bila berada di memori utama. Penggunaan chace memory atau memori antara yg lebih cepat mempunyai alasan yg dikemukakan oleh Denning yaitu eksekusi program pada suatu interval waktu tertentu biasanya mengumpul di suatu lokasi kecil. Prinsip ini disebut prinsip lokalitas. Lokalitas dpt berupa lokalitas waktu dan lokalitas ruang. Prinsip lokalitas berkembang menjadi konsep working set model.
MANAJEMEN MEMORI BERDASARKAN KEBERADAAN SWAPPING MANAJEMEN TANPA SWAPPING Yaitu manajemen memori tanpa kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi MANAJEMEN DENGAN SWAPPING Yaitu manajemen memori dengan kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi
MANAJEMEN MEMORI TANPA SWAPPING MANAJEMEN MEMORI UNTUK MONOPROGRAMMING MANAJEMEN MEMORI UNTUK MULTIPROGRAMMING DENGAN PEMARTISIAN STATIS
Monoprogramming tanpa swapping Monoprogramming tanpa swapping merupakan manajemen memori yg paling sederhana. Sistem komputer hanya mengijinkan satu proses berjalan pada satu waktu. Semua sumber daya sistem komputer sepenuhnya dikuasai oleh proses yg sedang berjalan karena merupakan satu-satunya proses yg berjalan.
Ciri-ciri manajemen memori monoprogramming Hanya satu proses pada satu saat Hanya satu proses menggunakan semua memori Pemakai memuatkan program ke seluruh memori dari disk atau tape. Program mengambil kendali seluruh mesin Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi memori dilakukan secara berturutan. Teknik ini digunakan sampai sekitar 1960, dan kemudian ditinggalkan bahkan untuk komputer pribadi sekalipun karena tiap proses harus memuat device driver perangkat I/O yang mungkin akan digunakan.
Tiga cara organisasi memori satu proses tunggal Sistem operasi di RAM Sistem operasi di ROM Sistem operasi di RAM Program Pemakai Di RAM Program Pemakai Di RAM Program Pemakai Di RAM Memori tak dipakai Memori tak dipakai Memori tak dipakai (a) (b) (c) Menunjukkan seluruh kebutuhan (sistem operasi, device driver dan proses pemakai) di RAM. Sistem operasi dan program pemakai di RAM yg sama. Device driver dpt ditempatkan di sistem operasi atau di setiap program pemakai bergantung perancang sistem operasi Menunjukkan sistem operasi ditempatkan di ROM, sedang program pemakai di RAM Menunjukkan device driver di ROM. Device driver berada di ROM. ROM yg memuat device driver semacam ini biasa disebut ROM-BIOS (read only memory-basic input output system)
Embedded Systems Teknik monoprogramming masih dapat dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yg menempel atau terdapat di sistem lain.Sistem tempelan menggunakan mikroprosesor kecil. Sistem tempelan digunakan u/ mengendalikan satu alat sehingga alat menjadi bersifat intelejen dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, maka keperluan dpt diprogramkan di mikroprosessor dengan memori kecil (1-64 Kb). Contoh embedded System : Pengendalian pengapian Pengendalian pengeluaran bahan bakar Pengendalian pengereman Pengendalian suspensi Pengendalian kemudi
Proteksi pada Monoprogramming Sederhana Pada monoprogramming, pemakai mempunyai kendali penuh terhadap seluruh memori utama. Memori terbagi menjadi tiga bagian, yaitu : Bagian yg berisi rutin-rutin sistem operasi Bagian yg berisi program pemakai Bagian yg tidak digunakan Masalah proteksi di monoprogramming a/ cara memproteksi rutin-rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat saja tersesat sehingga memanipulasi atau menempati ruang memori yg seharusnya hanya ditempati rutin-rutin sistem operasi. Aktivitas program pemakai seperti ini dapat merusak sistem operasi.
Sistem operasi harus diproteksi dari modifikasi oleh program pemakai Sistem operasi harus diproteksi dari modifikasi oleh program pemakai. Proteksi ini diimplementasikan menggunakan satu register batas (boundary register) di prosessor. Setiap kali program pemakai mengacu ke alamat memori akan dibandingkan register batas u/ memastikan proses pemakai tidak merusak sistem operasi, yaitu tidak melewati nilai register batas. Register batas berisi alamat memori tertinggi yg dipakai sistem operasi. Jika program pemakai mencoba memasuki sistem operasi, intruksi di interupsi dan proses diakhiri dan diberi pesan kesalahan. Untuk menggunakan perangkat masukan/keluaran, proses tidak bisa langsung menggunakannya di programnya. Pemakaian perangkat masukkan/keluaran merupakan wewenang sistem operasi, yg dilakukan pada mode kernel. Proses harus meminta layanan sistem operasi. Untuk memperoleh layanan sistem operasi, program pemakai harus menggunakan instruksi spesifik (system call) untuk meminta layanan sistem operasi. Dengan cara ini, integritas sistem operasi terjaga dan program pemakai tidak merusak bagian sistem operasi.
Proteksi pada Monoprogramming Sistem Operasi Di RAM Prosessor Register batas Program pemakai Di RAM Memori tak dipakai
Multiprogramming dengan Pemartisian Statis ALASAN PENGGUNAAN MULTIPROGRAMMING Mempermudah pemrogram Agar dapat memberi layanan interaktif ke beberapa orang secara simultan Efisiensi penggunaan sumber daya Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil Dapat mengerjakan sejumlah proses secara simultan
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. PEMARTISIAN STATIS BERDASARKAN UKURAN PARTISINYA Pemartisian menjadi partisi-partisi berukuran sama Pemartisian menjadi partisi-partisi berukuran berbeda
Kelemahan Pemartisian menjadi partisi-partisi Berukuran Sama Bila program ukurannya lebih besar dibanding partisi yg tersedia maka tidak dapat dimuatkan, tidak dapat dijalankan. Untuk program yg sangat kecil dibanding ukuran partisi yang ditetapkan maka banyak ruang yang tidak dipakai yg diboroskan, disebut fragmentasi internal
Skema Multiprogramming pemartisian tetap berukuran berbeda Partisi 1 Partisi 2 Partisi 3 Partisi 4 Partisi 5 Sistem Operasi 50 Kbyte 75 Kbyte 100 Kbyte 200 Kbyte 150 Kbyte
Strategi Penempatan Program ke Partisi STRATEGI PENEMPATAN PADA PEMARTISIAN MENJADI PARTISI-PARTISI BERUKURAN BERBEDA Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi) Proses ditempatkan ke partisi paling kecil yang dapat memuatnya Satu antrian untuk seluruh partisi Proses-proses diantrikan di satu antrian tunggal untuk semua partisi
SATU ANTRIAN UNTUK TIAP PARTISI Skema Mutiprogramming dengan Pemartisian Tetap dengan Banyak Antrian 50 kb 50 kb 50 kb Partisi 1 Partisi 2 Partisi 3 Partisi 4 Partisi 5 Sistem Operasi 50 Kbyte 75 Kbyte 100 Kbyte 200 Kbyte 150 Kbyte 100 KB 100 kb Keuntungan : -Teknik ini meminimalkan pemborosan memori. Kelemahan : - Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi-partisi lain kosong. 150 KB
SATU ANTRIAN UNTUK SEMUA PARTISI Skema Multiprogramming dengan pemartisian tetap dengan satu antrian Sistem Operasi 50 Kbyte 75 Kbyte 100 Kbyte 200 Kbyte 150 Kbyte Keuntungan : - Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian Kelemahan : - Proses dapat ditempatkan dipartisi yg banyak diboroskan, yaitu proses kecil ditempatkan dipartisi sangat besar.
Dua Masalah untuk pemartisian memori menjadi partisi-partisi secara statis Relokasi : a/ masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori saat proses ditempatkan. Proses dapat ditempatkan pada partisi-partisi berbeda menurut keadaan sistem itu. Proteksi : a/ bekerja dengan banyak proses di satu sistem secara bersamaan dikhawatirkan proses menggunakan atau memodifikasi daerah yg dikuasai proses lain (yg bukan menjadi haknya).