Kamis, 04 Juli 2013

SISTEM PAGING & SEGMENTASI

“SISTEM PAGING & SEGMENTASI” DISUSUN OLEH : 1. YURISTINA WIRDA LUSI (11.1.00029) 2. EVRIDA SETYANING MAHARANI (11.1.00009) 3. ASTRI MANDASARI (11.1.00002) 4. DENDY ALIT PRATAMA(11.1.00008) Manajemen Informatika STIMK Sinar Nusantara Surakarta 2012/2013 SISTEM PAGING A. MEMORI MAYA Program yang dijalankan harus dimuat dimemori utama. Masalah muncul ketika program lebih besar dibanding memori yang tersedia. Terdapat dua solusi dalam masalah ini : 1. Overly : Program dipecah menjadi bagian-bagian yang dapat dimuat memori 2. Memori maya : Kemempuan yang mengalamati ruang memori melebihi memori utama yang tersedia B. DESKRIPSI SISTEM PAGING 1. Alamat maya : yang dihasilkan diperhitungkan menggunakan index, register, base register, segment register 1. Alamat nyata : alamat yang tersedia dimemori utama fisik 2. Page : unit terkecil virtual address space 3. Page frame : unit terkecil memori fisik 4. Page fault : exception untuk permintaan lokasi page ke memori 5. MMU : chip / kumpulan chip yang memetakan alamat maya ke alamat fisik MMU memiliki fungsi : - Pemetaan memori maya ke memori fisik - Bila alamat maya yang diminta tidak tersedia di memori fisik, MMU menerbitkan exception page fault yang melewatkan ke sistem operasi untuk menanganinya. Komponen terpenting MMU adalah : - Register alamat maya : Menyimpan alamat maya yg diacu - Tabel page : Tiap elemen tabel sedikitnya berisi informasi tentang absent bit dan nomor page frame - Register alamat fisik : Menyimpan alamat fisik yang disinyalkan ke bus Memori Asosiatif Program cenderung melakukan banyak pengacuan kesejumlah kecil page, memori asosiatif berisi sejumlah elemen tabel : 1. Nomor page maya 2. Bit W, untuk mencatat apakah page telah dimodifikasi 3. Bit-bit proteksi 4. Nomor page frame dari page maya C. MASALAH UTAMA SISTEM PAGING 1. Working set model 2. Kebijaksanaan penggatian lokal dengan global 3. Frekuensi page fault 4. Ukuran page WORKING SET MODEL 1. Prinsip Lokalitas Konsekuensi prinsip lokalitas : program dapat berjalan efisien sat satu subset page tinggi saling mengacu di memori. Proses mengacu pada penyimpanan secara tak seragam, mempunyai pola setempat. Jenis lokalitas : - Lokalitas berdasarkan waktu Proses mengacu pada satu interval waktu eksekusi dekat. Observasi berikut mendukung prinsip : • Looping • Subrutin • Stack • Variabel yang digunakan untuk interasi dan penjumlahan total - Lokalitas berdasarkan ruang Proses mengacu pda satu kelompok data yang berdekatan. Observasi berikut mendukung prinsip : • Traversal pada array • Eksekusi kode yang sekuen • Kecenderungan pemrogram menempatkan variabel yang terkait saling berdekatan 2. Working Set Model of Program Behavior Prinsip : melacak dan menjamin himpunan kerja di memori sebelum proses dijalankan. Prinsip himpunan kerjanya (MIL-92) : - Program seharusnya dijalankan jika himpunan kerja berada di memori - Page tidak boleh dipindah dari memori jika page anggota himpunan kerja dari program yang running KEBIJAKSANAAN PENGGANTIAN LOKAL VS GLOBAL Ada dua pendekatan untuk mengganti page : 1. Penggantian lokal : page yang dipilih untuk diganti hanya pada partisi dimana proses diletakan 2. Penggantian global : page yang dipilih untuk diganti yaitu pada tempat kosong dengan tidak memperhatikan partisi proses FREKUENSI PAGE FAULT Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (page fault frequency algorithm) yang harus didefinisikan ambang tas dan bawah frekuensi page fault. Parameter PFF adalah P yaitu jumlah frekuensi page fault per T : P=1/T T : waktu P : diukur dalam jumlah page fault per milidetik Algoritma PFF diimplementasikan (MIL-92) : 1. Sistem operasi mendefinisikan frekuensi page fault kritis sistem 2. Sistem operasi mengukur waktu proses mya dan menyimpan waktu page fault mutakhir di PCB proses 3. Ketika page fault terjadi sistem operasi akan : - Jika page fault terakhir kurang dari T=1/P ms detik lalu, proses beroperasi di atas ambang maka page frame baru ditambahkan - Berarti proses beroperasi di bawah ambang PFF maka page frame page bit R=0 dan W=0 dibebaskan unttuk alokasi page baru proses lain UKURAN PAGE Ditentukan perancang sistem operasi agar sistem berupaya optimal. Pertimbangan penentuan page : 1. Ukuran page lebih kecil berarti jumlah page dan page frame lebih banyak sehingga memerlukan tabel page lebih besar 2. Ukuran page besar berati sebagian informasi yang tidak diacu dimasukan ke memori utama sehingga terjadi fregmentasi internal tinggi 3. Transfer input output membutuhkan waktu sehingga perlu meminimalkan jumlah transfer input output 4. Program mengikuti prinsip lokalitas yang berukuran kecil C. MASALAH IMPLEMENTASI SISTEM PAGING 1. Backup intruksi yang terakhir dijalankan sebelum terjadi page fault 2. Buffer perangkat input output (penguncian page di memori) 3. Page yang ipakai bersama 4. Backing store 5. Paging daemon 6. Penanganan page fault BACKUP INTRUKSI Bila terjadi page fault berarti ebagian intruki sudah dijalankan. Pengkopian program counnter an informasi register pemroses harus dilakukan. Setelah penggantian page maka intruksi yang menyebabkan page fault dapat dijalankan lagi dengan konteksnya. BUFFER INPUT OUTPUT Penggantian page akn mengacukan proses yang melakukan operasi input output jika : 1. Buffer perangkat input output hilang 2. Adanya buffer satu perangkat input output menjadi rengkap Penyelesaian masalah : 1. Penguncian buffer perangkat input output sehingga tidak menjadi ssaran penggantian 2. Buffer perangkat input output ditempatkan di kernel dan mengcopy semua data ke page prose pemakai PEMAKAIAN PAGE BERSAMAAN Masalah : 1. Tidak semua page dapat dipakai bersama Kode biner program adalah shareable (dapat dipakai bersama) 2. Akhir suatu proses Salah satu proses akan membuang page dari memori karena proses berakhir Solusi saat proses berakhir sistem operasi memeriksa apakah page masih digunakan proses lain: 1. Bila masih dipakai, sistem operasi tidak membebaskan page dari memori 2. Jika tidak dipakai, page dapat dialokasikan BACKING STORE Dimana diletakan page yang keluar dari memori utama. Penyelesaian masalah : 1. Menggunakan ruang penggantian khusus 2. Dialokasikan berdasarkan kebutuhan PAGING DAEMONS Proses background pada sistem paging yang menjamin suplai page frame banyak. PENANGANAN PAGE FAULT 1. Perangkat keras melakukan trap ke kernel, menyimpan program couter di stack 2. Satu rutin assembly dimulai untuk menyimpan register umum dan informasi lain yang hilang. Rutin memanggil sistem operasi 3. Sistem operasi mengetahui terjadi page fault dan menemukan virtual page yang dibantu perangkat keras dengan menyediakan register berisi informasi yang dibutuhkan 4. Setelah alamat maya yang menyebabkan fault diketahui, sistem operasi memeriksa apakah alamatnya valid dan konsisten tidak terhadap proteksi 5. Jika page frame telah dimodifikasi, page dijadwalkan untuk transfer ke disk dan terjadi context switch, menunda proses fault dan membiarkan proses lain berjalan sampai transfer disk selesai 6. Setelah page frame bersih, sistem operasi melihat alamat disk dimana page diperlukan dan dijadwalkn operasi disk untuk membawanya sebagai frame yang disediakan 7. Saat interupsi disk mengindikasikan page datang, tabel page diperbarui untuk merefleksikan posisi dan frame ditandai sebagai keadaan normal 8. Intruki fault di back up ke keadaan ketika dimulai dan program counter direset untuk menunjuk ke intruksi itu 9. Proses fault dijadwalkan, sistem operasi mengembalikan ke rutin bahasa assembly yang memanggil 10. Rutin menyimpan kembali register dan informasi yang dapat hilang, dan mengembalikan ke ruang pemakai untuk melanjutkan eksekusi (bila tak terjadi fault) Segmentasi Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat lojik merupakan sekumpulan dari segmen-segmen. Masing-masing segmen mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segmen. Sehingga, alamat lojik terdiri dari dua tuple: [segmen-number, offset]. Meskipun seorang pengguna dapat memandang suatu objek dalam suatu program sebagai alamat berdimensi dua, memori fisik yang sebenarnya tentu saja masih satu dimensi barisan byte. Jadi kita harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang didefinisikan oleh pengguna kesatu dimensi alamat fisik. Pemetaan ini disebut sebagai sebuah segmen table. Masing-masing masukan mempunyai segmen base dan segmen limit. Segmen base merupakan alamat fisik dan segmen limit merupakan panjang dari segmen. Sebagai contoh, kita mempunyai nomor segmen dari 0 sampai dengan 4. Segmen-segmen ini disimpan dalam suatu memori fisik. Tabel segmen berisi data untuk masing-masing segmen, yang memberikan informasi tentang awal alamat dari segmen di fisik memori (atau base) dan panjang dari segmen (atau limit). Misalkan segmen 2 mempunyai panjang 400 dan dimulai pada lokasi 4300. Jadi, referensi di byte 53 dari segmen 2 dipetakan ke lokasi 4300 + 53 = 4353. Suatu referensi ke segmen 3, byte 852, dipetakan ke 3200 + 852 = 4052. referensi ke byte 1222 dari segmen 0 akan menghasilkan suatu trap ke sistem operasi, karena segmen ini hanya mempunyai panjang 1000 byte. Lihat gambar 2. Segmentasi. Arsitektur Segmentasi Ukuran tiap segmen tidak harus sama. Saat sebuah program atau proses dimasukkan ke CPU, segmen yang berbeda dapat ditempatkan dimana saja di dalam memori utama (dapat menggunakan cara first-fit atau best-fit ). Alamat logis dari sebuah segmen adalah alamat dua dimensi, sedangkan alamat fisik memori adalah alamat satu dimensi. Oleh karena itu, agar implementasinya menjadi mudah ( dari alamat logis ke alamat fisik ) diperlukan Tabel Segmen yang yang terdiri dari base dan limit . Base menunjukkan alamat awal segmen (dari alamat fisik) dan limit menunjukkan panjang segmen. alamat logisnya : s dan d , s adalah nomor segmen / index di dalam tabel segmen d adalah offset . Jika offset kurang dari nol dan tidak lebih besar dari besarnya limit maka base akan dijumlahkan dengan d ( offset ) , yang dijumlahkan itu adalah alamat fisik dari segmen tersebut. Saling Berbagi dan Proteksi Segmen dapat terbagi jika terdapat elemen di tabel segmen yang berasal dari dua proses yang berbeda yang menunjuk pada alamat fisik yang sama. Saling berbagi ini muncul di level segmen dan pada saat ini terjadi semua informasidapat turut terbagi. Proteksi dapat terjadi karena ada bit-proteksi yang berhubungan dengan setiap elemen dari segmen tabel. Bit-proteksi ini berguna untuk mencegah akses ilegal ke memori. Caranya: menempatkan sebuah array di dalam segmen itu sehingga perangkat keras manajemen memori secara otomatis akan mengecek indeks array -nya legal atau tidak. Alokasi yang Dinamis Masalah dalam Segmentasi • Segmen dapat Membesar • Muncul Fragmentasi Luar • Bila Ada Proses yang Besar

