İşletim Sistemlerine Genel Bakış

Benzer belgeler
İşletim Sistemlerine Genel Bakış

Bölüm 1: Giriş. Operating System Concepts 9 th Edit9on. Mehmet Demirci tarafından çevrilmiştir.

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

İşletim Sistemleri (Operating Systems)

İşletim Sistemlerine Giriş

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

Bilgisayar İşletim Sistemleri BLG 312

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

İŞLETİM SİSTEMLERİ TANIMI

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

İşletim Sistemlerine Giriş

İşletim Sistemleri. B L M Mesleki Te r minoloji I I Ö ğ r e n c i S unumu

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

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

Veritabanı. Ders 2 VERİTABANI

İşletim Sistemlerine Giriş

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

İŞ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

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

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

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

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

İŞLETİM SİSTEMLERİ DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

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

BM-311 Bilgisayar Mimarisi

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

Bilgisayar Sistemlerine Genel Bakış

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

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

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İ

Binnur Kurt İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

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

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 Sistemi. BTEP205 - İşletim Sistemleri

Background (Arka Plan)

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

Dosya Yönetim Sistemi Hazırlayan : mustafa kaygısız Kaynak: megep.meb.gov.tr

Yrd.Doç.Dr. Celal Murat KANDEMİR

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş. Teknoloji Fakültesi / Bilgisayar Mühendisliği. Öğr.Gör.Günay TEMÜR

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bilgi ve iletişim teknolojileri

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

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

Yazılım Mühendisliğine Giriş 2018 GÜZ

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

İşlem Yönetimi (Process Management)

Veri ve Dosya Yapıları. Kütük Organizasyonu 1

Çekirdek Nedir? Ne yapar?

Temel Bilgisayar Bilgisi

Bölüm 8: Ana Bellek 8.1

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

BM-311 Bilgisayar Mimarisi

BİLGİSAYAR KULLANMA KURSU

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

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

William Stallings Computer Organization and Architecture 9 th Edition

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Bilgisayarların Gelişimi

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

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

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

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Bilgisayar İşletim Sistemleri BLG 312

Temel Bilgi Teknolojileri I

Açık Kaynak Kodlu Yazılım

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

Finans Dünyasında Linux ve Özgür Yazılımlar

BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI. 1-Bilgisayar, donanım ve yazılım kavramları 2-Bilgisayar çeşitleri 3-Bilgisayarlar arsındaki farklılıklar

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

YZM 3102 İşletim Sistemleri

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

İşletim Sistemlerine Giriş

İşletim Sistemlerinde Çok Prosesli Çalışma

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Sisteme giriş yaparken her kullanıcı için tanımlı bir kabuk çalışır.

C# nedir,.net Framework nedir?

DONANIM VE YAZILIM. Bilişim Teknolojileri ve Yazılım Dersi

BM-311 Bilgisayar Mimarisi

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

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

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

T.C. FIRAT ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ ELEKTRONİK VE BİLGİSAYAR BÖLÜMÜ

Bilişim Teknolojilerine Giriş

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

EKLER EK 12UY0106-5/A4-1:

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

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

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

2. hafta Bulut Bilişime Giriş

İşletim Sistemleri (Operating Systems)

Bilgisayar Mimarisi ve Organizasyonu Giriş

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

Kesme İstekleri (IRQ) Kesmeler (IRQ) Nasıl Çalışır?

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

Donanım&Yazılım

Transkript:

İşletim Sistemlerine Genel Bakış 1.1 Silberschatz, Galvin and Gagne 2009

Bölüm 1: Giriş İşletim Sistemleri Ne Yapar? Bilgisayar Sistemi Organizasyonu Bilgisayar Sistemi Mimarisi İşletim Sistemi Yapısı İşletim Sistemi İşleyişi İşlem Yönetimi Hafıza Yönetimi Depolama Birimi Yönetimi Koruma ve Güvenlik Dağıtık Sistemler Özel Amaçlı Sistemler Bilgisayar Ortamları Açık Kodlu İşletim Sistemleri 1.2 Silberschatz, Galvin and Gagne 2009

