Professional Documents
Culture Documents
BİLGİSAYAR MÜHENDİSLİĞİNE
GİRİŞ
*Ders Notları: Doç. Dr. Pınar ONAY DURDU’ya aittir.
İŞLETİM SİSTEMLERİ
İşletim Sistemi
• İşletim sistemi;
– Bilgisayar sistemini oluşturan donanım ve yazılımın 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.
– Bir bilgisayar sistemindeki MİB, bellek, soyut bellek, G/Ç aygıtları
ve dosyalar gibi kaynakları kontrol eden program modülleri
topluluğudur.
• Bu modüller sistemin daha etkili ve performanslı kullanılmasını sağlar.
Bunlar kullanıcı ve donanım arasında bir arabirim gibi çalışırlar.
• DOS ufak ve basit bir işletim sistemi olup, ana görevi disket ve
sabit disk gibi saklama ortamlarının yönetimidir.
• Kişisel bilgisayar (PC) piyasasına giren IBM ürettiği Intel
8086/8088 işlemcili PC için bir işletim sistemi aramaya
başlamıştır. O zaman hakim sistem CP/M olduğundan IBM de
kullanmak istemiş fakat Digital Research ile anlaşamayınca o
zaman küçük bir firma olan Microsoft’a yeni bir işletim sistemi
siparişi vermiştir.
• Microsoft QDOS (Quick and Dirty OS) isimli sistemi alıp CP/M
uyumluluğu ekleyerek apar topar (ve bir sürü hata içeren) DOS
1.0 sürümü piyasaya çıkarmıştır.
© Copyright 2021 Sakarya Uygulamalı Bilimler Üniversitesi. Her hakkı saklıdır.
Bilinen İşletim Sistemleri-DOS (Disk Operating System)
• 1985 yılında piyasaya sürülen Windows 1.0 aslında DOS için bir
grafiksel kullanıcı arayüzü idi.
• 1987’de 2.0 ve 1990’da 3.0 sürümleri satışa sunulan Windows’un
1992’de satışa sunulan 3.1 sürümü ile kullanım oranı iyice arttı.
• 1995 yılında 32-bit mimariye sahip (Fakat yine DOS tabanlı çalışan)
Windows 95 piyasaya çıktı.
• Ev kullanıcılarını hedefleyen 1998’de satışa sunulan Windows 98
ve 2000 yılında satışa sunulan Windows ME yine DOS tabanlı idi.
Windows 1.0
Windows 2.0
Windows 95 Windows 98
Windows ME
• 1993 yılında sunucu pazarını hedefleyen Windows NT • 2000 Windows 2000 NT 5.0
3.1 piyasaya sürüldü. Grafiksel arayüzü Windows • 2001 Windows XP NT 5.1
3.1’e benzeyen bu işletim sistemi çok farklı bir • 2003 Windows Server 2003 NT 5.2
altyapıya sahipti. Bu nedenle NT (New Technology) ön
eki getirildi. • 2006 Windows Vista NT 6.0
• 1994’te 3.5, 1995’te 3.51 ve 1996’da 4.0 sürümleri • 2008 Windows Server 2008 NT 6.0
satışa sunuldu. • 2009 Windows 7 NT 6.1
• 2000 yılında piyasaya sürülen Windows 2000 ve bu • 2009 Windows Server 2008 R2 NT 6.1
tarihten sonra geliştirilen tüm Windows işletim • 2012 Windows 8 NT 6.2
sistemleri NT çekirdeğine sahiptir. • 2012 Windows Server 2012 NT 6.2
• 1992 yılında Patrick Volkerding tarafından • 1993 yılında ABD’de kurulmuş Red Hat
yaratılan Slackware Linux, en eski Linux şirketinin geliştirdiği ticari Linux dağıtımıdır.
dağıtımıdır. • İyi test edilmiş, nispeten kararlı bir Linux
• Grafiksel konfigürasyon araçları ve basit dağıtımı olması nedeniyle, dünya çapındaki
arayüzler sunmaktan ziyade, sizin Linux'a sunucuların bir çoğunda tercih edilmektedir
aşina olmanızı bekleyen bir yapıya sahiptir. • Hata rapor etme ve beta programlar
• Diğer dağıtımlar geliştirmesi zor fakat kullanıcılara açıktır ve çok sayıda e-posta listesi
kullanması kolay arayüzler sunarken, bulunmaktadır.
Slackware'de her şeyi çeşitli konfigürasyon
dosyalarını düzenleyerek halletmeniz gerekir.
• Bundan dolayı Slackware kullanmayı düşünen
acemiler Linux öğrenmek için zaman
harcamaya hazır olmalıdırlar.
• Red Hat Linux un devamı olarak • Gaël Duval tarafından başlatılan Mandrake
adlandırılabilecek Fedora Core hiçbir kar amacı Linux projesi Connectiva Linux ile
gütmeyen bir organizasyon tarafından birleşmesinden sonra adını Mandriva
üretilmektedir. olarak değiştirmiştir.
• Her ne kadar bir zamanlar efsane olan Red Hat • Geliştiriciler, Red Hat dağıtımından yola
kadar büyük bir popülerliği yoksa da Linux çıkmış, varsayılan masaüstünü KDE'ye
dünyasının en sevilen ve en başarılı çevirmiş, kullanımı çok kolay bir kurulum
dağıtımlarından biridir. ekleyerek "Linux'un kurulumu zordur"
• Mandriva veya Suse kadar olmasa da oldukça düşüncesini bertaraf etmişlerdir.
güncel paketlere sahip Fedora onlardan daha • Alternatif bir işletim sistemi denemek
sağlam ve kararlı bir dağıtım olması ile ünlüdür. isteyen ev kullanıcıları arasında oldukça
popülerdir.
• Debian’ı temel alan Ubuntu'nun hedefi • Türkiye'de Fedora üzerinde geliştirilen Turkuaz,
ortalama bilgisayar kullanıcılarına kullanımı Gelecek ve Mandrake üzerinden geliştirilen
ve kurulumu oldukça basit, güncel ve Turkix, Armador OS 2006 gibi projelerden sonra
güvenli bir işletim sistemi sunmaktır. TUBİTAK bünyesinde Pardus isimli bir dağıtım
• Güney Afrikalı bir girişimci olan Matthew geliştirilmektedir.
Shuttleworth'ün sponsor olduğu Ubuntu, • Pardus her seviyede bilgisayar kullanıcısının
bir şirket içinde değil, bunun aksine kolayca kurup kullanabilmesi amaçlanarak
dünyanın çeşitli yerlerindeki programcılar geliştirilmektedir. Bu nedenle kurulumundan
sayesinde geliştirildi. yönetimine kadar pek çok araç ve teknoloji
• 2004 yılında ortaya çıkan Ubuntu Pardus geliştiricileri tarafından özel bir proje
aldığı %30'luk oyla, 2007 yılında masaüstü olarak geliştirilmektedir.
kullanımında en gözde Linux dağıtımı
seçilmiştir.
• Kernel
– İş düzenleyicisi (scheduler ): Zaman paylaşımlı sistemlerde
uygulama için hangi aktivitelerin dikkate alınacağını tanımlar
– İşlemci zamanlaycısı (dispatcher): Zaman paylaşımlı sistemlerde
aktiviteler için zaman ayrımını kontrol eder.
• İşletim sisteminin bellekten ana belleğe transfer • Bu noktada, MIB’nin başlangıç programını bulmayı
prosedürü umduğu bilgisayarın ana belleğinin küçük bir bölümü
– MIB, MIB her açıldığında program sayacı belli özel geçici olmayan bellek hücrelerinden oluşmaktadır
tanımlanmış adres ile başlayacak şekilde tasarlanmıştır. ROM (read-only memory /salt okunur bellek) : içeriği
– MIB, uygulanacak olan programın başlangıcını burada okunur ancak değiştirilemez
bulmayı bekler. – ROM’da yüklü program bootstrap (kendini yükleme)
– Kavramsal olarak tek ererken işletim sistemini bu yazılımdır.
noktada kaydetmek gerekliliğidir. – Bilgisayar açılınca otomatik olan uygulanan programdır
– Fakat her verimlilik hem de ekonomik nedenlerden , – Görevi MIB’in işletim sistemini bellekteki tanımlı yerden
bilgisayarın ana belleği geçici (volatile) (– bilgisayar ana bellekteki geçici alana transferini yönetmektir
kapandığında saklanan verinin kaybolması) – İşletim sistemi ana belleğe yerleştikten sonra bootstrap
teknolojilerden oluşturulmuştur. MIB’in o alana geçip komutları çalıştırmasını sağlar
– Bu nedenle ana belleğin her açılışta tekrar yüklenmesi – Bu noktada işletim sistemi kontrolü ele alır ve makinenin
gerekmektedir aktivitelerini yürütmeye başlar
• Proses kavramı
– Modern işletim sistemlerin de program ve programın uygulanma aktiviteleri
arasında ayrım vardır.
• Program statik yönerge
• Diğeri zaman ilerledikçe özellikleri değişen dinamik aktivitedir Proses -
Süreç (process) ( kendi veri şablonu olan ve kendi başına bütünlüğü
olan kod parçası)
– Süreçle ilişkili olarak aktivitenin şu andaki durumu = süreç durumu (process state) =
makinanın belirli bir zamandaki bellek kopyasıdır
– Tipik zaman paylaşımlı bilgisayarlar kurulumlarında süreçler bilgisayarın
kaynakları için mücadele eder
– Her sürecin ihtiyacı olan kaynakları elde edebilmesi bağımsız süreçlerin
birbirlerini engellememesi işletim sisteminin görevidir
© Copyright 2021 Sakarya Uygulamalı Bilimler Üniversitesi. Her hakkı saklıdır.
Makinenin Aktivitelerinin Koordinasyonu
• Süreç yönetimi
– Süreçlerin uygulanmasının koordinasyonu işletim sistemi
çekirdeği (kernel) içerisinde bulunan scheduler ve dispatcher
tarafından koordine edilir.
• Scheduler bilgisayar sisteminde yer alan süreçlerin kaydını tutar, yeni
süreçleri kayıt havuzuna ekler, tamamlananları havuzdan
– Tüm süreçlerin kaydı için, scheduler ana bellekte süreç tablosu (process table)
tutar. Her program çalıştırma talebinde, scheduler tabloda bir gürüş açar.
Butabloda, sürecin önceliği, hangi bellek alanının ayrıldığı, sürecin hazır ya da
beklemede olduğu bilgileri tutulur.
» Eğer süreç hazırsa ilerlemesinin devam edebileceği durumdadır
» Eğer beklemede ise, ilerleme harici bir olay ( diske erişimin tamamlanması,
klavyeden bir tuşa basılması, başka bir süreçten bir mesajın gelmesi gibi)
gerçekleşene kadar ertelenir
© Copyright 2021 Sakarya Uygulamalı Bilimler Üniversitesi. Her hakkı saklıdır.
Makinenin Aktivitelerinin Koordinasyonu
• Süreç yönetimi
• Dispatcher çekirdeğin programlanmış süreçlerinin gerçekten
uygulandığından emin olmayı sağlayan bileşenidir.
– zaman paylaşımlı sistemde bu görev zaman paylaşımlı olarak zamanı kısa
segmentlere ( zaman dilimi – time slice – 50 milisaniyeden daha az) bölüp
MIB’nin dikkatini her zaman diliminde birinin gerçekleşebildiği süreçler
arasına çekerek gerçekleştirilir.
» Bir süreçten diğerine değiştirme sürecine process switch (context
switch) denir.
• Süreç yönetimi
• Dispatcher
– Dispatcher ın bir zaman dilimini bir sürece atadığı her bir kerede, kesme (interrupt) adı
verilen sinyal yaratılarak dilimin sonunu belirleyen bir zamanlayıcı devre başlatılır.
– MIB, bu kesme sinyalini alınca o andaki makine döngüsünü durdurur, kaldığı yeri
kaydeder, ve uyarıyı/sinyali yaratan programı çalıştırmaya başlar Interrupt handler –
kesme yöneticisi/kotarıcısı ana bellekte tanımlanmış bir konumda yer alır.
» Bu kesme yöneticisi dispatcher ın bir parçasıdır, ve dispatcher ın kesme sinyaline nasıl
karşılık vermesi gerektiğini tanımlar
– Kesme sinyalininin etkisiyle o andaki süre. Askıya alınır ve kontrol dispatechera transfer
edilir. Bu noktada dispatcher schedularon öncelikle süreç tablosunu güncellenemesini
bekler.
» Sonrasında dispatcher süreç tablosunda hazır durumda olan yüksek öncelikli süreci
seçer, zamanlayıcı devreyi başlatır ve seçilen sürecin kendi zaman dilimine
başlamasına izin verir
• Zaman paylaşımlı sistemin başarısı bir süreci durdurmak • Zaman paylaşımı süreçler arası geçişme
ve sonrasında yeniden başlatabilmektir. yükü getirmesine rağmen makinenin toplam
– Yeniden başlatabilmek için durdurulduğu zamanki verimliliğini artırmaktadır.
ortamın - süreç durumunun (process state) yeniden • Zaman paylaşımı olmasaydı her bir süreç bir
yaratılması gereklidir. sonraki süreç başlamadan önce sonuna
• Bu süreç durumu program sayacının değeri, kadar çalışması gerekecek ve bu da zaman
registerın içeriği ve ilgili bellek hücrelerini içerir kaybına yol açabilecekti.
– Zaman paylaşımlı sistemler için tasarlanmış MIB’leri
bu bilgileri MIB’nin kesme sinyaline verdiği
reaksiyonun bir parçası olarak saklayabilirler.
– Bu işlemciler aynı zamanda en son kaydedilmiş
durumu yükleyecek makine dili komutlarına da
sahiptirler
• Bu gibi özellikler dispatcher ın görevini basitleştirir
• Görevleri
– İhtiyaç duyulan belleği vermek
– Bununla ilgli bilgileri tutmak
– Kullanılmayan bellek alanını serbest bırakmak
– Görüntü/sanal bellek yönetimi mekanizması oluşturmak
– Belleğin verimli kullanılmasını sağlamak
• Görüntü/sanal bellek
– Bellek biriminin doğrudan fiziksel adresleme yapısını kullanmak
yerine dolaylı olarak kullanmaktır
– Görüntü bellek sisteminde bellek alanı dilimlenir ve sayfalanır; bir
bellek gözüne erişmek için hem dilim hem sayfa bilgisi gerekir
– Bu yapı çok kullanıcılı sistemlere imkan vermiştir.
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şi başlama süresi kısa olmalıdır.
3. Kullanılmayan MİB zamanı: Merkezi işlem birimin kullanmadığı süre kısa olmalıdır. Yani
mikroişlemciden belleğe aktarılacak veya bellekten alınacak bilginin erişim süresi 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.
5. Cevap verme süresi: Sistemin cevap verme süresi kısa olmalıdır.
6. Az zamanda çok iş yapılmalıdır.
7. 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.