Sabtu, 27 April 2013

DEADLOCK & MUTUAL EXCLUSION

“ DEADLOCK & MUTUAL EXCLUSION ” DISUSUN OLEH : 1. DENDY ALIT PRATAMA (11.1.00008) 2. EVRIDA SETYANING MAHARANI (11.1.00009) 3. ASTRI MANDASARI (11.1.00002) 4. YURISTINA WIRDA LUSI (11.1.00029) Manajemen Informatika STIMK Sinar Nusantara Surakarta 2012/2013 MUTUAL EXCLUSION A. DEFINISI Mutual Exclusion adalah jaminan satu proses yang mengakses sumber daya pda suatu interval waktu. Pentingnya mutyal exclusion : a. Ilustrasi-ilustrasi daemon printer b. Ilustrasi aplikasi tabungan B. ILUSTRASI PRINTER DAEMON Adalah proses penjadwalan dan pengendalian percetakan berkas-berkas di printer sehingga seolah olah printer dapat digunakan secara simultan oleh proses-proses, daemon printer mempunyai ruang diskyang disebut direktori spooleruntuk menyimpani berkas yang akan dicetak C. ILUSTRASI APLIKASI TABUNGAN Seluruh sistem sistem yang melibatkan banyak proses mengakses sumber daya bersama selalu menimbulkan masalah mutual exclusion. D. KRITERIA PENELESEAIAN MUTUAL Mutual Exclusion harus di jamin .hanya satu pada proses pada satu saat yang di ijinkan masuk critical section yang sama pada saat telah terdapat proses masuk di critical section itu. 1. Proses yang berada di non critical section ,di larang memblocked proses proses lain yang ingin masuk di critical section 2. Harus di jamin proses yang ingin masuk di critical section tidak menungu selama waktu yang tidakk terhingga . 3. Ketika tidak ada proses pada critical section maka proses yang ingin masuk di critical section harus di ijinkan masuk tanpa waktu tunda. 4. Tidak ada asumsi mengenai kecepatan relative proses atau jumlah proses yang ada . Kriteria 1 merupakan criteria pokok yang mesti dipenuhi .metode yang melanggar criteria 1 maka tidak dapat di jalankan sama sekali. E. METODE PENJAMIN MUTUAL EXCLUSION 1. Metode naif • Metode variable sederhana 2. Metode untuk situasi tertentu • Metode bergantikan secara tepat 3. Metode menggunakan busy waiting • Metode penyelesaian deker • Metode penyelesaian Peterson • Metode bantuan perangkat keras menggunakan intruksi pematian interupsi • Metode bantuan perangkat keras menggunakan intruksi khusus 4. Metode penyelesaian level tinngi • Metode semaphore ( disusun oleh ASTRI MANDASARI 11100002, Bambang Harianto, Sistem Operasi Edisi Dua ) Dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses berhenti sampai proses memperoleh penanda tertentu. Variabel khusus untuk penandaan ini disebut semaphore. Semaphore mempunyai dua property : a. Semaphore dapat diinisialisasi dengan nilai bukan negative. b. Ada dua operasi terhadap semaphore yaitu Operasi Up dan Operasi Down. Operasi Down Operasi ini menurunkan nilai semaphore. Jika nilai semaphore menjadi bukan positif maka proses yang mengeksekusinya diblok. Operasi Down adalah atomic (atomic action), tidak dapat diinterupsi sebelum selesai. Menurunkan nilai, memeriksa nilai, menempatkan proses pada antrian dan memblok sebagai instruksi tunggal. Tidak ada proses lain yang dapat diakses sampai proses selesai. Operasi Up Operasi ini menaikkan nilai semaphore. Jika satu proses atau lebih telah diblok pada suatu semaphore tidak dapat menyelesaikan operasi down maka salah satu dipilih oleh system dan dibolehkan menyelesaikan operasi downnya. Operasi Up menaikan nilai semaphore, memindahkan dari antrian dan menempatkan satu proses ke senarai ready tidak dapat diinterupsi. Sebelum masuk critical section, proses melakukan down. Bila berhasil maka proses masuk critical section. Bila tidak berhasil maka proses diblok pada semaphore. Proses yang diblok dapat melanjutkan jika proses yang berada di critical section keluar dan melakukan operasi up dan menjadikan proses yang diblok menjadi ready dan berlanjut hingga operasi downnya berhasil. Implementasi Semaphore 1. Pematian Interupsi Sistem operasi mematikan interupsi selagi memeriksa semaphore, memperbarui, dan menjadikan proses diblok. Karena semua aksi hanya memerlukan beberapa instruksi, pematian interupsi tidak merugikan. 2. Instruksi tsl Pada banyak pemroses, tiap semaphore dilindungi variable lock dan instruksi tsl agar menjamin hanya satu pemroses yang saat itu memanipulasi semaphore DISUSUN OLEH : Yuristina Wirda Lusi (11.1.00029) Sumber : Modul 04/Sistem Operasi – Yuli Haryanto, S.Kom./Tatap Muka 9 F. KARAKTERISTIK PENDEKATAN DENGAN INTRUKSI MESIN OLEH MUTUAL EXCLUSION Penggunaan instruksi mesin untuk memaksakan Mutual Exclusion mempunyai keunggulan dan kelemahan Keunggulan : • Sederhana dan mudah di verivikasi • Dapat di terapkan ke sembarang jumlah proses baik di pemroses tunngal maupun banyak pemroses yang memakai memori bersama • Dapat di gunakan untuk mendukung banyak critical region ,tiap critical region di definisikan dalam suatu variable Kelemahan : • Merupakan metode dengan busy waiting ,sangat tidak efisien .selagi proses menunggu memasuki critical region ,proses berlanjut mengkonsumsi waktu pemroses • Adanya busy waiting memungkinkan terjadinya deadlock DISUSUN OLEH : Astri Mandasari (11.1.00002) Sumber : Bambang Hariyanto “SISTEM OPRASI EDISI KEDUA” DEADLOCK Proses disebut deadlock jika proses menunggu suatu kejadian tertentu yang tak akan pernah terjadi, deadlock terjadi ketika proses-proses mengakses secara eksklusif sumberdaya SYARAT TERJADINYA DEADLOCK • Mutual exclusion : tiap sumber daya saat itu diberikan pada tepat satu proses • Kondisi genggam atau tunggu : Proses yang sedang menggegam sumber daya, menunggu sumberdaya yang baru • Kondisi NON-preemption : sumber daya sebelumnya tidak diambil aksa dari proses itu • Kondisi menunggu secara sirkuler : Harus terdapat rantai sirkuler dari dua proses ayau lebih METODE MENGATASI DEADLOCK • Metode pencegahan terjadinya deadlock Metode ini berkaitan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock • Meniadakan mutual exclusion Dilakukan dengan cara spooling peralatan-peralatan yang harus didedikasikan untuk suatu proses Masalah pada teknik ini :  Tidak setiap sumber daya eksklusif dapat di spooling  Kompetisi terhadap ruang disk untuk spooling dapat menuntun ke deadlock • Meniadakan kondisi hold and wait Teknik ini berbasis pada semua atau tidak sama sekali Masalah pada teknik ini :  Sukar mengetahui lebih dulu semua sumber daya yang diperlukan  Sangat tidak efisien • Meniadakan kondisi non-pre-emption Jika proses sedang dieksekusi maka proses yang lain jangan dieksekusi secara bersamaan Masalah pada teknik ini : Akan membuat proses-proses menghasilkan hasil tak benar • Meniadakan kondisi menunggu sirkuler Kondisi ini dapat dilakukan dengan beberapa cara :  Proses hanya dibolehkan menggenggam satu sumber daya pada satu saat Penomoran global semua sumber daya METODE PENGHINDARAN DEADLOCK Tujuan medode ini adalah menhindarkan kondisi-kondisiyangpaling mungkin menimbulkan deadlock agar memperoleh utilasisumber daya lebih baik. Apabila telah ada tanda-tanda akan terjadinya deadlock kita dapat mengatasinya dengan cara menghindar dari terjadinya deadlock semaksimal mungkin • metode deteksi dan pemulihan deadlock Digubakan pada sistem yang mengijinkan terjadinya deadlock, tujuannya adalah memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumber daya yang terlibat dedlock secara parisi. Dalam metode ini memiliki dua pernyataan yang harus dimengerti, yaitu : • State selamat (Safe State) Metode penghindaran yang diberikan pernyataan ini dikarenakan terdapat cara memenuhi semua permintaan yang ditunda tanpa menghasilkan deadlock dengan menjalankan proses-proses secara hati-hati mengikuti suatu urutan tertentu • State tak selamat (Unsafe State) Metode penghindaran yang diberikan pernyataan ini dikarenakan tidak terdapat cara untuk memenuhi semua permintaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan. State dapat berubah menjadi state tak selamat bila alokasi sumber daya tak terkendali. Tetapi state tak selamat bukan berarti deadlock, hanya menyatakan bahwa state tersebut berkemungkinan menuju deadlock DESKRIPSI DEADLOCK & STARVATION • Proses pada sistem multiprogramming dikatakan deadlock jika proses itu menunggu suatu kejadian tertentu yang tak akan pernah terjadi. Deadlock terjadi ketika proses-proses mengakses secara eksklusif sumber daya • Proses dikatakan sebagai mengalami starvation bila proses-proses itu menunggu alokasi sumber daya sampai tak terhingga, sementara starvation disebabkan karena bias pada kebijaksanaan atau strategi alokasi sumber daya DISUSUN OLEH : Evrida Satyaning Maharani (11.1.00009) Sumber : Bambang Hariyanto “SISTEM OPRASI EDISI KEDUA” MODEL DEADLOCK Urutan kejadian pengoperasian peralatan masukan / keluaran adalah: • Meminta (request) : Meminta pelayanan peralatan masukan / keluaran • Memakai (use) : Memakai peralatan masukan/keluaran • Melepaskan (release): Melepaskan pemakaian peralatan masukan / keluaran STRATEGI PENANGGULANGAN DEADLOCK TERPADU Menurut Silberschatz yaitu : • Kelompokkan sumber daya-sumber daya menjadi sejumlah kelas sumber daya • Gunakan strategi pengurutan linear seperti yang didefinisikan pada pencegahan menunggu sirkular. Strategi ini digunakan untuk mencegah deadlock di antara kelas-kelas sumber daya berbeda • Dalam satu kelas sumber daya, gunakan algoritma yang paling cocok untuk kelas-kelas sumber daya itu DISUSUN OLEH : 1. DENDY ALIT PRATAMA (11.1.00008) 2. EVRIDA SETYANING MAHARANI (11.1.00009) 3. ASTRI MANDASARI (11.1.00002) 4. YURISTINA WIRDA LUSI (11.1.00029) Sumber : Bambang Hariyanto “SISTEM OPRASI EDISI KEDUA”