CPU Zamanlama Algoritmalarının Sektörel Karşılıkları: Teoriden Endüstriyel Uygulamaya Uzanan Bir Yolculuk
İşletim sistemleri derslerinde gördüğümüz FCFS, SJF, Round Robin ve Priority Scheduling algoritmaları, yalnızca CPU zamanlamasına özgü kavramlar değildir. Aslında her biri, kaynak paylaşımı ve iş sıralaması probleminin bir çözüm stratejisidir. Bu makalede, simülatörümüzdeki kod bloklarının sektörel yazılım mimarisi içindeki gerçek karşılıklarını inceleyeceğiz.
🏥 Medikal Görüntüleme ve Radyoloji İş Akışı
Senaryo: Hastane Radyoloji Sıralama Sistemi
Bir hastanenin medikal görüntüleme biriminde MR, BT ve röntgen cihazları sınırlı sayıdadır. Hangi hastanın hangi cihaza ne zaman gireceği, klasik bir zamanlama problemidir.
- FCFS Karşılığı: Acil olmayan poliklinik hastalarının başvuru sırasına göre alınması. Basit ama konvoy etkisi yaratır; bir acil vaka tüm kuyruğu bekletebilir.
- Priority Karşılığı: Triyaj sistemi — kırmızı kodlu hastalar öncelikli. Bu, Priority Scheduling algoritmasının birebir uygulamasıdır.
- Round Robin Karşılığı: Yoğun saatlerde her hastaya kısa bir ön tarama dilimi, ardından sıradaki hastaya geçiş. Bu, zaman dilimleme mantığıdır.
Modern hastanelerde bu tür kararlar, HIS (Hospital Information System) yazılımları içindeki modüllerle otomatikleştirilir. Simülatörümüzün Gantt şeması, radyoloji planlama ekranlarında kullanılan zaman çizelgesi görselleştirmeleriyle birebir aynı mantığa sahiptir.
🗺️ GIS ve Haritalandırma Uygulamaları
Senaryo: Harita Karo (Tile) Yükleme Motoru
Google Maps, Yandex Haritalar veya açık kaynak OpenStreetMap gibi sistemlerde harita, küçük kare parçalara (tile) bölünür ve kullanıcı kaydırdıkça yeni karolar indirilir. Bu, tam anlamıyla bir kaynak zamanlama problemidir.
- Priority Karşılığı: Kullanıcının ekran merkezinde olan karolar önce yüklenir (yüksek öncelik); kenarlardaki karolar sonra. Bu, Priority Scheduling mantığıdır.
- SJF Karşılığı: Küçük karolar önce indirilir; böylece kullanıcıya en hızlı geri bildirim sağlanır. Bu, ortalama bekleme süresini minimize etmenin klasik yoludur.
- Round Robin Karşılığı: Birden fazla sekmede açık haritalar varsa, tarayıcı kaynak paylaşımı için adil zamanlama uygular.
Harita motorlarında kullanılan bu yaklaşımlar, GIS haritalandırma alanında tile scheduling olarak bilinir ve doğrudan CPU zamanlama teorisinden türetilmiştir.
📦 Lojistik, Depo Yönetimi ve Kutu Yerleşimi
Senaryo: Otomatik Depo Robot Filosu
Amazon, Trendyol veya Alibaba gibi e-ticaret devlerinin depolarında AGV (Automated Guided Vehicle) robotları siparişleri toplar. Her robot bir "CPU çekirdeği", her sipariş ise bir "süreç" gibidir.
- SJF Karşılığı: Kısa toplama süreli siparişler önce işlenir; böylece order fulfillment hızı artar.
- Round Robin Karşılığı: Bir robot uzun bir koridorda takılırsa, süre dolunca başka bir robota görev atanır ve deadlock önlenir.
- FCFS Karşılığı: Sipariş geldiği sıraya göre işlenir; basit ama verimsizdir. Yoğun saatlerde darboğaz yaratır.
Kutu yerleşimi problemi (bin packing), depo alanının optimal kullanımını sağlamak için matris dönüşümü ve doğrusal programlama teknikleriyle çözülür. Simülatörümüzdeki blok tabanlı Gantt çizimi, bu problemlerin görselleştirilmesinde referans olarak kullanılabilir.
📊 Veri Analitiği ve Büyük Veri İşleme
Senaryo: Spark / Hadoop Cluster Kaynak Yöneticisi
Büyük veri platformlarında on binlerce iş (job) sınırlı kaynaklarla (CPU, RAM, disk) çalıştırılır. Apache Hadoop ve Apache Spark içindeki YARN scheduler doğrudan zamanlama teorisi üzerine kuruludur.
- FIFO Scheduler: Hadoop'un ilk zamanlayıcısı — kuyruğa giren ilk iş önce çalışır. Klasik FCFS.
- Capacity Scheduler: Kaynakları sanal kuyruklara böler; her kuyruk kendi içinde adil zamanlama uygular.
- Fair Scheduler: Tüm işlere eşit kaynak dağıtımı hedefler; Round Robin'in ağırlıklı bir varyantıdır.
Bu sistemlerde ortalama iş tamamlanma süresi (turnaround time) ve verim (throughput) metrikleri sürekli izlenir. Simülatörümüzün istatistik rozetleri, bu metrikleri öğretici ölçekte sunar.
🌐 Ağ Yönlendirme ve Paket Zamanlama
Senaryo: Router QoS (Quality of Service) Yönetimi
Bir kurumsal ağda video konferans, dosya transferi ve web trafiği aynı hattı paylaşır. QoS (Quality of Service) mekanizmaları, kritik paketleri önceliklendirmek için zamanlama algoritmalarını kullanır.
- Priority Queueing: VoIP paketleri en yüksek öncelikte — klasik Priority Scheduling.
- Weighted Fair Queueing: Her trafik sınıfına ağırlıklı dilim atanır — Weighted Round Robin.
- Class-Based Queueing: Her sınıf kendi kuyruğunda Round Robin ile işlenir.
Cisco, Juniper ve Huawei gibi ağ donanımı üreticilerinin router firmware'lerinde bu algoritmaların doğrudan uygulamaları bulunur.
🏭 Üretim Planlama ve Endüstri 4.0
Senaryo: Fabrika Tezgâh Zamanlama (Job Shop Scheduling)
Bir fabrikada N adet iş, M adet tezgâhta işlenmelidir. Her işin farklı süreleri ve öncelikleri vardır. Bu problem, literatürde Job Shop Scheduling olarak bilinir ve NP-hard sınıfındadır.
- SJF Karşılığı: Kısa süreli işler önce tezgâha verilir; ortalama akış süresi düşer.
- Priority Karşılığı: Acil siparişler (yüksek öncelik) öne alınır.
- Round Robin Karşılığı: Uzun işler zaman dilimlerine bölünerek diğer işlerle paralel yürütülür.
Modern fabrikalarda bu kararlar MES (Manufacturing Execution System) yazılımları tarafından genetik algoritma veya kısıt programlama teknikleriyle optimize edilir. Ancak temel mantık yine zamanlama teorisine dayanır.
🎮 Oyun Motorları ve Frame Scheduling
Senaryo: Oyun Döngüsü ve Görev Zamanlama
Modern oyun motorları (Unreal, Unity, Godot) her karede (frame) yüzlerce görevi sıralar: fizik, yapay zekâ, render, ses, ağ. Frame scheduling doğrudan CPU zamanlama problemidir.
- Round Robin Karşılığı: Her alt sistem (fizik, AI, render) kendi zaman diliminde çalışır.
- Priority Karşılığı: Kullanıcı girdisi en yüksek öncelikte; kare düşüşü (frame drop) önlenir.
Özellikle gerçek zamanlı sistemlerde (real-time systems), görevlerin belirli bir süre içinde tamamlanması kritik olduğundan EDF (Earliest Deadline First) gibi gelişmiş algoritmalar devreye girer.
🔬 Bilimsel Hesaplama ve Simülasyon
Senaryo: Süper Bilgisayar İş Kuyruğu (SLURM)
NASA, CERN veya üniversite süper bilgisayarlarında binlerce araştırmacı aynı anda iş gönderir. SLURM gibi iş kuyruk yöneticileri bu işleri sıralar.
- Backfill Scheduling: Küçük işler büyük işlerin arasına sıkıştırılır — SJF'in akıllı bir varyantı.
- Fair Share: Her araştırma grubuna adil kaynak payı — ağırlıklı adil kuyruk.
Bu sistemlerde matris dönüşümü ve paralel hesaplama teknikleri, kaynak kullanımını optimize etmek için kritik rol oynar.
🔗 Ortak Payda: Kaynak Paylaşımı ve Adalet
Görüldüğü üzere CPU zamanlama algoritmaları, sektör ne olursa olsun aynı temel soruyu yanıtlar: "Sınırlı bir kaynağı, rekabet eden birden çok talep arasında nasıl paylaştırırız?" Bu soruya verilen farklı yanıtlar, farklı algoritmaları doğurur:
- FCFS → Basitlik ve öngörülebilirlik öncelikli olduğunda
- SJF → Ortalama bekleme süresi minimize edilmek istendiğinde
- Round Robin → Adalet ve yanıt süresi kritik olduğunda
- Priority Scheduling → Kritik görevler öne alınmak istendiğinde
📚 İleri Okuma ve İlgili Alanlar
Sektörel zamanlama problemleri hakkında daha derinleşmek için şu başlıklar önerilir: Yöneylem Araştırması, Kuyruk Teorisi, Ayrık Olay Simülasyonu, Kısıt Tatmin Problemi, Sezgisel Optimizasyon, Kaynak Tahsisi, Yük Dengeleme, Dağıtık Sistemler.
Sonuç olarak, bu simülatör yalnızca bir eğitim aracı değil; aynı zamanda endüstriyel karar alma mekanizmalarının minyatür bir modelidir. Kod satırlarının arkasındaki mantığı kavradığınızda, medikal görüntülemeden lojistiğe, ağ yönetiminden üretim planlamaya kadar geniş bir yelpazede aynı ilkeleri görebilirsiniz.
| Framework | Vanilla HTML5 / CSS3 / JS |
| Dependencies | Zero External Libraries |