Chapter 4: Processes Proces Kavramı Proces Planlama

Slides:



Advertisements
Benzer bir sunumlar
8. SINIF 3. ÜNİTE BİLGİ YARIŞMASI
Advertisements

el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Yrd. Doç. Dr. Mustafa Akkol
Bölüm 6: CPU Planlama Temel Kavramlar Planlama Kriteri
Diferansiyel Denklemler
Değişkenler ve bellek Değişkenler
NOKTA, DOĞRU, DOĞRU PARÇASI, IŞIN, DÜZLEMDEKİ DOĞRULAR
Birlikler ve onluklar Aşağıdaki tabloyu inceleyerek, sonuçları üzerinde konuşalım.
Saydığımızda 15 tane sayı olduğunu görürüz.
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
ASELSAN- TOKİ YAPRACIK KONUTLARI KOORDİNASYON KURULU
HTTP’yi (istemci tarafı) kendi kendinize deneyin
İNTERNET.
BASİT MAKİNELER.
Diferansiyel Denklemler
Microsoft Danışman Öğrenci
Algoritmalar DERS 2 Asimptotik Notasyon O-, Ω-, ve Θ-notasyonları
4 Kare Problemi 4 Kare Problemi Hazır mısın? B A Bu şekle iyi bak
Yönetim Bilgi Sistemleri Şubat TAPU VE KADASTRO GENEL MÜDÜRLÜĞÜ.
Bölüm 1: Introductions (Tanıtım,Tanım)
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Prof. Dr. Leyla Küçükahmet
PNÖMATİK TEMEL SEVİYE TP101 UYGULAMALAR.
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
BÖLÜM 2: BİLGİSAYAR SİSTEM YAPILARI
Chapter 8: Deadlocks (ölümcül kilitlenmeler)
ARALARINDA ASAL SAYILAR
Gün Kitabın Adı ve Yazarı Okuduğu sayfa sayısı
FİİLİMSİLER (EYLEMSİLER)
Matematik 2 Örüntü Alıştırmaları.
Tam sayılarda bölme ve çarpma işlemi
Görelilik Teorisi 1905 yılında Einstein üç makale yayınladı.
HABTEKUS' HABTEKUS'08 3.
Akış Kontrol Mekanizmaları
Chapter 6: Using Arrays.
MESAJ GEÇİŞİ(MESSAGE PASSİNG)
BÖLÜM 4 EŞ ZAMANLI İŞLEMLER.
Chapter 8: Advanced Method Concepts
Diferansiyel Denklemler
3. Bölüm Taşıma Katmanı Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, July Transport Layer.
Ara Sınav Hazırlık.
Chapter 11: Exception Handling
Bankacılık sektörü 2010 yılının ilk yarısındaki gelişmeler “Temmuz 2010”
SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
NAT: Network Address Translation (Ağ Adres Dönüşümü)
1 (2009 OCAK-ARALIK) TAHAKKUK ARTIŞ ORANLARI. 2 VERGİ GELİRLERİ TOPLAMIDA TAHAKKUK ARTIŞ ORANLARI ( OCAK-ARLIK/2009 )
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
Sistem Çağrıları Proses Kontrol Çağrıları Bellek Yönetim Çağrıları
TCP Akış Kontrolü Akış kontrolü
BÖLÜM 4 EŞ ZAMANLI İŞLEMLER.
1.HAFTA 26 Ağustos 2009 ÇARŞAMBA 2.HAFTA 01 EYLÜL 2009 SALI 3.HAFTA 09 EYLÜL 2009 ÇARŞAMBA 4.HAFTA 15 EYLÜL 2009 SALI 5.HAFTA 23 EYLÜL 2009 ÇARŞAMBA 6.HAFTA.
1.HAFTA 26 Ağustos 2009 ÇARŞAMBA 2.HAFTA 01 EYLÜL 2009 SALI 3.HAFTA 09 EYLÜL 2009 ÇARŞAMBA 4.HAFTA 15 EYLÜL 2009 SALI 5.HAFTA 23 EYLÜL 2009 ÇARŞAMBA 6.HAFTA.
SLAYT 1BBY220 OCLC WorldCat Yaşar Tonta Hacettepe Üniversitesi yunus.hacettepe.edu.tr/~tonta/ BBY220 Bilgi Erişim İlkeleri.
CEBİRSEL İFADELERİ ÇARPANLARINA AYIRMA
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
Bölüm 3: İşletim Sistemi Yapıları
Chapter 11: Dosya Sistem Arayüzü
Bölüm 13: I/O Sistemleri Giriş/Çıkış Donanımı
Chapter 5: Threads (İş Parçacıkları)
BÖLÜM 4 EŞ ZAMANLI İŞLEMLER. Kapsam... İşlem Kavramı İşlem Düzenleme Prosesler üzerinde gerçekleştirilen işlemler Proses İletişimi.
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
BÖLÜM 4 EŞ ZAMANLI İŞLEMLER.
Sunum transkripti:

