SlideShare uma empresa Scribd logo
1 de 9
İşlem Yönetimi İşlem (process) belli bir komut dizisini yerine getiren program parçasıdır. Bir işlemin yapısında; işlemin yazılı olduğu metin bölümü, bir sonraki işletilecek olan komutu gösteren sayaç, yerel değişkenler vb. geçici bilgileri tutan yığın(stack) bölümü ve genel değişken vb. bilgileri tutan veri bölümü bulunmaktadır. . Bazı işlemlerde işlemin çalıştığı sürece kullandığı bir alan (heap) de bulunmaktadır.
İşlem Kontrol Bloğu (ProcessControlBlock):  Her işlem işletim sistemi tarafından işlem kontrol bloğu tarafından gösterilir, yer alan öğeler ise şunlardır;    • İşlem durumu: İşlem yeni, çalışıyor, bekliyor, hazır veya bitti şeklinde olabilir. • Program sayacı: İşlemde çalıştırılacak bir sonraki komutu gösterir. • MİB kaydedicileri: İşlemci mimarisini göre kaydedicilerin sayısı ve türü değişmektedir. İşlemde kullanılan kaydediciler (AX, BX vb.) içerisindeki bilgiler bir kesme geldiğinde mutlaka saklanmalıdır.
• MİB zamanlanma bilgisi: Burada işlemin önceliğini, zamanlama kuyruğundaki işaretçisi ve diğer zamanlama parametreleri ile ilgili bilgiler bulunmaktadır. • Bellek yönetimi bilgisi: İşletim sistemi tarafından kullanılan bellek sistemleri; taban ve limit (tavan) kaydedicileri, sayfa tablosu veya bölüm tablosu gibi bilgileri içermektedir. • Hesap bilgileri: İşlem tarafından kullanılan MİB ve diğer parametrelerin kulanım zamanlarını içermektedir. • G/Ç durum bilgisi: İşlem tarafından kullanılan G/Ç aygıtlarının listesi, açılan dosyaların listesi vb. bilgileri içermektedir.
İşlem durumu (Processstate): Bir işlemin hangi durumda olduğunu gösteren ve işlemin ömrü boyunca değişken bir durumu bulunmaktadır. Bunlar; • Yeni: İşlemin oluşturulduğunu gösterir. • Çalışıyor: İşlemin komutları yürütülmektedir. • Bekliyor: İşlem bir olayın gerçekleşmesini beklemektedir. Örneğin bir G/Ç işlemi. • Hazır: İşlem bir işlemciye atanmak için beklemektedir. • Bitti: İşlem çalışmasını bitirdi.
İş Parçacıkları (Threads) İş parçacığı, işlemin bir parçasıdır. İşlemlerin Zamanlanması (ProcessSchedulers) İşlemler iş kuyruğuna (Jobqueue) alınmaktadır. Çalıştırılmaya hazır olan veya bekleyen işlemler hazır kuyruğana (readyqueue) alınarak MİB’ne gönderilir. ‘Dağıtıcı (Dispatcher)’ çalıştırılacak olan bir işlemi seçerek MİB’ne gönderdikten sonra aşağıdaki olaylar meydana gelebilir; • İşlem bir G/Ç isteğinde bulunabilir ve böylece G/Ç kuyruğuna yerleştirilir. • İşlem alt işlemler oluşturabilir ve bunların bitmesini bekleyebilir. • İşlem bir kesme oluştuğu için MİB’de çalışması durdurularak kesmenin bitiminin ardından kuyruğa alınarak MİB’ne gönderilebilir.
Kilitlenme (Deadlock) Sonsuz döngü anlamına da gelmektedir. Değişik işlemlerin/iş parçacıklarının birbirlerinin alanlarını kullanmalarından ortaya çıkar. Örneğin bir işlem bir kaynağı (örneğin A dosyasını) kullanırken diğer bir kaynağı (örneğin B dosyasını) kullanmak istemektedir. Ancak aynı zamanda başka bir işlem B dosyasını kullanırken A dosyasını kullanmak istemektedir. Bu durumda her iki işlem de istedikleri dosyaları alamayacakları için bu işlemler bloklanacaklardır. Semafor (Semaphore): Latincede ‘deniz feneri’ anlamına gelen Semafor, negatif olmayan bir tamsayı olup işlemin başlangıç deyiminden itibaren wait ve signal işlemleri ile değeri değiştirilebilen bir değişkendir. İki ayrı işlem aynı anda bellekte yürütülürken kaynaklara aynı anda erişmeye çalışabilirler. Bu durumda kullanılan semafor, sistem kilitlenmelerine engel olur. Semaforlar işlemler arası iletişimi sağlayarak sonsuz döngülere ve sistem kilitlenmelerine engel olurlar.
Bloklama ve bloğu açma (BlockingandUnblocking) Bir wait işlemi eğer ilgili semaphore değeri 0 ise o işlemin bloke edilmesine neden olur. Semaphore’un değeri signal ile 1 olunca bloke kaldırılarak işlem çalışabilir hale getirilir. Örnek: İki işlemden bir tanesinin bir buffer’a çeşitli değerler aktardığını, diğerinin ise buradan bu bilgileri aldığını farz edelim. Buna verilecek bir örnek bir satır uzunluğundaki bir karakter dizisini her seferinde buffer’a atan bir işlem (process) ile her seferinde buffer’dan bir satır alıp bunu ekrana yazan bir işlem olabilir. Burada bir başka farz ediş ise tampon (buffer) büyüklüğünün kısıtlı olmasıdır (n satır tutulabildiği). Bu durumda bu iki işlem arasında senkronizasyon gereklidir: 1. Eğer buffer dolu ise buraya bilgi aktarılmayacaktır. 2. Eğer buffer boş ise buradan bilgi alınmayacaktır.
Monitör Programları Monitör programları paylaşılan nesneye ulaşmada meydana gelebilecek problemleri ortadan kaldırmaya yönelik olarak geliştirilmiştir. Yani izleyici programlardır. 1. Paylaşılan nesneyi oluşturan veri 2. Bu nesneye ulaşmak için kullanılan bir grup procedure 3. Nesneyi başlangıç durumuna getiren bir program parçasından oluşmaktadır. Daha önceki buffer örneği için; 1. Buffer alanı ve buraya işaret eden pointerler 2. Depolama ve çıkarma işlemleri için kullanılan iki procedure 3. Buffer işaretçilerini eski haline getiren bir program parçası Monitör programları, wait ve signal işlemleri yanlış gerçekleştirildiğinde oluşan sistem kilitlenmeleri engeller. Semaforlarla işlemler arası kombinasyonu sağlarlar ve wait ve signal işlemleri arasındaki senkronizasyonu sağlarlar.

