Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Hafta_3 Process (İşlem-Süreç)

Benzer bir sunumlar


... konulu sunumlar: "Hafta_3 Process (İşlem-Süreç)"— Sunum transkripti:

1 Hafta_3 Process (İşlem-Süreç)

2 Process (İşlem-Süreç) Tanımı
Process: Bir işletim sistemi üzerinde belleğe yüklenerek çalıştırılan program parçalarına verilen isimdir. (komut satırından yada mouse+click ile) Bir program pasif varlıktır (passive entity), bir process ise aktif varlıktır (active entity). Bir kaynak program durgun bir komutlar dizisi şeklinde bulunurken, process bu komutlar dizisinin işletilmesi anındaki durumuna verilen isimdir. Process’lerin bazısı işletim sistemini çalıştırmaya yararlar, bazıları ise kullanılan diğer programları çalıştırmaya yararlar. Program: Verileri işlemek üzere oluşturulan komutlar/komut kümeleridir. Process: Bir programın bilgisayar sistemlerince işletimi esnasında aldığı isimdir.

3 Process (İşlem-Süreç) Tanımı

4 Process (İşlem-Süreç) Tanımı
Klasik process; Von Neumann mimarisi bilgisayarlarda işletilmekte olan programa ait bir tabirdir. Daha sonraları modern process ve thread(iplik) kavramı ortaya çıkmıştır. Programcılar programlarının değişik kısımlarını bir thread kümesi olarak tek bir klasik process çatısı altında geliştirebilirler. Klasik process’ler, tek bir thread’e sahip modern process’ler olarak düşünülebilir. Klasik process’ler bir arada çalışabilir ancak aynı veri yapılarını paylaşmazlar.

5 Process (İşlem-Süreç) Tanımı
İşletilen her program için en az bir process tanımlanır. Aynı programa ilişkin birden fazla process olabilir. Her process, yeni başka process’ler de üretebilir. Bir programı birden çok process’in çalıştırmasının avantajları ve dezavantajları vardır. Avantajı; bir programın çalışması için birden çok process çalıştığı için o program kısa sürede işleme girebilir. Dezavantajı; ne kadar çok process olursa, bilgisayarın RAM belleğinde o kadar çok yer işgal edilecektir ve CPU bir program için birden fazla process işleyeceği için bu işlemciyi daha çok yükleyecektir.

6 Process (İşlem-Süreç) Tanımı
Bir process yapması gereken işi tamamlamak için, CPU süresine, hafızaya, dosyalara, I/O cihazlarına ihtiyaç duyar. Bazı sistem çağrıları ile sistem kaynaklarını kullanırlar. Process çalıştığı sürece bu kaynaklardan ihtiyaç duyduğunu kullanır, çalışması sonlanınca işletim sistemi ayrılmış kaynakları serbest bırakır. Çok görevlilik (Multitasking) özelliğine sahip olan işletim sistemleri, aynı anda birçok process’in çalıştırılmasına izin verir. Tek çekirdekli işlemciye sahip olan bilgisayarlarda bu iş zaman paylaşımı esasına göre yapılır.

7 Parent-Child Process İlişkisi
Genellikle işletim sistemi yüklendiğinde bir başlangıç process’i otomatik olarak oluşturulur ve bu process tüm process hiyerarşisinin kökü olur. Bir process oluşturulduğunda bu köke eklenir. Çalışmakta olan bir program başka bir programı çalıştırabilir. Yani bir process başka bir process’i oluşturabilir. Bir process’in başka bir process’i oluşturması durumunda; Oluşturan process, üst process (parent process), Yeni oluşturulan process ise alt process (child process) olarak adlandırılır

8 Parent-Child Process İlişkisi
root : üst (parent) process p1, p2 ve p3 :root process’in alt (children) process’leri p4 ve p5 : p3 process’inin alt process’leri

9 Parent-Child Process İlişkisi
Alt process (child process) oluşturulur iken, üst process’den (parent process) bazı özellikleri almaktadır. Pek çok işletim sisteminde process’in erişim hakları, çalışma dizini, dosya betimleyicileri, çevre değişkenleri yeni process oluşturma sırasında üst process’den alt process’e aktarılır. Alt process aktarılan özellikleri daha sonra değiştirmeden kullanabilir ya da değiştirebilir. Windows sistemlerinde alt-üst process ilişkisi UNIX/Linux sistemlerinden daha zayıftır, yani daha az özellik alt process’e aktarılır.

