İşletim Sistemleri – Not

İşletim Sistemleri

  • Linux
  • Windows
  • Mac Os X
  • Android
  • ios

İşletim Sistemlerinin Temelleri

Bilgisayarlarda işletim sistemi; donanımın doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden ve uygulama programlarını çalıştırmaktan sorumlu olan sistem yazılımıdır. Yani kısaca donanım ile yazılımlar arası yapılandırmayı sağlar. O.S (operating system) diye kısaltılır. Bilgisayar haricinde video oyun konsolları, cep telefonları ve web sunucularında da bulunabilir.

En yaygın olarak kullanılan işletim sistemleri iki ana grupta toplanabilir: Microsoft Windows Grubu ve UNIX benzeri işletim sistemlerini içeren grup. (Bu grup içerisinde pek çok Unix versiyonu, Linux ve Mac Os sayılabilir)

İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve dosya sistemine erişimini sağlar. Birden çok program aynı anda çalışıyorsa, işletim sistemi, her programa yeterli sistem kaynağını ayırmaktan ve birbirleri ile çakışmamalarını sağlamaktan da sorumludur.

Bir İşletim Sisteminden Beklenen İşlevler

Sistem Kaynakları

Sistem kaynakları bilgisayar sistemi içerisinde kullanılan aygıtların (seri, paralel, USB port, fare vs.) programların kontrol edilebilmesi, kullanıcılara hizmet edebilmesi için gerekli makenizmaları anlatmak için kullanılan kelimelerdir. Sistem kaynakları, sistem içerisindeki donanım elemanlarının CPU (Central Process Unit) ile haberleşebilmesi için paylaştırılır.

Genişleme kartları dahil bilgisayarlarda bulunan bütün bileşenlerin işlemci ile haberleşmeleri gerekmektedir. Ne yazık ki sadece “haberleşme” kelimesini kullanmak yetersiz kalmaktadır. Çünkü işlemci ile bileşenler arasındaki haberleşme insanlar arasındaki gibi değildir. Bilgisayarda BIOS ya da sürücü komutları şeklinde yalnızca işlemci “konuşur”, bileşenler ise yalnızca işlemcinin komutlarına tepki verirler.

Haberleşmeyi, sistem kaynakları adı altında dörde bölebiliriz:

  • Sistem kaynakları
  • Girdi/Çıktı (I/0) adresleri
  • Kesme istemleri (IRQ lar)
  • DMA kanalları ve bellek adresleri

Bütün bileşenler dört sistem kaynağını da birlikte kullanmazlar. Bileşenlerin tamamı I/O adreslemesini ve çoğu IRQ ları kullanır. Ama çok azı DMA ya da belleğe ihtiyaç duyar. Sistem kaynakları yeni bir kavram değildir. 25 yıldır IBM in bilgisayarı ilk üretiminden bu yana mevcuttur. Yeni bileşenlerin sistem kaynakları ayarlanmalıdır. Bu ayarlama günümüzde otomatik olarak tak çalıştır işlemi sayesinde yapılabilmektedir. Ancak eskiden bu son derece zor, elle yapılan bir işlemdi.

Her ne kadar sistem kaynakları büyük ölçüde otomatik ayarlansa da, modern bilgisayarda bu ayarlara girmenizi gerektirebilecek durumlar olmaktadır.

Interrupts / Kesmeler

  • Bileşenlerin ihtiyaç duyduğunda işlemciye erişmesi gerekir.
  • Interrupts bir makenizmanın, işlemciye, her ne yapıyorsa durması ve belli bir bileşenle konuşması gerektiğini söylemesi işlemidir.
  • Birden çok donanımdan gelen INT, yani kesme talepleri I/O gelişmiş programlanabilir kesme kontrol birimince yönetilir.
    • IOAPIC : I/O Advanced Programmable Controller

    IOAPIC, özel kesme bağlantıları kullanarak genişleme yuvalarındaki bütün araçları çalıştırır.

  • Donanımlar, kendi kimliği olan belli bir 1 ve 0 dizilimi ile kesme isteklerini IOAPIC e iletir.
  • Donanımlara ait bu özel 1 ve 0 lar IRQ (Interrupt Requests) yani kesme istemleri olarak adlandırılır.

