BTP205 İŞLETİM SİSTEMLERİ



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

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

İşletim Sistemlerine Giriş

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

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

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

İşlem Yönetimi (Process Management)

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

İşletim Sistemlerine Giriş

İşletim Sistemleri (Operating Systems)

İşletim Sistemi. BTEP205 - İşletim Sistemleri

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

Bilgisayar İşletim Sistemleri BLG 312

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 Sistemleri. Discovering Computers Living in a Digital World

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

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

Bilgisayar İşletim Sistemleri BLG 312

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

Java Temel Özellikleri

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

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

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

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

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

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

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

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

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

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

Bilgisayarların Gelişimi

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

BM-311 Bilgisayar Mimarisi

İşletim Sistemlerine Giriş

İŞLETİM SİSTEMLERİ Alakoç BURMA İÇİNDEKİLER

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

PROSESLER. Proses. Proses

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

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

Proses. Prosesler 2. İşletim Sistemleri

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

Dr. Fatih AY Tel: fatihay@fatihay.net

KONU 1 BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

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

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

İşletim Sisteminin Temel İşlemleri

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

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Çekirdek Nedir? Ne yapar?

İşletim Sistemlerine Giriş

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

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı

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

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

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

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

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

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

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

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

PROGRAMLAMA TEMELLERİ

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN

Bilgisayar Sistemlerine Genel Bakış

Veritabanı. Ders 2 VERİTABANI

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

BÖLÜM 3 3. İŞLETİM SİSTEMİNİN BAŞLICA ÖZELLİKLERİ

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

Öğr.Gör. Mehmet Can HANAYLI

Bilgisayar İşletim Sistemleri BLG 312

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

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

DOSYA-KLASÖR VE DOSYA UZANTILARI Batıkent Ortaokulu,Ders Notları,2016

İşletim Sistemlerine Genel Bakış

BİL391 İŞLETİM SİSTEMLERİ

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

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

İşletim Sistemlerine Giriş

Binnur Kurt İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

BİLGİ TEKNOLOJİLERİ SMO103

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri

BİLGİSAYAR KULLANMA KURSU

YZM 3102 İşletim Sistemleri

İnsan zekâsının çalışması sonucu ortaya çıkan düşünce ürünü, İletişim?

Sanal Bellek (Virtual Memory)

1 DERS İZLENCESİ 2 BİLGİSAYARA GİRİŞ Bilgisayar nedir? Bilgisayarın tarihçesi Bilgisayarın kullanıldığı alanlar Bilgisayarın kullanılmasında dikkat

Temel Bilgisayar Bilgisi

BİLGİ TEKNOLOJİLERİ SMO 103

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

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

C) 19 inçlik CRT ile LCD monitörün görünebilir alanı farklıdır. D) Dijital sinyali, analog sinyale çevirmek için DAC kullanılır.

Algoritma ve Akış Diyagramları

EKLER EK 12UY0106-5/A4-1:

Transkript:

BTP205 İŞLETİM SİSTEMLERİ

İşletim sistemi; bilgisayar sistemini oluşturan donanım ve yazılım nitelikli kaynakları kullanıcılar arasında kolay, hızlı ve güvenli bir işletim hizmetine olanak verecek biçimde paylaştırırken bu kaynakların kullanım verimliliğini en üst düzeyde tutmayı amaçlayan bir yazılım sistemidir. Basitçe bilgisayar donanımı ile kullanıcı! arasında iletişimi sağlayan, bilgisayarı kontrol eden yazılımdır.

işletim sistemlerinin başlıca amaçları: 1. Kullanıcı programlarını çalıştırılması 2. Kullanıcı problemlerinin çözümünün kolaylaştırılması 3. Bilgisayar sisteminin kullanımını daha elverişli hale getirilmesi 4. Bilgisayar kaynaklarının verimli bir şekilde kullanılması.

Bunun için; İşletim Sistemin Özellikleri İşletim sistemi faklı kullanıcıların uygulama programlarının donanım kaynaklarını kullanımını kontrol eder ve koordine eder. Bilgisayar kaynaklarının dağıtımı için şu problemlerin çözümü gerektirir: - Ana işlem biriminin zamana göre paylaşımı - Belleğin yönetilmesi - Disk alanının yönetilmesi - Giriş/Çıkış aygıtlarının yönetimi

Bilgisayar Mimarileri Von-NeumannMimarisi von Neumann mimarisi veri ve komutları tek bir yığıncak (depolama) biriminde bulunduran bilgisayar tasarı örneğidir. Paralel mimariler dışında Turing makinesi'nin ilkelerini uygulayan her bilgisayarı tanımlamak için kullanılır. merkezi işlem biriminin bağımsızlığı dolaylı olup, "saklı yazılım bilgisayarı"(stored program computer) ile eşanlamlı olarak kullanılır.

Bilgisayar Mimarileri

Bir İşletim Sisteminin Bileşenleri Bir işletim sistemi, kavramsal olarak, üç grupta toplanabilecek bileşenlerden oluşur: kullanıcı arayüzü (bu bir grafik kullanıcı arayüzü ve/veya komut satırı yorumlayıcısı ["kabuk" da denir] olabilir), dosya yönetim sistemi ve bir çekirdek.

