İşletim Sistemleri Dersi 1. Ünite Özet

İşletim Sistemlerine Giriş

Giriş

Bir bilgisayar programı basit bir şekilde çalışmakta ve çalıştığı zaman da kendisine verilen yönergeleri yürütmektedir. Bellekten her saniyede gelen milyarlarca komutu alan işlemci, bu komutlara ilişkin kodları çözerek programın çalışmasını sağlamaktadır. bir komutu tamamlayan işlemci, sonraki komuta geçer ve bu işlem sürekli tekrarlanır. Bu basamaklar Von Neumann Mimarisi’nin temellerini oluşturmaktadır. Von Neumann Mimarisi, ünlü amerikalı matematikçi John von Neumann’ın (1903-1957) bilgisayarın iç yapısına ve çalışma ilkesine ilişkin tasarladığı mimaridir ve saklı yazılım bilgisayarı ile eşanlamlıdır.

Bu şekilde programların işlemesini kolaylaştıran, programın belleği paylaşmasına izin veren ve programın aygıtlarla etkileştiren program kütlesi İşletim Sistemi’dir. İşletim sistemi fiziksel kaynakları alarak sanallaştırmakta, bu nedenle sanal makine olarak da bilinmektedir. Sanal makine programları gerçek bir bilgisayar sistemindeki gibi çalıştıran mekanizmaların yazılım uyarlamasıdır ve işletim sistemi ile bilgisayar platformu arasında bir sanal ortam üzerinde yazılımların çalıştırılabilmesine olanak sağlamaktadır.

İşletim Sisteminin Tanımı

İşletim sistemi, bilgisayarı kullanmak ve daha kolay işlem yapabilmek, bilgisayara bağlı birimleri (belgegeçer, modem, yazıcı, vb.) yönlendirebilmek, bilgisayardaki programları komut etmek gibi işlemleri gerçekleştirebilmek için kullanılan gelişmiş bir yazılım programıdır. İşletim sistemi son kullanıcının yazılım ve bilgisayar donanımıyla etkileşimini sağlayan alt-düzey yazılımdır. Yazılım dilleri şu şekilde sıralanabilmektedir;

  • Alt-düzey yazılım dilleri: Makine koduna oldukça yakın programlama dilleri (assembly programlama, vb.)
  • Orta-düzey yazılım dilleri: Hem alt hem üst düzey programlama yapabilen esnek diller (C, vb.)
  • Üst-düzey yazılım dilleri: Belirli fonksiyonlar etrafında çalışan, programlama hakimiyetini azaltan, hızlı ve etkili programlama dilleri (COBOL, Fortran, Visual Basic, vb.)

Makine dilinde yazılan tüm komutlar 0 ve 1’lerden oluşur ve bütün komutlar ayrıntılı bir biçimde tanımlanarak iki tabanlı sayı sistemi kullanılarak kodlama yapılmaktadır. Bu nedenle, makine dilinin anlaşılması çok güçtür ve bazı sınıflamalarda en alt düzey dil olarak kabul edilmektedir.

Bir işletim sistemi; temel sistem işlemlerinden, uygulama programlarını çalıştırmaktan ve bilgisayar donanımının denetimi ve yönetiminden sorumlu sistem yazılımıdır.

Bir işletim sistemi faklı kullanıcıların uygulama programlarını ve donanım kaynaklarını kullanımını hem kontrol eder hem de birlikte uyumlu bir şekilde çalışmalarını düzenler. İşletim sistemi; bir hizmet yazılımıdır ve bilgisayar donanımıyla kullanıcı arasında iletişimi sağlar. İşletim sistemleri, bir donanımı belli bir amaç doğrultusunda programlayabilme nitelikleriyle değerlendirilirler. Bu açından bir işletim sistemi sadece bilgisayar, mobil araçlar, video oyun konsolları, cep telefonları ve web sunucularında değil arabalarda, televizyonlarda, ev sinema sistemlerinde, beyaz eşyalarda ve kol saatlerinin içinde de yüklü olabilir. Ancak her bilgisayarın bir işletim sistemi olmayabilir. Örneğin minidalga fırın basit bir girdi ile tek bir görevi gerçekleştirir bu yüzden işletim sistemine gereksinimi yoktur. Bunların yanında; anabilgisayarlar, robotlar, gerçek zamanlı kontrol sistemleri vb. özel amaçlı uygulamalar için geliştirilmiş olan yüzlerce farklı işletim sistemi de bulunmaktadır. Öte yandan işletim sistemleri kod yapısına göre açık ve kapalı kaynak kodları olarak ikiye ayrılır. Anlaşılacağı üzere işletim sistemi kullanıcılar ile donanım arasında yer alan bir yazılımdır. İşletim sistemi kullanıcılara kolay bir işletim ortamı sunarken, sistem kaynaklarının verimli kullanımını da amaçlar.

