Bölüm 2 İşletim Sistemi Yapıları



Benzer belgeler
Bölüm 2 İşletim Sistemi Yapıları

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

BİT in Temel Bileşenleri (Yazılım-1)

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Bilgisayar İşletim Sistemleri BLG 312

İŞLETİM SİSTEMLERİ. (Operating Systems)

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Android e Giriş. Öğr.Gör. Utku SOBUTAY

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

YZM 3102 İşletim Sistemleri

Background (Arka Plan)

İşletim Sistemleri. Discovering Computers Living in a Digital World

İşletim Sistemleri (Operating Systems)

İşletim Sistemlerine Genel Bakış

İşletim Sistemlerine Giriş

Veritabanı. Ders 2 VERİTABANI

Bölüm 4: Threads (İş Parçaları)

İşletim Sistemlerine Giriş

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

Java Temel Özellikleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri

Ünite-3 Bilgisayar Yazılımı.

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

Çekirdek Nedir? Ne yapar?

İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Bilgi ve iletişim teknolojileri Dersi Ders Notlarıdır?

Bilgisayar Yazılımları

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

1.1. Yazılım Geliştirme Süreci

PAPERWORK TEKNİK MİMARİ

Bilgi ve iletişim teknolojileri

Açık Kaynak Kodlu Yazılım

Sanallaştırma Nedir? Bahadır Demircioğlu. Şubat, 2013

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

Önyükleyiciler. Ercan Ersoy

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir.

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Küme Bilgisayarlarda PBS Kuyruk Sistemi

Bilgisayarda Programlama. Temel Kavramlar

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Dr. Fatih AY Tel: fatihay@fatihay.net

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

İşletim Sistemlerine Giriş

Kurulum ve Başlangıç Kılavuzu. DataPage için

Binnur Kurt İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

Bölüm1. İlk Bilgiler ISBN

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

İŞLETİM SİSTEMİNİN TEMELLERİ VE POST (İLK AÇILIŞ)

C# nedir,.net Framework nedir?

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

TC KİMLİK NO SMS GÖNDERİM SOAP API

Bilgisayar Sistemlerine Genel Bakış

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

DERS 10 İŞLETİM SİSTEMİ ÇALIŞMA PRENSİBLERİ VE HATA MESAJLARI

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş 1

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Programlama Dillerinde Kullanılan Veri Tipleri

Linux İşletim Sistemleri. Eren BAŞTÜRK.

İşletim Sistemlerine Giriş

Bilgisayarım My Computer. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

Proses. Prosesler 2. İşletim Sistemleri

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

Pardus Temel Seviye Kullanıcı Eğitimi. Sürüm Ağustos 2012 Pardus K Fatih Akıllı Tahta sürümüne göre hazırlanmıştır.

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

EKLER EK 12UY0106-5/A4-1:

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

TARSUS HALK EĞİTİMİ MERKEZİ VE ASO MÜDÜRLÜĞÜ

SIMAN KULLANIM KILAVUZU

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Temel Bilgisayar (Basic Computer) Yazılım (Software)

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

YAZILIM İŞLETİM SİSTEMLERİ

VIDEOCELL API. Versiyon 1.0.0

BOOT PROCES (SÜRECĐ)

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.0 Copyright QlikTech International AB. Tüm hakları saklıdır.

Kurulum ve Başlangıç Kılavuzu. DataPage için

Transkript:

Bölüm 2 İşletim Sistemi Yapıları 2.1 Silberschatz, Galvin and Gagne 2009

Bölüm 2: İşletim Sistemi Yapıları İşletim Sistemi Servisleri Kullanıcı İşletim Sistemi Arayüzü Sistem Çağrıları Sistem Çağrısı Tipleri Sistem Programları İşletim Sistemi Tasarım ve Gerçekleştirimi İşletim Sistemi Yapısı Sanal Makinalar İşletim Sistemi Oluşturma Sistem Önyükleme 2.2 Silberschatz, Galvin and Gagne 2009