Bir İşletim Sisteminin Bileşenleri 1. KABUK (SHELL) : İşletim sisteminin kullanıcıya gözüken yüzüdür. Bir çok kaynakta kabuk, komut yorumlayıcısı olaraktaadlandırılmaktadır. Bir bakıma kullanıcı ile çekirdek arasındaki arabirim olarak da tanımlamak olanaklıdır. Bilgisayar açıldıktan bir süre sonra komut satır (prompt) görüntülenir. Kullanıcı tarafından komut satırına girilen komutlar bilgisayar tarafından işleme konulur. bu nokta da kabuk (shell) olarak adlandırılan yazılım devreye girer. Öncelikle komutun geçerliliğini inceler, kullanıcının ne yapmak istediğini çözümler ve bu iş için gerekli olan programlar belleğe yükler. Macintosh bilgisayarların çıkışı ve ardından Microsoft un Windows yazılımının geliştirilmesinden beri birçok insan, arayüzdendiğinde otomatik olarak grafiksel kullanıcı arayüzünü(gui GraphicUser Interface, grafik kullanıcıarayüzü-ms explorer) düşünmektedirler.

Bir İşletim Sisteminin Bileşenleri Unix Tabanlı işletim sistemleri için kabuklar. MS-DOS iletim sisteminde kabuk olarak command.comkullanılır. DOSişletimsisteminin aksine Unix'in kaynak kodlar açık olduğundan dolayı ve Unix'in C gibi yüksek seviyeli bir programlama dili ile yazılmış olması nedeniyle Unix te geliştirilmiş bir çok kabuk program vardır.

Bir İşletim Sisteminin Bileşenleri 2. ÇEKİRDEK (KERNEL) : İşletim sistemi çekirdeği, kısaca çekirdek(kernel), işletim sistemininkalbidir. Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Çekirdeğin görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. Genellikle çekirdek, işletim sisteminin temel bir elemanı olarak, yazılımınfonksiyonunu yerine getirebilmesi için kontrol etmesi gereken kaynaklar için düşük seviye soyutlama katmanı sağlayabilir. İşletim sistemi görevleri, tasarımları ve uygulanmalarına göre farklı çekirdekler tarafından farklı şekillerde yapılır. Sistem açılırken belleğe yüklenir ve sistem kapatılıncaya kadar bellekte kalır.ms-dos'ta sistem dosyaları olarak bilinen msdos.sys ve io.sys dosyaları, bu işletim sisteminin çekirdek dosyalarını oluşturmaktadır. Unix'te ise vmunix, unix gibi isimler almaktadır. "kabuk", çekirdeğin çevresini sararken, donanımla iletişim kurmak da çekirdeğin işidir. Donanım <-> Çekirdek <-> Kabuk <-> Uygulamalar

Bir İşletim Sisteminin Bileşenleri Çekirdek, bilgisayarın donanımıyla doğrudan etkileşen işletim sisteminin bir parçasıdr. Programlar tarafından kullanılan bir hizmet sağlar. En önemli fonksiyonları: Belleği yönetmek Bilgisayara ulaşımlar kontrol etmek Dosya sistemini oluşturup, korumak İnterruptlar kullanmak Hataları kontrol etmek Girdi-çıktı birimlerini çalıştırmak Bilgisayarını kaynaklarını (işlemci, girdi-çıktı birimleri gibi...) kullanıcılar arasında dağıtmak.

Bir İşletim Sisteminin Bileşenleri 3. DOSYA YÖNETİM SİSTEMİ: İşletim sisteminin dosyaları organize etme ve yönetme için ne kullandığını gösteren ifadedir. Dosya verilerin t toplandığı birimlerdir. Sanal olarak bilgisayar bütün verilerini dosya olarak saklar. Bir çok dosya tipi vardır. Program dosyaları, veri dosyaları, text dosyaları gibi Dosya sistemi adı verilen bir yol ile işletim sistemi dosyaların içindeki bilgileri organize eder. Genelde işletim sistemleri hiyerarşik dosya yönetim sistemini kullanır. Bu sistem ağaç yapısı adı verilen klasörler içerisinde dosyaları organize eder. Bu klasör sisteminin başlangıç noktası kök dizindir(root directory, C:\>)..cab.cpl.cur.dll.dmp.drv.icns.ico.lnk.sys Windows Cabinet File Windows Control Panel Item Windows Cursor Dynamic Link Library Windows Memory Dump Device Driver Mac OS X Icon Resource File Icon File Windows File Shortcut Windows System File

Bir İşletim Sisteminin Bileşenleri Sistem içerisindeki veri kümeleri dosya (kütük) olarak adlandırılır. Bu nedenle ikincil bellekler daha geniş anlamıyla giriş/çıkış birimleri (HDD, CD-ROM, Flashdisk v.s.) üzerinde tutulan verilerin yönetimi dosya yönetimi kapsamında ele alınır. Dosya yönetim sisteminin temel işlevleri üç maddede toplanmıştır: 1 -Mantıksal dosya yapılarından fiziksel yapılara geçişin sağlanması. 2 - İkincil belleklerin verimli kullanılmasını sağlanması. 3 - Dosyaların paylaşılması, korunması ve kurtarılması ile ilgili araçların sağlanması

