İşletim Sistemi 101 – #7 (Boşlukları Dolduran Kavramlar)

Her ne kadar “101” konseptinde yazılar hazırlıyor olsam da, belirli noktalarda patır patır yeni kavramlar dökülüyor, bunun farkındayım. Öyle ki, bazı noktalarda name-dropping yaptığımı bile düşünebilirsiniz. Ama emin olun, name-dropping yapacaksam karşımdakinden gerçekten hoşlanmıyor olmam gerekir. 🙂

Kabul ediyorum. Bu konuları çok daha önceden yazmam gerekirdi. Fakat Star Wars’ı da 1’den itibaren izlemiyoruz. Dolayısıyla idare edin.

Okumaya devam et “İşletim Sistemi 101 – #7 (Boşlukları Dolduran Kavramlar)”

İşletim Sistemi 101 – #6 (İşletim Sistemlerinin Yapısı)

Önceki yazılarımdan da göreceğiniz üzere, işletim sistemi hayli önemli görevleri olan, kompleks bir yapı. Böyle bir yazılımın geliştirme sürecinin de – gerek yönetsel gerekse teknik faaliyetler bakımından – ciddi süreçlerden geçeceğini düşünmek de yersiz olmaz. Bu yazımda, işletim sistemlerinin yapılarını anlamaya / anlatmaya çalışacağım.

Okumaya devam et “İşletim Sistemi 101 – #6 (İşletim Sistemlerinin Yapısı)”

İşletim Sistemi 101 – #5 (CPU Scheduling)

Giriş

Bir önceki yazımda process’lerden bahsetmiştim. Bu yazımda ise ister “multithreaded” ister “single-threaded” olsun, bir işin CPU’ya gönderilmesi için olmazsa olmaz bir konudan, CPU scheduling‘ten bahsedeceğim.

Hep tekrar ettiğimiz bir nokta: İşletim sistemi kaynakları doğru yönetmelidir. Ve kaynaklarımız sınırlı. Bir CPU çekirdeğinde aynı anda yalnızca bir iş yapılabilir ve daha bilgisayarımızı açar açmaz çalışan servisler, aslına bakarsanız ciddi iş yükü oluşturuyor.

Okumaya devam et “İşletim Sistemi 101 – #5 (CPU Scheduling)”

İşletim Sistemi 101 – #4 (Process)

Program vs. Process

Görev Yöneticisi’ni açtığımızda ya da “ps”, “top” gibi uygulamaları çalıştırdığımızda karşımıza çıkan liste, bilgisayarımızda o an çalışmakta olan “şeylerin” bir kısmını bize gösterir. Bu “şeylerin” bazılarının isimleri bize tanıdık gelir.

Windows işletim sisteminde çalışan bazı process'ler.
Windows işletim sisteminde çalışan bazı process’ler.

İsimler gayet bilindik. Bunlar, bilgisayarımızdaki programlar. Ne olduğuna dair en ufak fikrimiz olmayan şeyler de görebiliriz bu listede. Onlar da bilgisayarımızdaki programlar. Değil mi? Değil. Herhangi bir program, çalıştırılma süreçlerine girdiyse artık bir “process” olmuştur.

Okumaya devam et “İşletim Sistemi 101 – #4 (Process)”

İşletim Sistemi 101 – #3 (System Call)

Bilgisayarları kullanırken yaptığımız en basit işler bile, arkaplanda oldukça karmaşık süreçleri tetikleyebiliyor. En azından benim için karmaşık.

Çocukken Buca Şirinyer pazarından satın aldığımız, Atari dediğimiz ama aslında Nintendo oyunlarını çalıştıran, merdiven altı oyun konsolları mesela. Televizyona bağlıyorum. UHF kanalları tarıyorum. 99’a kaydediyorum bulduğum oyun yayınını. AV-1 AV-2 falan geziyorum. Joystick’ten bir düğmeye basıyorum, televizyondaki şey hareket ediyor. Büyük olay değil mi?

Okumaya devam et “İşletim Sistemi 101 – #3 (System Call)”