Yazan: Şadi Evren ŞEKER Bilgisayar mühendisliğinde, birbirinde ayrı işlerin kontrolü için kullanılır. Aynı anda çalışan işlerin birbirinden tamamen ayrı olması için (mutually exclusive), bazı kontrollerin yapılması gerekmektedir. Algoritma bu problemi aşağıdaki şekilde çözer. Yukarıdaki kodda görüldüğü üzere, kod üç kısımdan oluşmaktadır: Bariyer Kritik alan Bitiş Bariyer kodunda, işlem (process), diğer çalışmakta olan ve o anda […]
Category: işletim sistemleri
Birbirini Dışlama (Mutually Exclusive)
Yazan: Yrd. Doç. Dr. Şadi Evren ŞEKER Birbirini dışlama özelliği, birden fazla işin birbiri ile ilişkisizliğini belirtmek için kullanılan bir terimdir. Örneğin iki işlem (process) veya iki lifin (thread) birbirinden bağımsız çalışmasını, aynı anda bir işlemi yapmamasını istediğimiz zaman birbirini dışlama özelliğini kullanabiliriz. Bazı kaynaklarda, kısaca mutex (mutually exclusive kısaltması) olarak da geçer. İki adet […]
İşletim Sistemlerinde Hafıza Güvenliği
Yazan : Şadi Evren ŞEKER Bu yazının amacı, işletim sistemlerinde, özellikle de birden fazla işlemin çalıştığı ve aynı hafızayı paylaştığı çok işlemli (multiprocessed) sistemlerde, hafızadaki güvenlik çözümlerini açıklamaktır. Birden fazla işlemcinin çalıştığı ortamlarda karşılaşılan en kritik hafıza problemi, bir işlemin diğer işlemlerin hafızada (RAM) tutulan bilgilerini okuması veya değiştirmesidir. Bir işlem (prcocess) tanım itibariyle kendi […]
CFS (Completely Fair Scheduling, Tam Adil Zamanlama)
Yazan: Şadi Evren ŞEKER Linux 2.6.23 sürümünden sonra çekirdekte (kenel) kullanılan zamanlama algoritmasıdır (CPU Scheduling). Algoritmanın özelliği, CPU meşguliyetini (CPU Utilisation) azami seviyeye getirmek ve işlemciden azami derecede istifade etmektir. 2.6.23 sürümünden önce Linux çekirdeğinde kullanılan O(1) zamanlama (O(1) scheduling) algoritması, performans kriterini sistemdeki bekleme sırası (ready queue) üzerine kurmaktaydı. CFS algoritması ise işlemlerin bekletildiği […]
O(1) Zamanlaması (O(1) Scheduling)
Yazan: Şadi Evren ŞEKER İşlemci zamanlama (CPU Scheduling) yaklaşımlarından birisidir. Bu yaklaşımda, işlem (process) sayısına bakılmaksızın bütün işlemlere eşit miktarda zaman ayrılır. Genel olarak bir işletim sistemi zamanlama algoritmasının öncelikli amacı, sistemin verimli olarak kullanılması ve sistemdeki ek yükleri (overhead) azaltarak sistemde kıtlık (starvation) ve kilitlenmeleri (deadlock) önlemektir. Ayrıca özel bir işletim sistemi grubu olan […]
Overhead (Ek Yük)
Yazan : Şadi Evren ŞEKER Genel olarak bir işin yapılması için, gereken ek maliyetlere verilen isimdir. Örneğin bir kamyonun, bir yükü taşıması için, kendisini de taşıması gerekir. Kendisini taşımasının maliyeti, bu işlemdeki ek yüktür (overhead). Bilgisayar bilimlerinde, çeşitli alanlarda farklı anlamlarla kullanılmaktadır. Örneğin veri iletişimi (network) konusunda ek yük (overhead) denildiğinde genelde bir veriyi iletmek […]
Fair Share Scheduling (Adil Paylaşımlı Zamanlama)
Yazan : Şadi Evren ŞEKER İşlemci zamanlama (CPU Scheduling) konusunda kullanılan kavramsal bir yaklaşımdır. Bu zamanlama algoritmasının amacı, en kıymetli sistem kaynaklarından birisi olan işlemcinin (CPU), adil bir şekilde dağıtılmasıdır. Örneğin 10 kullanıcılı bir sistemde, kaynaklar bütün kullanıcılara %10 oranında dağıtılacak ve sonuçta adalet sağlanacaktır. Şayet kullanıcılardan birsinin iki farklı işlemi bulunursa, bu durumda kaynakları […]
Translation Lookaside Buffer (TLB, Dönüşüm Hafızası)
Yazan: Şadi Evren ŞEKER TLB, sayfalama işleminin (paging) hızını arttırmaya yarayan bir hafıza bölümüdür. Kısaca TLB olması için sayfalama olmalıdır. Günümüzdeki çoğu bilgisayar mimarisi tarafından desteklenmektedir. TLB kullanılabilmesi için sayfalama (paging) sistemde yapılıyor olmalıdır. Basitçe, RAM’in yetersiz olduğu durumlarda hafıza ihtiyacının diskten karşılanmasını sağlayan sanal hafızanın verimli kullanılması için, diskte tutulan veri ve RAM’de duran […]
Ön Hafıza (Cache)
Yazan : Şadi Evren ŞEKER Bu yazının bütün hakları saklıdır ve izinsiz kopyalanması veya alıntı yapılması kanunen koruma altındadır. Bu yazıya dilediğiniz şekilde atıfta bulunabilir (reference) ve bağlantı (link) verebilirsiniz. Bilgisayar bilimlerinde sıklıkla kullanılan ve herhangi bir hafıza işleminin nispeten daha küçük ve daha hızlı dolayısıyla da daha pahalı ilave bir hafızada yapılmasını ifade eden […]
Thread (iplik, lif, iz)
Thread (iplik, lif, iz) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle işletim sistemi (operating systems) konusunda kullanılan önemli terimlerden birisidir. Bir işletim sisteminde ya da yazılan bir programda birden fazla işin aynı anda yapılması için kullanılırlar. Bilindiği üzere işlemci (CPU) anlık olarak tek iş çalıştırabilir, ancak işletim sistemi tasarımında kullanılan bazı yöntemlerle birden fazla […]