1. Dosya ve Klasör Yönetimi İşletim Sisteminin İşlevleri Dosyaları ve klasörleri yönetme, kaynakları saklama ve güvenliğini sağlamayı, bu kaynakları ağ kullanıcılarının kullanımına sunmayı ve yine bu kaynaklardaki değişiklikleri yönetmeyi içerir. Sürücü: Dosya ve klasörlerin saklanabileceği fiziksel ortamlardır ve alfabede bulunan harfler ile temsil edilirler. Disket sürücüler A veya B harfi ile Harddiskler ise C ve sonrasında gelen harfler ile temsil edilirler. CD-ROM, DVD-ROM ve Tape Backup üniteleri vb. diğer aygıtlar ise Harddiskten sonra gelen harfler ile temsil edilirler. Klasör: Sürücüler içerisinde bulunan ve dosyaları gruplamak amacı ile kullanılan program grup isimleridir. Klasörler dosyaları yaptıkları işlere göre gruplandırırlar, bu sayede aradığımız herhangi bir dosyayı bulmamız kolaylaşır. Bu olay tıpkı bir kütüphanede kitapların konularına göre gruplandırılmalarına benzer.

İşletim Sisteminin İşlevleri Dosya: Bilgisayarda yaptığımız her işlem dosyalar aracılığıile yapılmaktadır. Yazdığımız belgeler, hesap tabloları, sunular vb. dosyalarda saklanır. Bu sayede yaptığımız çalışmaları istediğimiz herhangi bir zamanda açıp okuyabilir gerekli güncellemeleri yapabiliriz. Bilgisayarda bulunan bütün dosyalar dosyaadı.uzantı şeklinde saklanır. Dosyaadı o dosyanın yaptığı işe göre verilmiş mantıksal bir isimdir ve toplam 255 karakter uzunluğunda olabilir, uzantı ise o dosyanın işlevine göre bilgisayar tarafından daha önceden belirlenmiş bir isim olabilir ve genelde 3 harf uzunluğundadır. Uzantılar sayesinde o dosyanın hangi programla hazırlandığını ve hangi programlarla açılabileceğini anlayabiliriz.

İşletim Sisteminin İşlevleri 2. Uygulamaların Yönetimi Kullanıcı bir program çalıştırmak istediğinde, işletim sistemi uygulamanın yerini sabit diskten tespit eder ve uygulamayı RAM e yükler. Bu işlem etkileşimli işlem olarak adlandırılır. Etkileşimli işlem kullanıcılara, uygulamaları dinamik biçimde yönetme, çalıştırılan programların sonuçlarını doğrudan elde edip, her an müdahale edebilme olanağı sağlayan çalışma türüne ilişkin bir özelliktir. Bu çalışma türünde kullanıcılar, bir işin çalışma süreci boyunca işe, monitör ve klavye vasıtası ile her an müdahale edebilmektedirler. Yani bir başka söylemle, ekran başında oturan bir kullanıcının bilgisayara bir komut vermesi ve o komuta bilgisayardan yanıt alması türünde, bir nevi karşılıklı konuşma yapar gibi çalışma biçimine Etkileşimli İşlem denir. Bu tanımdan da anlaşılacağı gibi, kullanıcılar program geliştirme, metin dosyaları oluşturma, program derleme ve test etme, veri tabanı sorguları işletme, bilgisayar ağı komutları girme, internet servislerini kullanma gibi kısa süreli işlerini Etkileşimli İşlem olarak yürütürler.

İşletim Sisteminin İşlevleri 3. Yardımcı Programları Destekleme İşletim sistemi yardımcı programları, problemleri giderebilmek ve sisteminin sağlıklı işlemesini sürdürebilmek amaçlı kullanır. Silinmiş, hasarlı dosyaları bulabilmek, verilerin yedeğini alabilmek gibi işlemlerde kullanır. İşletim sistemi, üzerinde yer alan bazı yazılımlar Sistem Yazılımı olarak anılır. Örneğin derleyiciler (compilers); yazdığımız programı makine diline çeviren ara program, editörler (editors), yararlı programlar (utility); virüs temizleyen programlar gibi gerçek iş için yardımcılardır, veri tabanı yönetim sistemleri (database management system) ve bilgisayar ağı yazılımları (network software) yine birer sistem yazılımlarıdır. Ancak bu yazılımlar işletim sisteminin kendi öz parçaları değildir.

İşletim Sisteminin İşlevleri 4. Bilgisayar Donanımını Kontrol Etme İşletim sistemi programlar ile BIOS arasında durur. BIOS tüm donanımı kontrol eder. Programların da işletim sistemi ile haberleşebilmesi için donanım kaynaklarına ihtiyacı vardır. İşletim sistemi donanıma BIOS aracılığı ile aygıt sürücüleri ile ulaşır. Bir bilgisayar sistemi, bir veya birden fazla işlemci (ya da diğer bir söylemle CPU ), gerçek bellek (RAM), saatler, terminaller, diskler, bilgisayar ağı(network) birimleri, yazıcı üniteleri, CD sürücüsü, disket ve teyp üniteleri gibi I/O ünitelerinden oluşmaktadır. Doğal olarak bir bilgisayar sistemi oldukça karmaşık bir yapıdadır.

