Bölüm 2.1: Yazılım ve İşletim Sistemleri
Giriş
Öğrenme Çıktıları
Sistem ve uygulama yazılımlarını ayırt etmek.
İşletim sisteminin kullanıcı, uygulama ve donanım arasındaki rolünü açıklamak.
Süreç, bellek, dosya ve aygıt yönetimini yorumlamak.
Farklı işletim sistemi türlerini gereksinimlere göre karşılaştırmak.
Yazılım
Yazılım Nedir?
Yazılım, bir bilgisayarın gerçekleştireceği işlemleri tanımlayan programlar, veriler ve ilgili belgelerin bütünüdür.
Yazılım
Yazılımın Kalite Özellikleri
Beklenen görevleri doğru yerine getirme.
Kolay öğrenilme ve etkili kullanım.
Zaman ve kaynakları verimli kullanma.
Hata durumlarında öngörülebilir davranma.
Yetkisiz erişim ve değişikliklere karşı koruma.
Düzeltme ve geliştirmelerin yönetilebilir olması.
Yazılım
Yazılım ve Donanım İlişkisi
- Kullanıcı yalnızca en üst katmanlarla etkileşir.
- Her katman, altındaki ayrıntıları gizleyerek üst katmana daha kolay hizmetler sunar (soyutlama).
- Aynı uygulama, sürücüler sayesinde farklı donanımlarda çalışabilir.
İstek yukarıdan aşağı iner, sonuç (hizmet) aşağıdan yukarı döner.
Yazılım
Yazılım Türleri
Donanımı yönetir ve diğer yazılımlara çalışma ortamı sağlar.
Kullanıcının belirli işlerini yerine getirir.
Kod yazma, çevirme, test ve hata ayıklama işlemlerini destekler.
Bir cihazın temel işlevlerini yöneten gömülü yazılımdır.
Yazılım
Sistem ve Uygulama Yazılımları
| Tür | Örnekler | Temel amaç |
|---|---|---|
| Sistem | İşletim sistemi, sürücü, yardımcı araç | Bilgisayarı ve kaynakları yönetmek |
| Uygulama | Kelime işlemci, tarayıcı, oyun | Kullanıcı görevini gerçekleştirmek |
| Ara yazılım | Veritabanı bağlantı katmanı, mesaj kuyruğu | Uygulamaların sistemle ve birbiriyle haberleşmesini kolaylaştırmak |
| Geliştirme | Derleyici, tümleşik geliştirme ortamı (IDE), hata ayıklayıcı | Yeni yazılım üretmek |
İşletim Sistemi
İşletim Sistemi Nedir?
İşletim sistemi, donanım kaynaklarını yöneten ve uygulamalara ortak hizmetler sunan temel sistem yazılımıdır.
- Donanım ayrıntılarını uygulamalardan soyutlar.
- Birden fazla programın kaynakları güvenli biçimde paylaşmasını sağlar.
- Kullanıcıya grafiksel veya komut satırı arayüzü sunar.
İşletim Sistemi
İşletim Sisteminin Görevleri
İşletim Sistemi · Adım adım
Bilgisayar Nasıl Açılır? Önyükleme Adım Adım
Güç düğmesine basılır; gerilimler kararlı olunca güç kaynağı anakarta “güç hazır” sinyali verir. RAM boştur; işletim sistemi henüz diskte bekler.
İşlemci, anakarttaki kalıcı bellekte (ROM/flash) duran ürün yazılımını (UEFI ya da eski adıyla BIOS) çalıştırmaya başlar.
POST (açılışta öz sınama): bellek, klavye, disk gibi temel donanım denetlenir. Hata varsa sesli uyarı ya da ileti verilir.
Ayarlardaki önyükleme sırası (ör. önce USB, sonra SSD) denenir; takılı olmayan aygıt atlanır. Diskteki küçük EFI sistem bölümünden (FAT32) önyükleyici (ör. Windows Boot Manager: bootmgfw.efi, GRUB) RAM’e yüklenir.
Önyükleyici çekirdeği (Windows’ta winload.efi aracılığıyla ntoskrnl.exe) RAM’e yükleyip denetimi ona verir. Çekirdek sürücüleri yükler, ilk süreçleri ve sistem hizmetlerini başlatır.
Oturum açma ekranı gelir; kimlik doğrulandıktan sonra kullanıcının masaüstü ve başlangıç uygulamaları açılır.
İşletim Sistemi · Güvenlik
Güvenli Önyükleme ve TPM
BIOS’un yerini alan modern ürün yazılımı; büyük disk, hızlı açılış ve dijital imza denetimi sağlar.
Yalnızca güvenilir dijital imzası olan önyükleyici ve çekirdek çalışır; sahte ya da değiştirilmiş önyükleme kodunu engeller.
Şifreleme anahtarlarını ve açılış ölçümlerini saklayan güvenlik yongası (anakartta, işlemcide veya ürün yazılımında); BitLocker gibi araçlar kullanır.
Kurulum için UEFI + Güvenli Önyükleme desteği ve TPM 2.0 ister; ayrıntılar Microsoft’un güncel gereksinim sayfasında yer alır.
İşletim Sistemi Bileşenleri
Çekirdek (Kernel)
Çekirdek, işletim sisteminin ayrıcalıklı çalışan merkezî bölümüdür. Uygulamalar donanıma doğrudan erişmek yerine sistem çağrılarıyla çekirdekten hizmet ister.
İşletim Sistemi Bileşenleri · Adım adım
Sistem Çağrısı Adım Adım: Dosya Okuma
Metin editörü rapor.txt dosyasını okumak ister. Diske kendisi erişemez; read sistem çağrısını yapar.
İşlemci kullanıcı modundan çekirdek moduna geçer. Artık yalnızca çekirdek kodu çalışır.
Dosya sistemi dosyanın diskteki yerini bulur ve kullanıcının okuma izni olup olmadığını denetler.
Disk sürücüsü diske okuma komutu verir. Disk işi bitince kesme (interrupt) ile işlemciye haber verir.
Bellek yönetimi: çekirdek okunan veriyi RAM’de editörün kendi bellek alanına kopyalar.
Çağrı döner, işlemci tekrar kullanıcı moduna geçer. Editör veriyi ekranda gösterir. Uygulama donanımı hiç doğrudan görmedi.
İşletim Sistemi Bileşenleri
Çekirdek Türleri
| Tür | Fikir | Örnek |
|---|---|---|
| Monolitik çekirdek | Süreç, bellek, dosya sistemi ve sürücüler tek ayrıcalıklı çekirdekte; hızlı ama büyük | Linux (modüller yüklenebilir) |
| Mikro çekirdek | Çekirdekte yalnızca temel işler; sürücü ve dosya sistemi kullanıcı modunda; yalıtımı güçlü | MINIX 3, QNX |
| Hibrit çekirdek | Mikro çekirdek tasarımını alıp hız için bazı hizmetleri çekirdekte tutar | Windows NT çekirdeği, macOS/iOS (XNU) |
Android yığını
Kaynak Yönetimi
Süreç Yönetimi
Diskte saklanan komut ve veri bütünüdür.
Çalışmakta olan program örneğidir.
Süreç içindeki yürütme akışıdır.
CPU’nun hangi sürece ne zaman verileceğini belirler.
CPU durumunu bir süreçten diğerine aktarır.
Birden fazla işin ilerlemesini düzenler.
Kaynak Yönetimi
Program, Süreç ve İş Parçacığı
Program diskte duran dosyadır; süreç onun çalışan örneğidir ve bir süreç kimliğiyle (PID) tanınır. Her sürecin ayrı bellek alanı vardır, iş parçacıkları ise süreç içindeki belleği paylaşır.
Kaynak Yönetimi
Süreç Durumları
- Tek çekirdekte aynı anda yalnızca bir süreç Çalışıyor durumundadır; diğer hazır süreçler sırada bekler.
- Bekliyor durumundaki süreç CPU’ya verilmez; beklediği olay (disk, klavye, ağ) gerçekleşince yeniden Hazır olur.
Kaynak Yönetimi · Adım adım
Süreç Durum Geçişleri Adım Adım
P1 süreci oluşturuluyor (ör. kullanıcı bir programa çift tıkladı): durum Yeni.
Yeni → Hazır: İşletim sistemi süreci kabul eder; bellek ayrılır ve süreç hazır kuyruğuna girer.
Hazır → Çalışıyor: Çizelgeleyici P1’i seçer; bağlam yüklenir ve CPU P1’in komutlarını yürütür.
Çalışıyor → Bekliyor: P1 diskten veri ister. Veri gelene kadar CPU’yu boşa tutmaması için Bekliyor durumuna geçer.
Bekliyor → Hazır: Disk işi bitti (kesme geldi). P1 hemen çalışmaz; önce Hazır kuyruğuna döner.
Hazır → Çalışıyor: Sırası gelince P1 yeniden seçilir ve kaldığı yerden devam eder.
Çalışıyor → Hazır: P1’in zaman dilimi doldu; zamanlayıcı kesmesiyle CPU başka sürece verilir.
Hazır → Çalışıyor: P1 tekrar seçilir ve işinin kalanını yürütür.
Çalışıyor → Sonlandı: P1 işini bitirip çıkar; işletim sistemi belleğini ve kaynaklarını geri alır.
Kaynak Yönetimi · Adım adım
İki Süreç, Tek CPU: Durum İzleme
İki süreç, tek çekirdek. P1 önce 3 ms hesap yapacak, sonra diskten okuyacak (3 ms), sonra 2 ms daha hesaplayacak. P2 yalnız 4 ms hesap. İkisi de Hazır; çizelgeleyici P1’i seçer.
t = 0–3: P1 Çalışıyor, P2 hazır kuyruğunda bekler.
t = 3: P1 diskten okuma ister (sistem çağrısı). Disk yavaştır; P1 Bekliyor durumuna geçer ve CPU’yu bırakır. Bağlam değiştirilir.
t = 3–6: P2 Çalışıyor; aynı anda disk P1’in verisini okuyor. CPU ve disk paralel çalışıyor.
t = 6: Disk işini bitirir, kesme ile haber verir. P1 Hazır olur ama hemen çalışmaz: CPU’da P2 var.
t = 7: P2 4 ms’sini tamamlar ve Sonlandı. Hazır kuyruğunda yalnız P1 kaldı.
t = 7–9: P1 Çalışıyor, kalan 2 ms’yi bitirip Sonlandı.
Toplam 9 ms; CPU hiç boş kalmadı. P1 diski beklerken CPU boş kalsaydı 3 + 3 + 2 + 4 = 12 ms sürerdi: G/Ç beklerken başka süreci çalıştırmak (çoklu programlama) zaman kazandırır.
P1: hesapla 3 ms P1: diskten oku (G/Ç 3 ms) P1: hesapla 2 ms, çık P2: hesapla 4 ms, çık
Kaynak Yönetimi · Adım adım
Zaman Paylaşımı: Döner Sıralı CPU Dağıtımı
Üç süreç hazır: P1 5 ms, P2 3 ms, P3 2 ms iş istiyor. Döner sıralı (round robin) çizelgeleme, her birine sırayla en çok 2 ms verir.
t = 0–2: CPU P1’de. Zaman dilimi doldu; P1 kuyruğun sonuna gider (kalan 3 ms). Bağlam değiştirilir.
t = 2–4: CPU P2’de. Zaman dilimi doldu; P2 kuyruğun sonuna gider (kalan 1 ms). Bağlam değiştirilir.
t = 4–6: CPU P3’te. P3 işini bitirdi (t = 6) ve sistemden çıkar.
t = 6–8: CPU P1’de. Zaman dilimi doldu; P1 kuyruğun sonuna gider (kalan 1 ms). Bağlam değiştirilir.
t = 8–9: CPU P2’de. P2 işini bitirdi (t = 9) ve sistemden çıkar.
t = 9–10: CPU P1’de. P1 işini bitirdi (t = 10) ve sistemden çıkar. Bitiş: P3 = 6, P2 = 9, P1 = 10 ms. Hızlı geçişler sayesinde üçü de “aynı anda” çalışıyor gibi görünür.
Kaynak Yönetimi · Adım adım
Kilitlenme (Deadlock)
Süreç A yazıcıyı aldı ve kullanıyor (düz ok).
Süreç B dosyayı kilitledi ve kullanıyor.
Süreç A, yazıcıyı bırakmadan dosyayı istiyor (kesikli ok); dosya B’de olduğu için bekler.
Süreç B de dosyayı bırakmadan yazıcıyı istiyor; yazıcı A’da olduğu için bekler.
A → Dosya → B → Yazıcı → A: döngüsel bekleme. İkisi de bırakmadığı için ikisi de sonsuza dek bekler: kilitlenme.
Kaynak Yönetimi
Bellek Yönetimi
Her programa gereksinimine göre bellek alanı sağlama.
Bir sürecin başka sürecin belleğini izinsiz değiştirmesini önleme.
Programlara fiziksel RAM’den bağımsız adres alanı sunma.
Belleği sabit boyutlu parçalarla yönetme.
Gerektiğinde bazı verileri geçici olarak diske taşıma.
Ortak kod veya veriyi kontrollü biçimde kullanma.
Kaynak Yönetimi · Adım adım
Bellek Yönetimi Adım Adım: Ayırma, Koruma, Takas
Başlangıç: RAM’in başında işletim sistemi (çekirdek) vardır; geri kalanı boştur.
Ayırma: A için 100–300 arası 200 KB ayrılır. Basit modelde bölge taban ve limit yazmaçlarıyla tanımlanır (gerçekte sayfalama kullanılır).
B için 300–450 arası 150 KB ayrılır. Her sürecin yazmaç çifti ayrıdır; süreç değişince işletim sistemi bunları yükler.
Geçerli erişim: A’nın adresi 150, limitin (200) altındadır; donanım taban + 150 = 250 fiziksel adresine gider.
Koruma ihlali: A 250 ister, 250 ≥ 200 olduğu için donanım erişimi keser; işletim sistemi A’yı sonlandırır (“erişim ihlali / segmentation fault”). B’nin belleği korunur.
Takas: C’ye yer yoktur (190 KB < 250 KB). Beklemedeki B diske yazılır; RAM’de 340 KB bitişik boş alan oluşur. Disk RAM’den çok yavaştır.
C, 300–550 arasına yüklenir. B diskte bekler ve yeniden çalışacağında RAM’e geri alınır; yer yoksa başka bir süreç diske yazılır.
Kaynak Yönetimi
Sanal Bellek ve Sayfalama
- Her süreç 0’dan başlayan kendi sanal adres alanını görür; bellek 4 KB’lık sayfalara bölünür ve sayfa tablosu her sayfanın hangi çerçevede olduğunu tutar.
- Sayfalar RAM’de ardışık olmak zorunda değildir; az kullanılan sayfa diske (takas) çıkarılabilir.
- Takas alanı Windows’ta sayfa dosyası, Linux ve macOS’ta swap adını alır. Diskten okuma (SSD ≈ 0,1 ms) RAM’den (50–100 ns) kat kat yavaştır; takas çok artarsa bilgisayar belirgin biçimde yavaşlar.
Kaynak Yönetimi · Adım adım
Adres Çevirisi Adım Adım: 4100 ve 8200
Süreç A, 4100 sanal adresindeki veriyi okumak istiyor. İşlemcideki bellek yönetim birimi (MMU) bu adresi çevirmeli.
Adres ikiye ayrılır: sayfa = 4100 / 4096 = 1, bağıl konum = 4100 mod 4096 = 4.
Tablo: sayfa 1 → çerçeve 5. Fiziksel adres = 5 × 4096 + 4 = 20484.
Süreç A, 8200 sanal adresindeki veriyi okumak istiyor. İşlemcideki bellek yönetim birimi (MMU) bu adresi çevirmeli.
Adres ikiye ayrılır: sayfa = 8200 / 4096 = 2, bağıl konum = 8200 mod 4096 = 8.
Tabloda sayfa 2 RAM’de değil → sayfa hatası. Program durdurulur, işletim sistemi devreye girer.
İşletim sistemi sayfayı diskten boş çerçeve 3’e yükler ve sayfa tablosunu günceller.
Tablo: sayfa 2 → çerçeve 3. Fiziksel adres = 3 × 4096 + 8 = 12296. Komut yeniden çalışır ve bu kez başarılı olur.
Kaynak Yönetimi · Adım adım
Sayfa Yer Değiştirme (LRU) Adım Adım
Sürecin RAM’de yalnız 3 çerçevesi var; sayfaları sırayla 7, 0, 1, 2, 0, 3, 0, 4 diye istiyor. RAM dolunca hangi sayfa diske çıkarılacak? LRU (en uzun süredir kullanılmayan) kuralı.
Sayfa 7 RAM’de yok → sayfa hatası; boş çerçeve var, diskten oraya yüklenir.
Sayfa 0 RAM’de yok → sayfa hatası; boş çerçeve var, diskten oraya yüklenir.
Sayfa 1 RAM’de yok → sayfa hatası; boş çerçeve var, diskten oraya yüklenir.
Sayfa 2 yok → sayfa hatası; boş çerçeve yok. En eski kullanım sayfa 7’de → o çıkarılır, 2 yüklenir.
Sayfa 0 zaten RAM’de → isabet; yalnız son kullanım zamanı güncellenir.
Sayfa 3 yok → sayfa hatası; boş çerçeve yok. En eski kullanım sayfa 1’de → o çıkarılır, 3 yüklenir.
Sayfa 0 zaten RAM’de → isabet; yalnız son kullanım zamanı güncellenir.
Sayfa 4 yok → sayfa hatası; boş çerçeve yok. En eski kullanım sayfa 2’de → o çıkarılır, 4 yüklenir.
8 istekte 6 sayfa hatası. Aynı dizide FIFO (ilk gelen ilk çıkar) 7 hata verir: FIFO, sık kullanılan sayfa 0’ı da sırası gelince çıkarır. Her hata yavaş bir disk okuması demektir.
sayfa RAM’de mi? Evet → isabet Hayır → sayfa hatası boş çerçeve var mı? Evet → yükle Hayır → en eski kullanılanı çıkar, yükle
Kaynak Yönetimi
Aygıtlar ve Sürücüler
Donanım aygıtlarının komutları ve özellikleri farklıdır. Aygıt sürücüsü, işletim sisteminin ortak isteklerini donanıma özgü işlemlere çevirir.
Uyumlu aygıtı algılayıp uygun sürücüyü yapılandırma.
Aygıtın işlemciye olay bildirmesi.
Hızları farklı bileşenler arasında geçici veri tutma.
Kaynak Yönetimi
Dosya Sistemi
Dosya sistemi, verinin depolama aygıtında nasıl adlandırıldığını, düzenlendiğini ve bulunduğunu tanımlar.
Adı ve içeriği olan veri birimi.
Dosya ve alt klasörleri gruplar.
Dosyanın klasör yapısındaki konumunu belirtir.
Boyut, tarih, sahip ve izin gibi özellikler.
Okuma, yazma ve çalıştırma yetkileri.
Beklenmeyen kesintilerden sonra tutarlılığı destekler.
Kaynak Yönetimi
Dosya Sistemi Türleri
| Dosya sistemi | Platform | Günlükleme | Ne zaman kullanılır? |
|---|---|---|---|
| NTFS | Windows (macOS yalnızca okur) | Var | Windows sistem diski; büyük dosya, izin ve şifreleme gerektiğinde |
| FAT32 | Hemen her aygıt ve işletim sistemi | Yok | Eski aygıtlar, kamera, basit bellek kartı; tek dosya en çok 4 GB |
| exFAT | Windows, macOS ve güncel Linux | Yok | Büyük dosyalı USB bellek ve SD kart; platformlar arası taşıma |
| ext4 | Linux | Var | Linux sistem ve veri diski |
| APFS | macOS, iOS, iPadOS | Klasik günlük yok; yazınca kopyalama ile tutarlılık | Apple cihazlarının varsayılan dosya sistemi |
Kaynak Yönetimi
Dosya Sistemi Ağacı ve Yol
- Dosya sistemi ağaç biçimindedir: kök en üstte, klasörler dallar, dosyalar yapraklardır.
- Mutlak yol kökten başlar; göreli yol geçerli klasöre göredir (ali’deyken:
belgeler/rapor.txt). - Windows’ta aynı fikir sürücü harfiyle yazılır:
C:\Users\Ali\Documents\rapor.txt.
Kaynak Yönetimi · Adım adım
Dosya Açma ve Okuma Adım Adım
Editör open sistem çağrısı yapar. Çekirdek yolu parça parça çözer: önce kök klasör /.
Kökte home, onun içinde ali klasörü aranır. Her klasör, içindeki adları ve bunların diskteki yerini tutan bir listedir.
ali içinde rapor.txt bulunur. Meta veriye bakılır: boyut 150 bayt; kullanıcının okuma izni var mı? Var. (Yoksa open hata döner, dosya açılmaz.)
Çekirdek açık dosya kaydını oluşturur ve sürece en küçük boş numarayı verir: fd = 3. 0, 1 ve 2 her süreçte standart girdi, çıktı ve hata için açıktır.
read 100 bayt ister; 0–99 arası okunur, n = 100. Konum kendiliğinden 100’e ilerler; uygulama adresi bilmez, yalnız fd’yi verir.
Yine 100 bayt istenir ama yalnız 50 bayt kaldı: n = 50, konum 150.
Üçüncü read n = 0 döndürür: dosya sonu. Program okumayı burada bitirir.
close: kayıt silinir, 3 numarası yeniden boşalır. Kapatılmayan dosyalar süreç bitince işletim sistemince kapatılır; ama uzun çalışan programda tanımlayıcılar tükenebilir. Windows’ta aynı fikrin adı tanıtıcıdır (handle).
fd = open("/home/ali/rapor.txt", OKU)
n = read(fd, tampon, 100)
n = read(fd, tampon, 100)
n = read(fd, tampon, 100)
close(fd)İşletim Sistemi Bileşenleri
Kullanıcı Arayüzleri
Pencere, simge, menü ve fareyle etkileşim.
Metin komutlarıyla hızlı, tekrarlanabilir, otomasyona uygun.
Dokunma, kaydırma ve hareketlerle etkileşim.
Ekran okuyucu, büyütme, yüksek kontrast.
İşletim Sistemi Bileşenleri
Komut Satırı Temelleri
| İş | Linux / macOS | Windows (cmd) |
|---|---|---|
| Geçerli klasörü göster | pwd | cd (parametresiz) |
| Klasör içeriğini listele | ls | dir |
| Klasör değiştir | cd klasör | cd klasör |
| Klasör oluştur | mkdir yeni | mkdir yeni |
| Dosya kopyala | cp a.txt b.txt | copy a.txt b.txt |
| Dosya sil | rm a.txt | del a.txt |
Üç grup için r=4 (oku), w=2 (yaz), x=1 (çalıştır) toplanır: sahip · grup · diğerleri.
chmod 644 dosya
6 = rw- (sahip) · 4 = r-- (grup) · 4 = r-- (diğer)
rm ve del dosyayı Geri Dönüşüm Kutusu’na taşımaz; komutu çalıştırmadan önce yolu ve adı kontrol edin.Güvenlik
Kullanıcı ve Yetki Yönetimi
- Standart hesap günlük kullanımda sistem değişikliklerini sınırlar; yönetici hesabı sistem genelinde değişiklik yapabilir.
- En az ayrıcalık: kullanıcıya yalnızca işi için gerekli yetki verilir.
- Kayıt tutma, önemli olayların sonradan incelenebilmesini sağlar.
- Örnekte standart kullanıcı kendi dosyasını açabilir, sistem ayarını değiştiremez.
İşletim Sistemi Türleri
Kişisel Bilgisayar Sistemleri
Geniş donanım ve uygulama ekosistemi.
Apple donanımıyla bütünleşik masaüstü sistemi.
Farklı masaüstü ve kullanım amaçlarına göre özelleştirilebilir sistemler.
Web ve bulut tabanlı kullanıma odaklanan sistem.
İşletim Sistemi Türleri
Mobil İşletim Sistemleri
Farklı üreticilerin cihazlarında çalışan geniş mobil ekosistem.
Apple mobil cihazları için bütünleşik sistem.
Dokunmatik arayüz, enerji yönetimi, sensörler ve kablosuz bağlantı.
Uygulamaların erişimini izinler ve korumalı alanlarla sınırlar.
İşletim Sistemi Türleri
Sunucu İşletim Sistemleri
Çok sayıda kullanıcı ve hizmeti aynı anda yönetir.
Web, veri tabanı, dosya ve kimlik hizmetleri sunar.
Uzun süre kesintisiz çalışma ve uzaktan yönetim hedeflenir.
Yetki, kayıt, güncelleme ve ağ denetimi ön plandadır.
Linux dağıtımları, Windows Server ve Unix türevleri.
Komut satırı ve yapılandırma araçlarıyla tekrarlanabilir yönetim.
İşletim Sistemi Türleri
Gömülü ve Gerçek Zamanlı Sistemler
Belirli bir cihaz görevi için sınırlı işlemci, bellek ve enerjiyle çalışır.
Örnek: yönlendirici, otomobil kontrol birimi, tıbbi cihaz.
Bir işlemin yalnızca doğru sonucu değil, belirlenen süre içinde sonucu üretmesini hedefler.
Örnek: endüstriyel kontrol ve güvenlik sistemleri.
İşletim Sistemi Türleri
İşletim Sistemi Seçimi
| Gereksinim | Değerlendirilecek ölçüt |
|---|---|
| Uygulama | Gerekli yazılımların ve sürümlerin bulunması |
| Donanım | Sürücü ve mimari desteği |
| Güvenlik | Güncelleme süresi, yetki modeli ve yönetim araçları |
| Kullanılabilirlik | Arayüz, erişilebilirlik ve öğrenme gereksinimi |
| Maliyet | Lisans, destek, eğitim ve bakım toplamı |
Lisanslama
Açık Kaynak Yazılım
Lisans koşulları çerçevesinde incelenebilir.
Lisans izin veriyorsa ihtiyaçlara göre uyarlanabilir.
Değiştirilmiş veya özgün sürümün paylaşımı lisansa bağlıdır.
Geliştirme ve destek bireyler, kurumlar ve şirketler tarafından yürütülebilir.
Lisanslama
Ticari ve Kapalı Kaynak Yazılım
Yazılım satın alınmaz; çoğunlukla belirli koşullarla kullanım lisansı alınır.
Genellikle geliştirici kuruluş tarafından kapalı tutulur.
Resmî destek ve hizmet düzeyi sözleşmeleri sunulabilir.
Lisans, abonelik, bakım ve yükseltme ücretleri olabilir.
Lisanslama
Lisans Modellerini Karşılaştırma
| Ölçüt | Açık kaynak | Ticari / kapalı kaynak |
|---|---|---|
| Kaynak erişimi | Lisansla açık | Genellikle kapalı |
| Özelleştirme | Lisans kapsamında mümkün | Üreticinin sunduğu seçeneklerle sınırlı |
| Destek | Topluluk veya ücretli sağlayıcı | Üretici veya yetkili ortak |
| Maliyet | Lisans ücretsiz olabilir; işletme maliyeti devam eder | Lisans veya abonelik gerekebilir |
| Lisans örneği | GPL, MIT, Apache | Son kullanıcı lisans sözleşmesi |
| Ürün örneği | Linux, Firefox, LibreOffice | Windows, Microsoft Office, Adobe Photoshop |
Bakım
Güncelleme ve Destek
Bilinen açıkları azaltır.
Yeni işlev ve arayüz değişiklikleri getirir.
Donanım uyumluluğu veya kararlılığını geliştirebilir.
Üreticinin güncelleme sağladığı zaman aralığıdır.
Büyük değişikliklerden önce geri dönüş imkanı sağlar.
Kurumsal ortamlarda güncellemeler yaygın dağıtımdan önce denenir.
İşletim Sistemi
Sanallaştırma ve Konteynerler
Bir fiziksel bilgisayarda yalıtılmış işletim sistemi örnekleri çalıştırır.
Sanal makinelere işlemci, bellek ve aygıt kaynakları sağlar.
Uygulamaları ve bağımlılıklarını süreç düzeyinde yalıtır; çekirdeği paylaşır.
Test, sunucu birleştirme, bulut ve taşınabilir uygulama dağıtımı.
İşletim Sistemi
Sanal Makine ile Konteyner Karşılaştırması
Tam bir misafir işletim sistemi taşır: güçlü yalıtım, ama daha çok bellek ve daha yavaş açılış.
Yalnızca uygulama ve bağımlılıkları; çekirdek ortak: hafif ve hızlı, yalıtım daha zayıf.
Özet
Bölüm Özeti
- Yazılım, donanımın gerçekleştireceği işlemleri tanımlar.
- İşletim sistemi uygulamalarla donanım arasında yönetim ve soyutlama katmanı oluşturur.
- Çekirdek süreç, bellek, aygıt ve dosya kaynaklarını yönetir.
- Kişisel, mobil, sunucu, gömülü ve gerçek zamanlı sistemlerin öncelikleri farklıdır.
- İşletim sistemi seçiminde uygulama, donanım, güvenlik, destek ve toplam maliyet birlikte değerlendirilir.
- Açık ve kapalı kaynak haklarını kullanılan lisans belirler.
Özet
Kontrol Soruları
- Sistem yazılımı ile uygulama yazılımı arasındaki fark nedir?
- Çekirdek neden ayrıcalıklı modda çalışır?
- Program ve süreç kavramları nasıl ayrılır?
- Sanal bellek hangi problemi çözer?
- Sunucu ve mobil işletim sistemlerinin öncelikleri nasıl değişir?
- Açık kaynak yazılım neden her zaman ücretsiz olmak zorunda değildir?
Özet
Alıştırmalar
- Döner sıralı çizelgeleme, zaman dilimi 2 ms: P1 = 4, P2 = 2, P3 = 3 ms. Gantt çizelgesini çizin ve her sürecin bitiş zamanını bulun.
- Sayfa boyutu 4096 bayt. Sanal adres 12300 hangi sayfada ve sayfa içinde hangi bağıl konumdadır? Sayfa 3, çerçeve 1’deyse fiziksel adres nedir?
- Klavyeden girdi bekleyen bir süreç hangi durumdadır? Tuşa basılınca hangi duruma, sonra hangi duruma geçer? Geçişleri diyagramda gösterin.
- Güvenli Önyükleme açıkken değiştirilmiş bir önyükleyici neden çalışmaz? Güven zincirindeki imza denetimiyle açıklayın.
- Windows ve Linux gereken bir test ortamı için sanal makine mi konteyner mi seçersiniz? Nedenini çekirdek paylaşımıyla açıklayın.
- Bir uygulamanın dosyaya yazmasını; sistem çağrısı, çekirdek modu, dosya sistemi ve disk sürücüsü adımlarıyla sırayla anlatın.
Özet
Kaynaklar
- Silberschatz, Galvin ve Gagne, Operating System Concepts.
- Tanenbaum ve Bos, Modern Operating Systems.
- The Linux Foundation ve Free Software Foundation lisans kaynakları.