İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI
Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini öğrenmek Çeşitli bilgisayar sistemlerini genel özellikleriyle öğrenmek Yaygın olarak kullanılan işletim sistemlerini tanımak
Ders Kapsamı ve İşleyiş Planı Giriş Temel Bilgiler Bilgisayar Sistemi ve İşleyişi İşletim Sistemi Kavramları Proses Yönetimi Proses ve Thread Senkronizasyon CPU Scheduling Deadlock Bellek Yönetimi Ana Bellek Sanal Bellek Depolama Yönetimi Büyük Depolama Yapısı Dosya Sistemi Ara Yüzü Dosya Sistemi İşleyişi Giriş-Çıkış Sistemleri Koruma ve Güvenlik Koruma Güvenlik İleri Konular Sanal Makineler Dağıtık Sistemler Vaka Çalışmaları Linux Windows Tarihi Perspektif
Bilgisayar Sistemi Bileşenleri Donanım Temel sistem kaynakları. İşlemci, bellek, giriş/çıkış aygıtları İşletim Sistemi Kullanıcıların uygulama programları aracılığıyla bilgisayar donanımı ile etkileşiminin kontrolünü ve koordinasyonunu sağlayan sistem programı. Uygulama Programları Sistem kaynaklarının belli problemleri çözmek üzere kullanımını sağlayan yazılımlar. Kelime işlemciler, derleyiciler, web tarayıcılar, veritabanı programları, oyunlar. Kullanıcılar İnsanlar ya da diğer bilgisayarlar.
Bilgisayarın Açılış Süreci Güç düğmesine basılır. Anakart, İşlemci, Bellek, Disk ve portlara güç ulaşır. BIOS programı çalışır. BIOS İşletim sistemi olup olmadığını kontrol eder. İşletim sistemi Kernel’i belleğe yüklenir. Kernel, diğer gerekli sistem programlarını belleğe yükler İşletim sistemi ara-yüzü erişilebilir hale gelir. BIOS – CMOS’daki konfigürasyonu okur ve Sistemdeki tüm donanımları kontrol eder. BIOS aygıt sürücülerini belleğe yükler
Bilgisayar Programı Derleme Süreci Source Code (Kaynak Kod) Compiler (Derleyici) Object Code (Nesne Kodu) Linker (Bağlayıcı) Machine Code (Makine Kodu) İşletim Sistemiİşlemci Program Çıktısı Pre-Processor (Ön İşlemci) AssemblyAssembler Kodu Libraries (Kütüphaneler)
Program Kodu Örnekleri Kaynak KodAssembly KoduNesne KoduMakine Kodu
Bilgisayar Sistemi Depolama İşlemleri Bilgisayar sistemlerinin temel depolama birimi bit olarak adlandırılır. Bir bit yalnızca 0 ya da 1 değerini alabilir. Diğer tüm depolama birimleri bit dizilerinden oluşur. Yeterli sayıdaki bit ile bir bilgisayar sistemi rakam, harf, resim, ses, video, belge ve program kodlarını gösterebilir. Depolama için kullanılan az bilinen diğer bir kavram word kavramıdır. Word bilgisayar mimarisinin temel veri tipidir. Örneğin 64-bit bir bilgisayar, 64 bit’lik bellek adresleyebilen register’ lara sahip bir bilgisayar demektir. 1 byte 8 bit 1 kilobyte (KB) 1024 byte 1 megabyte ( MB) byte 1 gigabyte ( GB) byte 1 terabyte (TB) byte 1 petabyte (PB) byte
Depolama Aygıtları Manyetik Disk < 10 TB ns 20 – 150 MB/s Katı Hal (Solid State) Diski < 1 TB – ns 500 MB/s Ana Bellek (RAM) < 64 GB 80 – 250 ns 1000 – 5000 MB/s Tampon Bellek (Cache) < 16 MB 0.5 – 25 ns 5000 – MB/s Register < 1 KB 0.25 – 0.5 ns – MB/s
İşlemci – Bellek Çalışma Prensipleri
İşlemci – Bellek – Aygıt Etkileşimi ÖzellikAçıklama IRQ ( Interrupt Request) İşlemciye gönderilen istek. Bazı iletim hatları önceliğe sahip olabilir. Giriş/Çıkış (I/O) Adresi Programların aygıtlarla etkileşimini sağlayan tekil sayı değeri. Bellek Adresi RAM ya da ROM bellekte bulunan aygıta ait bilgiyi içeren adres. DMA (Direct Memory Access) Aygıtın doğrudan belleğe veri yüklemesini sağlayan veri yolu.
Sayı Tahmin Etme Oyunu
Bilgisayar Sistemi Organizasyonu Bir veya daha fazla işlemci ve aygıt kontrolörü bellek kullanımını ortak bir veri yolu üzerinden gerçekleştirir. Aygıt ve işlemcilerden gelen eş zamanlı talepler bellek çevrimleri aracılığıyla yürütülür.
Bilgisay ar Sistemi İşlemleri Her bir aygıt kontrolörü belli tipteki bir aygıttan sorumludur. Her bir aygıt kontrolörü yerel bir tampon belleğe sahiptir. İşlemci bellekten okuma ve belleğe yazma işlemlerini yerel tampon bellekleri kullanarak gerçekleştirir. Giriş/çıkış işlemi aygıt-yerel tampon bellek arasındaki bir işlemdir. Aygıt kontrolörü işleminin bittiğini işlemciye bir interrupt göndererek bildirir. İşletim sistemi interrupt bağımlı bir işleyişe sahiptir. Exception sistem ya da uygulama programlarının kullanıcı talebi ya da bir hata nedeniyle işlemciye gönderdiği bir interrupt işlemidir.
Bilgisay ar Sistemi İle İlgili Hususla r Bilgisayarın kullanılabilir olduğu tüm zaman boyunca çalışan tek program kernel ’dir. Diğer tüm programlar ya sistem ya da uygulama programlarıdır. Kullanıcılar rahatlık ister. Kolay kullanım ve performans. Kaynakların etkin kullanımı ile ilgilenmek istemezler. Mainframe ve minicomputer gibi paylaşılan bilgisayar sistemleri tüm kullanıcıları memnun etmelidir. Mobil bilgisayarlar düşük özellikli kaynaklara sahiptir. Kullanılabilirlik ve pil ömrü gibi kriterlere göre optimize edilirler. Bazı bilgisayarlar, kısmi ya da hiçbir kullanıcı arabirimine sahip değildir. Gömülü sistemler ve otomobiller gibi.
İşletim Sistemi Nedir? Ne yapar? İşletim sistemi bilgisayar donanımı ile kullanıcı arasındaki etkileşimi sağlayan bir yazılım programıdır. Bilgisayar sistemini kullanıma uygun hale getirir. İşletim sistemi, kullanıcı düzeyindeki yazılım programlarının çalıştırılabilmesi için zemin oluşturur. Bilgisayar donanımının etkin şekilde kullanımını sağlar. İşletim sistemi bir kaynak paylaşımcısıdır. Etkin ve adil kullanım için çakışan kaynak kullanım isteklerini yönetir. İşletim sisteminin iki temel fonksiyonu mevcuttur: Soyutlama (Abstraction) / & Hakemlik (Arbitration)
İşletim Sisteminin Soyutlam a & Hakemlik İşlevleri için Örnekler Intel ve AMD işlemcilerini destekleme. (Soyutlama) Uygulamalar arasında geçiş yapma. (Hakemlik) Uygulamalar için ayrılmış belleği paylaştırma. (Hakemlik) Video konferans uygulamasının tanımlı web kameralarını kullanmasını sağlama. (Soyutlama) Farklı sabit disklere erişim sağlama. (Soyutlama) Ağ üzerinden veri/mesaj gönderme ve alma. (Soyutlama & Hakemlik)
Program – Proses – Thread Basit bir Thread Örneği Komut İkili (Binary) Onaltılı (Hexadecim al) LOAD a A LOAD b B SUM a,b F STORE a+b C Tanımlar Program Belirli işlemleri yapmak üzere tasarlanmış ve bir depolama biriminde saklanan çalıştırılabilir komut dizisi. Proses Programın ana belleğe yüklenmiş ve işleyen örneği. Thread Belli bir işi yürütmeyi amaçlayan küçük ölçekli proses.
Proses Yönetimi İşlemleri İşlemcideki proses ve thread’ler için işleyiş programı oluşturma Kullanıcı ve sistem proseslerini oluşturma ve silme Prosesleri durdurma, başlatmaProseslerin senkronizasyonuProsesler arasında iletişimi sağlama Proses Durumları
Fetch-Execute-Decode Döngüsü Matematiksel ve mantıksal işlemleri yürüten birim AC: Accumulator – Toplama işlemini sağlayan devre ALU ( Arithmetic Logic Unit) PC: Program Counter – Bir sonraki komutun bellek adresini gösteren sayaç MAR: Memory Address Register – Okunacak ya da yazılacak bellek bloğunun adresini tutan kaydedici MDR: Memory Data Register – Bellekten getirilen ya da belleğe yazılacak olan veriyi tutan kaydedici CIR: Current Instruction Register – Şu an yürütülecek olan komutu tutan kaydedici Register (Kaydedici)
CPU Instruction Pipeline Uygulamasının Etkisi
Tek Çekirdekli İşlemci (Single-Core CPU) Hyperthreading Destekli Yapı Çok Çekirdekli İşlemci (Multi-Core CPU) Çok İşlemcili Sistem ( Multi-CPU) İşlemci Tasarımları
Proses Çizelgeleme ve Deadlock Çizelgeleme, işletim sisteminin, donanım kaynaklarını birden çok proses arasında paylaştırmasıdır. Çizgelgelemede, önceliği yüksek olan prosesler dikkate alınmalı Çizelgeleyici, hangi kuyruktaki hangi işlemi yürütmeye alacağına karar vermeli Çizgelgeleyici, işlemlere ne kadar CPU zamanı ayıracağına karar vermeli Aynı donanım kaynağını kullanmak isteyen iki ya da daha fazla prosese, ilgili kaynağın işletim sistemi tarafından ayrılması ve proseslerin kaynağı kullanmak için birbirini beklemesi işlemi deadlock olarak tanımlanır.
Proses Senkronizasyonu İşletim sisteminin birbirine bağlı prosesler ile ilgili yürüttüğü düzenlenme işlemidir. Örneğin bir proses, belleğin belli bir bloğuna bir veri yazmak (Y), diğer bir proses ise, bu bloktaki veriyi okuyup (O) yazıcıya iletmek istesin. Bu durumda, Y prosesinin, O prosesi ilgili kısımdaki okuma işlemini bitirmeden, mevcut verinin üzerine yazmaması için ya da O prosesinin, Y prosesinin yazma işlemi tam olarak tamamlamadan okuma işlemine başlamaması için her iki prosesin senkronize edilmesi gerekmektedir. Senkronizasyon yöntemleri İşletim sistemi, proseslerin birbiriyle etkileşime girmesi için sistem araçları sağlar. İşletim sistemi, aynı anda yalnızca bir prosesin veriye müdahale etmesini sağlayan bir koruma sağlar.
Faydalı Bağlantılar Bilgisayar Parçaları Bilgisayar Açılış Süreci CPU Nasıl Çalışır? wf Sabit Disk Nasıl Çalışır?