10 Process (İşlem-Süreç) Tanımı
Bir process : Text (Code) : program code Yığın (Stack) : function parameters, return address, local variables Veri (Data) : global variables bölümlerini içerir. Birbirleri ve dış dünya ile haberleşirler. Process ömrü: oluşturulması ve sonlanması arasında geçen süredir. Code Data Stack Process

11 Process Bellek Modeli Stack (Yığın) : Yerel (local) değişkenlerin, fonksiyon çağrılarında parametre aktarımı, dönüş adresinin ve dönüş değerinin saklanması için kullanılır. Yığının çalışması otomatik olarak gerçekleşir. Yerel değişkenler kullanımı başladığı yerde otomatik olarak yığında oluşturulur, kullanım dışına çıkıldığında ise yine otomatik olarak yok edilir. Data : Global değişkenler ve fonksiyonlarda static olarak tanımlanan değişkenler saklanır. Text/Code : Program kodunu ve fonksiyonları saklar. Heap : Dinamik bellek kullanımı için kullanılır. Bu alanın yönetiminden programcı sorumludur. Programcı, C’de malloc() ve free() fonksiyonlarını, C++’da ise new ve delete operatörlerini kullanarak ihtiyacı kadar alanı alır ve kullanımı bitince ise aldığı alanı geri vermekle sorumludur.

12 Process Bellek Modeli Bir process yeni bir alt (child) process oluşturabilir. Fakat yeni bir process oluşturmak maliyetlidir. Aynı zamanda process contex switching (bağlam anahtarlama) maliyeti de yüksektir. Bu yüzden çok process’li yapıya alternatif olarak thread yapısı kullanılabilir. Threadlar process içerisinde oluşturulurlar. Thread process’lere göre hafif elemanlardır. Bir process birden fazla thread içerebilir. Bir thread oluşturulduğunda onun için sadece yeni bir stack (yığın) oluşturulur. Bir thread içinde bulunduğu process’in heap, text ve data alanlarını paylaşır. Her thread kendi stack (yığın) alanına sahiptir.

13 Process ve Thread Kullanım Modelleri
Çok Process’li Programlama Modeli Tek Process’li Çok Thread’li Programlama Modeli Çok Process’li Çok Thread’li Programlama Modeli Çok process’li modelin dezavantajı process oluşturma ve process’ler arasında contex switching (bağlam anahtarlama) maliyetidir. Çok thread’li programlamada thread’ler işlemciyi daha verimli kullanır. Üstelik thread oluşturmak daha düşük maliyetlidir. Buna karşılık thread’lerden biri başarısız olursa uygulama da başarısız olur ve sonlanması gerekir. Çok process’li çok thread’li modelde, kritik görevler ayrı process’ler olarak kodlanır. Her bir process thread’lerden oluşur. Örneğin Oracle veritabanı, chrome ve firefox web tarayıcıları bu modele göre gerçeklenmişlerdir.

14 Process (İşlem-Süreç) Tanımı
Process’ ler kendi adres alanında (own adress space) çalışırlar ve hafıza koruması (memory protection) uygulanır. Her process kendisine ait ayrı bir hafıza alanına sahiptir. Bu sayede bir process’in, başka bir process’in bilgisine erişmesi engellenmiştir. Bir process için ayrılan alanın başlangıç adresi (base register) ve boyutu (limit register) belirlenmelidir.

15 Process Yürütmesinin İzlenmesi
Davranışını karakterize edebilmek için process için yürütülen komutların sırası gözlenebilir: prosesin izi (trace) Bellekte 3 process bulunduğu göz önünde alındığında: İşletim sistemi process zamanlamasını yönetmelidir. Dispatcher aktif process’i şu durumlarda takas eder. (1) zaman aşımı oluştuğunda, ya da (2) process istekleri, G / Ç işlemi

16 Process Yürütmesinin İzlenmesi

17 Dispatcher (Görevlendirici)
İşletim sistemi tasarımında kullanılan Dispatcher, işlemci zamanlama algoritmasına (CPU scheduling algorithm) göre beklemekte olan process’den sıradakini alıp işlemciye yollayan programın ismidir. Dispatcher zamanı dispatcher’ın bir process’i bitirip diğerine geçişi arasındaki süredir. Dispatcher mümkün olduğu karar hızlı olmalıdır.