Hedefler İşletim sisteminin, kullanıcılara, işlemlere ve diğer sistemlere sağladığı servisleri açıklamak Bir işletim sistemini yapılandırmanın farklı şekillerini açıklamak İşletim sistemlerinin nasıl kurulduğunu, özelleştirildiğini ve önyüklendiğini açıklamak 2.3 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Kullanıcı Servisleri İşletim sistemi servislerinin bir grubu kullanıcıya doğrudan faydalı olan fonksiyonlar sunar: Kullanıcı arayüzü Neredeyse tüm işletim sistemleri bir kullanıcı arayüzüne (UI) sahiptir Değişiklik gösterir: Komut satırı (CLI), Grafiksel Kullanıcı Arayüzü (GUI) Program çalıştırma Sistem, bir programı hafızaya yükleyebilmeli, çalıştırabilmeli ve normal veya anormal (hata durumunda) bir şekilde sonlandırabilmeli I/O işlemleri - Çalışan bir program I/O işlemi gerektirebilir bir dosyaya ya da I/O cihazını kullanmayı gerektirebilir 2.4 Silberschatz, Galvin and Gagne 2009

Kullanıcı Servisleri Dosya Sistemi Dosya sistemi değişiklikleri Programlar aracılığıyla dosyalar okunabilir, dosyalara yazabilir, dosyalar/dizinler oluşturulabilir, dosyalar/dizinler aranabilir, dosyalar/dizinler silinebilir, dosyalar/dizinler listelenebilir, dosya veya dizinlerin erişim izinleri (permission) değiştirilebilir. 2.5 Silberschatz, Galvin and Gagne 2009

Kullanıcı Servisleri İletişim ve Hata İletişim İşlemler bilgi alış verişinde bulunabilirler aynı bilgisayar üzerinde veya ağ üzerinde bulunan farklı bilgisayarlar üzerinde İletişim ortak hafıza (shared memory) ile veya mesaj gönderimi (message passing) ile sağlanabilir. Paketler işletim sistemi tarafından taşınır Hata tespiti İşletim sistemi sürekli olarak olası hataları takip eder Hatalar CPU, hafıza donanımı, I/O cihazları veya kullanıcı programı kaynaklı olabilir Her bir hata tipi için, işletim sistemi uygun olan işlemi gerçekleştirerek bilgisayarın doğru ve tutarlı şekilde çalışmasına devam etmesini sağlamalıdır Hata ayıklamak için sunulan mekanizmalar, sistemin verimli şekilde kullanımı için kullanıcıya ve programcıya sağlanmalıdır 2.6 Silberschatz, Galvin and Gagne 2009

Kaynak Paylaşım Servisleri İşletim sistemi servislerinin bir diğer grubu kaynakların paylaşımını sağlayarak bilgisayarın etkili bir şekilde kullanımını sağlar Kaynak paylaştırma Birden fazla kullanıcı ya da birden fazla iş aynı anda çalıştırıldığında kaynaklar her birine adil şekilde paylaştırılmalıdır Perk çok farklı tipte kaynak Bazıları özel pay alma kodları kullanır: CPU zamanı, ana hafıza, dosya kayıt birimi Bazıları ise isteme ve iade etme kodları kullanır: I/O cihazları Hesap tutma Hangi kullanıcının hangi tip sistem kaynağının ne kadarını kullandığını takip etmek Koruma ve güvenlik Çok kullanıcılı bir sistemde bir bilginin sahibi bu bilginin kim tarafından kullanılabileceğini kontrol etmek ister, aynı anda çalışan işlemlerin birbirine müdahelesi engellenmelidir Koruma - sistem kaynaklarına her tür erişimin kontrol atlında tutulmasını gerektirir Güvenlik - sisteme dışarıdan erişmek isteyenlerin kimlik doğrulamasını yapmaktan I/O cihazlarının geçersiz erişim isteklerine engel olunmasına kadar çeşitlilik gösterir Bir zincir en fazla en zayıf halkası kadar güçlüdür! 2.7 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Servislerine Genel Bakış 2.8 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi İşlem Arayüzü- CLI Komut Satırı Arayüzü - Command Line Interface (CLI) Veya komut yorumlayıcısı (command interpreter) direk komut girişini sağlar Bazen çekirdeğin parçası olarak gerçekleştirilir, bazen sistem programı olarak. Bazen farklı özellikleri barındıran farklı versiyonları bulunur kabuklar (shells) Temel olarak, kullanıcıdan bir komut alır ve bunu çalıştırır Bazen komutlar kabuğun bir parçasıdır, bazen programların adıdır Eğer ikincisi ise, yeni komutların eklenmesi kabuğun güncellenmesini gerektirmez 2.9 Silberschatz, Galvin and Gagne 2009

