İşletim Sistemleri Operation Systems Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Bu derste, İşletim sistemleri mimarisi, İşletim sistemi katmanları ve işlevleri, İşletim sistemlerinin işlevleri, İşlem yönetimi, ◦ İşlem kontrol blokları, ◦ İşlem durum algoritmaları Bellek yönetimi, ◦ Bellek yöneticisinin görevleri ◦ Sanal Bellek (virtual memory) ◦ Sayfalama (paging) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşletim Sistemleri Mimarisi Modern bilgisayar sistemleri Von Neumann ilke ve bileşenlerine sahiptir. Von Neumann bileşenlerine sahip bilgisayar sistemlerinde merkezi işlem birimi, ana bellek ve giriş/çıkış birimlerinden oluşmaktadır. İşletim sistemlerinin temel amaç bu kaynakların en verimli ve etkin biçimde kullanılmalarını sağlamaktır. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Von Neumann Mimarisi Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol Birimi Adres yolu Veri yolu Ana Bellek Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Donanım Aygıtları İşletim Sistemleri Mimarisi İşletim sistemlerini de daha önce; tek kullanıcılı (single user), çok kullanıcılı (multi user), tek işlemli (single tasking) ve çok işlemli (multi tasking) olarak sınıflamıştık. Tek kullanıcılı ve tek işlemli yapılarda işletim sisteminin görevleri daha basit bir düzenekte gerçeklemektedir. Ancak çok işlemli ya da çok kullanıcılı yapılarda işletim sistemi daha karmaşık bir organizasyona sahiptir. Bu yaklaşımla; işletim sistemlerinin 3 katman ve işletim sistemlerinin temel olarak 4 işlevi vardır. İşletim sistemlerinin katmanları sırasıyla; 1. Kabuk (Shell) 2. Sistem Çağrıları (System Calls) 3. Çekirdek (Kernel) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşletim Sistemlerinin Katmanları Kabuk (Shell): İşletim sisteminin kullanıcıya gözüken yüzüdür. Bir çok kaynakta kabuk, komut yorumlayıcısı olarak ta adlandı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. İşte 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. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Kabuk… Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Çekirdek Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Çekirdeğin İşlevleri Belleği yönetmek, Bilgisayara ulaşımları kontrol etmek, Dosya sistemini oluşturup, korumak, İnterruptları (kesme) 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. Kesmeler bir programın daha önemli başka bir görevin yerine getirilmesi için kesilmesine izin veren bir mekanizmadır. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşletim Sisteminin İşlevleri 1) İşlem Yönetimi (Process Management) 2) Bellek Yönetimi (Memory Management) 3) Dosya Yönetimi (File Management) 4) Giri/Çıkış Yönetimi (I/O Management) Aygıt Yönetimi Bellek Yönetimi Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Yönetimi Dosya Yönetimi Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Yönetimi (Process Management) Şu soruları cevaplar; ◦ İşlemlerin kaynaklara ulaşması sırasında nasıl bir kaynak yalıtımı yapacağı, ◦ Bir kaynağı paylaşması gereken birden fazla işlem olduğunda hangi politikaları kullanarak bu kaynağı paylaştıracağı Bunları yaparken de bellek yönetimi ile birlikte çalışarak belleğin bu işlemler, iş parçacıkları arasında paylaştırılmasını sağlar. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Yönetimi (Process Management) Birçok işletim sistemi işlem ve iş parçacığı (Thread) ve kaynak yönetimini birlikte ele almaktadır. ◦ İş parçacığı, bilgisayarda en düşük kaynağa ihtiyaç duyan bir program parçasıdır. Genellikle bir işlem ile birlikte kullanılır. İlgili işleme ayrılmış disk alanı, dosyalar, bellek gibi kaynaklarını kullanarak çalışır. ◦ Çoklu kullanım (multithreading) ise bir işlemin birden fazla iş parçacığına bölünerek aynı anda çalıştırılmasıdır. Bir işlem birden fazla iş parçacığından oluşmaktadır. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Yönetimi (Process Management) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Kontrol Blokları Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Kontrol Blokları Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Durum Algoritmaları Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri İşlem Durum Algoritmaları Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Bellek Yönetimi (Memory Management) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Bellek Yönetimi (Memory Management) Bellek yönetimi işlem yönetimi ile birlikte çalışarak ana bellekte işlemlerin yerleşimini sağlamaktadır. ◦ Her işlem bir bellek bölgesi istemekte ve bellek yönetimi de bu işlemlerin çalışması için kaynak yalıtımını da sağlayarak gerekli bellek bölümünü ayırmaktadır. Modern bellek yönetimleri sanal bellek (virtual memory) sağlayarak fiziksel bellekten çok daha büyük bir bellek alanının kullanılmasını sağlamaktadır. ◦ Eğer işletim sistemi sanal belleği destekliyorsa bellek yönetiminin bir kısmı aygıt ve dosya yönetimleri ile birlikte çalışarak belleği yönetir. Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Bellek Yöneticisin Görevleri Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Sanal Bellek (Virtual Memory) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Sayfalama (Paging) Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Sanal Bellek Algoritmaları Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri Ödev Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İşletim Sistemleri