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

İşletim Sistemi 101 – #2 (Servisler)

Bir önceki yazımda, işletim sistemi hakkında genel bilgi vermiştim. Bu yazıda ise işletim sisteminin sunduğu hizmetleri anlamaya ve anlatmaya çalışacağım.

İşletim Sisteminin Sundukları

Ne demiştik? Kullanıcılar olarak aslında işletim sistemini, hatta onun kabuğunu (shell)^1 kullanıyoruz. Kalan her şey ise işletim sisteminin yönetiminde oluyor. Yani hem kullanıcı talepleri hem de programların talepleri, işletim sisteminin üzerinden geçiyor. Peki işletim sistemleri, kullanıcılarına (insanlar, programlar, diğer sistemler) neler sunuyor?

Okumaya devam et “İşletim Sistemi 101 – #2 (Servisler)”

İşletim Sistemi 101 – #1 (Tanımlar)

Uyarı: İşletim sistemleri hakkında temel düzeyde bilgi edinmek isteyenlere, konunun güzelliğini fark ettirmek amacıyla bir yazı hazırladım. Teknik detaydan fazlasıyla uzak olduğunu düşünüyorum. Bu nedenle tekniğe dokunan noktalarda bariz eksiklikler olacaktır. Fakat yine de, lütfen eksik ve/veya yanlış gördüğünüz noktaları belirtin ve gerekli düzenlemeleri yapalım. Hayat boyu OS öğreneceğiz!

Okumaya devam et “İşletim Sistemi 101 – #1 (Tanımlar)”