Mais conteúdo relacionado

Semelhante a İşletim sistemi

C# 5 Yeni özellikler
C# 5 Yeni özelliklerC# 5 Yeni özellikler
C# 5 Yeni özelliklerErkan BALABAN
 
İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16Cihan Özhan
 
Gerçek zamanlı-i̇şletim-sistemi
Gerçek zamanlı-i̇şletim-sistemiGerçek zamanlı-i̇şletim-sistemi
Gerçek zamanlı-i̇şletim-sistemiilvarol
 
9.hafta cüneyt tomruk
9.hafta cüneyt tomruk9.hafta cüneyt tomruk
9.hafta cüneyt tomrukoktaygokgol
 
Laravel 4 - Events and Queues - 2013.12.21
Laravel 4 - Events and Queues - 2013.12.21Laravel 4 - Events and Queues - 2013.12.21
Laravel 4 - Events and Queues - 2013.12.21Arda Kılıçdağı
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMIErtugrul Akbas
 
Concurrent Programming with Swift
Concurrent Programming with SwiftConcurrent Programming with Swift
Concurrent Programming with SwiftGöktuğ Gümüş
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeAnar Godjaev
 
Prolog Recursion Lesson
Prolog Recursion LessonProlog Recursion Lesson
Prolog Recursion LessonOguzhan Coskun
 
Openbravo Gelişmiş Depo Otomasyonu Yazılımı
Openbravo Gelişmiş Depo Otomasyonu YazılımıOpenbravo Gelişmiş Depo Otomasyonu Yazılımı
Openbravo Gelişmiş Depo Otomasyonu YazılımıMehmet Demirel
 
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , githubversiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , githubfurkan mataraci
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleriErtugrul Akbas
 

Semelhante a İşletim sistemi (20)

İşlemciler
İşlemcilerİşlemciler
İşlemciler
 
C# 5 Yeni özellikler
C# 5 Yeni özelliklerC# 5 Yeni özellikler
C# 5 Yeni özellikler
 
İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16
 
Gerçek zamanlı-i̇şletim-sistemi
Gerçek zamanlı-i̇şletim-sistemiGerçek zamanlı-i̇şletim-sistemi
Gerçek zamanlı-i̇şletim-sistemi
 
Netty Tanıtımı
Netty TanıtımıNetty Tanıtımı
Netty Tanıtımı
 
9.hafta cüneyt tomruk
9.hafta cüneyt tomruk9.hafta cüneyt tomruk
9.hafta cüneyt tomruk
 
Isl sis
Isl sisIsl sis
Isl sis
 
Laravel 4 - Events and Queues - 2013.12.21
Laravel 4 - Events and Queues - 2013.12.21Laravel 4 - Events and Queues - 2013.12.21
Laravel 4 - Events and Queues - 2013.12.21
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
 
Concurrent Programming with Swift
Concurrent Programming with SwiftConcurrent Programming with Swift
Concurrent Programming with Swift
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını Inceleme
 
Eki̇m
Eki̇mEki̇m
Eki̇m
 
Prolog Recursion Lesson
Prolog Recursion LessonProlog Recursion Lesson
Prolog Recursion Lesson
 
İşlemciler
İşlemciler İşlemciler
İşlemciler
 
Python for Hackers
Python for HackersPython for Hackers
Python for Hackers
 
Openbravo Gelişmiş Depo Otomasyonu Yazılımı
Openbravo Gelişmiş Depo Otomasyonu YazılımıOpenbravo Gelişmiş Depo Otomasyonu Yazılımı
Openbravo Gelişmiş Depo Otomasyonu Yazılımı
 
öLçekleme sunum
öLçekleme sunumöLçekleme sunum
öLçekleme sunum
 
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , githubversiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
 
Fann tool kılavuzu
Fann tool kılavuzuFann tool kılavuzu
Fann tool kılavuzu
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleri
 