Hedefler Temel işletim sistemi bileşenlerini gözden geçirmek Temel bilgisayar sistemi organizasyonunu gözden geçirmek 1.3 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Nedir? Bilgisayar donanımı ile bilgisayar kullanıcısı arasında bir ara katman olarak aracılık etmek İşletim sisteminin hedefleri: Kullanıcı programlarını çalıştırmak ve kullanıcı problemlerini çözmeyi kolaylaştırmak Bilgisayar sisteminin kullanımını kolaylaştırmak Bilgisayar donanımını verimli bir şekilde kullanmak 1.4 Silberschatz, Galvin and Gagne 2009

Bilgisayar Sistemi Yapısı Bilgisayar sistemi dört bileşene ayrılabilir: Donanım (hardware) temel bilişim (computing) kaynaklarını sağlar İşlemci (CPU), hafıza, I/O cihazları İşletim sistemi (operating system) Donanımın pek çok uygulama ve kullanıcı arasında paylaşımlı kullanımını koordine eder Uygulama programları kullanıcıların bilişim problemlerini sistem kaynaklarını kullanarak çözmeye yardımcı olan yazılımlardır Kelime işlemciler, derleyiciler (compilers), web tarayıcıları, veritabanı sistemleri, oyunlar Kullanıcılar İnsanlar, makinalar, diğer bilgisayarlar 1.5 Silberschatz, Galvin and Gagne 2009

Bilgisayar Sisteminin Dört Bileşeni 1.6 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Tanımı İşletim sistemi kaynak dağıtıcıdır (resource allocator) Tüm kaynakları yönetir Birbirine aykırı istekler arasında verimli ve adil kullanımı gözeterek karar verir İşletim sistemi bir kontrol programıdır (conrol program) Programların çalışmasını hatalara ve uygun olmayan kullanımlara engel olmak için kontrol eder 1.7 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Tanımı (Devamı) Evrensel kabul gören bir tanım yok İşletim sistemi üreticisinin bir işletim sistemine dahil ettiği herşeydir doğruya yakın bir cevap Fakat büyük oranda değişmekte Çekirdek (kernel): Bilgisayarda her zaman çalışan tek programdır Diğer her şey ya sistem programıdır (işletim sistemi ile birlikte gelir) ya da uygulama programıdır 1.8 Silberschatz, Galvin and Gagne 2009

Bilgisayarın Başlatılması Bilgisayar yeniden başlatıldığında ya da açıldığında önyükleyici program (bootstrap program) çalıştırılır Tipik olarak ROM veya EPROM da tutulur ve genellikle aygıt yazılımı (firmware) olarak adlandırlır Sistemi tüm yönleri ile başlatır İşletim sistemi çekirdeğini yükler ve çalıştırır 1.9 Silberschatz, Galvin and Gagne 2009

Bilgisayar Sistemi Organizasyonu Bilgisayar sistemi işleyişi: Bir veya daha fazla işlemci ve cihaz denetleyici (device controller) ortak bir veri yolu üzerinden paylaşılan hafızaya bağlanır Aynı anda çalışan işlemciler ve cihazlar hafızaya erişmek için birbirleriyle yarışırlar 1.10 Silberschatz, Galvin and Gagne 2009

Bilgisayar Sistemi İşleyişi I/O cihazları ve CPU aynı anda çalışabilir Her bir cihaz denetleyicisi belli bir tip cihazın kontrolünden sorumludur Tüm cihaz denetleyicilerinin bir yerel tampon belleği (local buffer) vardır CPU ana hafıza ile yerel tampon bellekler arasında çift yönlü veri taşır I/O işlemi, cihazdan, denetleyicinin yerel tampon belleğine doğrudur Cihaz denetleyicisi, işeminin bittiğini, işlemciye kesinti (interrupt) göndererek bildirir 1.11 Silberschatz, Galvin and Gagne 2009

