Bilgisayar Sistemleri

Automata (Otomatlar) Derleyiciler Donanım (Hardware) Graf Teorisi Programlama Dilleri Temel Bilgisayar Kavramları Veri Yapıları Yapay Zeka (Artificial Intelligence)

Mealy ve Moore Makineleri (Mealy and Moore Machines)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıkça kullanılan sonlu durum makinelerinin (finite state machine, FSM veya Finite State Automaton , FSA) gösteriminde kullanılan iki farklı yöntemdir. Genelde literatürde bir FSM’in gösteriminde en çok moore makinesi kullanılır. Bu iki yöntem…

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

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

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…