İşletim sistemi

  • 1. İşlem Yönetimi İşlem (process) belli bir komut dizisini yerine getiren program parçasıdır. Bir işlemin yapısında; işlemin yazılı olduğu metin bölümü, bir sonraki işletilecek olan komutu gösteren sayaç, yerel değişkenler vb. geçici bilgileri tutan yığın(stack) bölümü ve genel değişken vb. bilgileri tutan veri bölümü bulunmaktadır. . Bazı işlemlerde işlemin çalıştığı sürece kullandığı bir alan (heap) de bulunmaktadır.
  • 2. İşlem Kontrol Bloğu (ProcessControlBlock): Her işlem işletim sistemi tarafından işlem kontrol bloğu tarafından gösterilir, yer alan öğeler ise şunlardır;    • İşlem durumu: İşlem yeni, çalışıyor, bekliyor, hazır veya bitti şeklinde olabilir. • Program sayacı: İşlemde çalıştırılacak bir sonraki komutu gösterir. • MİB kaydedicileri: İşlemci mimarisini göre kaydedicilerin sayısı ve türü değişmektedir. İşlemde kullanılan kaydediciler (AX, BX vb.) içerisindeki bilgiler bir kesme geldiğinde mutlaka saklanmalıdır.
  • 3. • MİB zamanlanma bilgisi: Burada işlemin önceliğini, zamanlama kuyruğundaki işaretçisi ve diğer zamanlama parametreleri ile ilgili bilgiler bulunmaktadır. • Bellek yönetimi bilgisi: İşletim sistemi tarafından kullanılan bellek sistemleri; taban ve limit (tavan) kaydedicileri, sayfa tablosu veya bölüm tablosu gibi bilgileri içermektedir. • Hesap bilgileri: İşlem tarafından kullanılan MİB ve diğer parametrelerin kulanım zamanlarını içermektedir. • G/Ç durum bilgisi: İşlem tarafından kullanılan G/Ç aygıtlarının listesi, açılan dosyaların listesi vb. bilgileri içermektedir.
  • 4. İşlem durumu (Processstate): Bir işlemin hangi durumda olduğunu gösteren ve işlemin ömrü boyunca değişken bir durumu bulunmaktadır. Bunlar; • Yeni: İşlemin oluşturulduğunu gösterir. • Çalışıyor: İşlemin komutları yürütülmektedir. • Bekliyor: İşlem bir olayın gerçekleşmesini beklemektedir. Örneğin bir G/Ç işlemi. • Hazır: İşlem bir işlemciye atanmak için beklemektedir. • Bitti: İşlem çalışmasını bitirdi.
  • 5. İş Parçacıkları (Threads) İş parçacığı, işlemin bir parçasıdır. İşlemlerin Zamanlanması (ProcessSchedulers) İşlemler iş kuyruğuna (Jobqueue) alınmaktadır. Çalıştırılmaya hazır olan veya bekleyen işlemler hazır kuyruğana (readyqueue) alınarak MİB’ne gönderilir. ‘Dağıtıcı (Dispatcher)’ çalıştırılacak olan bir işlemi seçerek MİB’ne gönderdikten sonra aşağıdaki olaylar meydana gelebilir; • İşlem bir G/Ç isteğinde bulunabilir ve böylece G/Ç kuyruğuna yerleştirilir. • İşlem alt işlemler oluşturabilir ve bunların bitmesini bekleyebilir. • İşlem bir kesme oluştuğu için MİB’de çalışması durdurularak kesmenin bitiminin ardından kuyruğa alınarak MİB’ne gönderilebilir.
  • 6.
  • 7. Kilitlenme (Deadlock) Sonsuz döngü anlamına da gelmektedir. Değişik işlemlerin/iş parçacıklarının birbirlerinin alanlarını kullanmalarından ortaya çıkar. Örneğin bir işlem bir kaynağı (örneğin A dosyasını) kullanırken diğer bir kaynağı (örneğin B dosyasını) kullanmak istemektedir. Ancak aynı zamanda başka bir işlem B dosyasını kullanırken A dosyasını kullanmak istemektedir. Bu durumda her iki işlem de istedikleri dosyaları alamayacakları için bu işlemler bloklanacaklardır. Semafor (Semaphore): Latincede ‘deniz feneri’ anlamına gelen Semafor, negatif olmayan bir tamsayı olup işlemin başlangıç deyiminden itibaren wait ve signal işlemleri ile değeri değiştirilebilen bir değişkendir. İki ayrı işlem aynı anda bellekte yürütülürken kaynaklara aynı anda erişmeye çalışabilirler. Bu durumda kullanılan semafor, sistem kilitlenmelerine engel olur. Semaforlar işlemler arası iletişimi sağlayarak sonsuz döngülere ve sistem kilitlenmelerine engel olurlar.
  • 8. Bloklama ve bloğu açma (BlockingandUnblocking) Bir wait işlemi eğer ilgili semaphore değeri 0 ise o işlemin bloke edilmesine neden olur. Semaphore’un değeri signal ile 1 olunca bloke kaldırılarak işlem çalışabilir hale getirilir. Örnek: İki işlemden bir tanesinin bir buffer’a çeşitli değerler aktardığını, diğerinin ise buradan bu bilgileri aldığını farz edelim. Buna verilecek bir örnek bir satır uzunluğundaki bir karakter dizisini her seferinde buffer’a atan bir işlem (process) ile her seferinde buffer’dan bir satır alıp bunu ekrana yazan bir işlem olabilir. Burada bir başka farz ediş ise tampon (buffer) büyüklüğünün kısıtlı olmasıdır (n satır tutulabildiği). Bu durumda bu iki işlem arasında senkronizasyon gereklidir: 1. Eğer buffer dolu ise buraya bilgi aktarılmayacaktır. 2. Eğer buffer boş ise buradan bilgi alınmayacaktır.
  • 9. Monitör Programları Monitör programları paylaşılan nesneye ulaşmada meydana gelebilecek problemleri ortadan kaldırmaya yönelik olarak geliştirilmiştir. Yani izleyici programlardır. 1. Paylaşılan nesneyi oluşturan veri 2. Bu nesneye ulaşmak için kullanılan bir grup procedure 3. Nesneyi başlangıç durumuna getiren bir program parçasından oluşmaktadır. Daha önceki buffer örneği için; 1. Buffer alanı ve buraya işaret eden pointerler 2. Depolama ve çıkarma işlemleri için kullanılan iki procedure 3. Buffer işaretçilerini eski haline getiren bir program parçası Monitör programları, wait ve signal işlemleri yanlış gerçekleştirildiğinde oluşan sistem kilitlenmeleri engeller. Semaforlarla işlemler arası kombinasyonu sağlarlar ve wait ve signal işlemleri arasındaki senkronizasyonu sağlarlar.