İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım ve donanım kaynaklarının kullanımı, yönetimi ve denetimini gerçekleştiren yazılım topluluğudur. İşletim sistemi kullanıcı ve sistem arasındaki iletişimi sağlayan arayüz yazılım olarak tanımlanabilir. İşletim sistemlerinin temel işlevleri şöyle sıralanabilir: Ana İşlem Biriminin (AİB) yönetimi ve denetimi Ana Bellek Biriminin yönetimi ve denetimi Yan Bellek Birimlerinin yönetimi ve denetimi Giriş/Çıkış Birimlerinin yönetimi ve denetimi Yrd. Doç. Dr. C. HARMANŞAH 1
İşletim sistemi, donanımla yazılım arasında bir yönetici arayüzü olarak görev yapmaktadır. Böylece ihtiyaç duyan yazılımlar tarafından sistem kaynaklarını yönetebilmektedir. Çalışma sırasında oluşan hataların ve çakışmaların önlenmesi işletim sisteminin görevidir. Diğer taraftan, işletim sistemi faklı kullanıcıların veya uygulama programlarının donanım kaynaklarını kullanımını kontrol ve koordine etmektedir. Sistem kaynaklarının dağıtımı ve paylaşımı için işletim sistemi sisteminin yapmakla yükümlü olduğu işler şu şekilde sıralanabilir: - AİB nin zamana göre paylaşımı - Ana belleğin yönetimi - Disk alanlarının yönetilmesi - Giriş/Çıkış aygıtlarının yönetimi İşletim sistemi tarafından aşağıdaki servisler sağlanmaktadır. Bunlar: - Program geliştirme - Editörler ve Debuggerlar - Programların yürütülmesi - G/Ç sürücülerine erişim - Dosyalara erişimi kontrol etme - Test & Debug Yrd. Doç. Dr. C. HARMANŞAH 2
Yrd. Doç. Dr. C. HARMANŞAH 3
İşletim Sistemi Yapıları İşletim sistemleri ve diğer yazılımlar donanım üzerine aşağıda görüldüğü gibi katman şeklinde yerleştirilmektedir. Böylece donanım kaynaklarının yönetimi ve paylaşımı kolaylaştırılmış ve sistem performansı artırılmıştır.. En alt katmanını oluşturan sistemin elektronik devre ve aygıtlarına donanım denilmektedir. Elektronik devre ve cihazları kontrol etmek amacıyla hazırlanmış alt düzey programlama dili kullanılarak geliştirilen yazılımlar mikroprogram olarak adlandırılabilir. Bu düzeyde geliştirilecek yazılımlar mikroişlemci düzeyli programlardır. Bundan dolayı, bu düzeyde gerçekleştirilen yazılımlar işlemci modeli ve özellikleri ile yakından ilişkilidir. Yrd. Doç. Dr. C. HARMANŞAH 4
İşletim sistemleri uygulama yazılımı geliştiren programcılara, donanım kaynaklarının kullanımı için gerekli (Hardware Abstraction) servisleri sunmaktadır. Böylece, uygulama yazılımı geliştiricileri alt düzey programlama bilgisi kullanmadan donanım kontrolü ve yönetimi gibi işlemleri kolayca yürütebilmektedir. İşletim sisteminin yapmakla sorumlu olduğu servisler 6 başlıkta ele alınabilir. Bunlar: o User Interface All operating systems have a user interface (GUI or CLI) o Program Execution Operating system must be able to load a program into memory and to run that program, end execution (either normally ended or abnormally ended error) o I/O Operation Running program may need I/O, which involve an I/O device or a file o File System Manipulation A running programs require to read and write files and directories, create and erase them, list file information, access rights o Communications Yrd. Doç. Dr. C. HARMANŞAH 5
A running programs may exchange information, on the same system or between computers over a network. o Errror Detection Yrd. Doç. Dr. C. HARMANŞAH 6
CPU İşletim sisteminin en önemli görevi işlemcinin yönetimi ve kontrolüdür. Bilindiği gibi sistemlerde kullanılan işlemciler farklı modellerde ve özelliklerde üretilmektedir. İşlemci düzeyinde gerçekleşen işlemlerin anlaşılabilmesi için işlemciyi oluşturan temel bileşenlerin çalışma özelliklerinin bilinmelidir. İşlemci fonksiyonel olarak 3 bileşenden oluşmaktadır. Bunlar; Control Unit (CU), I/O Unit ve ALU dir. Yrd. Doç. Dr. C. HARMANŞAH 7
İşlemci içinde yer alan en önemli lojik devre elemanı register dır. İşlemcilerde bulunan register General Purpose Registers X86 işlemcilerde bu amaçla kullanılan register lar AX, BX, CX ve DX olmak üzere 4 tanedir. Programcı ve yazılımlar tarafından kullanılabilen genel amaçlı saklayıcılardır. İşlemci modeline bağlı olarak 16, 32 ve 64 bitlik saklayıcılar bulunmaktadır. Special Purpose Registers olmak üzere 2 ye ayrılmaktadır. Adresleme, Veri ve Giriş/Çıkış İşlemlerinde veri ve adres bilgisi tutmak üzere çeşitli tip ve sayıda saklayıcı kullanılmaktadır. Diğer taraftan, işlemciler kontrol ve yönetim amaçlı çok sayıda özel saklayıcı sahiptir. Kontrol ve Durum Saklayıcılar PC (Program Counter) Çalıştırılacak komutun adresini tutar IR (Instruction Register) Çalışacak komutu tutar PSW (Program Status Word) İşlemcinin interrupt kullanımını, yönetim ve durum bilgilerini saklar. Bu saklayıcı bit düzeyli işlem yapmaktadır. Yrd. Doç. Dr. C. HARMANŞAH 8
Diğer önemli register grubu Segment Register lardır. İşlemci tarafından çalıştırılacak komut ve datalara erişmek üzere CS (Code Segment) ve DS (Data Segment) saklayıcılar kullanılmaktadır. Bunların dışında ES (Extra Segment) ve SS (Stack Segment) bulunmaktadır. İşlemciler; PC (Program Counter) deki adreste bulunan komutu alıp getirir, komut setine göre mikrokod lara dönüştürdekten sonra çalıştırır. Yrd. Doç. Dr. C. HARMANŞAH 9
Bu süreç Fetch >> Decode >> Execute şeklinde gerçekleşmektedir. Yrd. Doç. Dr. C. HARMANŞAH 10
Yrd. Doç. Dr. C. HARMANŞAH 11
Yrd. Doç. Dr. C. HARMANŞAH 12
Yrd. Doç. Dr. C. HARMANŞAH 13
Yrd. Doç. Dr. C. HARMANŞAH 14
Yrd. Doç. Dr. C. HARMANŞAH 15
Yrd. Doç. Dr. C. HARMANŞAH 16
Yrd. Doç. Dr. C. HARMANŞAH 17
Yrd. Doç. Dr. C. HARMANŞAH 18
Yrd. Doç. Dr. C. HARMANŞAH 19
Yrd. Doç. Dr. C. HARMANŞAH 20
Yrd. Doç. Dr. C. HARMANŞAH 21
Saatçi, A., Bilgisayar İşletim Sistemleri, 2002. Silberschatz, Galvin and Gagne, Operating System Concepts, 2005. Stansifer, R., Lecture Notes, 2009. Stallings, W., Operating Systems: Internals and Design Principles, Sixth Edition Prentice Hall 2008. Alakoç Burma, Z., İşletim Sistemleri Ders Notları, Mersin Üniversitesi Razbonyalı, M., Uçar, E., İşletim Sistemleri Ders Notları, Trakya Üniversitesi, 2000. Türkoğlu, İ., İşletim Sistemleri Ders Notları, Fırat Üniversitesi, 2006. Yrd. Doç. Dr. C. HARMANŞAH 22