Kullanıcı İşletim Sistemi Arayüzü - GUI Kullanıcı dostu masaüstü (desktop) benzetmesi kullanan arayüz Genellikle fare, klavye ve bilgisayar ekranı kullanılır Simgeler (icons) dosyaları, programları, eylemleri vs. ifade eder Nesneler üzerinde fare tıklamaları pek çok eylemi tetikler: bilgi sağlama, fonksiyon çalıştırma, dizin açma vs. İlk olarak Xerox PARC ile kullanılmıştır Pek çok sistem CLI ve GUI arayüzlerini birlikte sunar Microsoft Windows grafiksel arayüze ek olarak CLI komut kabuğu sunar Apple Mac OS X Aqua GUI arayüzüne ek olarak alt katmanlarda UNIX çekirdeği ve kabuklarını bulundurur Solaris CLI arayüzüne ek olarak opsiyonel olarak GUI arayüzleri kullanabilir (Java Desktop, KDE) 2.10 Silberschatz, Galvin and Gagne 2009

Bourne Kabuğu Komut Yorumlayıcısı 2.11 Silberschatz, Galvin and Gagne 2009

The Mac OS X GUI 2.12 Silberschatz, Galvin and Gagne 2009

System Çağrıları İşletim sistemi tarafından sunulan servisler için programlama arayüzüdür Genellikle üst seviye dillerde yazılır (C veya C++) Genellikle sistem çağrıları direk çağırılmazlar. Bunun yerine üst seviye Uygulama Programı Arayüzü (Application Program Interface - API) aracılığıyla kullanılırlar En çok kullanılan API ler: Windows için Win32 API POSIX tabanlı sistemler için (UNIX, Linux, ve Mac OS X in hemen hemen bütün versiyonları) POSIX API Java Sanal Makinası (JVM) için Java API Sistem çağrıları yerine neden API ler kullanılır? taşınabilirlik ve basitlik 2.13 Silberschatz, Galvin and Gagne 2009

Sistem Çağrısı Örneği Bir dosyanın içeriğini başka bir dosyaya kopyalayan sistem çağrıları 2.14 Silberschatz, Galvin and Gagne 2009

Standart API Örneği Win32 API deki ReadFile() fonksiyonunu ele alalım Bir dosyadan okuma yapmak için kullanılan fonksiyondur ReadFile() fonksiyonuna gönderilen parametrelerin açıklaması HANDLE file okunacak dosya LPVOID buffer okunan ve yazılacak bilgilerin tutulduğu tampon bellek DWORD bytestoread tampon bellekten okunacak bilginin kaç byte olduğu LPDWORD bytesread en son okumada kaç byte lık bilgi okunduğu LPOVERLAPPED ovl üst üste bindirilmiş I/O nun kullanılıp kullanılmayacağını belirtir 2.15 Silberschatz, Galvin and Gagne 2009

Sistem Çağrısı Gerçekleştirimi Genellikle her bir sistem çağrısı ile bir sayı ilişkilendirilir Sistem çağrısı arayüzü bu sayılarla indekslenmiş bir tablo tutar Sistem çağrısı arayüzü, işletim sistemi kabuğunda gerçekleştirilmiş sistem çağrısını çağırır ve eğer dönen bir bilgi varsa bu bilgi ile sistem çağrısı durumunu geri döndürür Sistem çağırısını çağıran uygulama sistem çağrısının nasıl gerçekleştirildiğini bilmelidir API ye uymalı ve işletim sistemnin çağrı ile ne yapacağını bilmelidir İşletim sistemi arayüzünün pek çok detayı API ile programcıdan gizlenir Çalışma zamanı destek kütüphanesi ile yönetilir derleyici ile birlikte gelen kütüphaneler içine gömülmüş fonksiyonlardır 2.16 Silberschatz, Galvin and Gagne 2009

API Sistem Çağrısı OS İlişkisi 2.17 Silberschatz, Galvin and Gagne 2009

Standart C Kütüphanesi Örneği printf() kütüphane fonksiyonunu çağıran program örneği printf fonksiyonu arka planda write() sistem çağrısını kullanır 2.18 Silberschatz, Galvin and Gagne 2009

