İşletim Sistemlerine Giriş



Benzer belgeler
İŞLETİM SİSTEMLERİ DERS 8 (ÖLÜMCÜL KİTLENMELER)

İşletim Sistemlerine Giriş

Bölüm 7: Kilitlenme (Deadlocks)

Ölümcül Kilitlenme. Ölümcül Kilitlenme Örneği - 1

Ölümcül Kilitlenme. Ölümcül Kilitlenme 5. İşletim Sistemleri

İşletim Sistemlerine Giriş

Çok işlemli (multitasking) sistemlerde işlemler (process) kısıtlı kaynakları kullanmak zorundadırlar.

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

İşlem Yönetimi (Process Management)

İşletim Sistemlerine Giriş

İşletim Sistemleri (Operating Systems)

Bilgisayar İşletim Sistemleri BLG 312

İŞLETİM SİSTEMLERİ DÖNEMİÇİ SINAVI

A3 Raporlama Andon. Duygu Soydan Medicabil Hastanesi Yalın Hastane Yöneticisi

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

Google Cloud Print Kılavuzu

Bilgisayar İşletim Sistemleri BLG 312

İşletim Sistemlerine Giriş

Bölüm 7: Kilitlenmeler. Operating System Concepts with Java 8 th Edition

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

Algoritma ve Akış Şemaları

Bilgisayar donanım ve yazılım olmak üzere iki bölümden oluşur. Bilgisayarın çalışabilmesi için, ikisi de gereklidir.

USB SERİ DÖNÜŞTÜRÜCÜ. Hızlı Kurulum Kılavuzu Windows 7/8/8.1 DA-70159

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

İŞLETİM SİSTEMLERİ. (Operating Systems)

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu şu modeller içindir:

Güvenlik. Kullanıcı Kılavuzu

MONĐTÖRLER

Ağınız üzerinde tarama yapmak için Web Hizmetleri'ni kullanma (Windows Vista SP2 veya üzeri, Windows 7 ve Windows 8)

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Google Cloud Print Kılavuzu

Çekirdek Nedir? Ne yapar?

Ölümcül Kilitlenme- Deadlock

C) 19 inçlik CRT ile LCD monitörün görünebilir alanı farklıdır. D) Dijital sinyali, analog sinyale çevirmek için DAC kullanılır.

EKLER EK 12UY0106-5/A4-1:

Yazılım Güncelleştirmeleri

BİLGİSAYAR KULLANMA KURSU

Pencereler Pencere Özellikleri

Tek veya Çalışma Grubu İş İstasyonu için WorldShip Yükseltmesi

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 5. Hafta. Öğr. Gör. Dr. Barış Doğru

ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Algoritmalar ve Programlama. Algoritma

İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?

ETA:MOBİL KURULUM TALİMATI

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu aşağıdaki modeller için geçerlidir: MFC-J3520/J3720. Sürüm 0 TUR

MEHMET ÇEKİÇ ORTAOKULU

Windows XP deki bir paylaşılan klasörde basit paylaşım nasıl devre dışı bırakılır ve izinler nasıl atanır

Usta Aritmetik Bayi Kontrol Programı Kullanım Kılavuzu (V.1.3.0)

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu şu modeller içindir:

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Düzenli Yedekle, Veri Kaybetme

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

DİSK DEPOLAMA ALANLARI

Sanal Bellek (Virtual Memory)

Kullanıcı Sürüm Notları CARESTREAM Image Suite Yazılımı V4. PN AB1359_tr Sürüm 1.0

SAÜ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ ORTAK BİLGİSAYAR DERSLERİ KOORDİNATÖRLÜĞÜ HAFTA 1 İÇERİĞİNE AİT UYGULAMA FÖYÜ

İşletim Sistemleri (Operating Systems)

Bölüm 6: İşlem Senkronizasyonu (1) Operating System Concepts with Java 8 th Edition

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

Giriş Çıkış Birimleri:

4. Bölüm Programlamaya Giriş

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ. PC-SPIMGirişi(MIPS R2000 Simulatörü)

USB SERİ DÖNÜŞTÜRÜCÜ. Hızlı Kurulum Kılavuzu Windows 7 DA-70158

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var.

AirPrint Kılavuzu. Bu Kullanım Kılavuzu aşağıdaki modeller için geçerlidir: MFC-J2320/J2720. Sürüm 0 TUR

Yazılım Güncelleştirmeleri Kullanıcı Kılavuzu

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