İşletim Sisteminin İşlevleri 4. Bilgisayar Donanımını Kontrol Etme Programcıları, donanımın bu karmaşık yapısından etkilenmemelerini sağlamak ve disk gibi donanım ünitelerinin nasıl çalıştıklarını anlamak zorunda bırakılmamaları için, donanımın üzerine ilave edilen yazılımların katmanlar şeklinde (layered system) oluşturulmaları ve bu sayede çok daha kolay bir şekilde, sistemin bütün parçalarının yönetilebilmesi şeklinde bir yapılanma, uzun yıllar önce geliştirilmiş bir yaklaşımdır. Bu yapının en alttaki üç katmanı donanımı oluşturmaktadır. En alttaki katman, fiziksel üniteler, entegre devreler, kablolar, power(elektrik destek) üniteleri, disket sürücüleri, disk üniteleri ve diğer benzeri donanım birimlerinden oluşmaktadır. Bu katmanın mimari yapısı ile ilgilenmek ve bunları çalışma prensiplerini geliştirmek elektronik mühendislerinin işidir. Fiziksel üniteleri (donanım) doğrudan kontrol eden ve fiziksel katmanın bir üstündeki en ilkel yazılım düzeyini oluşturan katman, microprogram dır. Bu katman genellikle readonly (yalnızca okunabilir) bellek (ROM) sahasında bulunur. Microprogram da ekleme (add), taşıma (move), karşılaştırma (compare) gibi makine diline ait temel komutları adım adım yerine getirir. Microprogram, örneğin, Add işlemini yerine getirmek için eklenecek sayının nerede yer aldığını saptar ve üzerine eklenecek sayıyı ilave ettikten sonra sonucu elde eder.

İşletim Sisteminin İşlevleri 4. Bilgisayar Donanımını Kontrol Etme Microprogramın yorumladığı komut seti (instruction set), makine dili (machine language) katmanını oluşturur ki, bu gerçekte makinenin gerçek bir donanım parçasını oluşturmakta ve bir bilgisayar da donanımın gerçek bir parçasıymış gibi nitelenebilmektedir. Bu nedenle bazı makinelerde Microprogram, donanımın içinde varsayıldığından ayrı bir katman şeklinde bulunmaz. Makine dili, genel olarak 50 ile 300 arasında komuta (intruction) sahiptir. Veri taşıma, aritmetik işlem yapma ve değerleri kıyaslama gibi işlevleri yerine getirir. Makine dili, yazıcı ve disket sürücü gibi I/O (input/output) ünitelerinin denetimini özel yüklenmiş bilgiler sayesinde yapmaktadır. Bir bilgisayar sisteminin dördüncü katmanında yer alan işletim sisteminin temel işlevi, donanımın karmaşıklığını kullanıcıya yansıtmamak ve daha elverişli ortam hazırlayıp, kullanıcının kolayca işini yapmasını sağlamaktır.

İşletim Sistemi Tipleri 1. Çoklu Kullanıcı(Multiuser) İşletim Sistemleri İki veya daha fazla kullanıcının programlar veya paylaşılan aygıtlar üzerinde çalışabilmesidir. Bu konuya en güzel örnek paylaştırılan yazıcılardır. Bir çok kullanıcı aynı anda yazıcıya belge gönderir ve de sıra ile bu belgeler yazıcıdan çıktı alınır.

İşletim Sistemi Tipleri 2. Çoklu Görev(Multitasking) İşletim Sistemleri Kullanıcılar sistemde aynı anda birden fazla işlem (process) çalıştırabilirler. Bu, siz bir işlemi başlattıktan sonra, o başlattığınız işlem çalışmaya devam ederken başka bir işlem de başlatabilirsiniz demektir. Çoklu görev, bir işletim sisteminde bir kullanıcının, birden fazla sayıda işlemi aynı anda işletime alınabilmesi özelliğidir. Yani çoklu görev, bellekteki birkaç veriyi aynı anda işlemesi ve işlemci ile I/O ünitelerinin de bunlar arasında aynı anda kullandırılması ortamının yaratılmasıdır. Ancak bir bilgisayar sisteminde, işletim sisteminin kendisine ait birden fazla işlemin aynı anda çalıştırılması, bu sistemde çoklu görev (multitasking) özelliği olduğunu göstermez. Bu nedenle bir işletim sisteminde çoklu görev özelliği, ancak bir kullanıcının birden fazla sayıdaki işlemi aynı anda işletebiliyorsa vardır. Çoklu görev birçok uygulamanın (programın) aynı anda çalıştırılmasıdır. Bunun sağlanması için, görevler (uygulamalar) kısa zaman dilimleri içinde işlemcide çalıştırılır. Bu zaman dilimlerinin oldukça küçük zaman dilimleri olması nedeniyle yapay da olsa bir eş zamanlılık söz konusu olur (İşlemci aynı anda iki işi yapamaz.).

İşletim Sistemi Tipleri 3. Çoklu İşlemci(Multiprocessing) İşletim Sistemleri Gittikçe yaygınlaşan bir durum da bir basit sistemin içerisine birçok CPU bağlayarak çok önemli hesaplamaları yapmaktır. Her işletim sistemi birden fazla işlemciyi destekleyemiyor. İşletim sistemi, yapılacak olan işlemleri iki veya daha fazla işlemci üzerine dağıtmayı bilmeli ve bunları kontrol edebilmelidir. Bu özelliğe sahip olan işletim sistemleri arasında Windows 2000, Windows NT, Linux, Unix, BeOS bulunuyor. Microsoft'un diğer işletim sistemleri (Win9x - ME) çok işlemcili sistemleri desteklemiyor. Destekleyememesinden dolayı, fazladan taktığınız işlemciyi boşu boşuna kullanmış oluyorsunuz. Anlayacağınız, işlemleri işlemci üzerine dağıtabilme özelliğinden yoksun.

