Hafta_2 - WebSitem

advertisement
Hafta_2
İşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş
• İşletim Sisteminin Tanımı :
• İşletim sistemi;
• "Bilgisayar donanımı ile kullanıcı programları arasında yer alarak
kullanıcıların bilgisayar sisteminden kolayca yararlanabilmelerini
sağlayan hizmet yazılımıdır."
Yada başka bir ifade ile;
• "İşletim sistemi, bilgisayar sistemini oluşturan donanım ve yazılım
nitelikli kaynakları kullanıcılar (programlar) 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."
2
İşletim Sistemlerine Giriş
Bir bilgisayar sitemi dört kısımdan oluşur:
• Donanım (Hardware):
Bilgisayarı oluşturan fiziksel parçalar. İşlemci,
anakart, hdd, ram vb.
• İşletim Sistemi (Operating Systems):
İşletim sistemi, donanım ile kullanıcı modu arasında
bir konumdadır.
• Uygulama Yazılımları (Application Programs):
Kullanıcıların ihtiyaçlarını karşılayan yazılımlardır.
Word, veri tabanı vb.
• Kullanıcılar (Users):
İnsanlar, makineler, diğer bilgisayarlar
3
İşletim Sistemlerine Giriş
İşletim Sistemi; Birçok uygulama ve kullanıcı
tarafından
donanımın
kullanılmasını,
kontrol edilmesini ve koordine edilmesini
sağlar.
Kullanım kolaylığı açısından, donanımla ilgili
ayrıntıların bir soyutlama katmanı ile
kullanıcıya
yansıtılmadan
halledilmesi
gerekir.
İşletim sistemleri, çirkin donanımı güzel
soyutlamalar haline getirir.
4
İşletim Sistemlerine Giriş
• İşletim Sistemleri hangi olanakları sağlar?
• İşletim sistemi ile donanıma özgü karmaşık ayrıntıların bilinme
zorunluluğu ortadan kalkar.
• İşletim sistemleri, donanım bileşenlerinin sürülmesine dönük
yordamları hazır işlevler olarak içerirler. Dolaysıyla işletim sistemi
uygulamaların donanıma erişimi için güvenli bir yol sağlar.
• Kullanıcılara, bilgisayar sistemine dönük yalın bir görünüm ve kolay bir
kullanım ortamı sunulur.
• Bilgisayar sistem kaynaklarının düzenli, kontrollü tahsisini sağlar.
5
İşletim Sistemlerine Giriş
İşletim Sistemleri hangi olanakları sağlar?
• Tutarlı bir uygulama arabirimi sağlar. Diğer yazılımlar işletim
sisteminin kütüphanelerini kullanır. Bunlara API Application Program
Interface denir.
• Böylece yazılımcıların kullandıkları üst seviyeli dille yazılmış olan
programlar diğer bilgisayarlarda da çalışır.
• Tüm bilgisayarların donanım özelliklerinin farklı olmasına rağmen
işletim sistemi yazılımlar için eşit bir zemin sunar.
• Ayrıca program geliştirme süreçleri kısaltılarak kullanım kolaylığı
sağlanır.
6
İşletim Sistemlerine Giriş
• İşletim Sisteminin Yükümlü Olduğu İşlevler :
• Kullanıcılar için kullanım kolaylığı sağlamak.
• Kullanıcıların bilgisayar sistem kaynaklarından kolayca
yararlanmalarını sağlamak.
• Sistem kaynaklarının hem verimli kullanımını hem de hızlı
bir şekilde işletimini gözeterek paylaştırılmasını sağlamak.
• Birim zaman içinde, aynı sayıda kaynakla daha çok hizmet
üretme olanağı sağlamak.
• Bilgisayar ortamında saklanan bilgilerin, gerek bozulmalara,
gerekse izinsiz erişimlere karşı korunmasını sağlamak.
7
İşletim Sistemi Olmasaydı!!
• Farzedelim ki, işletim sistemi olmayan bir bilgisayarda disket
sürücüsünde bulunan bir disketteki “ABC” isimli program çalıştırılmak
istensin.
• İşletim sistemi olmaksızın yapılması gereken, daha doğrusu verilmesi
gereken komutlar şu şekilde olacaktır.
8
İşletim Sistemi Olmasaydı!!
• 1. Disket sürücüsü takılı mı?
• 2. Takılıysa disket sürücüde disket var mı ve dönüyor mu?
• 3. Dönüyorsa doğru hızda mı dönüyor?
• 4. Disket sürücüsünün okuyucu kafası disketin neresinde duruyor?
• 5. “ABC” programının disket üzerindeki yeri neresi? Örneğin
üzerinde 80 kayıt izi bulunan bir diskette, programın kaydedilmeye
başladığı iz hangisi, toplam program uzunluğu kaç iz tutuyor?
• 6. Sürücünün kafasını uygun izin üzerine gönder...
• 7. Uygun izin üzerine geldi mi?
9
İşletim Sistemi Olmasaydı!!
• 8. Geldiyse, izin başlangıç noktasının okuyucu kafanın altına
gelmesini bekle.
• 9. Disket sürücüdeki kayıtları okumaya başla ve belleğe taşı. (tabii
belleğin program yüklemeye uygun bir noktasından başlayarak,
bellekte boş yer yoksa bellekteki kullanılmayan bilgileri sil, bilgiler
kullanılıyorsa bu bilgileri diskin boş bir yerine geri almak üzere kaydet
ve belleği boşalt.)
• 10. Birinci iz bitince, okuyucu kafayı bilginin devam ettiği bir sonraki
izin üstüne gönder ve bu hareket tamamlanıncaya kadar bekle...
• 11. İzleri okumayı ve belleğe yerleştirmeyi program dosyasının
sonuna gelinceye kadar tekrarla.
• 12. Disketten okuma tamamlanınca, disket sürücüyü durdur ve
programı çalıştırmaya başla.
10
İşletim Sistemi Olmasaydı!!
• Bu uzun liste bile abartılı şekilde kısaltılmış bir listedir. Sürücünün
okuyucu kafasının belirli izin üzerine gönderilmesi bile başlı başına bir
iştir aslında.
• Oysa; işletim sistemi olan bir bilgisayarda, kullanıcının tek yapması
gereken çalıştırmak istediği programın adını klavyeden yazıp ENTER
tuşuna basmak veya simgesine (icon) tıklamaktır.
• Program dosyasının disket sürücüdeki yerinin bulunması, sürücüyü
denetleyen kontrol devreleriyle gerekli görüşmeleri yapıp kafanın
gerekli hareketleri yapmasını sağlayarak kayıtların belleğe aktarılması
işinin sağlıklı bir şekilde yapılması, tamamen işletim sisteminin
sorumluluğundadır.
11
İşletim Sisteminde Aranan Özellikler
1. Etkinlik: İşletim sistemi, bir işi etkin ve verimli bir
şekilde yapmalıdır.
2. İşler arasındaki zaman: Bir işi bitirip diğer işe başlama
süresi kısa olmalıdır.
3. Kullanılmayan CPU zamanı: Merkezi işlem biriminin
(CPU) kullanmadığı süre kısa olmalıdır.
4. Toplu işlemler arasındaki zaman: Toplu işlem
dosyalarının işlenmesi arasındaki süre kısa olmalıdır.
12
İşletim Sisteminde Aranan Özellikler
5. Cevap verme süresi: Sistemin cevap verme süresi kısa
olmalıdır. Kısa zamanda çok iş yapılmalıdır.
6. Güvenirlik: Sistem tamamen hatalardan arındırılmış
olmalıdır.
8. Süreklilik: Sistem bakım yapılabilir ve dokümanı bol
olmalıdır.
9. Düşük boyut: Sistem kendinden taviz vermeden küçük
boyutta olmalıdır.
13
İşletim Sistemlerinin Tarihi
• Birinci nesil (1945-1955) vakum tüpleri.
• İkinci nesil (1955-1965) transistör ve toplu işlem yapan
sistemler.
• Üçüncü nesil (1965-1980) Entegre devreler (ICs) ve
çoklu programlama.
• Dördüncü nesil (1980-günümüze) kişisel bilgisayarlar.
• Beşinci nesil (1990-günümüze) mobil bilgisayarlar.
14
Birinci nesil (1945-1955) vakum tüpleri
• Tek kullanıcılıdırlar. İşletim sistemi kullanılmamıştır. Aynı anda sadece bir iş yapılmaktaydı.
• Bilgi girişi ve çıkışı için kartlar kullanılmaktaydı.
15
İkinci nesil (1955-1965) Transistör ve Toplu İşlem Yapan
Sistemler
Erken Dönem bir Toplu İşlem Sistemi
• Otomatik olarak birden fazla işin arka arkaya yapılması sağlandı. Kart
okuyucular kullanılmaktaydı.
16
Üçüncü nesil (1965-1980) Entegre devreler (ICs) ve Çoklu
Programlama :
Bellekte üç iş olan bir çoklu
programlama sistemi.
• Çoklu programlama aynı anda birden fazla
programın çalıştırılması anlamına
gelmektedir. (Zaman paylaşımlı Timesharing)
• Bu işleri yaparken bir donanım belirli
zamanlarda farklı işleri yapılması için tahsis
edilir.
• Bu sistemlerde işlemci zamanlaması, bellek
yönetimi gibi işlemler sistem tarafından
yapılmaktaydı.
17
Dördüncü nesil (1980-günümüze) kişisel bilgisayarlar
Beşinci nesil (1990-günümüze) mobil bilgisayarlar
• Donanım ebatlarının küçülmesi ile masaüstünde yer alan bilgisayarlardır.
• G/Ç aygıtları kullanılmaktadır. Farklı teknolojiler adapte edilebilmektedir.
• İşletim sistemi kullanmaktadır.
18
İşletim Sistemlerinin Sınıflandırılması ve
Çeşitleri
• Tek Kullanıcı Tek Görev (Single User
Single Task)
• Tek Kullanıcı Çok Görev (Single User
Multi Task)
• Çok Kullanıcı Tek Görev (Multi-User
Single Task)
• Çok Kullanıcı Çok Görev (Multi-User
Multi Task)