BİLDİRİM SİSTEMİ İLE İLGİLİ GENEL HUSUSLAR

AirPrint Kılavuzu. Bu Kullanım Kılavuzu aşağıdaki modeller için geçerlidir: DCP-J105, MFC-J200. Sürüm 0 TUR


İşletim Sistemi. BTEP205 - İşletim Sistemleri

C++ Dilinde Bazı Temel Algoritmalar

DONANIM VE YAZILIM. Ahmet SOYARSLAN biltek.info

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

BİLGİ TEKNOLOJİLERİ SMO103

İşletim Sistemlerine Giriş

ETHERNET TEKNOLOJİSİ

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

AirPrint Kılavuzu. Sürüm 0 TUR

Internet Programming II

Harici Aygıtlar. Kullanıcı Kılavuzu

Kablosuz Algılayıcı Ağları ile Yangın Tespit Sistemi

Elektronik Belge Yönetim Sistemi Kullanım Kılavuzu

Windows Grup İlkesi Düzenleyici

Bilgisayar İşletim Sistemleri BLG 312

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

BİLİŞİM TEKNOLOJİLERİ VE YAZILIM

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1: : BİLGİ VE TEKNOLOJİ DERS SAATİ: 7

TÜRKSAT UYDU HABERLEŞME VE KABLO TV İŞLETME A.Ş

Ricoh SG 7100DN. PowerDriver V4 YÜKLEME KILAVUZU. Windows 7 ve 8

Harici Aygıtlar. Kullanıcı Kılavuzu

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

Dr. Musa KILIÇ Öğretim Görevlisi

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

Transkript:

İşletim Sistemlerine Giriş Ölümcül Kilitlenme (Deadlock) İşletim Sistemlerine Giriş - Ders06 1

Ölümcül Kilitlenme (Deadlock) Bilgisayar sistemleri, bir anda sadece tek bir kullanıcı tarafından kullanılabilecek kaynaklar ile doludur. *Yazıcı, disket sürücüleri, kesiciler, cd yazıcı, cd okuyucu,... Aynı anda iki süreç yazıcıdan çıktı almaya çalışırsa ve alabilirse oluşan çıktı anlamsız verilerden oluşur. Aynı anda iki süreç aynı dosya ya yazar ise oluşan dosya bozulur ya da dosya sistemi bozulur. Her işletim sistemi, belirli kaynaklara aynı anda sadece tek bir sürecin erişmesini sağlayan erişim mekanizmalarına sahiptir. İşletim Sistemlerine Giriş - Ders06 2

Ölümcül Kilitlenme (Deadlock) Süreçler aynı anda birden fazla paylaşılan kaynağı kullanabilir. Örneğin, A ve B süreçleri tarayıcıdan aldıkları veriyi CD ye kayıt etmek istesinler. A süreci tarayıcının kullanım hakkını elde etsin, B süreci de CD nin yazım hakkını elde etsin. A süreci yazıcıya yazmak istediğinde B'nin kullanımı nedeniyle A sürecine yetki verilmez. Aynı şekilde B sürecide tarayıcıya erişmeye çalıştığında o da A sürecinin tarayıcı yetkisine sahip olması nedeniyle tarayıcıya erişemez. İşletim Sistemlerine Giriş - Ders06 3

Ölümcül Kilitlenme (Deadlock) Bu durumda her iki süreçte bloklanırlar ve hiçbir zaman bu durumdan kurtulamazlar. Gerçekleşen bu duruma ölümcül kilitlenme (deadlock) denilir. Sistem kaynaklarını ortak olarak kullanan veya birbirleri ile haberleşen bir grup sürecin kalıcı olarak bloklanması durumudur. Genelde süreçlerin ellerindeki kaynakları bırakmadan, başka süreçlere ait olan kaynakları istedikleri durumlarda gerçekleşir. İşletim Sistemlerine Giriş - Ders06 4

Ölümcül Kilitlenme (Deadlock) Bilgisayarda bulunan kaynaklar aşağıdaki şekilde kategorileştirilebilir. -Ele geçirilebilir (preemptable) -Ele geçirilemez (non-preemptable) Ele geçirilebilir kaynak, bir süreç bu kaynağa sahip ise elinden alındığında problemler oluşturmuyan kaynaktır.(bellek) Ele geçirilemeyen kaynak, süreç bu kaynağa sahiptir ve elinden alınamaz. Örneğin, bir süreç cd yazıcıyı kullanıyorsa cd yazıcının elinden alınması oluşan cd nin bozulmasına yol açar. Ölümcül kilitlenme bu kaynaklarda oluşur. İşletim Sistemlerine Giriş - Ders06 5