18 Dispatcher (Görevlendirici)
Bilgisayarda anlık olarak tek process çalışabilir ve bu process o anda çalışmakta olan diğer process’ler arasından seçilmiş bir process’dir. Örneğin bilgisayarda 10 tane program açık olabilir ama CPU’da anlık olarak bir tanesi çalışır. Çalışan programların tamamı bekleme sırasında (ready queue) beklerler. Bir işlemci zamanlama algoritmasına göre process’ler dispatcher vasıtası ile sırası geldiğinde Hazır kuyruğundan (ready queue) alınıp işlemciye (CPU) gönderilerek çalıştırılırlar.

19 Process Ç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 çekirdek process’leri bu modda çalışır

20 İki Durumlu Process Modeli
Herhangi bir zaman diliminde bir process CPU tarafından ya işletiliyordur yada işletilmiyordur. Yani process ya Koşuyor (Running) yada Koşmuyor (Not Running) durumdadır.

21 Process Durumları Bir process’in herhangi bir andaki eylemi, process’in o andaki durumunu belirler. Bir process 5 durumda olabilir. 1. Yeni (New) : Process’in oluşturulduğunu gösterir. 2. Hazır (Ready) : Bu durumda bulunan bir process çalışabilir durumdadır ve ana bellekte tutulmaktadır. Eğer bir process çalışmaya başlayabilmesi için gerekli tüm sistem kaynaklarını elde etmişse (ana bellek, teyp birimi, yazıcı vb.) ve sadece arta kalan kaynak olan İşlemciyi(CPU) talep ediyorsa hazır durumda bulunur. İşlemci müsait duruma gelinceye kadar bu process hazır durumda tutulacaktır. İşlemci zamanlama algoritmalarına (CPU scheduling algorithm) göre de sırası gelen process bekleme sırasından(Hazır Kuyruk) alınarak görevlendirici (dispatcher) tarafından CPU’ya gönderilir.

22 Process Durumları 3. Koşuyor (Running) : Process, işlemciyi şu anda kullanmaktadır. 4. Bekliyor veya Bloke (Waiting or blocked) : Bir process, başka bir process tarafından kullanılan bir kaynağı beklediğinde veya şu anda hazır olmayan bir kaynağı kullanmak ihtiyacı olduğunda bekleme durumuna geçer. 5. Sonlanıyor (Terminated) : Process’in sonlandırıldığını gösterir.

23 Beş Durumlu Process Modeli

24 Beş Durumlu Process Modeli
Hazır (Ready) durumda bulunan tüm process’ler Hazır durum kuyruğunda bekletilirler. Görevlendirici (dispatcher), Hazır durumda olan bir process’i işlemci zamanlama algoritma stratejisi çerçevesinde seçerek çalışması için işlemciye (CPU) gönderir. Böylece process durumu Hazır durumundan Koşuyor (Running) durumuna dönüşmüş olur. Process, hazır olmayan bir kaynak beklediği zaman, (giriş/çıkış işlemi veya mesaj alma vb. durumlarda) Hazır durumdan Bekleme/Blok (Waiting or blocked) durumuna geçer.

25 Beş Durumlu Process Modeli
Bir process’in daha önceden talep ettiği kaynak işletim sistemi tarafından process’e tahsis edildiği zaman process Bekleme/Blok durumdan Hazır duruma geçiş yapar ve tekrar kuyruğa girer. İşletim sistemi İşlemciyi bir başka process’e vermek maksadıyla hali hazırda İşlemciyi kullanan process’i çalışmasını durdur ve process tekrar Hazır kuyruğuna gönderilir. Process, bir kesme (interrupt) oluştuğu için işlemcide çalışması durdurularak kesmenin bitiminin ardından Hazır durum kuyruğuna alınarak işlemciye gönderilebilir.

26 Beş Durumlu Process Modeli
Bir Process sürekli olarak çalışır durumunda kalmaz bazı zamanlar Bekleme/Blok konumuna geçer. Her process sürekli CPU'yu işgal ederse ise, bilgisayar kitlenir. Bu sebeple process işlemcide işlem gördükten sonra çıkmak zorundadır. Eğer process tekrardan işlem görmek istiyorsa bu sefer Hazır kuyruğuna geçer.

27 Zombi (Zombie) Process
POSIX standartlı işletim sistemlerinde, sonlanmış ancak process tablosundan bilgileri silinmemiş process’e zombi process denir. Zombi process’ler kullandıkları tüm kaynakları iade etmişlerdir. UNIX/Linux sistemlerinde bir alt process sonlandığında onu oluşturan process wait ya da waitpid fonksiyonlarıyla çıkış kodunu almazsa process, process tablosunda wait işlemi yapılana kadar kalır. Zombi process’ler ps komutu ile process listesi alındığında 'z' harfi ile gösterilir. Linux Process/Thread Model

