One Lane Bridge (Tek Şeritli Köprü) Problemi
Yazan : Şadi Evren ŞEKER Bu problemde, tek şeritli bir köprünün iki ucundan gelen araçların karşıya geçmesini senkronize etmemiz isteniyor. Köprü tek şeritli olduğu için anlık olarak bir yönde araç geçişi mümkün olabiliyor. Bir aracın karşıya geçmesi, ancak karşı taraftan…
Sleeping Barber (Uyuyan Berber) Problemi
Yazan : Şadi Evren ŞEKER Problemin tanımı : Bir berber dükkanında, bir bekleme salonu, bu salonda n adet sandelye ve ayrıca m adet berber koltuğu bulunmaktadır. Sistemimizde m adet de berber olduğunu düşünelim. Şayet hiç bekleyen müşteri yoksa berber uyumaya…
LL(1) Parçalama Algoritması
Yazan : Şadi Evren ŞEKER Bu yazının amacı, derleyici tasarımı (compiler design) konusunda çok kullanılan parçalayıcılardan (parser) birisi olan LL1 parçalayıcısını (LL1 parser) açıklamaktır. LL(1) kelimesi, 3 konunun baş harflerinden oluşur. İlk L harfi, Left-to-Right scan, yani soldan sağa doğru…
POSIX Thread pthread kütüphanesi
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde geçen lif (thread, iplik, sicim) kavramının C dili ile kodlanabilmesi için genellikle UNIX türevi işletim sistemelerinde geliştirilen programlama kütüphanesidir. Kütüphane UNIX ortamında (ve dolayısıyla LINUX ortamında da ) POSIX kütüphanesi olarak geçmektedir ve…
exec fonksiyonları
Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar bilimlerinde, özellikle de işletim sistemlerinde kullanılan exec() fonksiyon ailesini açıklamaktır. Bu fonksiyon grubu, kabaca bilgisayarımızın dosya sisteminde bulunan farklı bir programı, yazmış olduğumuz C programı içerisinden çağırmaya yarar. Çalışma durumunu örnek…
fork fonksiyonu ve işlem çatallanması
Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar bilimlerinin bir çalışma alanı olan işletim sistemlerinde sıklıkla kullanılan ve yeni bir işlem (process) oluşturmaya yarayan fork() ve exec() fonksiyonlarını açıklamaktır. Bu fonksiyonlar C programlama dilleri tarafından desteklenmekte ve unistd.h dosyasının…
Producer Consumer Problem (Üretici Tüketici Problemi)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, başta işletim sistemleri olmak üzere, bilgisayar bilimlerinin pek çok alanında geçen ve klasik bir koşutzamanlı (concurrent) problem örneği olan üretici / tüketici (producer / consumer ) örneğini açıklamaktır. Problemin çeşitli değiştirilmiş tanımları…
Maximal Munch (Azami Lokma) Yöntemi
Yazan: Şadi Evren ŞEKER Algoritma, bilgisayar programlama veya bilgisayar bilimlerinde genelde derleyici tasarımı (compiler design) gibi dizgi (string) işlemenin yoğun olduğu alanlarda büyük lokma (maximal munch) veya en uzun eşleşme (longest match) olarak geçmektedir. Buradaki amaç, anlık olarak en büyük…
Filozofların Akşam Yemeği (Dining Philosophers)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, eş zamanlı işlemlerin (concurrent processes) yönetimini anlatmak için geliştirilmiş bir örnek olan yemek yiyen filozoflar konusunu açıklamaktır. Eş zamanlı işlemler, işletim sistemleri (operating systems), ağ programlama (network programming) gibi pek çok bilgisayar…
Encoder (Kodlayıcı)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, bir mantıksal devre elemanı olan kolayıcının (encoder) çalışma mantığını ve tasarımını açıklamaktır. Basit bir kodlayıcı, kod çözücünün (decoder) tersine üssel işlemi geri alır. Örneğin bir kod çözücüde, yapılan işlem 2n şeklinde gelen…