Kesintilerin Genel Özellikleri Kesintiler kontrolü, o kesintiye ait kesinti servis rutinine (interrupt service routine) yönlendirir Servis rutinleri, kesinti sonucu yapılması gereken işi gerçekleştiren yazılım parçacıklarıdır Hangi servis rutininin hangi hafıza adresinde bulunduğu kesinti vektöründe (interrupt vector) bulunmaktadır Bilgisayar, kesinti sonunda yarıda kesilen işleme geri dönebilmek için, kesilen işlemin işletilen son komutunun adresini saklamalıdır Kayıp kesintilere engel olmak için kesinti işletildiği sürece yeni kesinti gönderimine izin verilmez Tuzak (trap) yazılım tarafından oluşturulan kesintilerdir Tuzaklara yazılım hataları ya da kullanıcı istekleri neden olur İşletim sistemleri kesintilerle yönlendirilirler (interrupt driven) 1.12 Silberschatz, Galvin and Gagne 2009

Kesintilerin İşletilmesi İşletim sistemi CPU nun durumunu kaydeder: yazmaçlar (registers) ve program sayacı (program counter) Hangi tür kesintinin gerçekleştiğini belirler: sorgulama (polling) hangi cihazdan gerçekleştiği bulunmalıdır vektör kesinti sistemi (vectored interrupt system) cihazı belirten kod, kesinti ile birlikte gönderilir Her bir kesinti için hangi işlemin gerçekleştirileceğini ayrı bir kod parçası belirler 1.13 Silberschatz, Galvin and Gagne 2009

Kesinti Zaman Çizelgesi 1.14 Silberschatz, Galvin and Gagne 2009

Direk Hafıza ErişimYapısı Direk Hafıza Erişimi Direct Memory Access (DMA) Hafıza hızına yakın bilgi aktarması yapabilen yüksek hızlı I/O cihazları için kullanılır Cihaz denetleyicisinin, CPU nun çalışmasını bölmeden, veri bloklarını cihazın tampon belleğinden direk olarak hafızaya aktarmasıdır Her byte için kesinti göndermek yerine, her bir blok için bir kesinti gönderilir 1.15 Silberschatz, Galvin and Gagne 2009

Depolama Birimi Yapısı Ana hafıza (main memory) CPU nun direk erişebileceği tek geniş depolama birimidir İkincil depolama birimi (secondary storage) kalıcı bir şekilde bilgilerin depolandığı, ana hafızanın uzantısı olan depolama birimidir Manyetik diskler (magnetic disks) manyetik kayıt meteryaliyle kaplı sert metal veya cam tabakalar Disk yüzeyi genellikle mantıksal olarak izlere (tracks) bölünür Her bir iz sektörlere (sectors) bölünür Disk denetleyicisi (disk controller) bilgisayar ile cihaz arasındaki mantıksal etkileşimi sağlar 1.16 Silberschatz, Galvin and Gagne 2009

Depolama Birimi Hiyerarşisi Depolama birimlere hiyerarşik bir şekilde organize edilirler Hız (Speed) Maliyet (Cost) Gelgeçlik (volatility) Ön belleğe alma (caching) bilgiyi daha hızlı olan depolama birimine geçici olarak alma işlemidir Ana bellek ikincil depolama birimi için en son ön bellek (cache) birimidir 1.17 Silberschatz, Galvin and Gagne 2009

Depolama Cihazı Hiyerarşisi 1.18 Silberschatz, Galvin and Gagne 2009

Ön Belleğe Alma Bir bilgisayarda pek çok seviyede (donanım, işletim sistemi, yazılım) gerçekleştirilen önemli bir prensip Kullanılan bilgi yavaş depolama biriminden hızlı depolama birimine kopyalanır Aranan bilgi öncelikle daha hızlı depolama biriminde mi (ön bellek) kontrol edilir Eğer oradaysa, bilgi direk ön bellekten alnır (hızlı) Eğer değilse, ön belleğe alınır ve oradan kullanılır Ön bellek, ön belleğe alınacak bilgiden daha küçüktür Ön bellek yönetimi önemli bir tasarım problemidir Ön bellek boyutu ve yenileme politikası (replacement policy) 1.19 Silberschatz, Galvin and Gagne 2009