28 Process Anahtarlama İşlemcinin, paralel işletimi sağlamak üzere bir process işletimini bırakıp diğer bir process işletimine geçmesi belirli önlemler alınmadan yapılamaz. İşletimin yarım bırakıldığı andaki process durum bilgilerinin saklanması gerekir. Yarım bırakılan bir programın tutarlı bir biçimde kaldığı yerden çalıştırılması işletimini bırakıldığı andaki durum bilgilerinin saklanması yoluyla sağlanır. İşlemcinin bir process işletimini, daha sonra devam etmek üzere bırakıp diğer bir process işletimine geçmesi içerik anahtarlama (context switching) olarak adlandırılır. Bu nedenle her process için işletim sistemi tarafından bir veri yapısı tutulur. Bu veri yapısı en azından işletimin hangi komuttan başlayarak sürdürüleceği bilgisini, işlemci yazmaç (register) içeriklerini varsa kullanılan dosyalarla ilgili bilgileri içermek zorundadır.

29 Process Anahtarlama İşlemci (CPU) anlık olarak tek bir iş ile uğraşabilir. Fakat işletim sistemi tasarımında bulunan bir özellik sayesinde, işlemcide birden fazla işin aynı anda çalışıyormuş gibi hissettirilmesi mümkündür. Aslında anlık olarak tek process çalıştırıp birden fazla iş yapıyormuş gibi gösteren işletim sistemi özelliği kısaca çok görevlilik (multi tasking) olarak adlandırılır. Bu özellik işlemcinin (CPU), process’leri sırayla çalıştırması sayesinde elde edilir. Process’ler arasında işlemcinin geçiş yapmasına da içerik değiştirme (context switching) ismi verilir.

30 Process Anahtarlama Çoklu program işleme tekniğinde, CPU’da, "bir process’den diğer "bir process’e geçerken, periyodik olarak context switching gerçekleşir. Aslında her context switching işleminin bilgisayar açısından bir maliyeti vardır. Dolayısıyla context switching aslında iyi bir özellik olmasına karşılık bir de maliyeti vardır ve oranı yükseldikçe dezavantaj haline gelir.

31 Process Anahtarlama CPU, bir process’den diğerine anahtarlandığında data ve durum kaydedicilerinin kaydedilmesi gereklidir. Örneğin 1 birimlik bilginin yüklenmesi için 20 nanosaniyeye(ns) ihtiyaç duyulduğu ve 50 tanede kaydedici olduğu düşünülürse, bu kaydedicilerin kaydedilmesi 1milisaniye(ms) alacaktır. Ayrıca yeni yüklenecek process’in kaydedicileri de 1ms’de CPU’nun kaydedicilerine aktarılacağından bu süreç 2ms sürecektir. Bu süre zarfında işe dönük birçok komut işletilebilecekken, anahtarlamaya geniş bir zaman ayrılması gerekmektedir.

32 Process Anahtarlama Eğer işletim sistemi bir process çalışırken context switching yapmaya karar verirse, kalınan noktadan itibaren tekrar devam edebilmesi için o anki tüm context'i saklaması ve tekrar yükleyebilmesi gerekir. İşletim sistemi bir process’in o anki halini saklamak için Process Control Block (PCB) yapısını kullanır. Bu yapıya tekrar devam edebilmek için gerekli her şey yazılır. Sıra tekrar aynı process’e gelince de PCB tekrar yüklenir ve kalınan yerden devam edilir.

33 Process Anahtarlama Contex anahtarlama sırasında işlemler sürekli olarak ana bellek üzerine yazılır ya da ana bellek üzerinden okunurlar. Bu nedenle ana bellek üzerinde sürekli olarak okunup yazılma işlemi gerçekleştirilir, Bu iki durumda istenmeyen durumlardır. Gerçekleşen bu context switching işleminden dolayı belirli bir zaman kaybı olur. İyi bir işletim sisteminde context switching sayısının düşük olması istenir,

34 Process Anahtarlama

35 Process durumlarını izleme
Process’lerin ve Dispatcher'ın durumlarını belirlemek için bir CPU faaliyet zaman çizelgesi çizilebilir.

