Shell Script #0 – (Giriş)

#! Shell Scripting

Not: Elimin alışık olduğu yegane shell “bash” olduğu için, bu dizide çok büyük oranda bash üzerinde çalışacağız.

Shell Nedir?

İşletim sistemini kullanabilmemizi sağlayan arayüze “kabuk (shell)” deriz. Shell’ler GUI ya da TUI olabilir. Shell denilince aklınıza yalnızca yalnızca siyah ekranda akan yazılar gelmemeli. Fakat yaygın kullanıma baktığımızda eğer bir işlem grafik arayüz üzerinde, fare kullanarak, ikonları görerek vs. yapılıyorsa kullanılan bu ortama GUI denildiğini görürüz. Grafik arayüzün olmadığı durumlarda ise kabuk, shell, terminal, konsol, seri bağlantı, CLI (Command Line Interface) gibi ifadeleri görürsünüz. Bir de “bash” denildiğini görürsünüz arkadaşlar… Shell’e bash demek; traş bıçağına jilet (Gilette), kağıt mendile Selpak demek gibi bir şeydir. Yapmayın.

Okumaya devam et “Shell Script #0 – (Giriş)”

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