Tekli veya Çoklu İşlemciler Pek çok sistem tek bir genel amaçlı işlemci kullanır (örn: gömülü sistemler). Aynı zamanda, pek çok sistem de özel amaçlı işlemciler kullanır Çokişlemcili sistemler (multiprocessors systems) giderek yaygınlaşmakta ve önem kazanmaktadır Paralel sistemler (parallel systems) ve sıkıca bağlantılı sistemler (tightly-coupled systems) olarak da bilinirler Avantajlar 1. Artan üretilen iş (throughput) 2. Ekonomik olarak katlanma (economy of scale) 3. Artan güvenilirlik (reliability) graceful degradation veya fault tolerance 1.20 Silberschatz, Galvin and Gagne 2009

Çoklu İşlemciler İki farklı tür 1. Asimetrik Çoklu İşlemciler (Asymmetric Multiprocessing) 2. Simetrik Çoklu İşlemciler (Symmetric Multiprocessing) Asimetrik çoklu işlemciler Görev dağıtan bir işlemci var, diğerleri görev bekliyor (master-slave) Asimetrik çoklu işlemciler özellikle ilk zamanlarda kullanılıyor Simetrik Çoklu İşlemciler (SMP) tüm işlemciler her tür işi yapıyor 1.21 Silberschatz, Galvin and Gagne 2009

Modern Bilgisayarlar Nasıl Çalışır? 1.22 Silberschatz, Galvin and Gagne 2009

Simetrik Çoklu İşlemci Mimarisi 1.23 Silberschatz, Galvin and Gagne 2009

Çok Çekirdekli Tasarımlar Avantajlar/Dezavantajlar? 1.24 Silberschatz, Galvin and Gagne 2009

Küme Bilgisayarlar Küme Bilgisayarlar (clustered computers) Çoklu işlemcili sistemler gibi, fakat birden fazla sistem birlikte çalışıyor Genellikle depolama birimi, storage-area network (SAN) ile paylaşılıyor Arızalara dayanıklı yüksek bulunurluk (high-availability) sağlayan bir servis Asimetrik kümeleme (asymmetric clustering) bir tane gözlem makinası, diğerleri çalışıyor Simetrik kümeleme (symmetric clustering) birden fazla uygulama çalıştıran ve aynı zamanda birbirini gözlemleyen makinaya (node) sahip 1.25 Silberschatz, Galvin and Gagne 2009

Yüksek Performanslı Hesaplama Bazı kümeler yüksek performanslı hesaplama high-performance computing (HPC) sağlıyor Uygulamalar paralelleştirmeyi (parallelization) kullanacak şekilde yazılmalı 1.26 Silberschatz, Galvin and Gagne 2009

Çoklu Program Desteği Çoklu program desteği (multiprogramming) verimlilik için gerekli Tek kullanıcı, CPU and I/O cihazlarını her zaman meşgul edemez Çoklu program desteği, işleri (kod ve veri) CPU nun her zaman çalıştıracağı bir iş olacak şekilde organize eder Sistemdeki tüm işlerin belli bir kısmı hafızada tutulur İş zamanlaması (job scheduling) ile bir iş seçilir ve çalıştırılır Çalışan iş beklemek zorunda kaldığında (örneğin I/O işlemi için) işletim sistemi başka bir işe geçer 1.27 Silberschatz, Galvin and Gagne 2009

Zaman Paylaşımı Zaman Paylaşımı (timesharing veya multitasking), CPU nun, işleri çalıştırırken, işler arasında çok hızlı geçiş sağlayarak kullanıcıya bilgisayarı interaktif (interactive) şekilde kullanıyormuş hissi vermesidir Cevap süresi (response time) 1 saniyeden az olmalıdır Her bir kullanıcı hafızada çalışan en az bir programa sahiptir Eğer aynı anda birden fazla iş çalışmak için hazırsa İşlemci zamanlaması (CPU scheduling) Eğer işlemler hafızaya sığmıyorsa, değiş-tokuş işlemi (swapping) işlemleri, çalıştırmak gerektiğinde hafızaya alır ya da gerektiğinde hafızadan çıkarır Sanal hafıza (virtual memory) tümüyle hafızada bulunmayan işlemleri çalıştırmayı sağlar 1.28 Silberschatz, Galvin and Gagne 2009

