Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
BLM113 Bilgisayar Bilimlerine Giriş
Ankara Üniversitesi Bilgisayar Mühendisliği Bölümü
2
Bölüm 3: İşletim Sistemleri
Bu bölümdeki amacımız işletim sistemlerinin neyi nasıl yaptığını anlamaktır.
3
Bölüm 3: İşletim Sistemleri
Bu bölümde ele alınan konular; İşletim sistemlerinin tarihçesi İşletim sistemi mimarisi Bilgisayar aktivitelerini koordine etmek Güvenlik
4
İşletim Sistemi İşletim sistemi bir bilgisayarın tüm işlemlerini kontrol eden bir yazılımdır. Bir başka tanımla; İşletim sistemi, bilgisayarda çalışan, donanım kaynaklarını yöneten ve çeşitli uygulama yazılımları için yaygın servisleri sağlayan bir yazılımlar bütünüdür.
5
İşletim Sisteminin Temel Görevleri
Çevre birimleri ile programlar arasındaki iletişimi sağlamak. Saklama aygıtlarındaki dosyalara belli bir düzende ulaşılması için bir dosya yönetim sistemi oluşturmak. Programlar arası veri iletişimi sağlamak. Özellikle çok kullanıcılı sistemlerde kaynaklara güvenli erişim sağlamak. Sistemin belleğini yönetmek, disk tamponu gibi ek olanaklar sağlayarak belleğin etkili bir şekilde kullanılmasını sağlamak. Kullanıcının programları çalıştırmasını ve çeşitli komutlar vermesini sağlamak.
6
İşletim Sisteminin Tarihçesi
İlk gerçek “Sayısal Bilgisayar” İngiliz matematikçilerinden Charles Babbage ( ) tarafından tasarlanmıştır. Ancak onun yaşadığı yıllarda teknoloji yetersizliklerinden, tasarladığı makinelerde işletim sistemleri mevcut değildi.
7
Birinci Nesil İşletim Sistemleri (1945-1955)
1940’lı yıllarda, Harvard Üniversitesinde Howard Aiken; Princeton Üniversitesinde, John Von Neumann ve Amerika ile Almanya’daki bazı diğer araştırmacıların çalışmaları sonucunda vakum tüpleri kullanılarak sayısal bazı makinelerin geliştirilmesi mümkün olmuştur. Ancak bu geliştirilen makineler son derece büyük ve odalar dolusu on binlerce vakum tüplerinden yapılmış ve bugün evlerde kullanılan bilgisayarlardan yüzlerce kez daha yavaş çalışmaktaydılar.
8
Birinci Nesil İşletim Sistemleri (1945-1955)
1950’li yıllarda Manchester Mark 1 Motoru’nun ustası olarak nitelendirilebilecek Alan Turing, panel ışıklarını ve düğmeleri kontrol edebilecek bir yazılım geliştirdi. Bu, bilgisayar tarihinin ilk işletim sistemiydi.
9
İkinci Nesil İşletim Sistemleri (1955-1965)
1950’li yılların ortasında transistörlerin geliştirilmesi ile büyük bir devrim oldu. Bu dönemde bilgisayarlar müşterilerin işlerini yapabilecekleri düzeye geldiği için üretici firmalar tarafından satılmaya başladılar.
10
İkinci Nesil İşletim Sistemleri (1955-1965)
1956 yılında yeni yeni gelişen IBM, General Motors’un desteğiyle IBM 704 adı verilen cihazı geliştirmeye başladı. Bu cihazla birlikte, işletim sistemi de meydana çıkmaktaydı. 1960’lı yıllarda OS/360 adı verilen sistem ortaya çıktı. Bu sistem veri giriş/çıkışını düzenleyebiliyor ve bilgisayarın performansını yükseltebiliyordu.
11
İkinci Nesil İşletim Sistemleri (1955-1965)
Unix AT&T Bell Laboratuarları, 60’lı yılların sonunda “C” diliyle yazılan bir işletim sistemi geliştirme hazırlıklarına girişti. Mini bilgisayarlar (yani salonunuzun tamamını işgal etmeyen) için uygun olan sistem, 8 bit desteği veriyordu.
12
Üçüncü Nesil İşletim Sistemleri (1965-1980)
Bu nesil bilgisayarların mimari yapısındaki en önemli yenilik transistörlerin yerine entegre devrelerin kullanılmış olması idi. Böylece makinelerin boyutları küçülürken, çıkardıkları sıcaklıkta binlerce kat azalmıştı. Bununla beraber kullanım açısından bu mimari yapının getirdiği en önemli yenilik ise “mutiprogramming” tekniği idi.
13
Üçüncü Nesil İşletim Sistemleri (1965-1980)
1970 yılında Xerox, Xerox PARC işletim sistemi için çalışmalara başladı ve 1973 yılında, çabalarının karşılığını aldı. Bitmap temelli bir ekran ve renkli grafiklere sahipti.
14
Dördüncü Nesil İşletim Sistemleri (1980-....)
LSI (Large Scale Integration circuits) entegre devrelerinin gelişmesi ile ve binlerce transistörü ihtiva eden chiplerin 1 cm2 üzerine yerleştirilmesi ile kişisel bilgisayar (PC – Personal Computer) devri doğmuş oldu. Bu nesilde iki tane işletim sistemi sektöre hakim olmuştur. Bunlardan bir tanesi Ms-Dos, diğeri de Unix’dir
15
Dördüncü Nesil İşletim Sistemleri (1980-....)
1980’ li yılların ortalarında ilginç bir teknolojik yapılanmada başlamıştır. PC’lerin Ağ İşletim Sistemleri (Network Operating System) ve Dağıtık İşletim Sistemleri (Distributed Operating System) ile kullanılmaya başlamasıdır.
16
Ağ İşletim Sistemleri Bir ağ işletim sisteminde, kullanıcılar ortamda çok sayıda bilgisayarın mevcut bulunduğunun farkında olurlar ve aynı zamanda uzaktaki başka bilgisayarlara Uzaktan Bağlanma (Remote Login) olabildikleri gibi dosyalarını bir bilgisayardan diğerine kopya edebilirler. Ağ işletim sistemindeki, en önemli özelliklerinde biri de, her makinanın kendi yerel işletim sistemi tarafından işletilmesi ve her makinenin kendi kullanıcılarına sahip olmasıdır.
17
Dağıtık İşletim Sistemleri
Dağıtık işletim sistemlerinde, gerçekte ortamda çok sayıda CPU olduğu halde, ortamın kullanıcıya sadece geleneksel tek işlemcili gibi görünmesidir. Bir gerçek dağıtık sistemde, kullanıcılar programlarının nerede çalıştırıldığının ve dosyalarının nerede yerleşmiş olduğunun farkında olmazlar. Bu işlemlerin hepsi otomatik olarak ve etkin olarak işletim sistemi tarafından gerçekleştirilir.
18
Windows Windows 1.0, IBM’in desteğiyle MS-DOS temelli olarak 1981 yılında geliştirildi. Ardından windows 2.0 1990 yılına girildiğinde ise devrimin ilk adımları atıldı ve Windows 3.0 ortaya çıktı. Bu işletim sistemi grafik tabanlı ve MS-DOS destekli idi. Daha sonraları Windows serisi üretilmeye başlandı. 95,98 vs.
19
Geçmişten Günümüze İşletim Sistemleri
20
GUI (Graphic User Interface, grafik kullanıcı arayüzü)
Windows 1.0
21
Windows 2.0
22
Windows 2.1
23
Windows 3.0
24
Windows 3.1
25
Windows 95
26
Windows 98
27
Windows
28
Windows ME
29
Windows XP
30
Windows VISTA
31
Windows 7
32
Linux (Suse)
33
Linux Mandrake
34
Pardus
35
Mac
36
OS/2 Warp
37
Temel Kavramlar Birkaç uygulamanın aynı anda çalışabilmesidir.
Multiprogramming Birkaç uygulamanın aynı anda çalışabilmesidir.
38
Temel Kavramlar Time-Sharing
Bu yazılım teknolojisi, aynı anda çok sayıda kullanıcının terminalleri başındayken çalıştırdıkları işlere yada terminal vasıtası ile olmasa da sistem üzerinde yığın işlem "Batch Processing" olarak çalıştırılan işlere CPU' nun sıra ile ve kısa sürelerle tahsis edilmesidir. Bu sayede hem sistemde çalıştırılan işlerin hepsi CPU' yu kısa aralıklarla kullanabilmiş olmakta, hem de sistemde çalışan örneğin ekran başında oturan kullanıcılar CPU'nun yalnızca kendilerine servis verdikleri hissine sahip olurlar.
39
Temel Kavramlar Spooling
Aynı anda gelen çok sayıda program destelerinin, kendinden önce gelenin çalışıp bitmesini beklemeden arka arkaya okutulup disk üzerinden sıra ile çalışmayı beklemelerinin sağlanması idi. Bu olanağa "SPOOLİNG" (Simultaneous Peripheral Operation On Line) adı verilmiştir. Spooling tekniği, yazıcı gibi paylaşımlı kullanıma uygun olmayan ünitelerin kullanıcılar tarafından hiç beklemeksizin kullanabilmelerine olanak sağlamıştır.
40
Temel Kavramlar Gerçek Zamanlı İşleme Bir bilgisayarın görevlerini belli bir zaman içinde yapmaya zorlanarak çalışmasına gerçek zamanlı işleme denir. Bu tanımlama; verilen işleri dış dünya tarafından belirlen süreler içinde bitirmesi anlamına gelir.
41
Proses (Process) Temel Kavramlar
Bir işletim sisteminde anahtar kavram Proses’ dir. Bir proses temel olarak “çalıştırılmakta olan bir program” dır. “Çalıştırılabilir bir program”, programın verileri, program sayacı, ve diğer bölümlerinden oluşan bir “veri yapısı” şeklindeki çatıdır.
42
Temel Kavramlar Dosyalar (Files)
İşletim Sisteminin temel bir fonksiyonu, disklerin, çevre üniteleri vs. ile ilgili özelliklerini tutmaktır. Dosya (file) yaratmak, okumak veya yazmak için sistem çağrılarına ihtiyaç vardır. Bir dosya okunmadan önce mutlaka açılmalıdır. Dosyalar ile ilgili bilgiler “ Dizinler (Directory)” şeklinde bir yapıdır.
43
Temel Kavramlar İş (Job)
Kullanıcıların, bilgisayar sisteminde bağımsız bir bütün olarak ve belli bir sıra dahilinde işlenmesini istedikleri hizmetler kümesine “İş (Job)” denilebilir. Bilgisayarın sistemlerine gönderilen işler, bir veya birden fazla programın ayrı ayrı işletileceği alt adımlardan oluşabilir. İşler genellikle adımların art arda uygulanacağı biçimde düzenlenir. Her adım, bir öncekinin sonuçlanması üzerine işletime girer.
44
Temel Kavramlar Boot (Yeniden Başlatma) İşletim sisteminin yaptığı işler bitirilip veya kayıtları tutularak yarıda kesilip işletim sisteminin tamamen kapatılması veya elektriğinin kesilip yeniden verilmesi ve işletim sisteminin yeniden başlatılmasıdır.
45
İşletim Sistemi Mimarisi
Bir işletim sisteminin yapısını daha iyi anlamak için öncelikle bir bilgisayar sisteminde yer alan tüm yazılım türleri hakkında bilgi sahibi olunmalıdır. Bu konu bilgisayar yapısı olarak da adlandırılabilir.
46
Bilgisayar Yapısı Bir bilgisayar sisteminin genel olarak 4 bileşeni vardır. Donanım (İşlemci (CPU), bellek ve I/O üniteleri gibi) İşletim Sistemi (Ms-Dos, Windows, Unix, OS/2 gibi) Sistem Yazılımları (Derleyiciler, Veritabanı ve Network Yazılımları) Uygulama Yazılımları (Kullanıcıların kendi geliştirdikleri yazılımlar)
47
Yazılım Yazılım (software), hem bilgisayar sistemini oluşturan donanım birimlerinin yönetimini hem de kullanıcıların işlerini yapmak için gerekli olan programlardır. Bir bilgisayar sistemi, üzerine işletim sistemi (Operating Systems) ve onun üzerine de diğer yazılımların yüklenmesi ve çalıştırılmasından sonra gerekli işlevleri yerine getirebilmektedir. Bilgisayar yazılımları genel olarak 2 ana grupta incelenebilir. Sistem Yazılımları (System Software) Uygulama Yazılımları (Application Software)
48
Sistem ve Uygulama Yazılımları
Sistem Yazılımları (System Software); bilgisayarın kendisinin işletilmesini sağlayan yazılımlardır. Uygulama Yazılımları (Application Software); Kullanıcıların işlerine çözüm sağlayan örneğin çek, senet, stok kontrol, bordro, kütüphane kayıtlarını tutan programlar, bankalardaki müşterilerin para hesaplarını tutan programlar vs. gibi yazılımlardır.
49
Bilgisayar Sistemi Katmanları
50
Bilgisayar Sistemi Katmanları
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 “read-only” (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.
51
Bilgisayar Sistemi Katmanları
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.
52
Bilgisayar Sistemi Katmanları
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.
53
Bilgisayar Sistemi Katmanları
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.
54
Sistem yazılımı İş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, veritabanı 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 İşletim Sisteminin kendi öz parçaları değildir.
55
İşletim Sisteminin Görevleri
İşletim sistemlerinin en önemli dört görevi bulunmaktadır. Yani temelde işletim sistemleri bu dört görevin gerektirdiği işlemleri yapar. Diğer görevleri de bu görevlerinin bir uzantısı şeklinde de düşünülebilir. Bu görevler; İşlem Yönetimi (Process Management) Bellek Yönetimi (Memory Management) Dosya Yönetimi (File Management) Giriş/Çıkış Yönetimi (I/O Management) 'dir
56
1-İşlem Yönetimi İşlemler, bir işletim sistemi üzerinde herhangi bir dil ile kodlanmış, ardından gerekli düzenlemeleri yapılarak ve en sonunda da hafızaya yüklenerek işlemcide çalıştırılan programlardır veya program parçalarıdır. Her işleme ait Adres alanı, çalıştırılabilir program, verileri yığınları vardır. Bir program parçasında sadece kodlar varken; mevcut işlem çalışma sırasında gerekli olan tüm bilgileri bünyesinde barındırmaktadır. Örn: Calculator.Exe (sadece kod, diskte bir dosya) Örn: Calculator.Exe (işlem, hafızaya yüklendikten sonra)
57
İşlem Yönetimi İşlemler arası geçiş yapmak için tüm bu bilgiler (işaretçiler/registers)kaydedilip sonra tekrar okunabilmelidir. İşlemlerin süreleri ve önceliklerine göre geçişler yapılır, işlemci ve hafıza önceliği verilir.
58
İşlem Yönetimi Tüm işlemler ve alakalı bilgiler İşlem Kontrol Bloğu (Process Control Block)denilen bir tabloda tutulur. Yeni: İşlemin oluşturulduğunu gösterir. Çalışıyor: İşlemin komutları yürütülmektedir. Bekliyor: İşlem bir olayın gerçekleşmesini beklemektedir. Örneğin bir I/O işlemi. Hazır: İşlem bir işlemciye atanmak için beklemektedir. Bitti: İşlem çalışmasını bitirdi.
59
İşlem Yönetimi 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.
60
İşlem Yönetimi 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: İşlem tarafından kullanılan MİB(merkezi işlem birimi) ve diğer parametrelerin kullanım zamanlarını içermektedir. Giriş/Çıkış Durum Bilgisi: İşlem tarafından kullanılan G/Ç aygıtlarının listesi, açılan dosyaların listesi vb. bilgileri içermektedir.
61
İşlem Yönetimi İşlem Durumu
62
KOMUT Kavramı Komut, yapılan bir işin en temel parçacığıdır.
Op-code (İşlem Kodu):CPU’ya hangi işlemin gerçekleştirileceğini söyler. Operand (İşlenen): Op-code tarafından kullanılacak verinin adresini belirtir. Mikroişlemci içindeki komutlar birden fazla operanda sahip olabileceği gibi hiçbir operandı olmayan komutlarda mevcuttur. Bilgisayarın komutları ve formatları, komut seti mimarisi olarak bilinir (Instruction Set Architecture-ISA)
63
Komut İşleme
64
Interrups(Kesmeler) Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Interruptlar (Kesmeler) bir programın daha önemli başka bir görevin yerine getirilmesi için kesilmesine izin veren bir mekanizmadır. Bu görevler tuş takımından bir karakter okunması veya farenin yeni koordinatlarının alınması gibi işlemler olabilir.
65
Interrupts Bir interrupt gelince CPU işini bırakıp hemen onunla ilgilenir Gerekli işlemler için yeni komutlar çalıştırılır Daha sonra yarım bırakılan işe geri dönülür Interrupt Service Routines Interruptların her biri için işletim sisteminin yapacağı işlemlerdir Bu işlemler Interrupt vektörü denilen bir tabloda tutulur. Her bir aygıt için belirli interrupt komutları vardır. Bir interrupt işleme alınınca diğerlerinin gelmesi engellenir!
66
Multitasking (Çok Görevlilik)
Multitasking, bir işletim sisteminde bir kullanıcının, birden fazla sayıda prosesini aynı anda işletime alınabilmesi özelliğidir. Yani multitasking, bellekteki birkaç prosesi 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 proses’ in aynı anda çalıştırılması, bu sistemde “multitasking” özelliği olduğunu göstermez. Bu nedenle bir işletim sisteminde multitasking özelliği, ancak bir kullanıcının birden fazla sayıdaki kendi prosesi aynı anda işletebiliyorsa vardır. 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). Bir örnek verelim;
67
Multitasking (Çok Görevlilik)
Toplam çalışma süreleri aşağıdaki gibi olan 6 adet görev(task) olsun. A işi 100 ms(milisaniye), B işi 1 ms, C işi 50 ms, D 3 ms, E 25 ms, F 90 ms Bu prosesleri işletecek, iki sistem olduğunu farz edelim, bu sistemlerden birisi görevleri, bir görev bitmeden diğerine geçmeyecek biçimde işletsin. İkinci sistem de, görevleri çok görevliliğe göre çalıştırsın ve görevlerin çalışması için gereken kısa zaman dilimini 1 ms olarak alsın. Birinci sistemde A görevi bitmeden B görevi başlayamayacaktır. Yani 1 ms' lik görev çalışabilmek için 100 ms’ lik görevin bitimini bekleyecektir. B görevinin, bitimi için toplam geçecek süre, 101 ms olacaktır. İkinci sistemde ise bu A görevi 1 ms çalışır. Ardından B görevine 1 ms verilir. Zaten B görevi 1 ms’ lik bir görev olduğundan hemen bitecektir. Yani B görevinin bitimi için gerekli süre 2ms’ dir. Bütün görevlerin toplam bitim süresi bakımından iki sistem arasında fark yoktur. Tek farklılık yukarıda anlatılan örnekte belirtilen avantajdan kaynaklanır. Kısa görevler daha çabuk biter ve kendisinden önce gelen uzun görevleri beklemez. Windows işletim sisteminde birden çok pencere açmak gibi.
68
Thread Kavramı Thread (iş parçacığı) kullanımı, birden fazla işlemin tek bir akışı paylaşarak neredeyse eşzamanlı bir şekilde gerçekleşmesini sağlar. Bir process’in çalışmaya başlaması ile birlikte bir thread (main thread) oluşturulur ve process içerisinde birden fazla (multi-thread ) oluşturulabilir.
69
Deadlock nedir? Sistemdeki kaynaklar paylaşılmak zorundadır.
Aynı kaynağı kullanmak isteyen işlemler sıraya girmek zorundadır. Aynı sırada bekleyen işlemler, yine aynı sıradaki başka bir işlemi beklemek zorunda kalarak asla çalışır durumua geçememesine "kilitlenme"/ deadlock denir Örnek Sistemin 2 adet teyp sürücüsü var. P1 ve P2 işlemlerinin herbiri birer teyp sürücüsünü tutarken aynı anda diğer teyp sürücüsünü de talep edip bekleme modune geçmişlerdir.
70
Deadlock Örnek Köprüde trafik tek şerittir.
Köprünün her iki ucu birer kaynak olarak düşünülür Eğer deadlock olursa, araçlardan birinin geri gelmesi ile çözülebilir (kaynağın işlemden çekilmesi). Kilit çözülürse sırada bekleyen diğer işlemler kurtulur.
71
Semafore Kavramı Semaforlar, işletim sistemleri tarafından deadlockların (Ölümcül kilitlenmelerin ) önlenmesinde kullanılan sinyallerdir. İki veya daha fazla görev, kendisine sıra gelmesi için bir sinyal alana kadar bekler. Bu beklemeyi sağlayan sinyale semafor adı verilir.
72
2-Bellek Yönetimi Bellekler; bilgisayarda çeşitli programların çalıştırıldığında , geçici veya kalıcı bilgilerin bulunacağı hafıza alanlarıdır. Veri Birimi BYTE'dir. İki çeşittir: RAM – Random Access memory Rastgele erişimli bellektir. İstenilen bölgesine bilgi depolanabilir, silinebilir, okunabilir, değiştirilebilir. Yalnız elektrik kesintisi veya makineyi kapatma durumunda RAM de tüm bilgiler silinir. 64 MB, 512 MB, 1 GB, 4 GB... ROM – Read Only Memory Sadece okunabilir bellektir. Bu bellek üretici firma tarafından hazırlanmıştır. Bilgileri okunabilir fakat üzerinde bir değişiklik yapılamaz. Bu bilgiler makineyi kapatma veya elektrik kesintisinden etkilenmezler ve silinmezler. Kullanıcı tarafından verilen komutları işleme koyar.
73
Bellek Yöneticisi (Memory Manager)
İşletim sistemlerinde bellek hiyerarşisini yöneten parçaya ya da birime bellek yöneticisi (memory manager) denilir. Bellek yöneticisinin görevi şunlardır: İşlemlere bellek tahsis etmek, Tahsis edilen belleği geri almak, Belleğin hangi parçalarının kullanımda olduğunu, hangi parçalarının kullanılmadığını izlemek ve Bellek ile disk arasındaki takas işlemlerini gerçekleştirmek.
74
Sanal Bellek(Virtual Memory)
Grafik tabanlı işletim sistemleri (Windows, Linux altındaki grafik kullanıcılı arabirimler gibi) çalışabilmek için bir çoğumuzun bilgisayarında takılı olan fiziksel RAM belleklerden çok daha fazla bellek alanına ihtiyaç duyarlar. İşletim sistemi disk üzerinde bir dosya oluşturur. Bu dosyayı RAM bellek gibi kullanır. Bu tekniğe ya da dosyaya Virtual Memory (Sanal Bellek) adı verilir.
75
3-Dosya Yönetimi Dosya yönetimi, kullanıcılara ana bellek dışında saklanan verileri üzerinde kolay ve hızlı işlem yapabilme olanağı sunan bir işletim sistemi parçasıdır. Dosya İşlemleri Dosyalar üzerinde temelde açma, kapama, yazma ve okuma işlemleri yapılır. Kullanıcılar bu işlemleri üst düzey programlama dillerinin sunduğu olanakları kullanarak gerçekleştirirler. Mantıksal Yapılar Dosya yönetim sistemi, dosyalara mantıksal yapılar çerçevesinde işlem yapma olanağını sunmanın yanında, sözkonusu dosyalara isim verme ve uzantı oluşturma gibi imkanları da sunar. Paylaşım Dosya yönetimi çok işlemli uygulamaların uygulandığı işlemlerde kullanıcılar arasında eşzamanlı paylaşım sorununa da çözümler sunmak zorundadır. Güvenlik Dosya yönetim sisteminde en önemli bölümlerden biri de dosyaların güvenli bir şekilde işletimi ve saklanma ortamının yaratılmasıdır. Güvenli bir işletim ortamı, dosyaların bozulma ve silinmelere karşı korunmasını sağlaması gerekir
76
Dosya Yönetimi Dosya Yapıları
İşletim sistemlerinin kendilerine özgü dosya yapıları vardır. Bu yapılar, dosyaların dosyaların her işletim sisteminde çalışmamasına yol açar. Aynı zamanda bu dosya sistemleri sayesinde dosyalar farklı işletim sistemlerinde farklı uygulamalar olarak gözükebilir. Örneğin Windows işletim sistemi FAT16, FAT32, NTFS dosya sistemini kullanırken, Unix işletim sistemi EXT2 dosya yapısını kullanmaktadır.
77
İşletim sistemi ve kullandıkları dosya sistemleri
Ext2 ,Linux Swap, Reiser: Linux FAT 16: DOS ve Bütün Windows sürümleri NTFS :Windows NT, Windows 2000, Windows XP, Windows 2003 Server, Windows Vista, Windows 7 FAT32: Windows 98, Windows ME, Windows 2000, Windows XP, Windows 2003 Server, Windows Vista, Windows 7
78
FAT (File Allocation Table) 16
“Dosya Yerleşim Tablosu” DOS’ta ve Windows’un ilk sürümlerinde 16 Bit idi. 256MB'tan küçük bölümler (partition) için veriye ulaşım çok hızlıdır. En fazla dosya olabilir, Bir dosya en fazla 4GB boyutunda olabilir, Cluster boyu büyük olduğu için yer kaybı fazladır, Veri güvenliği yoktur.
79
FAT 32 FAT 16’dan daha gelişmiş veri koruma yöntemleri vardır.
Disk bölümünün 512 MB tan büyük olması gerekir. 2 TB büyüklüğüne kadar sabit disk bölümlerinin kullanılmasını sağlar. Daha küçük (4 kb) cluster büyüklüğü kullanarak diskin daha ekonomik kullanımını sağlar. Çok büyük sabit diskleri ancak 32GB'a kadar formatlayabilir, En fazla dosya olabilir, Bir dosya en fazla 4GB boyutunda olabilir, Diskteki dağınıklık arttıkça performansı düşer, Büyük boyutlu dosyalara erişimi yavaştır.
80
NTFS (New Technology File Sytstem)
Windows NT, 2000 ve XP, Vista ve 7'de kullanılır. NTFS dosya sistemi kullanan Windows sürümleri FAT sürücüleri görebilir ve bu sürücülerdeki dosyaları okuyabilirler. Ancak FAT kullanan işletim sistemleri NTFS bölümlerini göremezler. 256TB'a kadar HDD’leri formatlayabilir, Tüm dizin ve dosyaları sıkıştırabilir, Maksimum dosya büyüklüğü 16TB'tır, (Teorik olarak 16 EB) Cluster boyu küçük olduğu için yer kaybı düşüktür, Dosya ve dizinlere kullanıcı hakları verilerek erişim denetlenebilir, Dosyalarda yapılan tüm değişikliklerin kaydını tuttuğu için otomatik veri kurtarma desteği vardır,
81
FAT16 ve FAT32’nin KARŞILAŞTIRILMASI
82
4-Giriş/Çıkış Yönetimi (I/O Management)
İşlemci ve ana belleğe gerekli verilerin gelmesini sağlayan donanıma girdi birimleri; İşlemlerin sonuçlarının kulanıcıya gönderilmede kullanılan donanım birimlerine çıktı birimleri denir. GİRDİ : Fare, klavye, HDD, kamera, tarayıcı,vb. ÇIKTI : Monitör, hoparlör, yazıcı, HDD, vb. İşlemci I/O birimleri ile iletişimini her birimin denetçisi üzerinden yapar. Bu birimler, işletim sistemi tarafından tanınmak zorundadır, bunun için «aygıt sürücüsü» denen yazılımlara gerek duyarlar Aygıt sürücüsü, işletim sistemine göre değişir, bilgisayar açılırken hafızaya yüklenir.
83
I/O Sistemleri CPU aygıtlar ile direk bağlantı kurmaz, onun yerine her bir aygıtın denetçisi (özel bir çip ve çipteki yazılım) ile iletişim kurar Aygıt denetçilerinin kendi üzerilerinde kendi register’ları vardır. CPU buradan veri okur/yazar CPU Aygıt Denetçisi Aygıt Register’ları Aygıt
84
I/O Interruptları İki şekilde girdi/çıktı işlemi vardır: Senkron
CPU’dan gelen I/O işlemi aygıt üzerinde tamamlanıncaya kadar CPU (ve diğer programlar) bekler Asenkron CPU’dan gelen I/O işlemi başlatılır ancak CPU sonucu beklemende çalışmaya devam eder İşlem bitince CPU’ya interrupt gönderilir.
85
I/O Aygıtları Tablosu I/O aygıtlarına gelen isteklerin çakışmaması için işletim sistemi bu aygıtların durumlarını bir tabloda tutar.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.