36 Process Kuyruğu (Process queue)
Örnek olarak; hesap makinası programı çalıştırılmak istendiğinde onu çalıştıran process önce Hazır kuyruğuna geçer, sonra işlemcide işlem görerek Koşuyor durumuna geçer ve program açılır. Daha sonrasında ise hesap makinesi programını çalıştıran process, «Bekleme/Bloke durumu"na geçer. Kullanıcıdan klavye vasıtasıyla rakam girişi beklenir. Rakam girişi veya bir işlem yapılmadığı sürece hep Bloke durumunda kalır.

37 Process Kuyruğu (Process queue)
Process çalışırken klavye, gibi dışsal bir olayı bekleyecek bir işlem başlatırsa process’in çalışıyor olma durumu sona erdirilir ve process bekleme/bloke olmuş duruma getirilir. Çok prosesli çalışmada parçalı çalışma süresi (quantum) boyunca meşgul bir döngü içerisinde sürekli klavyenin yoklanması (polling) etkin bir yöntem değildir. Bu yüzden sistem çalışmakta olan process’i bloke ettikten sonra çalışmaya hazır olan process’lerden uygun olanını seçerek onun çalışmasını sağlar. Bloke edilen process’ler bekleme kuyruklarına alınmaktadır. Dışsal olayı beklemek için bloke olmuş bir process’in blokesi dışsal olay gerçekleştiğinde çözülür ve process bloke olmuş durumdan çıkartılarak çalışmaya hazır (ready) duruma getirilir.

38 Process Kuyruğu (Process queue)
Kullanıcı matematiksel bir işlem için rakam girişleri yapıp eşittir tuşuna bastığında; Bloke durumundan çıkar --> Hazır Kuyruğuna geçer --> Çalışır durumuna geçer. Çalışır durumunda CPU'da işlemi gerçekleştirir ve sonucu ekrana yazar, process daha sonra tekrar Bloke durumuna geçer. Kullanıcıdan tekrar bir işlem bekler. Bekleme durumunda olduğu sürece işlem yapmaz. Prosesin sonlanması genellikle (fakat her zaman değil) çalışır durumdayken (run) gerçekleşir.

39 Process Kuyruğu (Process queue)
Bu basit sistemde tek bir kuyruk process’leri biriktirmek için yeterlidir. Bir process ya aktiftir (executing) yada pasiftir(waiting) O anda çalışmayan process sırasını bir kuyrukta bekler. Processor Enter Queue Dispatch Exit Pause

40 Tek Düzeyli Process Kuyruğu
Ancak tek bir bloke kuyruğu kullanıldığında arka sıradaki bir process’in beklediği G/Ç işlemi geldiği halde öndeki process’leri beklemek zorundadır. Bu problemin çözümü her olay (event) için bir bloke kuyruğu oluşturulacak şekilde kuyruğun yatayda büyütülmesidir.

41 Çok Düzeyli Process Kuyruğu
Kuyrukta yüzlerce process olduğu düşünüldüğünde her bir olay için bir kuyruk tahsisi yapmak daha verimli bir kullanım olacaktır. İşletim sistemleri genellikle her olay için ayrı bir bekleme kuyruğu oluşturmaktadır.

42 Çok Düzeyli Process Kuyruğu
Her Process kendi ile ilgili olan kuyruğa girer. Tüm programlar CPU'da işlem görmeden önce, henüz bekleme/bloke durumundayken, herhangi bir rastgele kuyruğa girmez. Sadece kendi ile ilgili olan kuyruğa girer. Çünkü bazı programların çalışması daha uzun sürebilir bazı programların çalışması daha kısa sürebilir. Tüm process’ler aynı kuyruğa girerse, açılması daha kısa süren program, açılması daha geç olan programında arkasında sıraya girer ise, 1 saniyede açılacak olan program 10 saniyede açılabilir. İşletim sitemi bu problemi önlemek için, benzer işlemleri yapan programları bilgisayar ana belleğinde farklı farklı yerlerde kuyruğa alır.

43 Process planlama Çok programlı sistemlerin temel amacı, CPU kullanımını maksimuma çıkaracak şekilde process’leri çalıştırmaktır. Zaman paylaşımlı sistemlerde CPU çok kısa aralıklarla process’ler arasında geçiş yapar. Bir process’i CPU’da çalışması için process scheduler seçer.

44 Process planlama Scheduling queues Bir process I/O isteğinde bulunursa I/O kuyruğuna aktarılır. Bir process başka bir process’i çalıştırırsa onun bitmesini bekler. Bir process çalışması için ayrılan süre tamamlanırsa CPU tarafından tekrar hazır kuyruğunun sonuna alınır. Bir process interrupt beklemeye başlarsa interrupt kuyruğuna alınır.