İşetim sisteminin gerçekleştirdiği işler şu şekilde sıralanabilmektedir;

  • Ana işlem biriminin zamana göre paylaşımının yönetimi,
  • Belleğin yönetimi,
  • Disk alanının yönetimi,
  • Giriş/Çıkış aygıtlarının yönetimi.

İşletim sistemleri, bir donanımı belli bir amaç için programlayabilme niteliği doğrultusunda değerlendirilmektedir. Bilgisayarlar, mobil araçlar, video oyun konsolları, cep telefonları ve web sunucularının yanı sıra, arabalar, ev sinema sistemleri, beyaz eşyalar, kol saatleri, vb. de işletim sistemine sahip olabilir.

İşletim sistemleri kod yapısına göre açık veya kapalı kaynak kodlu olarak sınıflandırılmaktadır. Açık kodlu işletim sistemleri (Linux, vb.) dış müdahale ile geliştirilebilirken kapalı kodlu olanlar (Windows, vb.) geliştirilememektedir.

Sistem yazılımı, diğer yazılımlara platform sağlamak amacıyla tasarlanan bilgisayar yazılımlarıdır. Bir sistem yazılımı olan işletim sistemlerinin yaptığı işler şu şekilde sıralanabilmektedir;

  • Ana belleği yönetmek,
  • Bellek hafızasına atılan ve işlemci tarafından işlenen işlemleri görüntülemek,
  • Donanımı doğrudan denetlemek,
  • Donanımı yönetmek,
  • Sistemin güvenliğini/kontrolünü sağlamak,
  • Bilgisayar açılırken bellekteki diğer yazılımları çalıştırmak,
  • Diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük sisteme erişimini sağlamak,
  • Giriş/çıkışları kontrol etmek,
  • Harici kayıt cihazlarını yönetmek,
  • Merkezi işlem birimini farklı işlere yönlendirmek/yönetmek,
  • Temel sistem işlemlerini/uygulama yazılımlarını çalıştırmak.

İşletim sisteminin çalışması şu şekilde özetlenebilir; açma tuşuna basıldığında bilgisayar açılır ve donanım tanınır, sabit diskten gelen veriler işlenerek işletim sistemi kendini açar, açılma sonrası ekran görüntüsü gelmesiyle uygulamalar da açılır, sonuçta çalışma işlemi biter ve işletim sistemi işlem yapmaya başlar.

İşletim sistemi yazılımı haricinde uygulam ve hizmet yazılımları da bulunmaktadır. Uygulama yazılımları yazı, resim, müzik, vb. için kullanılan programlar, hizmet yazılımları ise genel sistem destek işlemleri (yedekleme, anti-virüs, vb.) yapılan programlardır.

İşletim sistemi ile kullanıcı/kullanıcı programları arasında tanımlı bir arayüz bulunmaktadır. Bu arayüz bir prosedürler veya sistem çağrıları kümesidir. İşletim sistemi tarafından tanımlanan prosedürlere sistem çağrıları denilmektedir.

Tarihsel Gelişim Süreci İçerisinde İşletim Sistemleri ve Gelişimlerini Sağlayan Teknolojiler

Tarih boyunca dört temel işletim sistemi nesli bulunmaktadır. Nesiller işletim sistemlerinin giderek daha verimli, etkili ve kullanıcı dostu iyileşmelerine göre belirlenmiştir. Ancak 2015’e gelindiğinde ise beşinci bir işletim sistemi nesli olan kuantum işletim sistemlerinin varlığı ortaya çıkmaya başlamıştır.