Chapter 4: Processes Proces Kavramı Proces Planlama Procesler Üzerinde İşlemler Birbirleriyle İlişkili Procesler Procesler Arası İletişim İstemci-Sunucu Sistemleri Arasında İletişim Operating System Concepts

Process Kavramı Bir işletim sistemi çeşitli programlar yürütür: Batch sistemi – jobs Zaman paylaşımlı sistemler– kullanıcı programları veya görevler Kitaplarda job ve prosses terimleri neredeyse birbirlerinin yerine kullanılır. Process – yürütülen bir programdır; process icrası sıralı bir biçimde ilerlemelidir. Bir process aşağıdaki özellikleri içerir: program sayacı yığın veri bölümü Operating System Concepts

Process Durumları Prosesler yürütülürken durumlarını değiştirirler new: Process yaratılır. running: Direktifler yürütülür. waiting: Process bazı olayların oluşması için bekler. ready: Process icra edilmek üzere hazır kuyruğunda bekler. terminated: process icrası sonlandırılır. Operating System Concepts

Proces Durum Diyagramı Operating System Concepts

Process Kontrol Bloğu (PCB) Her proces ile ilşkili bilgiler. Process durumu Program sayacı CPU kaydedicileri CPU planlama bilgisi Memory-management bilgisi Hesaplama bilgisi I/O durum bilgisi Operating System Concepts

Process Kontrol Bloğu (PCB) Operating System Concepts

Procesten Procese CPU Anahtarlama Operating System Concepts

Process Planlama Kuyrukları İş kuyruğu – sistemdeki bütün procesleri düzenlemek. Hazır kuyruğu – hazır ve yürütülmeyi bekleyen anabellekteki bütün procesleri düzenlemek Aygıt kuyruğu-.I/O aygıtları için bekleyen procesleri düzenlemek Process göçleri çeşitli kuyruklar arasındadır. Operating System Concepts

Ready Queue And Various I/O Device Queues Operating System Concepts

Process Planlamanın Tasarımı Operating System Concepts

Planlamalar Uzun süreli planlamalar(ya da iş planlamaları) – Prosesin hangi kuyrukla ilişkilendirileceğini seçer. Kısa süreli planlamalar(ya da CPU planlamaları) – prosesin bir sonraki işlemini ve işlem için ayrılan alanın tahsisini seçer. Operating System Concepts

Normal zamanlı planlamalara ilave Operating System Concepts

Planlamalar (Cont.) Kısa zamanlı planlamalar çok sık meydana gelir(millisaniye)  (hızlı olmalı). Uzun zamanlı planlamalar seyrek meydana gelir (saniyeler, dakikalar)  (yavaş olabilir). Uzun süreli zamanlalar multiprogramlamanın derecesini ölçer.(göstergesidir) Prosesler ayrıca şu şekilde tanımlanabilir: I/O-bound process –I/O yaparken hesaplamalardan daha çok zaman harcar,çok az CPU icrası CPU-bound process – Hesaplama yaparken daha çok zaman harcar; çok uzun CPU icraları Operating System Concepts

Bağlam Değiştirme CPU diğer prosese geçtiği zaman, sistem mutlaka eski prosesin durumunu kaydetmeli ve kaydedilmiş durumu yeni prosese yüklemeli Bağlam değiştirme zamanı aşırı yüklenince; sistem geçişler sırasında kullanışlı olmaz Donanın desteği zaman bağımlıdır. Operating System Concepts

