Proses. Prosesler 2. İşletim Sistemleri



Benzer belgeler
PROSESLER. Proses. Proses

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

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

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri

Bilgisayar İşletim Sistemleri BLG 312

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

Binnur Kurt İstanbul Teknik Üniversitesi Bilgisayar MühendisliM. About the Lecturer

YZM 3102 İşletim Sistemleri

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık

else *on=*on+1; return gecici; } int giseyeyerlestir(struct gise*giseler) {//giseye bos olmasi durumunda yerlestirme yapiliyor...

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Multicore/Multithread Programlama

İşletim Sistemleri (Operating Systems)

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

Bilgilerin Uzun Vadeli Saklanması

Bilgisayar Sistemlerine Genel Bakış

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

BELLEK YÖNETY NETİMİ. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi. Bellek Yönetiminin Gerektirdikleri. Bellek Yönetimi Teknikleri

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

İşletim Sistemlerine Giriş

Prosesler Arası Haberleşme ve Senkronizasyon

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BELLEK YÖNETY. Bellek Yönetimi

İşletim Sistemlerine Giriş

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Bilgisayar İşletim Sistemleri BLG 312

İşletim Sistemlerine Giriş

Bilgisayar Programlama. 1.Hafta

İşletim Sistemlerine Giriş

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

İşletim sistemlerinde, gerçekleştirilen işlemlerin geçici olarak saklandığı merkeze ana bellek (RAM) denir.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Sınav tarihi : Süre : 60 dak.

Eln 1002 Bilgisayar Programlama II

İşlem Yönetimi (Process Management)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

Soket IPC (bağlantı doğrultusunda olan istemci and sunucu operasyonları) Sunucu. İstemci. socket() Bir soket yarat. bind()

8. İŞARETCİLER (POINTERS)

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

İşletim Sistemlerinde Çok Prosesli Çalışma

Görüntü Bellek. Ana Bellek. Fiziksel Adres. Belek Uzayı. Bellek hiyerarşisi. Hız Maliyet (+) Ana Bellek. Boyut (+) DISK. Görüntü Adres.

Ünite-3 Bilgisayar Yazılımı.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

İşletim Sistemleri-II

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

BÖLÜM 7 Kesmeler.

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN

C dilinde if-else yapısı

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

İşletim Sistemlerine Giriş

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

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

ALGORİTMA VE PROGRAMLAMA II

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

DOSYA İŞLEMLERİ Programlama dilleri hafta -

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

ALGORİTMA VE PROGRAMLAMA I

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

ALGORİTMA VE PROGRAMLAMA I

SPARC v8 İŞLEMCİ SİMÜLASYONU

Bilgisayar İşletim Sistemleri BLG 312

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

Küme Bilgisayarlarda PBS Kuyruk Sistemi

Yrd. Doç. Dr. A. Burak İNNER

YAPILAR (STRUCTURES)

İşletim Sistemleri (Operating Systems)

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Binnur Kurt İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

İŞLETİM SİSTEMLERİ (POSIX THREADS v1)

İşletim Sistemi. BTEP205 - İşletim Sistemleri

Linux Assembly Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ DERS 2

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Bölüm 10 Statik ve Anlık Öğeler

C PROGRAMLAMA D İ L İ

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Hafta 13 Fonksiyonlar

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

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

Transkript:

2 PROSESLER

Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev (Task) de denir Text, veri ve yığın alanları vardır. 44

Proses Bazı sistem çağrıları ile sistem kaynaklarını kullanırlar. Birbirleri ve dış dünya ile haberleşirler. Davranışını karakterize edebilmek için proses için yürütülen komutların sırası gözlenebilir: prosesin izi (trace) Prosesin ömrü: yaratılması ve sonlanması arasında geçen süre 45

46

47

48

Proses Proseslerin işlemciye sahip olma sıraları kestirilemez program kodunda zamanlamaya dayalı işlem olmamalı 49

İki Durumlu Proses Modeli Proses iki durumdan birinde olabilir: Koşuyor Koşmuyor 50

Proses Kuyruğu O anda çalışmayan proses sırasını bir kuyrukta bekler: 51

Proses Koşmuyor çalışmaya hazır Bloke G/Ç bekliyor Kuyrukta en uzun süre beklemiş prosesin çalıştırılmak üzere seçilmesi doğru olmaz Bloke olabilir 52

Beş - Durumlu Model Koşuyor Hazır Bloke Yeni Sonlanıyor 53

54

İki Kuyruk 55

Çoklu Kuyruk 56

Proses Yaratma Ne zaman yaratılır? Kullanıcı sisteme girmiş Bir servis sunmak için örneğin yazıcıdan çıktı Bir başka proses yaratmış 57

Proses Sonlandırma Ne zaman sonlanır? Kullanıcı sistemden çıkmış Uygulama sonlandırılmış Hata durumu oluşmuş 58

Prosesin Askıya Alınma Nedenleri Swap işlemi Hatalı durum oluşması Etkileşimli kullanıcı isteği Örneğin hata ayıklama (debug) için Ayrılan sürenin dolması (quantum) Anne proses tarafından 59

İşletim Sistemi Kontrol Yapıları Her proses ve kaynak ile ilgili durum bilgilerinin tutulması gerekir İşletim sistemi tarafından yönetilen her varlık için tablolar tutulur G/Ç Tabloları Bellek Tabloları Dosya Tabloları Proses Tabloları 60

Proses Tablosu Prosesin bileşenleri Yönetilmesi için gerekli özellikleri Kimlik numarası Durumu Bellekteki yeri 61

Prosesin Bileşenleri Proses birden fazla programdan oluşabilir Yerel ve global değişkenler Sabitler Yığın Proses Kontrol Bloğu Nitelikler (attributes) Prosesin görüntüsü Program, veri, yığın ve niteliklerin tamamı 62

63

Proses Kontrol Bloğu Proses Kimlik Bilgileri Kimlik Bilgileri Prosesin kimlik numarası Prosesin annesinin kimlik numarası Sahibin kullanıcı kimlik bilgisi 64

Proses Kontrol Bloğu İşlemci Durum Bilgisi Kullanıcıya açık saklayıcılar İşlemcinin makina dili kullanılarak erişilebilen saklayıcıları. Kontrol ve Durum saklayıcıları Program sayacı Durum saklayıcısı Yığın işaretçileri Program durum sözcüğü (çalışma modu biti var) 65

Proses Kontrol Bloğu Proses Kontrol Bilgileri İş sıralama ve durum bilgileri Prosesin durumu Önceliği İş sıralama ile ilgili bilgiler (Hangi bilgiler olduğu kullanılan iş sıralama algoritmasına bağlı. Örneğin: bekleme süresi, daha önce koştuğu süre) Çalışmak için beklediği olay Veri Yapıları Prosesler örneğin bir çevrel kuyruk yapısında birbirlerine bağlı olabilir (örneğin aynı kaynağı bekleyeneş öncelikli prosesler). Prosesler arasında anne-çocuk ilişkisi olabilir 66

Proses Kontrol Bloğu Prosesler arası haberleşme ile ilgili bilgiler Bazı bayrak, sinyal ve mesajlar proses kontrol bloğunda tutulabilir. Proses Ayrıcalıkları Bellek erişimi, kullanılabilecek komutlar ve sistem kaynak ve servislerinin kullanımı ile ilgili haklar Bellek yönetimi Prosese ayrılmış sanal bellek bölgesinin adresi Kaynak kullanımı Prosesin kullandığı kaynaklar: örneğin açık dosyalar Prosesin önceki işlemci ve diğer kaynakları kullanımına ilişkin bilgiler 67

68

Çalışma Modları Kullanıcı modu Düşük haklar ve ayrıcalıklar Kullanıcı programları genel olarak bu modda çalışır Sistem modu / çekirdek modu Yüksek haklar ve ayrıcalıklar İşletim sistemi çekirdeği prosesleribumoddaçalışır 69

Proses Yaratılması Proses kimlik bilgisi atanır: sistemde tek Proses için bellekte yer ayrılır Proses kontrol bloğuna ilk değerler yüklenir Gerekli bağlantılar yapılır: Örneğin iş sıralama için kullanılan bağlantılı listeye yeni proses kaydı eklenir. Gerekli veri yapıları yaratılır veya genişletilir: Örneğin istatistik tutma ile ilgili 70

Prosesler Arası Geçiş Durumu Saat kesmesi proses kendisine ayrılan zaman dilimi kadar çalışmıştır G/Ç kesmesi Bellek hatası erişilen bellek bölgesi ana bellekte yoktur Hata durumu Sistem çağrısı 71

Proseslerin Durum Değiştirmesi İşlemci bağlamının saklanması (program sayacı ve diğer saklayıcılar dahil O anda koşmakta olan prosesin proses kontrol bloğunun güncellenmesi Prosese ilişkin proses kontrol bloğunun uygun kuyruğa yerleştirilmesi: hazır / bloke Koşacak yeni prosesin belirlenmesi 72

Proseslerin Durum Değiştirmesi Seçilen prosesin proses kontrol bloğunun güncellenmesi Bellek yönetimi ile ilgili bilgilerin güncellenmesi Seçilenprosesinbağlamının yüklenmesi 73

UNIX te Proses Durumları Kullanıcı modunda koşuyor Çekirdek modunda koşuyor Bellekte ve koşmaya hazır Bellekte uyuyor İkincil bellekte ve koşmaya hazır İkincil bellekte uyuyor 74

UNIX te Proses Durumları Pre-empt olmuş (çekirdek modundan kullanıcı moduna dönerken iş sıralayıcı prosesi kesip yerine bir başka prosesi çalışacak şekilde belirlemiş) Yaratılmış ama koşmaya hazır değil Zombie (proses sonlanmış ancak anne prosesin kullanabilmesi için bazı kayıtları hala tutulmakta, ilgili kaynaklar henüz geri verilmemiş) 75

76

UNIX de Proses Yaratma fork sistem çağrısı ile yaratılır çağrıyı yapan proses: anne proses Yaratılan proses: çocuk proses sentaksı pid=fork() Her iki proses de aynı bağlama sahip Anne prosese çocuğun kimlik değeri döner Çocuk prosese 0 değeri döner 0 numaralı prosesi açılışta çekirdek yaratılır; fork ile yaratılmayan tek prosestir 77

UNIX de Proses Yaratma fork sistem çağrısı yapıldığında çekirdeğin yürüttüğü işlemler: proses tablosunda (varsa) yer ayırılır (maksimum proses sayısı belli) çocuk prosese yeni bir kimlik numarası atanır (sistemde tek) Anne prosesin bağlamının kopyası çıkarılır. Dosya erişimi ile ilgili sayaçları düzenler anneye çocuğun kimliğini, çocuğa da 0 değerini döndürür 78

UNIX de fork Sistem Çağrısı ile Proses Yaratılma Hiyerarşisi tty1 tty2.. login proses 0 proses 1 (INIT) diğer sistem prosesleri shell kullanıcı prosesleri 79

UNIX de Proses Sonlanması exit sistem çağrısı ile sentaksı: exit(status) status değeri anne prosese aktarılır Tüm kaynakları geri verilir Dosya erişim sayaçları düzenlenir Proses tablosu kaydı silinir Annesi sonlanan proseslerin annesi olarak init prosesi (1 numaralı proses) atanır 80

Örnek Program Kodu - 1 #include <unistd.h> #include <stdio.h> #include <stdlib.h> int f; int main (void) { printf("\n Program calisiyor: PID=%d \n", getpid()); f=fork(); 81

Örnek Program Kodu - 2 if (f==0) /*cocuk*/ { printf("\nben cocuk. Kimlik= %d\n", getpid()); printf( Annemin kimliği=%d\n, getppid()); sleep(2); exit(0): } else /* anne */ { printf("\nben anne. Kimlik= %d\n", getpid()); printf( Annemin kimliği=%d\n, getppid()); printf( Cocugumun kimliği=%d\n, f); sleep(2); exit(0): } return(0); } 82