İşletim Sistemi Tipleri 4. Çoklu Görev(Multithreading) İşletim Sistemleri Program ihtiyaç halinde işletim sistemi tarafından küçük parçalara ayrılır ve çalıştırılabilir. Bu özellik aynı zamanda çoklu kullanıcı sistemleri de destekler. Aynı programın parçaları farklı kullanıcılar tarafından da kullanılabilir.

İşlem Yönetimi (İşlem, Semafor ve Kilitlenme) BELLEK YÖNETİMİ işl_sis Disk yönetimi

İŞLETİM SİSTEMLERİNİN BİLEŞENLERİ Birbirinden farklı çeşitli işletim sistemleri bulunmasına rağmen, bunlar arasında ortak yapı özellikleri ve bileşenleri vardır. Fonksiyonel bakımdan işletim sistemlerinin bileşenleri: 1. Görev yönetimi (Process manager) 2. Ana bellek yönetimi (Memory manager) 3. Kütük yönetimi (File manager) 4. Disk (2. bellek) yönetimi (Second Storage) 5. Ağ üzerinde çalışma (Ağ fonksiyonları yönetimi: Networking) 6. Sistem koruması 7. Komut derleyici sistemler Bu bileşenler aşağıda kısaca açıklanmaktadır. Daha ileri ki bölümlerde, her biri ayrıntılı bir şekilde verilecektir.

1. İşlem Yönetimi (İşlem, Semafor ve Kilitlenme) Görev (process), işletim sistemi tarafından yürütülen ardışık işlemler sürecini içeren bir programdır. Aynı zamanda süreç olarak da adlandırılır. Görev için gereken kaynaklar, görev ortamını oluşturur. Görev yönetiminin amaçları: Makul cevaplama süresi içerisinde, birkaç görevi aynı anda yürüterek işlemciden maksimum faydalanmayı sağlamak Görevleri kaynaklara dağıtmak Görevler arası haberleşmeyi sağlamak Kullanıcıların görev oluşturabilmesine ortam oluşturmak.

1. İşlem Yönetimi (İşlem, Semafor ve Kilitlenme) Görevin çalışması, ardışık işlemler süreci şeklinde olup, her bir zaman diliminde görevin yalnız bir komutu çalışabilir. Bir işlemin yapısında; işlemin yazılı olduğu metin bölümü, bir sonraki işletilecek olan komutu gösteren sayaç ve işlemci kaydedicilerinin içeriği olan program sayacı (program counter PC) bölümü, yerel değişkenler, dönüş adresleri gibi geçici bilgileri tutan yığın (stack) bölümü, genel değişken vb. bilgileri tutan veri bölümü bulunmaktadır. Bazı işlemlerde işlemin çalıştığı sürece kullandığı bir alan (heap) de bulunmaktadır.

1.1 Görev Denetimi Her bir görevin çalışması için gereken bilgiler görev denetim bloğunda (PCB=Process Control Blok) bloğunda gösterilir. Görev denetim bloğundaki bilgiler, program sayacı, ana işlem birimi yazmaçları v.s bulunur. Her bir görevle ilgili bilgiler: Görev durumu Görev sayacı MİB yazmaçları MİB planlanması bilgileri Bellek yönetimi bilgileri İstatistiksel bilgiler G/Ç durumu bilgileri

1.1 Görev Denetimi Görev durumu: görev yeni, çalışıyor, bekliyor, hazır veya bitti şeklinde olabilir. Program sayacı: İşlemde çalıştırılacak bir sonraki komutu gösterir. MİB kaydedicileri: İşlemci mimarisini göre kaydedicilerin sayısı ve türü değişmektedir. İşlemde kullanılan kaydediciler (AX, BX vb.) içerisindeki bilgiler bir kesme geldiğinde mutlaka saklanmalıdır MİB zamanlanma bilgisi: Burada işlemin önceliğini, zamanlama kuyruğundaki işaretçisi ve diğer zamanlama parametreleri ile ilgili bilgiler bulunmaktadır. Bellek yönetimi bilgisi: İşletim sistemi tarafından kullanılan bellek sistemleri; taban ve limit (tavan) kaydedicileri, sayfa tablosu veya bölüm tablosu gibi bilgileri içermektedir. Hesap bilgileri: görev tarafından kullanılan MİB ve diğer parametrelerin kulanım zamanlarını içermektedir. G/Ç durum bilgisi: görev tarafından kullanılan G/Ç aygıtlarının listesi, açılan dosyaların listesi vb. bilgileri içermektedir.

1.1 Görev Denetimi MİB nin işlemden işleme geçiş aşamaları

