İşletim Sistemleri (Operating Systems) 1
Process (İşlem-Süreç) 2
İşletim Sistemi Process Yönetimi Process oluşturma ve sonlandırma (Process creation and termination) Process değiştirme (Process switching) Process zamanlama (Process scheduling) Process senkronizasyonu ve process ler arası iletişim (Process synchronization and inter-process communication) 3
Process 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. 4
Process Tanımı 5
Process 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. 6
Process 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. 7
Process 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. 8
Process 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. 9
Process 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. Process Code Data Stack 10
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. 11
Process Bellek Modeli 12
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 13
Parent-Child Process İlişkisi root : üst (parent) process p1, p2 ve p3 :root process in alt (child) process leri p4 ve p5 : p3 process inin alt process leri 14
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. 15
Process ve Thread Kullanım Modelleri 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. 16
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ızolur 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. 17
Process Yürütmesinin İzlenmesi Process izi (trace) : İş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 18
Process Yürütmesinin İzlenmesi 19
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. 20
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. 21
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 22
İ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. 23
Beş Durumlu Process Modeli https://courses.cs.vt.edu/csonline/os/lessons/processes/index.html http://williamstallings.com/os-animation/queensland/process.swf 24
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. 25
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. (I/O or event wait) 5. Sonlanıyor (Terminated) : Process in sonlandırıldığını gösterir. 26
Process Durumları Admitted: New durumundaki bir process in Ready durumuna geçmesidir. (Created) Scheduler Dispatch: Ready Durumundaki process in Running Durumuna Geçmesidir. (Dispatched) Interrupt: Running Durumundaki Process in Ready durumuna geçmesidir. (run-time expires) I/O or Event Wait: Process bir eylemin gerçekleşmesini beklediği durumda running den, waiting durumuna geçer. (Blocks) I/O or Event Completion: Waiting durumundaki process in beklediği durum gerçekleştiğinde Ready durumuna geçer. (event accours) Exit: Çalışması biten processin running durumundan Terminated durumuna geçmesidir. (finished) 27
Process Durumları 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 (Ready) 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/Bloke (Waiting or blocked) durumuna geçer. 28
Process Durumları Bir process in daha önceden talep ettiği kaynak işletim sistemi tarafından process e tahsis edildiği zaman process Bekleme/Bloke durumdan Hazır duruma geçiş yapar ve tekrar kuyruğa girer. İşletim sistemi bir kesme (interrupt) vasıtası ile hali hazırda İşlemciyi kullanan process in çalışmasını durdurabilir ve process tekrar Hazır kuyruğuna gönderilir. 29
Örnek olarak; Process Durumları 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 Bekleme/Bloke durumunda kalır. 30
Process Durumları 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 bekleme/bloke durumuna aldıktan sonra çalışmaya hazır olan process lerden uygun olan bir başkasını seçerek onun çalışmasını sağlar. Bekleme/Bloke edilen process ler bekleme kuyruklarına alınmaktadır. Dışsal olayı beklemek için bekleme/bloke durumundaki bir process, dışsal olay gerçekleştiğinde bekleme/bloke durumundan çıkartılarak çalışmaya hazır (ready) duruma getirilir. 31
Process Durumları Kullanıcı matematiksel bir işlem için rakam girişleri yapıp eşittir tuşuna bastığında; Bekleme-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 Bekleme-Bloke durumuna geçer. Kullanıcıdan tekrar bir işlem bekler. Bekleme-Bloke durumunda olduğu sürece işlem yapmaz. Process in sonlanması genellikle (fakat her zaman değil) çalışır durumdayken (run) gerçekleşir. 32
Process Durumları Bazen bir process i askıya (suspend) almak faydalı olabilir. Bu, process i belleğin dışına çıkarma ve durumunu diske kaydetmeyi içerir. Bu durum özellikle sistem kaynaklarını serbest bırakırken yararlıdır ve daha yüksek önceliğe sahip diğer process leri çalıştırmaya izin verir. Genellikle Swap (disk takası), işlemlerinde gerçekleşen bu olay iki yeni Process durumunu gerektirir. Ready, suspend New Admit Activate Suspend Admit Ready Suspend Dispatch Running Time out Exit Bekleme/Bloke askıda (Waiting-Blocked-suspended) Hazır askıda (Ready-suspended) Hazır(Ready) veya Bekle(Waiting) durumunda olan process ler, sistemin kaynak talebine bağlı olarak Askıya(Suspend) alınabilir. Waiting/ Blocked, suspend Event Occurs Activate Suspend Waiting/ Blocked Event Occurs Event Wait 33
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 34
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. Enter Queue Dispatch Processor Exit Pause 35
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. 36
Ç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. 37
Ç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. 38
Çok Düzeyli Process Kuyruğu 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. 39
Bağlam anahtarlama (context switching) İş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. 40
Bağlam anahtarlama (context switching) İş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. 41
Bağlam anahtarlama (context switching) İş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 bağlam anahtarlama (context switching) ismi verilir. 42
Bağlam anahtarlama (context switching) Ç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. 43
Bağlam anahtarlama (context switching) CPU, bir process den diğerine anahtarlandığında data ve durum kaydedicilerinin kaydedilmesi gereklidir. Örneğin 1 birimlik bilginin yüklenmesi için20 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. 44
Bağlam anahtarlama (context switching) 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. 45
Bağlam anahtarlama (context switching) 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, 46
Bağlam anahtarlama (context switching) http://cs.uttyler.edu/faculty/rainwater/cosc3355/animations/switch.htm 47
İş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. 48
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. 49
Process Control Block (PCB) - Process Image Her process, işletim sisteminde process control block (PCB) ) tarafından temsil edilir. 50
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. 51
Process Control Block (PCB) 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. 52
Process Control Block (PCB) 53
Process Control Block (PCB) 54
Process Control Block (PCB) Process Identification Processor State Information Process Control Information 55
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 56
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) 57
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 58
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 59