Proses Oluşturma Parent proses child prosesi diğer proseslere dönüştürürken oluşturur, bu şekilde prosos ağaçları meydana gelir. Kaynak paylaşımı Parent ve children proses bütün kaynakları paylaşır. Children proses parent prosesin alt küme kaynaklarını paylaşır. Parent ve child proses kaynak paylaşımı yapmaz. İcra Parent ve children proses aynı anda icra edilir. Parent children prosesin sonlandırılmasını bekler. Operating System Concepts

Process Oluşturma (Cont.) Adres alanı Child proses parentin alanını kopyalar. Child kendisine yüklenmiş olan programa sahip olur. UNIX örnekleri Fork(çatallanmak) sistem yeni proses çağırır. Exec(prosesin farklı bir program olarak çalışmasını sağlar) -> Prosese yeni programla birlikte tekrar alan tahsis edilip çatallanmasından sonra sistem çağrısı kullanılır. Operating System Concepts

UNIX sistemlerde Proces ağacı Operating System Concepts

Proses Sonlandırma Proses son ifadeyi icra ettikten sonra işletim sistemine ne karar vereceğini sorar.(çıkış) Çıkış verisi children prosesten parent’a(bekleyerek). Proseslere tahisi edilen alan işletim sistemi tarafından sonlandırılır. Parent proses children prosesin icra edilmesini sonlandırabilir.(durdurmak). Child proses tahsis edilmiş kaynakların dışına çıkarılır. Artık Child prosese görev tayin etmez gerekmez. Parent proses çıkış yapar. İşletim sistemi parent proses sonlandırıldıktan sonra child prosesin çalışmasına izin vermez. Basamaklı sonlandırma. Operating System Concepts

Ortak Çalışan Prosesler Bağımsız prosesler diğer proseslerin çalışmasından etkilenmezler. Ortak çalışan prosesler diğer proseslerin çalışmasından etkilenebilir. Proseslerin ortak çalışmasının avantajları Bilgi paylaşımı Hesaplama hızında artış Modüllerden oluşma Uyumluluk Operating System Concepts

Üretici-Tüketici Problemi Ortak çalışan prosesler ile ilgili örnek: Üretici proses tüketici proses tarafından tüketilen bilgiyi üretir. Unbounded(kontrolsüz)-buffer; buffer’ın boyutunda kullanımı uygun olmayan bir alana yerleşir. Bounded(kontrollü)-buffer; Sabit buffer boyutunu kabul eder. Operating System Concepts

Bounded-Buffer – Shared-Memory Solution Shared data #define BUFFER_SIZE 10 Typedef struct { . . . } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0; Solution is correct, but can only use BUFFER_SIZE-1 elements Operating System Concepts

Bounded-Buffer – Producer Process item nextProduced; while (1) { while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; } Operating System Concepts

Bounded-Buffer – Consumer Process item nextConsumed; while (1) { while (in == out) ; /* do nothing */ nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; } Operating System Concepts

Procesler arası İletişim (IPC) Süreçler için Mekanizma iletişim ve eylemlerini senkronize etmek. Mesaj sistemi– procesler birbirleriyle paylaşılan değişkenlere başvurmadan iletişim kurarlar . IPC iki işleme olanak sağlar: send(mesaj) – mesaj boyutu sabit veya değişken receive(mesaj) Eğer P ve Q iletişim kurmak isterse,gerekenler: Birbirleri arasında iletişim linki saptamalılar send/receive aracılığı ile mesaj değiştirmeliler İletişim linkinin uygulanması fiziksel (ör., paylaşilan bellek, donanım yolu) mantıksal (ör., mantıksal özellikler) Operating System Concepts

Uygulama Soruları? Linkler nasıl belirlenir? bir link ikiden daha fazla süreçle ilişkili mi? iletişim halindeki süreç çiftleri arasında kaç tane link olabilir? Linkin kapasitesi nedir? sabit ya da değişken boyutlu mesaja hizmet verebilen link var mı ? Tek yönlü veya iki yönlü bir bağlantı var mı? Operating System Concepts