Çok Programlı Sistemlerde Hafıza Dizilimi 1.29 Silberschatz, Galvin and Gagne 2009

İşleme Sorunları Donanım tarafından kesinti gönderilebilir Yazılım hataları veya istekleri tuzağa (exception veya trap) neden olabilir Sıfıra bölünme, işletim sistmeleri servislerini çalıştırmaya kalkma Diğer işleme sorunları: Sonsuz döngü İşlemlerin birbirini değiştirmeye çalışması İşlemlerin işletim sistemini değiştirmeye çalışması 1.30 Silberschatz, Galvin and Gagne 2009

Çift-Modlu İşleme Çift-modlu işleme (dual-mode operation), işletim sistemini ve diğer sistem bileşenleri korumayı sağlar Kullanıcı modu (user mode) ve çekirdek modu (kernel mode) Donanım tarafından sağlanan mod biti (mode bit) Sistemin kullanıcı kodu mu yoksa çekirdek kodu mu çalıştırdığını ayırt etmekte kullanılır Bazı komutlar ayrıcalıklı (privileged) olarak tanımlıdırlar ve sadece çekirdek modunda çalıştırılabilirler Sistem çağrıları modu, çekirdek moduna çevirir. Sistem çağrısı bittiğinde mod, kullanıcı moduna çevrilir 1.31 Silberschatz, Galvin and Gagne 2009

Kullanıcı Moddan Çekirdek Moduna Geçiş Zamanlayıcı (timer) sonsuz döngülere ve işlemci kilitlenmelerine engel olur Belli bir zaman diliminden sonra kesme gönderilir İşletim sistemi sayacı azaltır Sayaç sıfırlandığında kesme oluşturulur Zamanlayıcı program devreye girmeden sorun çıkaran işlem devre dışı bırakılır veya sonlandırılır 1.32 Silberschatz, Galvin and Gagne 2009

İşlem Yönetimi İşlem (process) çalışmakta olan programdır Program pasif bir şeyken, işlem aktif bir şeydir İşlemler görevlerini yerine getirmek için kaynaklara ihtiyaç duyarlar CPU, hafıza, I/O, dosyalar Başlangıç verisi İşlemin sonlandırılması kullanılan kaynakların sisteme iade edilmesini gerektirir 1.33 Silberschatz, Galvin and Gagne 2009

İş Parçacığı Yönetimi İş parçacığı (thread) bir program çalışırıken aynı anda yapılması gereken başka işler varsa bunları çalıştırmak için kullanılır Tek iş parçacıklı (single-threaded) işlemler, çalıştırılacak bir sonraki komutun hafızadaki konumunu belirten tek bir program sayacına (program counter) sahiptir İşlem sonlanana kadar, komutları tek tek sırayla çalıştırır Çok iş parçacıklı (multi-threaded) işlemler her bir iş parçacağı için ayrı bir program sayacına sahiptir Tipik olarak sistemlerde, pek çok işlem, birkaç kullanıcı ve pek çok işletim sistemi işlemi aynı anda bir veya birden fazla işlemcide çalıştırılır Aynı anda kullanım (concurrency) işlemcilerin birden fazla işlem veya iş parçacığı arasında ortak kullanımını gerektirir 1.34 Silberschatz, Galvin and Gagne 2009

İşlem Yönetim Faaliyetleri İşletim sisteminin, işlem yönetimi ile ilişkili faaliyetleri: Kullanıcı ve sistem işlemlerinin oluşturulması ve bitirilmesi İşlemlerin duraklatılması ve devam ettirilmesi İşlemlerin senkronizasyonu için mekanizmalar sağlaması İşlemlerin birbiri ile iletişim kurabilmesi için mekanizmalar sağlaması Kilitlenmelerin (deadlock) sağlıklı yönetilmesi için mekanizmalar sağlaması 1.35 Silberschatz, Galvin and Gagne 2009