Ölümcül Kilitlenme (Deadlock) Bir kaynağı kullanmak için aşağıdaki adımlar izlenir: 1. Kaynağı iste 2. Kaynağı kullan 3. Kaynağı serbest bırak Genelde her kaynağa bir semafor verilir. Kaynak kullanmadan önce semafora ait olan down() metodu çalıştırılır, kaynak kullanılır, kaynak ile işlem bittikten sonra up() metodu çalıştırılır. İşletim Sistemlerine Giriş - Ders06 6

Ölümcül Kilitlenme (Deadlock) İşletim Sistemlerine Giriş - Ders06 7

Ölümcül Kilitlenme (Deadlock) ölümcül kilitlenme olmaz ölümcül kilitlenme olasılığı var Aynı kaynakların farklı sıralarda istenilmesinde ölümcül kilitlenme olma olasılığı yüksektir. İşletim Sistemlerine Giriş - Ders06 8

Ölümcül Kilitlenme (Deadlock) Örneğin sistemimizde, 200 K bellek bölgesi süreçler istediklerinde bu süreçlerin kullanımına verilsin. Bellek kullanan başka süreçlerin olmadığını düşünürsek, aşağıdaki durumda ölümcül kilitlenme olma olasılığı vardır. 1. Süreç 2.Süreç ------------ ------------ iste(80k) iste(70k)............ iste(60k) iste(80k) İşletim Sistemlerine Giriş - Ders06 9

Ölümcül Kilitlenme (Deadlock) Süreçler, mesaj alıp vererek haberleşiyor olsunlar. Süreç beklediği mesaj gelene kadar bloklansın. Aşağıdaki durumda ölümcül kilitlenme olma olasılığı vardır. 1. Süreç 2.Süreç ------------ ------------ receive(süreç2) receive(süreç1)............ send(süreç2,mesaj) send(süreç1,mesaj) İşletim Sistemlerine Giriş - Ders06 10

Ölümcül Kilitlenmeye (Deadlock) Neden Olan Durumlar * Karşılıklı Dışlama(Mutual Exclusion) Her kaynağı aynı anda bir süreç ya kullanıyordur ya da atanmıştır. * Sahiplenme ve Bekleme Koşulu Elindeki kaynağı bırakmadan başka kaynak ister ve bu kaynağı elde edemediğinde beklemeye geçen süreçler. * Geri Alınamaz Koşulu Bir sürece daha önceden verilen kaynaklar zorla elinden alınamaz. *Çevrimsel Bekleme Koşulu İki veya daha fazla süreç zincir şeklinde kendinden önceki sürece ait olan kaynağı bekler. İşletim Sistemlerine Giriş - Ders06 11

Ölümcül Kilitlenmenin Modellenmesi Süreçleri daireler şeklinde, kaynakları kareler şeklinde gösterelim. Bir süreçten kaynağa doğru giden ok, sürecin kaynak için bloklandığını gösterir. Kaynaktan sürece doğru gösterilen ok, sürecin kaynağa sahip olduğunu gösterir. İşletim Sistemlerine Giriş - Ders06 12

Ölümcül Kilitlenmenin Modellenmesi A B D T U R R A süreci R kaynağına sahiptir B süreci R kaynağı için bekliyor C Ölümcül Kilitlenme İşletim Sistemlerine Giriş - Ders06 13

A süreci ------------ R ister S ister R bırakır S bırakır B süreci ------------ S ister T ister S bırakır T bırakır C süreci ------------ T ister R ister T bırakır R bırakır Süreçlerin Çalışması ------------ 1. A, R yi ister 2. B, S i ister 3. C, T yi ister 4. A, S i ister 5. B, T yi ister 6. C, R yi ister (ölümcül kilitlenme) (1) (2) (3) (4) (5) (6) İşletim Sistemlerine Giriş - Ders06 14

A süreci ------------ R ister S ister R bırakır S bırakır B süreci ------------ S ister T ister S bırakır T bırakır C süreci ------------ T ister R ister T bırakır R bırakır Süreçlerin Çalışması ------------ 1. A, R yi ister 2. C, T yi ister 3. A, S i ister 4. C, R yi ister 5. A, R yi bırakır 6. A, S i bırakır (1) (2) (3) (4) (5) (6) İşletim Sistemlerine Giriş - Ders06 15