Kesme İstekleri (IRQ = Interrupt Request)

  • Donanımların sayısal adresleridir.
  • CPU nun kesme kaynağını anlamasını sağlarlar.
  • Kesme önceliğini belirlerler.
  • Bazı IRQ adresleri yaygın olarak standart kullanılır.
    • IRQ1: Klavye , IRQ4: COM1 , IRQ12: PS/2 Fare
  • IRQ9, IRQ kontrol biriminin kendisine aittir ve IOAPIC bağlantı noktasıdır.
  • Tak ve Çalıştır (Plug and Play) yeni bir aygıt takıldığında gerekiyorsa IRQ ataması otomatik olarak yapılır. (Eskiden elle yapılıyordu).

Eğer bilgisayarımızda bir donanımımız doğru çalışmıyor ise Aygıt Yöneticisi penceresinden donanım elemanını seçerek çift tıklarız ve açılan sekmede kaynaklar sekmesi ile boş olan bir irq seçeriz. Ancak unutmamak gerekir ki bu ayarlar için bilgi düzeyimiz yeterli değil ise müdahale etmemiz doğru olmaz.

Doğrudan Bellek Erişimi (DMA=Direct Memory Access)

Modern bilgisayarlarda bulunan, merkezi işlem biriminden bağımsız olarak okuma ve/veya yazmak için, belirli donanım alt sistemleri içinde sistem belleğine erişim sağlayan bir özelliktir.Böylece belli bir performans artışı olur.

DMA verileri bir çevre biriminden RAM’e veya RAM’den çevre birimine CPU’nun müdahalesine gerek kalmadan aktarabilmeyi sağlar. Çevre birimlerinin birbirlerine direk ulaşmasına imkan sağlayamaz.

Sisteme DMA kullanmak üzere kaç kart takılabileceği sınırlıdır.

Hafıza erişim bilgileri kaynaklar sekmesinden görülebilir.

Giriş/Çıkış Adresleri (I/O)

Bilgisayarımızın patronu olan CPU’nun çevre aygıtlarıyla ve devre kartları (ses kartı, ethernet karı vs) ile iletişim kurmak ve bu aygıtları birbirinden ayırt edebilmek için kullandığı giriş çıkış adresleridir. Bu adresler “port adresleri” veya “donanım adresleri” olarak da bilinir. Zaten CPU nun dış dünya ile iletişim kurmak için kullandığı iki yol vardır denebilir. Bunlardan biri bilgisayarımızın ana belleğinin adresleri, diğeri de bahsedildiği üzere I/O adresleridir.

I/O Adres Çakışmaları

Her kartın mikroişlemciyle haberleşmesi için farklı bir I/O adresi vardır. Birden fazla kartın aynı adresi kullanması durumuna “çakışma” denir. Esasen kartlar üretilirken bunlar göz önünde bulundurulan önemli kriterlerdir. Fakat bazı I/O değerleri standart değildir. Sorunlar da standart olmayan bu değerler yüzünden çıkmaktadır.

Giriş/Çıkış adres bilgileri de kaynaklar sekmesinden görüntülenebilir. Fakat daha önce de belirtildiği gibi bu bilgiler bizim değiştirebileceğimiz bilgiler değildir. Buna rağmen bu bilgilerin olmasının nedeni programlama ile uğraşanlar için gerekli olabilmesindendir. Programcı özel bir program geliştirdiğinde kullanacağı donanım birimi ile ilgili özel ayarlar gerekir ise bu bilgileri kullanır.

Bir İşletim Sisteminin Bileşenleri

Kullanıcı Arayüzü (grafiksel veya konsol tabanlı)

Macintosh bilgisayarların çıkışı ve ardından Microsoft un Windows yazılımını geliştirmesinden beri birçok insan, arayüz dendiğinde hemen grafiksel kullanıcı arayüzünü (GUI=Graphic User Interface) düşünmektedirler. Bilgisayar kullanımını daha kolay hale getirmede görsel nesneler kullanımı gittikçe gelişiyor olsa da bu nesneler bilgisayar ve kullanıcı arasında etkileşimi sağlayan seçenekler topluluğunun sadece bir parçasıdır.

Dosya Yönetim Sistemi

Çekirdek