Hafıza Yönetimi Tüm veriler işlem öncesi ve sonrası hafızadadır Komutların çalıştırılabilmesi için hafızada olması gerekir Hafıza yönetimi Neyin hafızada olması gerektiğine karar verir Hedefi, işlemci kullanımını ve kullanıcılara verilen yanıtları optimize etmektir 1.36 Silberschatz, Galvin and Gagne 2009

Hafıza Yönetimi Faaliyetleri Hafızanın hangi bölümlerinin kim tarafından kullanıldığını takip etmek Hangi işlemlerin ve verilerin hafızaya alınacağına ya da hafızadan çıkarılacağına karar vermek Gerektiğinde yeni hafıza alanı ayırmak ya da kullanılmış alanları iade etmek 1.37 Silberschatz, Galvin and Gagne 2009

Depolama Birimi Yönetimi İşletim sistemi, depolama birimleri için tek ve mantıksal arayüz sunar Fiziksel özellikleri mantıksal depolama birimine soyutlar: dosya (file) Tüm birimler cihaz tarafından kontrol edilir (i.e., disk, DVD) Değişken özellikler: erişim hızı, kapasite, veri transfer hızı, erişim yöntemi (sırayla veya direk) Dosya sistemi yönetimi 1.38 Silberschatz, Galvin and Gagne 2009

Dosya Sistemi Yönetimi Dosyalar dizinler kullanılarak organize edilir Pek çok sistemde dizinlere veya dosyalara erişim kontrol edilmelidir: erişim kontrolu (access control) Dosya sistemi ile ilişkili işletim sistemi aktiviteleri Dosya ve dizinlerin oluşturulması veya silinmesi Dosyaların veya dizinlerin değiştirilmesi için mekanizmanın sağlanması Dosyaların ikincil depolama birimi ile eşleştirilmesi Dosyaların kalıcı depolama birimlerine yedeklenmesi 1.39 Silberschatz, Galvin and Gagne 2009

Mass-Storage Management Genellikle diskler, hafızaya sığmayan verileri ya da uzun süre tutulacak verileri tutmakta kullanılır Verilerin tutarlı yönetimi çok önemlidir Bilgisayarın genel hızı disk altsistemi ve algoritmalarının performansına çok bağlıdır İlgili işletim sistemi faaliyetleri: Boş alan yönetimi Depolama alanı ayrımı Disk zamanlaması Bazı depolama birimlerinin hızlı olması gerekmez CD, DVD, Manyetik teypler Gene de yönetilmelidir WORM (write-once, read-many-times) ve RW (read-write) erişim modlarında çalışabilirler 1.40 Silberschatz, Galvin and Gagne 2009

Depolama Birimi Performansları Depolama birimi seviyeleri arasında bilgi aktarımı, kullanıcının isteğine bağlı ya da kullanıcı isteğinden bağımsız gerçekleşebilir 1.41 Silberschatz, Galvin and Gagne 2009

A Tamsayısının Diskten Yazmaça Aktarımı Çok işlemli ortamlar, en güncel değeri kullanmak konusunda dikkatli olmalıdır (depolama hiyerarşisinin neresinde tutuluyorsa tutulsun) Çok işlemcili sistemlerde ön bellek tutarlılığı donanım seviyesinde sağlanmalı ve tüm işlemciler en güncel değere sahip olmalıdır Dağıtık ortamlarda durum daha da karmaşıktır Verinin birden fazla kopyası bulunabilir 1.42 Silberschatz, Galvin and Gagne 2009

I/O Alt Sistemi İşletim sisteminin amaçlarından biri donanım cihazlarının karmaşıklıklarını kullanıcıdan gizlemektir I/O alt sisteminin sorumlulukları: I/O işlemlerinin hafıza yönetimini yapmak Tampon bellek işlemleri (buffering) veriyi bir yerdne diğer yere aktarırken geçci olarak saklamak Ön bellek işlemleri (caching) veriyi geçici olarak daha hızlı depolama birimine aktarmak Kuyruklama (spooling) bir işin çıktısını diğer işin girdisi haline getirmek Genel cihaz sürücüsü arayüzü Özel donanım cihazları için sürücüler 1.43 Silberschatz, Galvin and Gagne 2009