Sistem Çağrısına Parametre Gönderimi Genellikle, istenen sistem çağrısının numarasından fazlası gönderilir Gönderilecek bilginin tipi ve miktarı işletim sistemine ve yapılacak çağrıya göre değişir İşletim sistemine parametre göndermeyi sağlayan üç genel yöntem En basiti: parametreleri yazmaçlar (registers) içinde göndermek Bazı durumlarda, yazmaç sayısından daha çok parametre göndermek gerekebilir Parametreler hafızada bir blokta veya tabloda tutulur ve blokun adresi yazmaç ile gönderilir Bu yaklaşım Linux ve Solaris tarafından kullanılmaktadır Parameterler program tarafından yığına (stack) atılır ve işletim sistemi tarafından yığından çekilir Blok ve yığın yöntemlerinde, gönderilen parametrelerin sayısı ve büyüklüğü konusunda herhangi bir sınır yoktur 2.19 Silberschatz, Galvin and Gagne 2009

Tablo ile Parametre Gönderimi 2.20 Silberschatz, Galvin and Gagne 2009

Sistem Çağrısı Çeşitleri İşlem kontrolü Dosya yönetimi Cihaz yönetimi Bilgi sağlama İletişim Koruma 2.21 Silberschatz, Galvin and Gagne 2009

Windows ve Unix Sistem Çağrısı Örnekleri 2.22 Silberschatz, Galvin and Gagne 2009

MS-DOS ile Program Çalıştırma (a) Sistem başlangıcında (b) Bir program çalışırken 2.23 Silberschatz, Galvin and Gagne 2009

FreeBSD ile Çoklu Program Çalıştırma 2.24 Silberschatz, Galvin and Gagne 2009

Sistem Programları Sistem programları program geliştirmek ve çalıştırmak için rahat bir ortam sağlarlar. Aşağıdaki gruplara ayrılabilirler Dosya manipülasyonu Durum bilgisi Dosya değiştirme Programlama dili desteği Program yükleme ve çalıştırma İletişim Uygulama programları İşletim sisteminin pek çok kullanıcısı işletim sistemini, sağlanan sistem programları aracılığıyla bilir ve sistem çağrılarından habersizdir 2.25 Silberschatz, Galvin and Gagne 2009

Sistem Programları Program geliştirmek ve çalıştırmak için rahat bir ortam sağlamak Bazıları sistem çağrıları yapan basit arayüzler Bazıları ise çok daha karmaşık programlar Dosya yönetimi Dosya oluşturma Dosya silme Dosya kopyalama Dosya yeniden adlandırma Dosya yazdırma Dosyaları listeleme Genel olarak dosyaları ve dizinleri değiştirme 2.26 Silberschatz, Galvin and Gagne 2009

Sistem Programları (devam) Durum bilgisi Bazıları sistemden aşağıdaki bilgileri ister Tarih Saat Kullanılabilir hafıza miktarı Kullanılabilir disk alanı Kullanıcı sayısı Diğerleri performans, kayıtlar (logging) ve hata ayıklama (debugging) bilgileri ister Tipik olarak, bu programlar elde edilen bilgiyi uygun formata getirip terminale veya diğer çıktı cihazlarına yazdırır Bazı sistemler konfigürasyon bilgisini tutmak ve kullanmakl için bir kayıt ortamı (registry) kullanır 2.27 Silberschatz, Galvin and Gagne 2009