Buna göre işletim sistemi nesilleri şu şekilde sıralanabilir;

  • I. Nesil İşletim Sistemi (1940-1954) Vakum Tüpleri: I. Nesil İşletim Sistemleri, lambalı teknolojiye dayanan Eniac benzeri çok büyük aygıtlardı. Bu bilgisayarlar, aynı zamanda, tek kullanıcılı ana bilgisayarlardı. Bu bilgisayarların bir işletim sistemi olmadığından eski sistemler olarak da anılmaktadırlar.
  • II. Nesil İşletim Sistemi (1955-1964) Transistörler ve Yığın İşlem (Batch Processing): Transistörlerin geliştirilmesi, bilgisayar ve işletim sistemlerinde yeni bir dönemin kapılarının açılmasına neden oldu. II. Nesil İşletim Sistemi döneminin bir diğer önemli özelliği ise Toplu İşlem Sistemleri (Batch Systems) geliştirilmesidir. Böylece bilgisayarın monitor programları kullanılarak otomatik olarak birden fazla işin arka arkaya yapılması sağlandı. Öte yandan II. Nesil İşletim Sistemi dönemindeki bilgisayarlarda kullanıcı her bir satırını bir karta yazdığı programını getirip eliyle sistem operatörüne verirdi. Operatörse kartları kart okuyucu cihazında okutur ve okunmuş şeklini teyp bantına aktarır, sisteme derleyici bantını yükler ve arkasından da kullanıcının programının bulunduğu bantı yükleyerek derleme işlemini yapardı. Bu derleme işlemi tamamlandıktan sonraysa programın çalıştırılabilir hâlini üçüncü banta çıkar ve bunu tekrar sisteme götürüp çalıştırarak programın sonucunu yazıcıdan yazdırırdı. Çok sayıda farklı programcının programlarının 1 bant üzerine arka arkaya yüklenip çalıştırılması olanağı ile Yığın İşlem (Batch Processing) kavramının getirilmesi ve uygulamaya koyulması II. Nesil için önemli bir gelişme olmuştur.
  • III. Nesil İşletim Sistemi (1965-1979) Entegre Devreler ve Çoklu Programlama: III. Nesil İşletim Sistemi döneminde hem mühendislik ve bilimsel işlerde kullanılan bilgisayarlar hem de bankacılık ve sigortacılık şirketleri gibi ticari kuruluşlar tarafından kullanılan bilgisayarlar üretildi.
  • IV. Nesil İşletim Sistemi (1980-2014) Kişisel Bilgisayarlar: LSI (Large Scale Integration circuits) entegre devrelerinin gelişmesi ve binlerce transistörü içeren yongaların 1 cm2 üzerine yerleştirilmesiyle Kişisel Bilgisayar (Personal ComputerPC ) çağı başlamış oldu. Kişisel Bilgisayar’ın gelişmesi ve bunlar üzerinde çalışabilecek yazılımların hiç bilgisayar bilgisi olmayan kişiler tarafından da kullanılabilir olması, bu nesil bakımından bir milat olmuştur.
  • V. Nesil İşletim Sistemi (2015-...): Bilim insanları çok küçük ölçekli diye adlandırılan atom ve proton, nötron, elektron ve quarklar gibi atom altı parçacıklarının bilgi iletişiminde kullanılabileceğini düşünerek kuantum bilgisayarları geliştirmeye başladılar.

İşletim Sistemlerinin Temelleri

İşletim sistemlerinin temellerini oluşturan özellikler şu şekilde sıralanabilir;

  • Sistem kaynakları,
  • Sistem yapısı ve bileşenleri,
  • Sistem işlevleri.

Bu özelliklerin yanı sıra işletim sistemi tiplerini işletim sisteminin temelleri olarak kabul eden bir yaklaşım da bulunmaktadır. Bu yaklaşıma göre işletim sistemlerinin temellerini oluşturan özellikler şu şekilde sıralanabilir;

  • Çoklu kullanıcı (multiuser) işletim sistemleri,
  • Çoklu görev (multitasking) işletim sistemleri,
  • Çoklu işlem (multiprocessing) işletim sistemleri,
  • Çoklu iş parçacığı (multithreading) işletim sistemleri.

Bunlar dışında dağıtık işletim sistemleri (distributed systems) ve gömülü işletim sistemleri (embedded systems) da bulunmaktadır.

Bir işletim sisteminin bileşenleri o sistemin yapısını oluşturmaktadır. Kavramsal olarak bir işletim sisteminin üç temel bileşeni bulunmaktadır. Bunlar şu şekilde sıralanabilir;

  • Kullanıcı arabirimi,
  • Dosya yönetim sistemi,
  • Çekirdek ve kabuk.

Ayrıca, işlevsellik açısından ele alındığında bir işletim sisteminin bileşenleri şu şekilde sıralanabilir;

  • Görev yönetimi,
  • Ana bellek yönetimi,
  • Kütük yönetimi,
  • İkinci bellek yönetimi,
  • Ağ üzerinde çalışma,
  • Koruma sistemi,
  • Komut derleyici sistemler.

Bir işletim sisteminin dört temel işlevi bulunmaktadır. Bu temel işlevler şu şekilde sıralanabilir;

  • Dosya ve klasör yönetimi,
  • Uygulamaların yönetimi,
  • Yardımcı programları destekleme,
  • Bilgisayar donanımını kontrol etme.

Bu sıralanan işlevler doğrultusunda bir işletim sisteminin yaptığı işler aşağıda sıralanmıştır;

  • İşleri sıraya koymak,
  • İşi kontrol eden dili yorumlamak,
  • Hata durumunda ilgili işlemleri sonuçlandırmak,
  • G/Ç işlemlerini sonuçlandırmak,
  • Kesmelerin gereğini yerine getirmek,
  • İşlerde öncelik tanımlamak,
  • Kaynakları kontrol etmek,
  • Kullanıcıların birbirlerinin haklarına müdahalelerini önlemek,
  • Bilgisayara birden fazla erişim sağlamak,
  • Bilgisayar kaynaklarının hesabını tutmak,
  • Bilgileri uzun vadeli olarak saklamak.

Güz Dönemi Ara Sınavı
7 Aralık 2024 Cumartesi
v