Devekuşu Algoritması (Ostrich Algorithm) Başınızı kuma gömerek, bir şey yokmuş gibi davranmak. Matematikçiler tamamen kabul edilmez bulurlar ve ölümcül kilitlenmelerin ne pahasına olursa olsun önlenmesini söylerler. Mühendisler ise problemin ne kadar sıklıkla olması beklendiğini ve sitemin diğer nedenlerden ne kadar sıklıkla bozulduğunu sorgularlar. Eğer ölümcül kilitlenmeler yılda birkez oluyorsa fakat sistemdeki donanım bozulmaları, derleyici hataları ve işletim sistemi hataları haftada birkez bozuluyorsa, birçok mühendis ölümcül kilitlenmelerin çözülmesininin getireceği performans kaybına, performansın iyi olmasını tercih eder. Birçok işletim sistemi yok sayar. İşletim Sistemlerine Giriş - Ders06 16

Ölümcül Kilitlenme Tespiti ve Onarma 1.Her tip kaynaktan sistemde bir adet olduğu durumda ölümcül kilitlenme tespiti Sistemde bir yazıcı, bir cd yazıcı, bir disket sürücü... olsun. Sistem için kaynak çizgesi(graph) oluşturulur. Bu çizge bir veya daha fazla döngü(cycle) içeriyorsa, bir ölümcül kilitlenme vardır. Döngünün parçası olan süreçler ölümcül kilitlenmiştir. İşletim Sistemlerine Giriş - Ders06 17

Ölümcül Kilitlenme Tespiti ve Onarma Örneğin; 7 süreç ve 6 adet kaynak olsun. A,B,C,D,E,F,G süreçler; R,S,T,U,V,W kaynakları göstersin. Mevcut sistemdeki sahip olunan kaynak durumu ve istenilen kaynak durumu şu şekilde olsun: 1. A süreci R yi tutar ve S i ister. 2. B süreci T yi ister. 3. C süreci S i ister. 4. D süreci U yu tutar ve S ile T yi ister. 5. E süreci T yi tutar ve V yi ister. 6. F süreci W yi tutar ve S i ister. 7. G süreci V yi tutar ve U yu ister. SORU:Sistem ölümcül kilitli midir? Öyleyse hangi süreçler? İşletim Sistemlerine Giriş - Ders06 18

Ölümcül Kilitlenme Tespiti ve Onarma T Yönlü çizge(graph) lerde döngü(cycle) leri tespit eden bir çok algoritma bulunmaktadır. İşletim Sistemlerine Giriş - Ders06 19

Ölümcül Kilitlenme Tespiti ve Onarma Algoritma bir döngü bulunca çıkar. L düğümlerin listesidir. 1. Çizgedeki her N düğümü için, N'i başlangıç düğümü alarak 2-6 adımlarını yap. 2. L yi boş liste olarak başlat. Tüm kenarları işaretlenmemiş yap. 3. Şu anki düğümü L ye ekle. L de iki kez olup olmadığını kontrol et. İkinci kez bulunursa çizgede döngü vardır ve algoritma sonlanır. 4. Verilen düğümden başka düğümlere işaretlenmemiş giden kenar var mı? Varsa 5. adıma yoksa 6. adıma git. 5. İşaretli olmayan bir kenar seç ve işaretle. Bu kenarı izleyerek yeni düğüme git. Adım 3 e git. 6. Bir ölü noktaya ulaştık. Bu düğümü çıkar ve bir önceki düğüme git. Önceki düğümü aktif düğüm yap ve adım 3 e git. Eğer bu düğüm başlangıç düğümü ise döngü yoktur. İşletim Sistemlerine Giriş - Ders06 20

Ölümcül Kilitlenme Tespiti ve Onarma T a) L=[ ] b) L=[R] c)l=[r,a] d)l=[r,a,s] burası daha fazla ilerlemez. R için biter. Algoritmayı A için tekrar başlatırız.... Algoritmayı B için başlatırız. B 'den D ye kadar gelince L=[B,T,E,V,G,U,D] olur. Bu noktada eğer S i seçersek ölü nokta olur ve D ye geri geliriz. T yi seçelim. L=[B,T,E,V,G,U,D,T] olur. Bu noktada döngü tespit edilir ve algoritma durur. İşletim Sistemlerine Giriş - Ders06 21

İşletim Sistemlerine Giriş Ölümcül Kilitlenme (Deadlock) İşletim Sistemlerine Giriş - Ders06 22