Son Yazılar

İşletim Sistemleri

Peterson’s Algorithm

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, iki adet paylaşılmış değişken (shared…

C / C++ İşletim Sistemleri

Dekker’s Algorithm

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…

Bilgisayar Felsefesi İşletim Sistemleri Network (Ağ) Temel Bilgisayar Kavramları

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…

İşletim Sistemleri

İş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…

İşletim Sistemleri Temel Bilgisayar Kavramları

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)…

İşletim Sistemleri

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)…

İşletim Sistemleri Network (Ağ) Programlama Dilleri Temel Bilgisayar Kavramları

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ı…

İşletim Sistemleri

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…

C / C++ Veri Yapıları

Dairesel Bağlı liste ile Önceliğe sahip hasta sırası takibi

Yazan : Şadi Evren ŞEKER Siteye gelen bir soru üzerine bu yazıyı ekliyorum. Öncelik sırası (priority queue), kullanarak gelen hastaları verilen önceliğe göre dairesel bir bağlı listeye (linked list) yerleştiren ve ardından sırayla gelen hastaları listeden alan bir kodu C++…

Algoritma Analizi (Teory of Algorithms) C / C++ Veri Yapıları

Levenshtein Mesafe Algoritması (Levenshtein Distance)

Yazan: Yrd. Doç. Dr. Şadi Evren ŞEKER İki dizilim arasındaki benzerliği derecelendirmek için kullanılır. Pratikte arama sonuçlarında kelimeler arasındaki benzerliği derecelendirmek için kullanılmaktadır. Basitçe, iki dizi, iki kelime, iki cümle gibi varlıklar arasındaki değiştirme ve ekleme işlemlerini tutar. Örneğin Oyun-…