Kesme İsteği (IRQ) IRQ İngilizce karşılığı Interrupt Request, yani kesme isteği kelimelerinin kısaltmasıdır. IRQ ile donanımlar sistem işlemcisi ile iletişim kurarlar. Bir nevi her donanımın özel adresi denebilir. Bilgisayarımızın merkezi işlem ünitesi olarak CPU çevre birimleri ile olan tüm iletişimleri başlatır, onların yönetimini elinde tutar. Peki herhangi bir çevre birimi CPU'nun kendisi ile ilgilenmesini nasıl sağlayacak, onun dikkatini nasıl çekecek. İşte bu noktada IRQ(Donanım kesmeleri) devreye girer. IRQ, çevre birimlerinin dikkat çekmek için kullandığı bir yöntemdir. Bir kesme talebi geldiğinde kesme denetleyicisi (PIC), CPU'yu elindeki işi geçici olarak durdurmaya ve hemen bu kesmeyi yönetmesine olanak sağlayan bir programı çalıştırmaya iter. CPU kesme hizmet programına dallanırken dönüş adresini yığın hafızada saklar ve işi bitince işleme yine kaldığı yerden devam eder. Birçok aygıt aynı anda kesme hizmeti isteyebilir. Sistem tarafından belirlenmiş öncelik sırasına göre talepler karşılanır. Genelde kesme hizmet programı yüksek önceliğe sahip bir işlem tarafından kesilebilir. Ama daha öncelikli veya eşit seviyedeki bir cihazdan kesme talebi gelirse o anki kesme programı bitene kadar bu istek saklanır.

Kesme İsteği (IRQ) İşlemcinin, normal yürütüm sırasını değiştirmek ve gereksinim duyulan başka bir işi varsa onu yerine getirmek için kesme programları kullanılır. Kesme sürecinde kontrolü kesme programı devralır. Kesmeler işletim sistemlerinin genel bir parçasıdırlar. Kesmeler: İşlemcinin etkinliğini artırır. Bir G/Ç işlemi yapılırken, işlemcinin diğer komutları yürütmesine olanak verir. Bir sürecin geçici olarak durdurulmasına (sonradan çalıştırılmak üzere) sebep olurlar. Kesme türleri: Program Aritmetik taşma Sıfıra bölme İllegal komut yürütme Kullanıcının hafıza alanının dışına çıkması Zamanlayıcı (Timer) G/Ç Donanım hatası Kesme çevriminin yürütümü: İşlemci, kesmeleri kontrol eder. Eğer kesme yoksa, mevcut program içinde işlemci bir sonraki komut alır. Eğer kesme varsa, mevcut çalışan program olduğu yerde bırakılır (çalışmasını bitirmeyi beklemeksizin) ve kesme programı idareyi ele alır.

1.1 Görev Denetimi Görev durumu (Process state): Bir işlemin hangi durumda olduğunu gösteren ve işlemin ömrü boyunca değişken bir durumu bulunmaktadır. Bunlar; Yeni: İşlemin oluşturulduğunu gösterir. Çalışıyor: İşlemin komutları yürütülmektedir. Bekliyor: görev bir olayın gerçekleşmesini beklemektedir. Örneğin bir G/Ç işlemi. Hazır: görev bir işlemciye atanmak için beklemektedir. Bitti: görev çalışmasını bitirdi.

1.1 Görev Denetimi Görev durumu (Process state): Herhangi bir anda tek bir görev çalışma durumundadır fakat birçok görev beklemede olabilir.

1.1 Görev Denetimi İş Parçacıkları(Threads) İş parçacığı, işlemin bir parçasıdır. Örneğin bir işlemin bir kelime işlemci programının çalışmasını yürüttüğünü düşünelim. Burada kullanıcı örneğin bir satırdaki yazıları seçerek kalın yapmak istediğinde bu faaliyete iş parçacığı denilmektedir. Modern işletim sistemleri aynı işlem içerisinde birden fazla iş parçacığının yürütülmesine izin vermektedir.

1.1 Görev Denetimi İşlemlerin Planlanması(Process Schedulers) Çoklu programlamanın hedefi; aynı zamanda birkaç görevi birlikte çalıştırmakla, ana işlem biriminin verimliliğini yükseltmektir. Görevlerin çalışmasını ilişkisel koordine etmek için planlama fonksiyonu (scheduling) kullanılır. Bu fonksiyon işletim sisteminin temel fonksiyonlarındandır. Tüm bilgisayar kaynaklarının görevi, çalışma öncesi planlanır. Esas kaynak olan MIB ninplanlanması işletim sisteminin tasarımında başlıca yeri tutmaktadır. Her bir görevin çalışması, MIB ve G/Ç işlemlerinden oluşur.

1.1 Görev Denetimi İşlemlerin Planlanması(Process Schedulers) Görevlerin planlanması için çeşitli algoritmalar kullanılmaktadır. Bu algoritmaları kıyaslamak için kriterler: 1. Ana işlem biriminin kullanım durumu 2. Belirlenmiş zaman diliminde çalışmasını tamamlayan görev sayısı. 3. Görevi çalıştırmak için harcanan zaman 4. Görevin hazır görevler kuyruğunda bekleme zamanı 5. Cevaplama süresi

1.1 Görev Denetimi İşlemlerin Planlanması(Process Schedulers) Tüm işlemler iş kuyruğuna (Job queue) alınmaktadır. Çalıştırılmaya hazır olan veya bekleyen işlemler hazır kuyruğuna (ready queue) alınarak MİB ne gönderilir. Dağıtıcı (Dispatcher) çalıştırılacak olan bir işlemi seçerek MİB ne gönderdikten sonra aşağıdaki olaylar meydana gelebilir; İşlem bir G/Ç isteğinde bulunabilir ve böylece G/Ç kuyruğuna yerleştirilir. İşlem alt işlemler oluşturabilir ve bunların bitmesini bekleyebilir. İşlem bir kesme oluştuğu için MİB de çalışması durdurularak kesmenin bitiminin ardından kuyruğa alınarak MİB ne gönderilebilir.