Sistem Programları (devam) Dosya değiştirme Dosyaları oluşturmak ve değiştirmek için metin düzenleyicileri (text editors) Dosyaların içeriğinde arama yapmak ve dosya içeriklerini dönüştürmek için özel komutlar Programlama dili desteği derleyiciler, assemblers, hata ayıklayıcılar (debuggers) and yorumlayıcılar (interpreters) bazen işletim sistemi ile birlikte sunulur Program yükleme ve çalıştırma çeşitli yükleyiciler, üst seviye diller ve makina dili için hata ayıklama sistemleri İletişim İşlemler, kullanıcılar ve bilgisayar sistemleri arasında sanal bağlantılar oluşturmak için mekanizma sunar Kullanıcıların birbirlerinin ekranına mesaj yollamasını, web sayfalarında gezinmesini, elektronik posta göndermesini, uzak bilgisayarlara bağlanmasını ve makinalar arasında dosya göndermesini sağlar 2.28 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Tasarımı ve Gerçekleştirimi İdeal işletim sistemi tasarımı ve gerçekleştirimine dair ideal bir çözüm yok. Ancak başarılı olduğu gözlemlenen yaklaşımlar var İşletim sistemlerinin içsel yapısı çok farklılıklar gösteriyor Hedefleri ve özellikleri tanımlayarak başla Donanım seçimi ve sistem tipi önemli Kullanıcı hedefleri ve Sistem hedefleri Kullanıcı hedefleri işletim sistem rahat kullanılmalı, kolayca öğrenilmeli, tutarlı, güvenli ve hızlı olmalı Sistem hedefleri işletim sistemi kolay tasarlanmalı ve gerçekleştirilmeli, bakımı kolay yapılmalı. Esnek olmalı, tutarlı, hatasız ve verimli çalışmalı 2.29 Silberschatz, Galvin and Gagne 2009

İlkeler ve Mekanizma İlkeler ve mekanizmayı birbirinden ayırmak önemli bir prensiptir İlke (policy): Ne yapılmalı? Mekanizma (Mechanism): Nasıl yapılmalı? Mekanizmalar bir şeyin nasıl yapılacağını belirler. İlkeler ise ne yapılması gerektiğine karar verir İlkelerin mekanizmadan ayrılması maksimum esneklik sağlar Daha sonra ne ilkeler değişiklik gösterirse sistemin güncellenmesini kolaylaştırır 2.30 Silberschatz, Galvin and Gagne 2009

Basit Yapı MS-DOS an az alanda en çok fonksiyonu sağlamak için yazılmıştır Modüllere ayrılmamıştır MS-DOS belli bir yapıya sahip olsa da arayüzleri ve fonksyionlarının saviyeleri iyi ayrılmamıştır 2.31 Silberschatz, Galvin and Gagne 2009

MS-DOS Katman Yapısı 2.32 Silberschatz, Galvin and Gagne 2009

Katmanlı Yaklaşım İşletim sistemi belli sayıda katmana (layers) ayrılır. Her katman alt seviyedeki diğer katman(lar)ın üzerine yerleşir. En alt katman (layer 0) donanım katmanıdır. En üst katman ise (layer N) kullanıcı arayüzüdür. Sistemin modüler olması için katmanlar şu kriteri sağlayacak şekilde seçilirler: Üst katmanlar sadece altındaki katman(lar)ın fonksiyonlarını ve servisleri kullanmalıdır 2.33 Silberschatz, Galvin and Gagne 2009

UNIX UNIX sınırlı bir yapılandırmaya sahip: İki tane birbirinden ayrılabilir parçaya sahip Sistem programları Çekirdek Fiziksel donanımın üstünde ve sistem çağrısı arayüzünün altında herşey Dosya sistemi, CPU zamanlaması, hafıza yönetimi ve diğer işletim sistemi fonksiyonlarını sağlıyor Tek seviyede çok sayıda fonksiyonu barındırıyor 2.34 Silberschatz, Galvin and Gagne 2009

Geleneksel UNIX Sistem Yapısı 2.35 Silberschatz, Galvin and Gagne 2009

Katmanlı İşletim Sistemi 2.36 Silberschatz, Galvin and Gagne 2009

Mikroçekirdek Sistem Yapısı Mikro-çekirdek (microkernel) Sistem Yapısı Çekirdekte gerçekleşen şeylerden taşınabilir olan herşeyi «kullanıcı» alanına (moduna) taşıyor Modüller arasındaki iletişim mesaj gönderme (message passing) yoluyla gerçekleşiyor Faydalar: Mikroçekirdeğin özelliklerini arttırmak daha kolay İşletim sistemini yeni mimarilere geçirmek daha kolay Daha tutarlı (çekirdek modunda çok daha az kod çalışıyor) Daha güvenli Zaralar: Çekirdek modu ile kullanıcı modu arasında iletişimin getirdiği aşırı yüklenmenin getirdiği performans sorunu 2.37 Silberschatz, Galvin and Gagne 2009

Mac OS X Yapısı Hibrit 2.38 Silberschatz, Galvin and Gagne 2009

