İşletim Sistemi - Operating Systems
Document Details

Uploaded by FairCuboFuturism2149
Tags
Summary
These lecture slides cover operating systems and related concepts such as processes, memory management, file systems, system calls, and process communication. The slides detail the architecture of operating systems, including monolithic, layered, microkernel, and hybrid structures. It also gives information on scheduling, memory management, and other important concepts relating to operating systems.
Full Transcript
İşletim sistemi 1.slayt -Bilgisayarın donanımı ve yazılım nitelikli tüm kaynaklarının verimli bir şekilde yönetilmesini sağlar -Kullanıcı ile bilgisayar donanımı arasında aracı olarak görev yapar. -Kernel (çekirdek) olarak adlandırılır. -Mobil işletim istemler...
İşletim sistemi 1.slayt -Bilgisayarın donanımı ve yazılım nitelikli tüm kaynaklarının verimli bir şekilde yönetilmesini sağlar -Kullanıcı ile bilgisayar donanımı arasında aracı olarak görev yapar. -Kernel (çekirdek) olarak adlandırılır. -Mobil işletim istemleri KERNEL+MİDDLEWARED MİDDLEWARE:Uygulama geliştiricilere ek servisler sağlayan framework (platform) yazılımlarıdır. -Bilgisayar çalışmaya başladığında, başlangıç programı olarak BOOTSTRAP kullanır. -Bootstrap programlarına FİRMWARE adı verilir. -Firmware programı bilgisayarın tüm bileşenlerini (CPU register, cihaz denetleyicileri, hafıza içeriği) başlatır. -Bootstrap programı, işletim sistemi kernel’ının bulunduğu konumu bilmek ve hafızaya yüklemek zorundadır. -Kernel hafızaya yüklendikten sonra sisteme ve kullanıcılara servis sağlamaya başlar. -Bazı servisler kernel dışındaki sistem programları (system daemons, system processes)kullanır. -DAEMON:Arka planda hizmet veren -İşletim sistemi başlatıldıktan sonra bir olay bekler olay gerçekleştiğinde bildirim yapılır -Donanım->interrupt bildirimi -Yazılım->system call bildirimi -CPU bir interrupt aldığında diğer işlemin service routine'inin başlangıç adresine geçer.Sonra kaldığı işleme geri döner. -Routinler pointer ile gösterilirler. *****ÖNEMLİ-İnterrupt geldiğinde bırakılan işlemin komut adresi ve CPU konfigirasyonu STACK üzerinde saklanır -CPU programların komutlarını hafızadan alır bu yüzden promgramlar önce hafızaya yüklenmelidir.(RAM) -Von Neumann mimarisi’nde, komutlar fetch ile (hafızadan CPU içerisindeki register’a alınması) çalıştırmaya başlanır. -Sonuç varsa hafızaya aktarılır. -Tüm programlar hafızada çalışamaz çünkü: 1)Kapasite yetmez 2)Enerji kesildiğinde hafızadakiler silinir. -Bu yüzden verileri kalıcı saklamak için HDD SSD gibi depolama alanları kullanılır. I/O Yapısı Disk,yazıcı,ağ kartları gibi I/O cihazları CPU’dan belleğe erişip data vermesi için yapılan işlem sürecidir. Ve bunlar cihaz sürücülerine sahiptir.Cihaz sürücüleri köprü görevi görür.Cihaz denetleyicileride CPU ile haberleşir.İşlem bittiğinde interrupt göndererek cihaz sürücüsüne işlemin bittiğini bildirir.Ama bu sistemde CPU sürekli aktiftir.Bu yüzden DMA(Direct Memory Access)kullanılır DMA Cihaz denetleyicisi CPU aracalığı olmadan direkt belleğe erişir. ÇOK İŞLEMCİLİ SİSTEMLER AMP-her işlemci bir işe atanmıştır ve tüm işlemciler başka bir işlemci tarafından denetlenir. SMP-Her işlemci işletim sistemindeki tüm işleri yapabilir. Her işlemci kendi üzerinde cache ve registera sahiptir ama hafızayı (RAM) paylaşırlar. UMA-RAM’e erişim süresi tüm işlemcilerde aynı NUMA-RAM’e erişim süresi tüm işlemcilerde farklı İŞLETİM SİSTEMİ YAPISI İşletim sistemleri birden çok programı çalıştırabilir (multiprogramming). Tüm işler disk üzerindeki job pool içinde tutulur. Multiprogramming işletim sistemi bir işi alır ve çalıştırmaya başlar. Çalışan işte bekleme olduğunda başka bir işe geçiş yaparak çalışmaya devam eder. Hafızaya yüklenen ve çalıştırılmakta olan programa process denilir. Eğer hafızada ayrılan yerden daha çok sayıda iş hafızaya alınmak için hazır ise, hafızaya alınacak olanı seçmeye job scheduling denir. Aynı anda hafızada birden fazla iş hazır ise, hangisinin ilk önce çalışacağına karar vermeye CPU scheduling denilmektedir. Eğer çalışan process yoksa işletim sistemi bekleme durumundadır ve hiçbir iş yapmaz İşletim Sistemi 2 çeşit mod’a sahiptir(Dual Mode) 1-Kullanıcı 2-Kernel Sistem boot edildiğinde kernel moddadır ve uygulama programı çalışmaya başlayınca user moda geçer. 2.slayt CPU tarafından çalıştırılmakta olan program process olarak adlandırılır. Bir process yapması gereken işi tamamlamak için, CPU süresine, hafızaya, dosyalara, I/O cihazlarına ihtiyaç duyar. Bir program pasif varlıktır (passive entity), bir process ise aktif varlıktır (active entity). PROCESS YÖNETİMİ 1-CPU üzerindeki process ve thread’lerin zamanlaması, 2-Kullanıcı ve sistem process’lerinin oluşturulması ve silinmesi, 3-Process’lerin askıya alınması ve devam ettirilmesi, 4-Process’lerin senkronizasyonu, 5-Process’lerin haberleşmesi. BELLEK YÖNETİMİ CPU, tüm programları hafıza üzerinden çalıştırır. CPU, disk üzerindeki bir program parçasına ihtiyaç duyduğunda, I/O çağrısı ile önce hafızaya aktarır. İşletim sistemi hafıza yönetiminde aşağıdaki işlerden sorumludur: 1-Hafızanın hangi kısmının kullanıldığının ve kimin tarafından kullanıldığının izlenmesi, 2-Hangi process’in hafızaya alınacağına veya hafızadan atılacağına karar verilmesi, 3-Hafızadaki boş alanların tahsis edilmesi veya serbest bırakılması. DEPOLAMA YÖNTEMLERİ DOSYA YÖNETİMİ İşletim sistemi, depolama biriminin özelliklerini soyutlamak için mantıksal depolama birimi olarak file (dosya) tanımlar. İşletim sistemi dosya yönetiminde aşağıdaki işlerden sorumludur: 1-Dosya oluşturma ve silme, 2-Dizin oluşturma ve silme, 3-Dosya ve dizin yönetimi işlemleri. DİSK YÖNETİMİ Tüm programlar hafızaya alınmadan önce disk üzerinde saklanır. İşletim sistemi disk yönetiminde aşağıdaki işlerden sorumludur: 1-Boş alan yönetimi, 2-Depolama alanı tahsisi, 3-Disk kullanım zamanlaması. ÖN BELLEK(CACHE) YÖNETİMİ CPU, bir veriye ihtiyaç duyduğunda hafızadan alır ve bir kopyasını cache bellek üzerine aktarır. Cache belleklerde erişim adrese göre, register’larda isme göre yapılır. I/O SİSTEMLERİ YÖNETİMİ Sadece cihaz sürücüsü (device driver) kendisine atanmış olan cihazın özelliklerini bilir. I/O sistemi aşağıdaki bileşenlere sahiptir: 1-Hafıza yönetim bileşeni (buffering, caching ve spooling), 2-Device driver arayüzü, 3-Donanımlar için driver. KORUMA Bilgisayar sistemindeki kaynaklara kullanıcıların veya process’lerin erişiminin denetlenmesine koruma (protection) denilmektedir. GÜVENLİK Güvenlik (security), bir sistemi dışarıdan veya içeriden saldırılara karşı korumayı amaçlar. İŞLETİM SİSTEMİ TÜRLERİ 1-Anaçatı işletim sistemleri Bir oda büyüklüğünde olan ve genellikle büyük veri merkezlerinde kullanılan bu sistemler yüksek maliyetli çözümlerdir. ÖRNEK:OS/390, OS/360, Linux 2-Sunucu İşletim Sistemleri: :Genellikle küçük veya orta ölçekli şirketlerde kullanılan, aynı anda çok sayıda kullanıcının ağ üzerinden donanım ile yazılım kaynaklarını paylaşmasına imkan veren sistemlerdir. ÖRNEK: Unix, Windows Server 3-Çok İşlemcili İşletim Sistemleri Birden fazla işlemciye sahip sistemlerdir. ÖRNEK: Windows, Linux 4- Kişisel bilgisayar İşletim Sistemleri Tek kullanıcıya ait, evde veya ofiste kullanılabilen sistemlerdir. Örnek: Linux, FreeBSD, Windows, OS X 5-Mobil İşletim Sistemleri: Örn: Android OS, iOS, Windows Mobile HESAPLAMA ORTAMLARI 1)Geleneksel hesaplama -2)Mobil hesaplama -3)Dağıtık sistemler 4)İstemci- sunucu mimarisi-5)Peer-to-peer mimarisi- 6)Sanallaştırma -7)Bulut bilişim- 8)Gerçek zamanlı gömülü sistemler AÇIK KAYNAKLI İŞLETİM SİSTEMLERİ Açık kaynak (open-source) işletim sistemlerinde, derlenmiş binary kod yerine kaynak kodu da kullanılabilir durumdadır. LİNUX-AÇIK ----WİNDOWS-KAPALI--------Apple Mac OS X ve iOS –HİBRİT Açık kaynak, kapalı kaynağa göre daha güvenlidir. Çünkü daha çok kişi tarafından kod görülmektedir ve açıklar hızla giderilebilir. İşletim sistemleri, kullanıcılara iki farklı arayüz sağlarlar: Command-line interface (command interpreter)-Kullanıcı doğrudan komutları yazar.-Kullanımı ve öğrenmesi zordur. Graphical user interface (GUI)-Kullanıcı farklı bileşenlerle komutları oluşturabilir.-Kullanımı ve öğrenmesi kolaydır. CLI-Kullanıcı Shell üzerinden programlara erişir GUI-Kullanıcı programların ikonlarına tıklayarak erişir. 3.SLAYT SİSTEM ÇAĞRILARI Sistem çağrıları servislerin işletimin sistemi tarafından kullanılmasını sağlar(Dosya açak,okumak,oluşan hatalar) İşletim sistemindeki API tarafından sağlanan fonksiyonlar kullanılır. Bu işletim sistemi fonksiyonları kerneldaki sistem çağrılarını başlatır CreateProcess() fonksiyonu-NTCreateProcess()sistem çağrısı Sistem Çağrıları parametre alabilir.Bunu 3 farklı yolla işletim sistemine gönderir. 1-REGİSTERLARLA 2-Hafızada blok veya tablo 3-STACK 6 Çeşit Sistem Çağrısı vardır: 1.Process control Programın çalışmasını etkileyen başlatan durduran sistem çağrısıdır End()-sonlandırma Abort()-beklenmeyen şekilde load(),execute()-başlatma Birden fazla program aynı veriyi paylaşabilir.Çalışan process veriyi kilitler diğer processler erişemez. Acquirelock()-kilitleme releaselock()-açma Single tasking (tek görevli) sistemler bir process çalışırken başka process başlatmaz(MS-DOS) Multi tasking(çok görevli)sistemler bir process çalışırken başka process başlatılabilir.(FreeBSD) 2.File Management Dosya işlemlerini kontrol eder. Create()-Dosya oluşturma delete()-silme open()-açma close()-kapatma read()-okuma write()-yazdırma get file attributes()-dosyaların özelliklerine erişmek copy()-kopyalama move()-taşıma Bir kaynağa erişim isteği request() işin tamamlandığında da release() sistem çağrılarıyla bildirilir.Erişim hakkı alındığında okuma yazma işlemleri gerçekleştirilebilir. 3.İnformation Maintence Kullanıcı programı ile sistem çağrıları arasında veri transferini sağlar Time() date() gibi sistem çağrıları kullanıcı programına saat ve tarih bilgilerini aktarır. Anlık kullanıcı sayısı,işletim sistemi versiyonu,boş hafıza gibi sisteme ait bilgiler aktarır 4.Communication Processler arasındaki iletişim için kullanılır.Bunun iki farklı yolu vardır: a)Message-passing modeli-Mesajlar processler arasında doğrudan ve dolaylı gönderilir.open connection(),close connection() accept connection() kullanılır. b)Shared memory modeli-Farklı processler, ortak bir bellek bölgesine erişerek birbirleriyle veri paylaşır.shared memory create(),shared memory attach() kullanılır. 5.Protection Sistem kaynaklarına erişimi kontrol eder. Set permission()-kaynakalarm erişim yetkisi allow usser()-izin vermek deny user()-izini kaldırmak SİSTEM PROGRAMLARI Modern bilgisayar sistemlerinde en alt seviyede donanım vardır. Donanımın üzerinde işletim sistemi çalışır. İşletim sisteminin üzerinde ise sistem programları vardır. En üstte ise uygulama programları vardır. Sistem programları, program geliştirme ve çalıştırma için kolay bir platform sağlar. File management-Dosya ve dizinlerde, create, delete, copy, rename, print, list, … gibi işlemleri gerçekleştirir. Status information-Bazı programlar sistemden tarih, saat, hafıza ve disk boş alanı, kullanıcı sayısı gibi bilgileri ister. Programming-language support-Programlama dilleri (C, C++, Java, Perl) için compiler, assembler, debugger, interpreter sağlarlar Program loading / execution -Bir programı derledikten sonra hafızaya yükleyip çalıştırmak için kullanılırlar. Background services-Tüm genel amaçlı sistemler boot sırasında bazı sistem programlarını başlatırlar.Bu programların bazıları sistem boot edildikten sonra sonlandırılır, bazıları ise sistem çalıştığı sürece çalışmasını sürdürür. Mekanizmalar ve kurallar Kurallar (policies) ne yapılacağını, mekanizmalar (mechanisms) nasıl yapılacağını belirler. Örneğin, CPU’nun korunması için timer kullanımı mekanizmadır, bir kullanıcı için timer süresinin ne kadar olacağına karar vermek kuraldır. Implementation İlk işletim sistemleri assembly dili ile yazılmıştır. Kernel kısmı assembly, yüksek seviyeli işlemler C, sistem programları C, C++, Perl, Phyton gibi dillerle yazılmaktadır. MS-DOS8088 assembly LinuxC Yüksek seviyeli dillerde yazılan işletim sistemleri daha yavaştır ve daha fazla depolama alanına ihtiyaç duyarlar. KERNEL(ÇEKİRDEK) İşletim sisteminin ana bileşeni olan çekirdek, bilgisayar donanımını çevreleyen ve doğrudan etkileşim kurabilen kısmıdır. Belleği yönetmek, dosya sistemini oluşturmak ve korumak, hataları kontrol etmek, I/O birimleri çalıştırmak, bilgisayar kaynaklarını kullanıcılar arasında dağıtmak İŞLETİM SİSTEMİ MİMARİLERİ 1)Monolitik(Basit): Bu mimarinin en temel özelliği, işletim sisteminin tüm servisleri –bir bileşen olarak- çekirdek içinde aynı seviyede bulunur.ÖRNEK:MS- DOS,UNIX-BSD 2)Katmanlı Yapı: Böylece İşletim sistemi uygun ve küçük parçalara bölünmüştür. Karmaşıklığı azaltılarak katmanlı bir yapı oluşturularak sistem üzerinde daha büyük bir kontrol sağlanmıştır. Katmanlı yapıda, her katman alt katmandaki fonksiyonu çalıştıracağından dolayı performans düşme eğilimindedir. 3)MikroKernek Yapı: UNIX geliştikçe kernel kısmı büyümüş ve yönetimi zorlaşmıştır. Sadece temel hizmetler çekirdekte bulunur.Diğer tüm hizmetler kullanıcı modunda çalışır. ÖRNEK: QNX GNU MACH MİNİX SYMBİAN 4)Modüler Yapı: Monolitik çekirdeğe benzer ama bileşenler modüller halinde yüklenip kaldırılabilir. CPU yönetimi ve hafıza yönetimi doğrudan kernel kısmındadır, farklı dosya sistemleri gibi destek bileşenleri yüklenebilir kernel modülleri ile sağlanmaktadır. Bir modül kendisi yüklendikten sonra başka modülleri çağırabilir veya iletişime geçebilir. 5)Hibrit Yapı: Günümüzde işletim sistemleri, tek yapıya bağlı bir şekilde geliştirilmemektedir. Mikroçekirdek ve monolitik yapıların avantajlarını birleştirir. Monolithic: Sistem performansını artırmak için tüm işletim sistemi görevlerinin tek çekirdek alanında yürütüldüğü bir çekirdek mimarisidir. Monolitik kernel içindeki herhangi bir yapı da hata meydana gelirse, bu hatadan tüm sistem etkilenir. KISACA Monolitik kernel, bir bütün olarak yazılır.Her şey kernel içindedir.Herhangi bir alt sistemdeki sorun tüm sistemi etkileyebilir. Yüksek hafıza ihtiyacı vardır. Mikrokernelde; bir parçadaki hata diğer parçaları etkilemez. Daha güvenilirdir. Hafıza ihtiyacı düşüktür. Hibritte , kernel alanında daha fazla kod taşır.Daha hızlıdırlar. DIŞ ÇEKİRDEK(EXOKERNEL) Ekzo çekirdek donanıma doğrudan erişim sunan bir işletim sistemi çekirdeği mimarisidir. Donanımların arayüzlerini güvenli bir biçimde çoklayarak (multiplexing) kullanıcı seviyesi uygulamalara sunmaktır (exposing). DEBUGİNG Debugging, genel olarak sistemdeki hataların bulunması ve giderilmesi işlemlerini ifade eder. Bir process hata verdiğinde, işletim sistemleri log dosyasına hata bilgisini kaydeder. Kernel’da ortaya çıkan hata crash olarak adlandırılır. Performance tuning: Sistemdeki tıkanıklıkların monitör edilerek belirlenmesi gereklidir. SİSTEM BOOT Kernel’ın yüklenerek bilgisayarın başlatılmasına booting denilmektedir. Bootstrap programı, ROM (Read Only Memory) üzerindedir ve işletim sisteminin kernel kısmını yükler. Mobil cihazlarda işletim sisteminin tamamı EPROM üzerinde saklanır. Bu tür ROM’lar firmware olarak adlandırılır. Bootstrap programı ROM’da, işletim sistemi ise disk üzerinde saklanır. PROCESS Bir process herhangi bir anda sadece bir program ile ilişkilidir. Diğer taraftan bir programdan n adet process oluşturulabilir. Bir process, yürütmekte olduğu işi, program counter değerini, CPU register’larının değerlerini içermektedir. Programdisk üzerinde saklar Processprogram counter saklar PROCESS’in Olabileceği Durumlar New:processin oluşması ready:CPU’ya gitmek üzere beklemesi Running:çalıştırılması waiting:bir olayın gerçekleşmesini beklemesi Bir process’i CPU’da çalışması için process scheduler seçer. 5.SLAYT Scheduling queues Bir process sisteme girdiğinde, tüm işlerin bulunduğu iş kuyruğuna (job queue)alınır. Hafızaya alınmış ve çalışmayı bekleyen process’ler hazır kuyruğuna (ready queue) alınır. Bir sistemde hazır kuyruğu dışında I/O cihazları için de kuyruk (device queue) bulunur. Bir process interrupt beklemeye başlarsa interrupt kuyruğuna alınır. SCHEDULERS Bir process, çalışma süresi boyunca farklı kuyruklara alınabilir. Kuyruktaki process’lerin seçilmesi scheduler tarafından gerçekleştirilir. 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. Process’ler I/O-bound ve CPU-bound olarak iki gruba ayrılır. I/O-bound process’ler I/O işlemleri için daha fazla süre ayırırlar. CPU-bound process’ler CPU ile hesaplama işlemleri için daha fazla süre ayırırlar. Eğer tüm process’ler I/O-bound olursa, hafızadaki ready queue hemen hemen her zaman boş kalır ve short-term scheduler çok az çalışır. Eğer tüm process’ler CPU-bound olursa, I/O waiting queue hemen hemen her zaman boş kalır ve cihazlar kullanılmadan boş kalır. CONTEXT SWİTCH Interrupt’lar, CPU’nun yürütmekte olduğu bir görevden dolayı işletim sisteminin kernel fonksiyonuna geçmesine neden olurlar. Bir interrupt gerçekleştiğinde, mevcut konfigürasyon (context) saklanır ve geri dönüldüğünde yeniden aynı içeriğe dönülerek devam edilir. CPU’nun bir process’ten başka bir process’e geçmesine context switch denilmektedir. PROCESS OLUŞTURMA Bir process çalışması sırasında birkaç tane başka process’i çalıştırabilir. Çağıran process parent, yeni oluşturulan process; child olarak adlandırılır. Child process kaynağa ihtiyaç duyar bu ihtiyacı parent karşılayabilir ya da işletim sistemi kaynak atar. Parent child sonlanana kadar bekleyebilir. ZOMBİE PROCESS sonlandırılmış ama işlem tablosunda hala görünen prosesdir. PROCESS SONLANDIRMA Bir process işlemini bitirdikten sonra exit() ile hafızadan silinmesini bekler. Sonlanan process bu durumu göstermek için parent processe integer değer döndürebilir. Child process 3 yolla sonlandırılabilir: 1-Gerek kalmadığında 2-Kaynak kullanımını aştığında 3-Parent process sonlandığında PROCESSLER ARASI İLETİŞİM Process’ler işletim sisteminde bağımsız process veya işbirlikçi process olarak çalışırlar. Bağımsız Process:Diğer processleri etkilemez ve etkilenmezler. İşbirlikçi Process:Diğer processlerle veri alışverişi yaparlar.Shared memory ve message passing modelleri ile veri aktarımı yaparlar. Shared memory modelinde, hafızada bir bölge process’ler arasında paylaştırılır. Message passing modelinde, process’ler arasında mesaj ile veri gönderilir. THREAD Threadler processlerin farklı çizelgelenen alt dallarıdır Bir thread biraz çalıştırılmakta sonra çalışmasına ara verilmektedir. Başka bir thread kalınan yerden çalışmaya devam ettirilmektedir. Örneğin P1 processinin ilk olarak T1 threadı çalışır sonra T2 ye geçer sonra P2,P3 diye devam eder.Her threadde kalınan işlem saklanır. NEW Durumu:Thread’ın daha çalıştırılmadığı haldir. READY Durumu:Her an çalışmaya hazır durumdurThread Schuduler yönetir. BLOCKED Durumu:Geçici olarak pasif olduğunda aldığı durumdur.Tekara Ready durumuna geçebilirler TERMİNATED Durumu:Sınlandığı anlamına gelir. Bir thread PC,register ve stack yapısına sahiptir. Klasik processler tek threade sahiptir.Birden fazla threade sahipse-(multitasking) FAYDALARI: 1) Kullanıcı etkileşimli uygulamalarda, bir kısım bloklanmışsa kullanıcı ile başka bir kısım çalışmasını sürdürür. 2) Thread’ler ait oldukları process’in sahip olduğu hafıza alanını ve diğer kaynakları paylaşabilirler. 3)Thread’ler ait oldukları process’in kaynaklarını paylaştıklarından dolayı context switch daha düşük maliyetle yapılır. 4)Çok işlemcili mimarilerde thread’ler farklı core’lar üzerinde eşzamanlı çalışabilir MULTİCORE PROGRAMLAMA Tek chip içerisine birden fazla core yerleştirmektir. Tek core üzerinde threadler sırasıyla çalışırken çok core üzerinde paralel çalışırlar. AMDAHL Yasası %75 PARALEL %25 SERİ VE 2 CORE İLE ÇALIŞIYORSA S=0.25 N=2 6.slayt Paralel çalışma türleri: 1)Data paralelizm 2)Task Paralelizm Processler arası iletişim mekanizmaları A)UNIX-1)Sinyal Mekanizması: Bir veya birden fazla işleme bir olayın gerçekleştiğini asenkron olarak haber vermek için geliştirilmiştir. Bir sinyalin bir işlem tarafından algılanabilmesi için işlemin ilgili sinyali bloke etmemiş durumda olması gerekmektedir. Bir sinyalin oluşması için çalıştırılan fonksiyona signal handler adı verilir. 2)Boru Mekanizması:Ortak ebeveyne ait işlemler arasında bir işlemin standart çıkışının diğer işlemin standart girişine bağlanması ile tek yönlü veri akışı oluşturur. İletişim nesnelerinin hangi durum altında işletim sistemindeki varlığının ne süre ile devam edeceğini tanımlar. 1)İşlem seviyesinde kalıcılık:Haberleşme process sonlanana kadar devam eder. 2)İşletim sistemi seviyesinde kalıcılık:İşletim sistemi yeniden başlatılıncaya kadar 3)Dosya sitemi seviyesinde kalıcılık:Processler dosya sisteminde oluşurlar.Dosya silinince B)POSIX-1)Mesaj Kuyruğu:Tekil bir tanımlayıcıya sahip ve birden fazla mesaj saklanabilen bir liste gibidir. 2)Paylaşılan Bellek: Birden fazla işlemin işletim sistemi tarafından ortak erişim imkanı sağlayacak şekilde belirli bir bellek bölgesinin tanımlanmasıdır. 3)Semafor: Bir işlem tarafından değeri test edilebilen veya değiştirilebilen bir bellek alanı olarak tanımlanabilir.