1.1 Görev Denetimi İşlemlerin Planlanması(Process Schedulers)

Planlama Algoritmaları 1.1 Görev Denetimi 1. FCFS(First Come First Served İlk Gelen Önce) Algoritması: Bu algoritmaya göre; AIB yi ilk talep eden görev, ilk olarak işlemciyi kullanır. FIFO kuyruğu ile çalıştırılabilir. Görev hazır görevler kuyruğuna sunulduktan sonra, onun görev denetim bloğu (PCB) kuyruğun sonuna ilave edilir. AIB boş olduğu zaman kuyruğun başındaki görev çalışması için AIB ye sunulur ve kuyruktan silinir. Bu algoritmada görevlerin bekleme süresi yüksek olur. Örnek: P1, P2, P3 görevlerinin sırasıyla kuyrukta yerleştiklerini kabul edelim: Görev Çalışma Zamanı (sn) P1 24 P2 3 P3 3

1. FCFS(First Come First Served İlk Gelen Önce) Algoritması: Örnek: P1, P2, P3 görevlerinin sırasıyla kuyrukta yerleştiklerini kabul edelim: Görev Çalışma Zamanı (sn) P1 24 P2 3 P3 3 1.Görevler P1, P2, P3 ardışıklığı ile sunulmuş olduğunu varsayalım. Buna göre planlama: Ortalamabeklemesüresi:(24+27+0)/3=17msn'dir. 2.Eğer görevlerin gelme P2, P3, P1 şeklinde sıralanırsa, planlama: Ortalamabeklemesüresi:(3+6+0)/3=3msn dir.

2.SJF(Shortest Job First En Kısa İşletim Süresi Olan Önce) Algoritması: Bu algoritmada CPU boş olduğunda, kalan görevler içinde çalışma süresi en küçük olan görev, çalışması için işlemciye sunulur. Eğer iki görevin kalan süreleri aynı ise o zaman FCFS algoritması uygulanır. Bu algoritmada: Her görev, o görevin bir sonraki MİB işlem zamanı ile değerlendirilir. Bu, en kısa zamanlı işin bulunması için kullanılır. SJF Türleri: 1. Kesilmesiz SJF : Eğer AİB bir göreve tahsis edilmişse, AİB işlem zamanı bitmeyince görev kesilemez. 2. Kesilmeli SJF : Eğer AİB işlem zamanı, şu anda çalışan görevin kalan işlem zamanından küçük olan yeni bir görev sisteme sunulmuşsa, eski görev kesilecek. Bu yönteme, SRTF( Shortest Remaining Time First En kısa işlem zamanı kalan, birinci) yöntem denir. SJF verilmiş görevler kümesi için en küçük ortalama bekleme zamanı oluşması için optimizasyon yapar.

2.SJF(Shortest Job First En Kısa İşletim Süresi Olan Önce) Algoritması: Örnek: : P1, P2, P3, P4 görevleri aşağıdaki ardışıklıkile sunulmuş olduğunu varsayalım. Buna göre kesilmesizsjf yöntemine göre ortalama bekleme süresini bulalım: SJF : tob= tp1 + tp2 + tp3 + tp4 = (3+9+16+0) / 4 = 7 msn FCFS : tob= tp1 + tp2 + tp3 + tp4 = (0+6+13+21) / 4 =10.75 msn

3.Çok Kuyruklu Planlama Algoritması: Bu algoritmaya göre görevler belli sınıflara ayrılır ve her sınıf görev kendi kuyruğunu oluşturur. Başka deyişle hazır görevler çok seviyeli kuyruğa dönüştürülür. Görevin türüne önceliğine, bellek durumuna veya başka özelliklerine göre görevler belli kuyruğa yerleştirilirler. Her kuyruk için planlama algoritması farklı olabilir. Bununla birlikte görevlerin bir kuyruktan diğerine aktarılmasını sağlayan algoritmada oluşturulur. Bu algoritmaya göre yüksek öncelikli kuyruktaki görevler önce işlenir. Eğer bu kaynak boş ise ondan aşağı seviyedeki görevler çalıştırılabilir.

4.Öncelikli Planlama Algoritması: Bu algoritmaya göre her bir göreve öncelik değeri atanır ve görevler öncelik sırasına göre işlemciyi kullanırlar. Aynı öncelikli görevler FCFS algoritması ile çalıştırılırlar.

5.Döngülü Planlama(Round Robin- RR) Algoritması: Her görev küçük bir AİB zaman dilimini alır. Bu zaman bittiğinde, görev kesilir ve hazır görevler kuyruğunun sonuna eklenir. Örnek: P1, P2, P3, P4 görevleri aşağıdaki ardışıklık ile sunulmuş olduğunu varsayalım. Zaman dilimi 20 msn ise buna göre:

Kilitlenme(Deadlock) Sonsuz döngü anlamına da gelmektedir. Değişik işlemlerin/iş parçacıklarının birbirlerinin alanlarını kullanmalarından ortaya çıkar. Windows da sıklıkla karşınıza çıkan mavi ekranın sebebi! Örneğin bir işlem bir kaynağı (örneğin A dosyasını)kullanırken diğer bir kaynağı (örneğin B dosyasını) kullanmak istemektedir. Ancak aynı zamanda başka bir işlem B dosyasını kullanırken A dosyasını kullanmak istemektedir. Bu durumda her iki işlem de istedikleri dosyaları alamayacakları için bu işlemler bloklanacaklardır.