45 Process planlama Bir process, çalışma süresi boyunca farklı kuyruklara alınabilir. Kuyruktaki process’lerin seçilmesi scheduler tarafından gerçekleştirilir. Genellikle batch sistemlerde çok sayıda process çalıştırılmak üzere sisteme gönderilir. Bu process’ler disk üzerinde biriktirilir ve daha sonra çalıştırılır. Long-term scheduler (veya job scheduler) bu işleri seçerek çalıştırılmak üzere hafızaya yükler. Short-term scheduler (veya CPU scheduler) bu işlerden çalıştırılmak üzere hazır olanları seçerek CPU’yu onlara tahsis eder. Short-term scheduler çok kısa aralıklarla (<100ms) ve sıklıkla çalıştırılır. Long-term scheduler ise dakika seviyesindeki aralıklarla çalıştırılır.

46 İşletim Sistemi Kontrol Tabloları (OS Control Tables)
– İşletim sistemi tarafından yönetilen her varlık için tablolar tutulur. Bellek Tabloları G/Ç Tabloları Dosya Tabloları Process Tabloları Her process ve kaynak ile ilgili durum bilgilerinin tutulması gerekir. İşletim sistemi process’lerle ilgili gerekli bilgileri bir process tablosu içinde muhafaza eder.

47 Process Table, Process Image
Process’lerin gerçekleştirilmesi sırasında işletim sistemi o process’e bir process kimliği vererek process tablosuna ekler. Process tablosunda her process’in görüntüsüne (process image) ilişkin işaretçi bilgisi ile görüntünün olduğu belleğin başlangıç adresi saklanmaktadır.

48 Process Control Block (PCB) - Process Image
Her process, işletim sisteminde process control block (PCB) ) tarafından temsil edilir.

49 Process Control Block (PCB)
PCB içinde, process numarası, saklayıcı değerleri, program sayaç değeri, process’in ana bellekteki başlangıç adresi (eğer process ana bellekte ise), process durumu, öncelik değeri, process’in oluşturulma zamanı, kullanılan CPU zamanı, mesaj kuyruk göstergeci, statü değerleri, vb bilgiler saklanır. Process’lerin durum değiştirmeleri sırasında; işlemci bağlamı saklanır, çalışmakta olan process’in PCB’si güncellenir, çalışmakta olan process uygun kuyruğa (hazır/bloke) alınır, çalışacak yeni process belirlenir, seçilen process’in PCB’si güncelleştirilir, bellek yönetimi ile ilgili bilgiler güncellenir, seçilen process’in bağlamı yazmaçlara yüklenir ve çalıştırılır.

50 Process Control Block (PCB)

51 Process Control Block (PCB)

52 Process Control Block (PCB)
Process Identification Processor State Information Process Control Information

53 Process Control Block (PCB)- Process Table
Proses Kimlik Bilgileri (Process Identification) – Kimlik Bilgileri Process kimlik numarası Process’in üst process’inin-annesinin kimlik numarası Üst process’in kullanıcı kimlik bilgisi

54 Process Control Block (PCB)- Process Table
İşlemci Durum Bilgisi (Processor State Information) – 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)

55 Process Control Block (PCB)- Process Table
Process Kontrol Bilgileri (Process Control Information) – İş sıralama ve durum bilgileri Process 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ı Process’ler örneğin bir çevrel kuyruk yapısında birbirlerine bağlı olabilir (örneğin aynı kaynağı bekleyen eş öncelikli prosesler). Process’ler arasında üst-alt ilişkisi olabilir

56 Process Control Block (PCB)- Process Table
– Process’ler arası haberleşme ile ilgili bilgiler Bazı bayrak, sinyal ve mesajlar proses kontrol bloğunda tutulabilir. – Process Ayrıcalıkları Bellek erişimi, kullanılabilecek komutlar ve sistem kaynak ve servislerinin kullanımı ile ilgili haklar – Bellek yönetimi Process’e ayrılmış sanal bellek bölgesinin adresi – Kaynak kullanımı Process’in kullandığı kaynaklar: örneğin açık dosyalar Process’in önceki işlemci ve diğer kaynakları kullanımına ilişkin bilgiler


"Hafta_3 Process (İşlem-Süreç)" indir ppt

Benzer bir sunumlar


Google Reklamları