Koruma ve Güvenlik Koruma (protection) İşlemlerin veya kullanıcıların herhangi bir kaynağa erişiminin işletim sistemi tarafından kontrol edilmesi Güvenlik (security) sistemin içerden ve dışardan gelen saldırılara karşı savunulması Geniş kapsamlı: DoS saldırıları, virusler, solucanlar, kimlik bilgileri hırsızlığı Sistemler öncelikle kullanıcıları, kimin ne yapabileceğine göre sınıflandırırlar Kullanıcı adı (user IDs, security IDs) her kullanıcı için isim ve ilişkili numarayı içerir Kullanıcı adı daha sonra, erişim kontrolü amacıyla, kullanıcının sahip olduğu tüm dosya ve işlemlerle ilişkilendirirlir Grup adı (group ID) da benzer şekilde bir grup kullanıcıyı belli işlem ve dosyalarla ilişkilendirmek ve erişim kontrolü sağlamak amacıyla kullanılır 1.44 Silberschatz, Galvin and Gagne 2009

Bilgisayar Ortamları Geleneksel bilgisayarlar Sınırlar zamanla değişiyor Ofis Ortamı Terminaller ana bilgisayarlara bağlı ve ana bilgisayar kaynakları kullanıcılar arasında paylaştırılıyor Kişisel bilgisayarlar bir ağa bağlı, Şimdi, portallar ile aynı kaynaklara yerel ağ üzerinden veya uzaktan erişim mümkün Ev Ortamı Önceden bağımsız bilgisayarlar Daha sonra modemlerle Internet e bağlılar Şimdi, birbirlerine bağlı ve güvenlik duvarına (firewall) sahip 1.45 Silberschatz, Galvin and Gagne 2009

İstemci-Sunucu Sistemleri Zamanla akıllı kişisel bilgisayarlar, akılsız terminallerin yerini aldı Şu an pek çok sistem sunucu (server) olarak kullanılıyor, ve istemcilerin (clients) isteklerine cevap veriyor İşlem-sunucuları (compute-server) istemcilere çeşitli servisler sağlayan bir arayüz sunar (örn. veritabanı) Dosya sunucuları (file-server) istemcilere dosyaları kaydetmeyi ve indirmeyi sağlayan bir arayüz sunar 1.46 Silberschatz, Galvin and Gagne 2009

Uçtan-Uca Sistemler Uçtan-uca sistemler (Peer-to-Peer Systems, P2P) Dağıtık sistemlerin bir başka örneği P2P istemci ve sunucu arasında ayrım yapmaz Her bir sistem bir uç olarak ele alınır Her bir uç istemci, sunucu veya iki şekilde birden davranabilir Uçlar öncelikle bir P2P ağına bağlanmalıdır Kendini bu ağdaki merkezi kayıt sistemine kaydetmelidir, veya Keşif prokolü (discovery protocol ) ile istekte bulunmalı veya daha önce bulunulan istekleri karşılamalıdır Örnek: Napster ve Gnutella 1.47 Silberschatz, Galvin and Gagne 2009

Web-tabanlı Sistemler Artık PC ler sunucu olarak kullanılabiliyor Giderek daha çok cihaz Web e bağlanıyor Web trafiğini yönetmek için yeni tür sunucular ortaya çıkıyor. Örnek: yük dengeleyiciler (load balancers) Yeni işletim sistemleri (örn: Linux, Windows 7) artık sunuculara ait özellikleri de barındırıyor ve hem istemci hem de sunucu olabiliyor 1.48 Silberschatz, Galvin and Gagne 2009

Açık Kodlu İşletim Sistemleri Bu işletim sistemleri, kapalı makine formatı (closed-source) yerine kaynak kod (source-code) formatında sunuluyor Free Software Foundation (FSF) ile başladı - copyleft GNU Public License (GPL) Örnekler: GNU/Linux, BSD UNIX (Mac OS X işletim sistemi temeli), ve Sun Solaris 1.49 Silberschatz, Galvin and Gagne 2009