Kilitlenme(Deadlock) Görevler arasında tıkanma(kilitlenme) aşağıdaki koşullarda ortaya çıkabilir: 1. Karşılıklı Dışlama: Bir kaynağın aynı anda yalnız bir görev tarafından kullanılabilmesi. 2. İstem üzerine kaynak atama : Görevin gereksediği kaynakları, teker teker işletim aşamasında elde edilmesi. 3. Atanan kaynakların, görevler serbest bırakmadıkça geri alınamaması 4. Döngüsel Bekleme : Bir görevin elinde tuttuğu kaynaklardan bir yada daha çoğunun,bu görevle aynı döngüsel işletim zinciri içinde yer alan diğer görevlerce istenmesi.

Semafor(Semaphore): Latincede deniz feneri anlamına gelen Semafor, negatif olmayan bir tamsayı olup işlemin başlangıç deyiminden itibaren wait ve signal işlemleri ile değeri değiştirilebilen bir değişkendir. Signal(S) : S = S + 1 (1 arttırma) Wait (W) : W = W 1 (1 azaltma) İki ayrı işlem aynı anda bellekte yürütülürken kaynaklara aynı anda erişmeye çalışabilirler. Bu durumda kullanılan semafor, sistem kilitlenmelerine engel olur. Bir semafor un paylaşılabilmesi onun başlangıç değerine bağlıdır.

Genellikle bir program hard diskte ikili kodda çalıştırabilir dosya olarak tutulmaktadır. Bu program belleğe bir işlem yardımıyla getirilerek yerleştirilir. Bellek yönetimine göre bu işlem çalışırken bellek ve hard disk arasında gidip gelebilir. Diskteki işlemler belleğe getirilerek çalıştırılmak için beklerken oluşturdukları forma giriş kuyruğu denilmektedir. Bellek her birisinin kendi adresi olan baytlar veya kelimelerden oluşan büyük dizidir. Bellek AİB ve G/Ç aygıtlarının paylaştığı ve hızlı erişilebilen bir veri ambarıdır. İşletim sisteminin bellek yönetiminin unsurları şunlardır: Bellekteki herhangi bir işlemi başka bir yere aktarabilmelidir. Birden fazla işlem veya kullanıcı olduğunda bir kullanıcını diğer kullanıcını alanlarına girmeleri önlenmelidir. Kullanıcılar arası kaynak paylaşımını sağlamalıdır. Belleğin mantıksal alanlara bölünmesini sağlayarak bilgiye erişimi kolaylaştırmalıdır. 2. Bellek Yönetimi Belleğin yetmediği durumlarda fiziksel başka bellek alanlarını yani hard diskleri kullanabilmelidir(swap).

Genellikle bir program hard diskte ikili kodda çalıştırabilir dosya olarak tutulmaktadır. Bu program belleğe bir işlem yardımıyla getirilerek yerleştirilir. Bellek yönetimine göre bu işlem çalışırken bellek ve hard disk arasında gidip gelebilir. Diskteki işlemler belleğe getirilerek çalıştırılmak için beklerken oluşturdukları forma giriş kuyruğu denilmektedir. Bellek her birisinin kendi adresi olan baytlar veya kelimelerden oluşan büyük dizidir. Bellek AİB ve G/Ç aygıtlarının paylaştığı ve hızlı erişilebilen bir veri ambarıdır. İşletim sisteminin bellek yönetiminin unsurları şunlardır: Bellekteki herhangi bir işlemi başka bir yere aktarabilmelidir. Birden fazla işlem veya kullanıcı olduğunda bir kullanıcını diğer kullanıcını alanlarına girmeleri önlenmelidir. Kullanıcılar arası kaynak paylaşımını sağlamalıdır. Belleğin mantıksal alanlara bölünmesini sağlayarak bilgiye erişimi kolaylaştırmalıdır. 2. Bellek Yönetimi Belleğin yetmediği durumlarda fiziksel başka bellek alanlarını yani hard diskleri kullanabilmelidir.

Bellek, Ana ve İkincil bellek olmak üzere ikiye ayrılır. Ana bellek; aynı zamanda aktif bellek, yarı iletken bellek, RAM bellek adlarıyla da anılır. Programların ve verilerin işlem aşamasında yer aldığı, ana işlem biriminin de doğrudan erişebildiği bellektir. Mantıksal ve Fiziksel Adres 2. Bellek Yönetimi MİB tarafından oluşturulan adrese genellikle mantıksal (veya sanal) adres, bellekte yer alan adrese ise fiziksel adres denilmektedir. Mantıksal adresi MİB tarafından belirlenen bir kullanıcı işlemi belleğe yerleşirken fiziksel adresi belirlenerek yerleştirilir ki bunun için de tekrar yerleştirme (relocation) da denilen taban (base) kaydedicisi kullanılır. Bu taban kaydedicisinin değeri ile mantıksal adres toplanarak elde edilen adres ise fiziksel adrestir.

2. Bellek Yönetimi Boş Bellek Alanlarının Aranması Boş bellek alanlarının aranması için genelde 3 yöntem kullanılır: 1.İkili haritalama(bit-map) 2.Bağlaçlı Liste 3.Komşu Sistemler(Buddy System)