Direkt İletişim Süreçlerin isimleri birbirlerine açıkça gerekir. send (P, message) – - süreç P ye mesaj gönderme receive(Q, message) – süreç Q gelen mesajı alır İletişim linkleri özellikleri Linkler otomatik kurulur Bir link tam olarak iletişim halindeki proces ile ilişkilidir. Her çift aarasında tam bir bağlantı vardır. Bağlantı tek yönlü olabilir ama genellikle çift yönlüdür. Operating System Concepts

Dolaylı İletişim Mesajlar posta (aynı zamanda port olarak anılacaktır) ile yönlendirilir ve alınır. Her bir posta kutusunun benzersiz bir kimliği vardır. Procesler sadece bir posta kutusu paylaşarak iletişim kurabilirler. İletişim bağlantısı Özellikleri Sadece süreçler ortak bir posta kutusu kullanıyorsa link kurulur. Bir bağlantı (link), çok sayıda süreçler ile ilişkili olabilir. Her çift süreç çeşitli iletişim bağlantıları (linkleri) paylaşabilir. Bağlantı tek yönlü veya iki yönlü olabilir. Operating System Concepts

Dolaylı İletişim İşlemler İlkeleri gibi tanımlanır: Yeni bir posta kutusu oluşturmak Posta kutusu aracılığıyla mesaj göndermek ve almak. Poata kutusunu silmek. İlkeleri gibi tanımlanır: send(A, message) – A posta kutusuna mesaj göndermek. receive(A, message) – A posta kutusundan bir mesaj almak. Operating System Concepts

Dolaylı İletişim Posta kutusu paylaşımı Çözüm P1, P2, ve P3 A posta kutusunu paylaşır. P1, gönderir; P2 ve P3 alır. Kim mesajı alır? Çözüm En çok iki process ile ilişkili linke izin verilir. Mesaj alma işlemi için sadece bir procese izin verilir Sistem alıcıyı ikendi isteğine bağlı olarak seçer Gönderici alıcı kim bildirir. Operating System Concepts

Senkronizasyon Mesaj geçişi engelli ya da engelsiz olabilir. Engelli, senkronize (eşzamanlı) olarak düşünülebilir. Engelsiz, asenkronize olarak düşünülebilir. Gönderme ve alma ilkeleri engelli veya engelsiz olabilir. Operating System Concepts

Buffering Bağlantıyla ilişkilendirilmiş mesaj sırası, şu 3 yolla düzenlenir. 1. Sıfır kapasite – 0 mesaj Gönderici, alıcıyı beklemelidir. (buluşma). 2. Sınırlı kapasite– n adet mesajın sınırlı uzunlukta olması Bağlantı doluysa gönderici beklemelidir. 3. Sınırsız kapasite– sınırsız uzunluk Gönderici hiçbir zaman beklemez. Operating System Concepts

Client-Server İletişimi Soketler Remote Procedure Calls (Uzaktan yordam çağrıları) Remote Method Invocation (Uzaktan yordam isteği) (Java) Operating System Concepts

Soketler Soket, bir iletişimin bitiş noktası olarak tanımlanabilir. IP adresinin ve portun birleşimidir. 161.25.19.8:1625 soketi, 1625 portu ve 161.25.19.8 sunucusu demektir. İletişim, bir çift soket arasında meydana gelir. Operating System Concepts

Soket İletişimi Operating System Concepts

Remote Procedure Calls (Uzaktan Yordam Çağrıları) Remote procedure call (RPC), yordam çağrılarını bağlı sistemler üzerindeki işlemlere ayırır. Stubs – Sunucudaki gerçek yordam için client tarafındaki proxy. Client tarafındaki stub, sunucunun yerini belirler ve parametreleri yönlendirir. Server tarafındaki stub, mesajı alır, yönlendirilmiş parametreleri açar ve yordamı sunucu üzerinde uygular. Operating System Concepts

RPC’nin Çalışma Prensibi Operating System Concepts

Remote Method Invocation (Uzaktan Yordam İsteği) Remote Method Invocation (RMI), RPC’ye benzeyen bir Java mekanizmasıdır. RMI, makinedeki bir Java programının uzaktaki bir nesneden yordam çağırmasına olanak verir. Operating System Concepts

Parametrelerin Yönlendirilmesi Operating System Concepts