Modüller Perk çok işletim sistemi çekirdek modüllerini kullanır Nesneye yönelik yaklaşımı kullanır Tüm temel bileşenler ayrıdır Birbirleriyle belirli arayüzler üzerinden iletişim kurarlar Her biri gerektiğinde çekirdeğe yüklenebilir durumdadır Katmanlara benzerler ama daha çok esneklik sağlarlar 2.39 Silberschatz, Galvin and Gagne 2009

Solaris Modüler Yaklaşımı 2.40 Silberschatz, Galvin and Gagne 2009

Sanal Makinalar Sanal makinalar (virtual machines) katmanlı yaklaşımı kullanır Donanımı ve işletim sistemi çekirdeğini donanım katmanıymış gibi kullanırlar Sanal makinalar alt seviyedeki donanım ne olursa olsun, üst seviyedeki programlara aynı arayüzü sunarlar İşletim sisteminin ev sahibi (host) işlemlere kendi işlemcisi ve sanal hafızası varmış izlenimi verir Tüm konuklara (guest) üzerinde çalışılan bilgisayarın sanal bir kopyası sağlanır 2.41 Silberschatz, Galvin and Gagne 2009

Sanal Makinalar - Tarihçe ve Faydalar İlk olarak IBM anabilgisayarlarında (mainframes) 1972 yılında kullanılmaya başlandı Temel olarak, birden fazla çalıştırma ortamı (farklı işletim sistemi) aynı donanımı paylaşabilir ve birbirlerinden korunurlar Dosya paylaşımı sağlanabilir (kontrollü bir şekilde) Bilgisayar ağları aracılığıyla birbirleriyle ve diğer bilgisayar sistemleriyle etkileşime geçebilirler Sistem geliştirmek ve test etmek için kullanışlıdır Az kullanılan birden fazla işletim sistemini bir araya getirerek sistem kaynaklarının daha etkili kullanımını sağlar Açık Sanal makina formatı (Open Virtual Machine Format) Sanal makinaların farklı sanal makine (host) platformlarında çalışabilmesini sağlayan standart 2.42 Silberschatz, Galvin and Gagne 2009

Sanal Makinalar (devam) (a) Sanal olmayan makine (b) sanal makina 2.43 Silberschatz, Galvin and Gagne 2009

Java Java: 1. Programlama dili spesifikasyonu 2. Uygulama programlama arayüzü (API) 3. Sanal makine spesifikasyonu 2.44 Silberschatz, Galvin and Gagne 2009

Java Sanal Makinası 2.45 Silberschatz, Galvin and Gagne 2009

JVM - Taşınabilirlik Java nın farklı platformlarda taşınabilirliği 2.46 Silberschatz, Galvin and Gagne 2009

Java Geliştirme Aracı 2.47 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Oluşturma İşletim Sistemi Oluşturma (Operating System Generation) İşletim sistemleri hehrangi bir sınıf bilgisayar sistemi için çalışabilecek şekilde tasarlanır Ancak, her bir bilgisayar sistemi için ayrı konfigüre edilmelidir SYSGEN programı donanım sisteminin konfigürasyonuna dair bilgileri elde eder Yükleme (Booting) çekirdeği yükleyerek bilgisayarı başlatmak 2.48 Silberschatz, Galvin and Gagne 2009

Sistemin Yüklenmesi Donanımın işletim sistemini başlatabilmesi için işletim sisteminin donanım tarafından erişilebilir olması gerekir ROM da tutulan BIOS bilgisayar ile ilgili ön kontrolleri yapar ve işletim sistemini yükleyecek olan önyükleyici programı (bootstrap program, bootstrap loader) çalıştırır Neden ROM? RAM dahi sistem başlangıcında bilinmeyen bir durumda ROM a bilgisayar virüsleri kolay bulaşamaz Önyükleyici program çekirdeği bulup hafızaya yükleyen ve çekirdeğin çalışmasını başlatan program Büyük işletim sistemlerinde yükleme iki adımda gerçekleşir: Diskte yeri belirli olan yükleme bloğundan (boot block) önyükleyici program yüklenir (Örnek: Linux de GRUB) Ön yükleyici program çekirdeği hafızaya yükler ve çalışmasını başlatır 2.49 Silberschatz, Galvin and Gagne 2009