Mainframe Operating Systems
Server Operating Systems
Multiprocessor Operating Systems
Personal Computer Operating
Systems
Handheld Computer Operating
Systems
Embedded Operating Systems
Sensor Node Operating Systems
Real-Time Operating Systems
Smart Card Operating Systems
19
1. Tek Kullanıcı Tek Görev (Single User Single Task)
• Bu sınıftaki işletim sistemleri aynı anda tek kullanıcıya hizmet verebilir ve
tek program çalıştırabilir.
• Bu programların bilgisayardaki tüm kaynaklara (bellek, disk gibi) tam erişim
hakkı vardır.
• Çalışmakta olan program zaman zaman kesilerek işletim sisteminin
yapmakla sorumlu olduğu işler yerine getirilebilir.
• Bu işlemler sistemin saatinin ve tarihinin ilerletilmesi ya da klavyeden
girilen bir tuşun kaydedilmesi olabilir.
• Bu yolla tek kullanıcılı sistemlere değişik programları aynı anda
çalıştırabilme özelliği eklenmiştir.
• Birden fazla yerleşik program bellekte birlikte tutulabilir.
• MS-DOS bu işletim sistemlerine örnektir.
20
2. Tek Kullanıcı Çok Görev (Single User Multi Task)
• Birçok bilgisayar kullanıcısı için bilgisayarında tek bir program
çalıştırmak yeterli olacaktır. Birçok uygulama için bu yeterlidir.
• Bununla birlikte bir program çalıştırmak bilgisayar kaynaklarını etkili
bir biçimde kullanmayı engeller.
• Örneğin, bir bilgi işlem programında yazılan programın yazıcıya
aktarılması yazıcının bu dokümanı basmasına oranla çok daha hızlıdır.
• Eğer tek program çalıştırabiliyorsa merkezi işlemci yazıcının işinin
bitmesini beklemek zorundadır.
• Çok görevli çalışabilmeye çok programlı çalışmak denir. Bu terim
birden fazla programı paylaşımlı şekilde çalıştırabilme yeteneği için
kullanılır.
21
2. Tek Kullanıcı Çok Görev (Single User Multi Task)
• Merkezi işlemci değişik programları sırayla çalıştırdığında ve sürekli
olarak birinden diğerine çok süratli geçiş yaptığında bu programların
paralel çalıştıkları izlenimi doğmasına yol açar.
• Değişik kaynakları kullanan programlar bir arada çalıştırıldıklarında bu
yöntem çok verimli olur.
• Bu durumda bir program örneğin, yazıcıyı beklerken, diğer bir
program merkezi işlemciyi kullanabilir.
• Bu tür işletim sistemlerine örnekler IBMOS/2 ve Microsoft
Windows’tur.
22
3. Çok Kullanıcı Tek Görev (Multi-User Single Task)
• Bilgisayar kaynaklarının verimli kullanılmasına bir çözüm de
kaynaklara birden fazla kullanıcının erişmesine izin vermektir.
• Burada koşul her kullanıcının aynı programı kullanmasıdır. Bu sistemde
her kullanıcı merkezi bilgisayara bir terminal yoluyla bağlanır ve
bilgisayar sistemindeki kaynaklara diğer kullanıcılarla zaman paylaşımlı
olarak erişir.
23
3. Çok Kullanıcı Tek Görev (Multi-User Single Task)
• İşletim sistemi, merkezi işlemciyi programlar arasında hızlı bir şekilde
anahtarlar.
• Bu tür uygulamalar için güçlü merkezi işlemcilere gereksinim vardır.
• Eğer bilgisayar arızalanırsa tüm kullanıcılar çalışmalarını durdurmak
zorunda kalır.
• Buna karşılık çok kullanıcı tek görev ilkesine göre çalışan işletim
sistemleri kullanıcıların veri tabanı türü kaynakları paylaşmalarına ve
birbirlerine mesaj göndermelerine olanak sağlar.
• Bu işletim sistemleri özel uygulamalarda kullanılmaktadır.
24
4. Çok Kullanıcı Çok Görev (Multi-User Multi Task)
• Bu işletim sistemleri zaman paylaşımı ve çok görevli çalışma
kavramlarını birleştirir.
• Birçok kullanıcı aynı anda birden fazla programı çalıştırabilir.
• Genellikle daha güçlü bilgisayarlarda çalışan bu tür işletim
sistemlerine UNIX iyi bir örnektir.
25
İşletim Sistemi Bileşenleri
(Operating System Components)
•
•
•
•
•
•
•
•
•
İşletim sistemlerinin temel öğeleri şunlardır:
1İşlem Yönetimi (Process Management)
2Ana bellek Yönetimi (Main-Memory Management)
3ikincil Bellek Yönetimi (Secondary-Storage Management)
4Giriş-Çıkış Yönetimi (I/O System Management)
5Dosya Yönetimi (File Management)
6Güvenlik Yönetimi (Protection System Management)
7Ağ Yönetimi (Network Management)
8Komut Yönetimi (Command Interpreter System Management)
26
İşletim Sistemi Hizmetleri
• İşletim sistemleri, kullanıcı ve programlar için çeşitli hizmetler sağlar.
• Program koşturulması (Program Execution)
• İşletim sistemi, programları ana belleğe yükleyebilmeli ve programları
çalıştırabilmelidir.
• Örneğin bir kelime işlemci programının çalıştırılması.
• Girdi / Çıktı işlemleri (I/O Operations)
• Çalışan bir program G/Ç (girdi / çıktı) işlemine gereksinim duyabilir. Bu G/Ç işlemi
bir dosya ya da G/Ç aygıtı olabilir. İşletim sistemi bu tür ihtiyaçları karşılar.
• Örneğin bir kelime işlemci programından daha önceden yazılan ve saklanan bir
dosyanın tekrar açılması gibi.
27
İşletim Sistemi Hizmetleri
• Dosya sistemi yönetimi (File System Manipulation)
• İşletim sistemi, programların ya da kullanıcıların bir dosyayı okuma,
yazma, oluşturma ya da silme işlemlerini gerçekleştirir.
• Örneğin bir kelime işlemci programı ile daha önceden yazılan ve
saklanan bir dosyanın tekrar açılarak üzerinde değişiklikler yapılması
ve yeni haliyle bu dosyanın tekrar kaydedilmesi gibi.
28
İşletim Sistemi Hizmetleri
• İletişim (Communication)
• Bir işlem diğer bir işlemle bilgi alış verişinde bulunmak isteyebilir.
• Bu iletişim sırasında işlemler aynı bilgisayarda olabileceği gibi; bir ağ
ortamında bulunan iki farklı bilgisayarda da bulunabilirler.
• İşlem arasındaki bu tür iletişimler, ya bellek paylaşımı ya da
mesajlaşma gibi çeşitli tekniklerle işletim sistemi tarafından
gerçekleştirilir.
• Örneğin bir kelime işlemci programından daha önceden yazdığımız ve
sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınmak istenebilir.
• Bu durumda bu aygıttan dosyanın yazdırıldığına dair bir mesajın
ekrana gelmesi gibi.
29
İşletim Sistemi Hizmetleri
• Hata Tespiti (Error Detection)
• İşletim sistemi bilgisayar sisteminde meydana gelen her türlü hataları
algılayabilmelidir.
• Bu hatalar CPU, bellek, G/Ç aygıtı ya da kullanıcı programında
meydana gelmiş olabilir.
• Meydana gelen hataya uygun gerekli eylem ya da düzeltme işlemi
işletim sistemi tarafından gerçekleştirilir.
• Örneğin bir kelime işlemci programından daha önceden yazdığımız ve
sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınması istenebilir.
• Fakat yazıcı bu işlemi gerçekleştirirken, yazıcıda kağıt bittiğine dair
mesaj ya da yazıcının açık olmadığına dair gelen mesaj gibi.
30
İşletim Sistemi Hizmetleri
• Kaynakların paylaştırılması
• Bir çok kullanıcının ya da bir çok programın aynı anda çalıştığı
durumlarda elde bulunan tüm kaynakların paylaştırılması ve düzenli
kullanılması gerekir.
• İşletim sistemi birçok farklı kaynağın düzenli bir şekilde kullanılmasını
sağlar.
• Örneğin bir ağ ortamında yazıcının paylaştırılması ve birçok
kullanıcının bu yazıcıyı kullanabilmesi gibi.
31
İşletim Sistemi Hizmetleri
• Kullanıcı işlemleri
• Çok kullanıcılı ortamlarda hangi kullanıcının hangi haklara sahip
olduğu ve sistem kaynaklarından ne kadar yararlanabileceği işletim
sistemi tarafından yönetilir.
• Güvenlik işlemleri
• Çok kullanıcılı ortamlarda ya da ağ ortamlarında tüm bilgilerin
güvenliği işletim sistemi tarafından sağlanır.
32
İşletim Sistemi Mimarisi
33
İşletim Sistemi Mimarisi
• İşletim sistemi, sistem kaynakları üzerinde tam
kontrole sahip olabilmek için kernel mode
(supervisor) dediğimiz ayrıcalıklı bir kipte
çalışır.
• Kullanıcı programları user mode’da çalışır.
• Mobil işletim istemleri sadece kernel’a sahip
değildir, middleware’e de sahiptirler.
• Middleware, uygulama geliştiricilere ek
servisler sağlayan framework (platform)
yazılımlarıdır.
• Apple iOS ve Google Android, middleware
yazılımları ile veritabanı, multimedya ve grafik
desteği sağlayan mobil işletim sistemleridir.
34
Kernel (Çekirdek)
• Kernel, bilgisayarda donanım (hardware) ve yazılım (software)
arasındaki bağlantıyı sağlayan arabirime verilen isimdir.
• Kernel bilgisayar sistemi açılırken belleğe yüklenir ve sistem
kapatılıncaya kadar ana bellekte kalır. Kernel gereksinim duyulan diğer
işletim sistemi parçalarını ikincil bellekten ana belleğe yükler.
• Kernel, bilgisayarın donanımıyla doğrudan etkilenen işletim sisteminin
bir parçasıdır.
• Kernel bilgisayar sisteminin tüm işlemlerini kontrol eder.
• Kaynakların atanması, proseslerin sıraya konması, giriş-çıkış
işlemlerinin yerine getirilmesi gibi görevleri yerine getirir.
35
Kernel (Çekirdek)
• En önemli Kernel fonksiyonları:
• Kaynak Yönetimi : Kaynak yönetimi hangi kaynağın, hangi kullanıcı
tarafından ne zaman kullanılacağını kontrol eden işlevdir. Özellikle çok
kullanıcılı sistemlerde önem kazanan bu işlev aynı anda kaynaklara
erişmek isteyen kullanıcıların erişimini en iyi şekilde düzenler.
• Kesmelerin Ele Alınması : Kesmeler çalışmakta olan bir programın
daha acil bir işleme hizmet vermek üzere kısa süreli durdurulmasıdır.
• Sistem Durum Denetimi : Bir işletim sisteminin önemli görevlerinden
birisi de sürekli olarak sistemi denetlemek ve oluşan hataları az sorun
yaratarak çözmektir.
36
Kernel (Çekirdek)
• Proses Yönetimi : Proses (Process) yürütülmekte olan programa
verilen isimdir.
• Birden fazla programı aynı anda çalıştırabilen işletim sistemlerinde her
bir program birden fazla parçadan oluşur.
• Aslında işlemci aynı anda sadece bir programı çalıştırmaktadır.
İşlemcinin zamanı değişik programlar arasında paylaştırması aynı anda
birden fazla işlemi çalıştırdığı izlenimini uyandırır.
• İşletim sistemi içinde proses yönetimini kernel'ın bir parçası olan
program yöneticisi ve program dağıtıcısı yürütmektedir.
• Program yöneticisi bilgi sisteminde mevcut olan işlerin listesini tutar.
Yani işleri devreye sokar ve sona eren işleri devreden çıkarır.
37
Kernel (Çekirdek)
• Veri Kontrolü : Veri girişinin sağlanması, girilen verilerin ana belleğe
ve oradan da ikincil belleğe aktarılması ve verilerin çıkış birimlerine
yazılması uygulama programları tarafından işletim sistemine bildirilir.
• Veri kontrol yazılımları genellikle giriş/çıkış ve depolama birimlerini
kontrol eden alt düzey programlardır.
• Bu alt düzey etkinliklerin yanı sıra bir işletim sisteminin veri kontrol
programları tampon, veriyolu ve havuz yöneticilerini de kontrol eder.
• Tampon, değişik hızlarda çalışan ya da değişik öncelikleri bulunan donanım aygıtları ve
program işlemleri tarafından paylaşılan veri alanıdır.
• Havuz yönetimi, birden fazla kullanıcı programın aynı anda yazıcıya çıktılarını
gönderebilmelerini ve bu sırada da çalışmalarını sürdürebilmelerini sağlayan işlemlerdir.
Programlar önce sabit diske gönderilir. Buradan alınıp yazıcıya aktarılır.
38
İşlemci modları ve işletim sistemi
• Koruma mekanizmasına sahip olan işlemcilerde en azından iki çalışma
modu bulunur. Bunlardan birine kernel mode, diğerine ise user mode
denilmektedir.
• İşlemcide, bir programın çalışma yeteneğini gösteren bir mod biti
bulunmaktadır.
• İşlemci kernel modda iken donanımsal her tür komutu çalıştırırken
user modunda ise bazı komutları çalıştırabilir.
• Kernel modda çalışan komutlara supervisor, öncelikli veya korunmuş
komutlar denilmektedir. İşletim sistemi programları kernel moda
çalışırken diğer tüm yazılımlar user modunda çalışmaktadır.
39
İşlemci modları ve işletim sistemi
• Genel olarak; işlemcinin mod biti işletim sisteminin koruma
haklarından biridir.
• İşletim sistemi kernel modda çalışmakta ve user moduna göre belleğe
ve öncelikli komut kümesine ulaşmakta daha fazla haklara sahip
olmaktadır.
• İşlemci kernel moda geçtiğinde işletim sisteminin kodlarını
çalıştırmaktadır.
• User modundaki bir işlem işletim sistemini çağırdığında işlemci hemen
kernel moda, mod bitini kullanarak geçer ki bu duruma sistem çağrısı
(system call) denilmektedir.
40
Kernel (Çekirdek) Mode
• İşletim sistemi çekirdeği (Kernel), ayrıcalıklı bir işlem seviyesi olan
Kernel Modda çalışır. Bu işlem seviyesinde çalışan kod, donanıma ve
sistemin tamamına tam yetki ile müdahale edebilir.
• Eğer bir kod kernel modunda çalıştırılıyorsa işlemci çalışmakta olan
koda yönelik hiçbir erişim kontrolü uygulamaz. Yani kernel modunda
çalışan kodlar belleğin her yerine erişebilir, her makina komutunu
işletebilir.
• Fakat güvenli bir sistemde sıradan proseslerin bazı makina komutlarını
kullanamaması gerekir.
• MS-DOS'ta sistem dosyaları olarak bilinen msdos.sys ve io.sys dosyaları, bu işletim sisteminin
Kernel dosyalarını oluşturmaktadır.
41
User Mode
• Uygulama programları ise, User Mode denilen daha kısıtlı bir işlem
seviyesinde çalışır.
• User modda çalışan programlar bellekte ancak kendileri için ayrılan
alanlara erişebilirler ve ancak zararsız makina komutlarını işletebilirler.
• User modda çalışan uygulamalar, Kernel ya da başka uygulamaların
bellek bölgelerine erişemezler, bazı kısıtlanmış işlemci komutlarını
çalıştıramazlar ve donanım kaynaklarına doğrudan müdahale
edemezler.
42
İntel işlemci modları
• Intel işlemcilerinde çalışan her koda 0, 1, 2, 3 biçiminde belirtilen
öncelik derecelerinden biri atanır.
• 0 en yüksek önceliği, 3 en düşük önceliği belirtir. Yani bu işlemcilerde
kernel mode ve user mode biçiminde 2 çalışma modu değil, toplam 4
çalışma modu vardır.
• Ancak Windows ve Linux gibi işletim sistemleri yalnızca 0 ve 3
modlarını kullanırlar. 0 kernel modunu, 3 ise user modunu temsil eder.
• 8086/8088 gibi eski işlemcilerde mod biti bulunmadığı için kernel ve
user komutları arasında bir ayrım yapılmamaktadır.
43
Shell (Kabuk)
• Shell kullanıcı ile çekirdek arasında bulunan bir
yazılım katmanıdır. Shell bir yorumlayıcıdır
(command interpreter) Shell kullanıcılardan veya
yazılımlardan gelen komutları algılar, düzenler ve
Kernel ‘a iletir.
• Bir çok sistemde Shell ve Kernel kavramları birbiri ile
iç içedir.
• İki farklı Shell çeşidi vardır:
Komut istemi (CLI: command-line interface)
kullanan Shell işlemlerin daha hızlı yapılmasını sağlar.
(DOS, UNIX, LINUX)
• MS-DOS işletim sisteminde Shell olarak
command.com kullanılır.
Grafiksel arayüz (GUI: graphical user interface)
kullanan Shell ise kullanıcının yapmak istediği
işlemleri daha hızlı tarif edebilmesini sağlar.
(Windows)
44
Modern İşletim Sistemleri
45
UNIX İşletim Sistemi
• UNIX çok kullanıcılı ve çok görevli bir işletim sistemidir.
• Önce Bell laboratuvarlarında geliştirilmiş daha sonra da üniversitelere
dağıtılmıştır.
• C programlama dili ile yazılmış ve programlama kodu ile araştırmacılara
verilmiş olduğundan önemli gelişmeler ve eklere sahip olmuştur.
• Bugün hemen hemen tüm platformlarda çalışabilen jenerik bir işletim
sistemidir.
• UNIX kontrolündeki bilgisayarlarda bir çok kullanıcı aynı anda bir çok
programı çalıştırabilir.
• Bunun yanı sıra birçok servis programı ve program kütüphanesinin varlığı
program geliştirmeyi kolaylaştırmaktadır.
• Yeni başlayanlar için öğrenilmesi ve kullanılması zor bir işletim sistemi
olması UNIX’in olumsuz bir yönüdür.
46
UNIX İşletim Sistemi Katmanları
Kütüphaneler
Komutlar
Uygulama
Programları
Sürücü
Sürücü
Sürücü
Sürücü Arayüzü
Sistem çağrı arayüzü
Monolitik Çekirdek Modülleri
İşlem yönetimi
Bellek yönetimi
Dosya yönetimi
Aygıt yönetimi
altyapısı
Donanım Katmanı
47
LINUX
• Helsinki Üniversitesi'nde bilgisayar mühendisliği öğrencisi olan Linus
Torvalds'ın 1991 yılında Intel'in yeni işlemcisi 80386'nın korumalı kip
mimarisini denemek üzere geliştirmeye başladığı Unix tabanlı bir
işletim sistemi çekirdeğidir.
• Linux tüm dünyadan birçok yazılımcının da desteği ile hızla gelişmiş ve
halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir
yazılımdır.
• Gömülü sistemlerden, süper bilgisayarlara kadar birçok donanım
türünde kullanılan Linux dağıtımları da vardır.
48
0S/2 İşletim Sistemi
• OS/2, IBM ve Microsoft tarafından geliştirilmiş tek kullanıcılı ve çok görevli
bir işletim sistemidir.
• DOS altında geliştirilmiş bir çok programı DOS uyumlu pencerede
çalıştırabilir.
• DOS gibi komut bazlı bir işletim sistemi olmakla birlikte ek olarak bir de
grafik tabanlı pencere ortamı içermektedir.
• Sunum yöneticisi denilen ara yüzle kullanım kolaylığı artmıştır.
• OS/2‘de DOS’tan ayrı olarak bir program çalışırken yeni bir ekran grubu
açılarak yeni bir program çalıştırılabilir.
• 16 ekran penceresini aynı anda çalıştırabilir.
• OS/2 altında çalışan uygulama programlarının sınırlı olması nedeniyle
beklenildiği kadar yaygınlaşmamıştır.
49
OS/2 Sistem Yapısı
OS/2 Sisteminin Yapısı.
50
MS-DOS İşletim Sistemi
• DOS’un Microsoft tarafından satılanı MS-DOS, IBM tarafından satılanı PCDOS (veya IBM-DOS) adıyla bilinir.
• Eski olmasına rağmen, MS-DOS (Microsoft Disk Operating System) hala
kişisel bilgisayarlarda yaygın olarak kullanılan bir işletim sistemidir.
• MS-DOS tek kullanıcılı ve tek görevli bir işletim sistemidir.
• Değişik üreticilerin makinelerinde çalışmakla birlikte yine de IBM ve
Microsoft tarafından lisans altında olduğu için tam anlamıyla jenerik bir
işletim sistemi olarak sınıflandırılamaz.
• MS-DOS, UNIX işletim sisteminden bazı kavramları almıştır. Komutlara
dayalı bir işletim sistemidir.
• Son sürümlerinde bazı menü tabanlı ara yüzler geliştirilmiştir.
51
MS-DOS Sisteminin Yapısı
MS-DOS Sisteminin Yapısı
MS-DOS –küçük bellek alanında pek
çok işlevin sağlanabilmesi için
yazılmıştır:
- Modüllere bölünmez;
- Arayüzler ve işlev seviyeleri kesin
ayrılmamıştır.
a) Sistemin başlangıç durumu,
b) Programın çalışması durumu
52
Windows İşletim Sistemi
• Windows işletim sistemi PC’lerde en yaygın kullanılan işletim
sistemidir.
• 1985 yılında piyasaya sürülen ilk Windows sürümü aslında DOS
üzerinde çalışan bir grafiksel kullanıcı arayüzünden ibarettir.
• 1993 tarihten sonra geliştirilen tüm Windows işletim ise sistemleri NT
(New Technology) çekirdeğine sahiptir.
53
Windows NT/2000/XP İşletim Sistemi Katmanları
Kullanıcı
Kütüphaneler
İşlem
Altsistem
İşlem yönetimi
Bellek yönetimi
Dosya yönetimi
Aygıt yönetimi
altyapısı
NT Yürütücüsü (Executive)
Supervisor
Nt Çekirdeği
Donanım Soyutlama
Katmanı
İşlemci
Ana Bellek
G/Ç Alt
sistemi
Aygıtlar
54
Macintosh/MacOS İşletim Sistemi
• Bu işletim sistemi Motorola Firmasının mikroişlemcileri üzerinde
çalışırlar.
• Grafik arayüzü olan ilk işletim sistemi MacOS’tur. Bu işletim sistemi
diğer işletim sistemlerine grafik arayüzü açısından öncülük etmiştir.
55
Download