Kitap 13
İşletim Sistemleri
Her programın altında olanlar: süreçler ve iş parçacıkları, bellek, dosyalar, kabuk ve hepsini çalıştıran çekirdek.
İçindekiler
- 01BootloaderÖnyükleyici1Bootloader, bilgisayarın firmware'i başladıktan sonra çalışan, işletim sistemi kernel'ını belleğe yükleyen ve denetimi ona devreden küçük bir programdır.
- 02Context SwitchBağlam Geçişi2Context switch, işletim sisteminin çalışan thread veya process'in durumunu kaydedip CPU'yu kullanabilmesi için başka birinin durumunu geri yüklemesidir.
- 03CPUMerkezî İşlem Birimi3CPU (merkezî işlem birimi), program talimatlarını yürüten ve her yazılımın üzerinde çalıştığı aritmetik, mantık ve kontrol işlerini yapan işlemcidir.
- 04CPU Önbelleği4CPU önbelleği, işlemcideki küçük ve çok hızlı bir bellektir; RAM'den yakın zamanda kullanılan verinin kopyalarını tutar, böylece CPU belleği daha az bekler.
- 05CPU Zamanlama5CPU zamanlama, işletim sisteminin her CPU çekirdeğinde hangi hazır process ya da thread'in ne kadar çalışacağına karar vermesidir; işlemci adil paylaşılır.
- 06DaemonArka Plan Servisi6Daemon, kullanıcı arayüzü olmadan arka planda çalışan, genellikle açılışta başlatılan ve günlükleme, zamanlama veya SSH gibi bir hizmet sunan programdır.
- 07DeadlockKilitlenme7Deadlock, iki ya da daha fazla thread veya process'in kaynakları bırakmaları için birbirini sonsuza dek beklediği ve hiçbirinin ilerleyemediği durumdur.
- 08Device DriverAygıt Sürücüsü8Device driver, işletim sisteminin belirli bir donanımı denetlemesini sağlayan ve genel işletim sistemi isteklerini aygıta özgü komutlara çeviren yazılımdır.
- 09Dosya İzinleri9Dosya izinleri, bir dosyayı kimin okuyup değiştirebileceğini ya da çalıştırabileceğini belirleyen ve işletim sisteminin her erişimde uyguladığı kurallardır.
- 10Dosya Sistemi10Dosya sistemi, işletim sisteminin bir depolama aygıtındaki veriyi dosya ve klasörlere düzenleyen ve her parçanın nerede saklandığını izleyen bölümüdür.
- 11File DescriptorDosya Tanıtıcısı11File descriptor, Unix benzeri bir işletim sisteminin process'e açık bir dosya, socket, pipe ya da başka bir girdi/çıktı kaynağı için verdiği küçük tamsayıdır.
- 12GPUGrafik İşlem Birimi12GPU (grafik işlem birimi), binlerce küçük çekirdeğiyle aynı hesabı çok büyük veri üzerinde aynı anda yapan işlemcidir; grafik ve yapay zekâ için kullanılır.
- 13Heap Belleği13Heap belleği, boyutu ya da ömrü önceden bilinmeyen, çalışma zamanında ayrılan ve onu oluşturan fonksiyondan uzun yaşayabilen verilerin tutulduğu bölgedir.
- 14Hypervisor14Hypervisor, tek bir fiziksel bilgisayarın CPU, bellek ve aygıtlarını paylaştırarak yalıtılmış sanal makineler oluşturan ve çalıştıran yazılımdır.
- 15InterruptKesme15Interrupt, CPU'ya bir olayın acil ilgi gerektirdiğini bildiren sinyaldir; CPU mevcut işini duraklatır ve kernel'daki özel bir işleyiciyi çalıştırır.
- 16İşletim SistemiOS16İşletim sistemi (OS), bilgisayarın donanımını yöneten temel yazılımdır; bu donanımı programlar arasında paylaştırır ve onu kullanmanın ortak bir yolunu sunar.
- 17KernelÇekirdek17Kernel, işletim sisteminin CPU'yu, belleği ve donanım aygıtlarını yöneten ve programların bu kaynaklara nasıl eriştiğini denetleyen çekirdek bölümüdür.
- 18Kernel ModeÇekirdek Kipi18Kernel mode (çekirdek kipi), çekirdeğin donanıma ve belleğe tam erişebildiği ayrıcalıklı CPU durumudur; sıradan programlar kısıtlı kullanıcı kipinde çalışır.
- 19Komut Satırı ArayüzüCLI19Komut satırı arayüzü (CLI), bilgisayarı metinle kullanmanın yoludur: seçenekleri ve argümanlarıyla bir komut yazar, Enter'a basar ve çıktısını okursunuz.
- 20Memory LeakBellek Sızıntısı20Memory leak, bir programın artık ihtiyaç duymadığı belleği tutmayı sürdürdüğü hatadır; bellek kullanımı zamanla artar, sistem yavaşlayabilir ya da çökebilir.
- 21MutexKarşılıklı Dışlama (Mutual Exclusion)21Mutex, kodun kritik bir bölümüne aynı anda yalnızca bir thread'in girmesine izin veren bir kilittir; thread'ler paylaşılan veriyi aynı anda değiştirip bozamaz.
- 22PagingSayfalama22Paging, belleği sabit boyutlu sayfalara bölen ve sayfa tablolarıyla her process'in sanal sayfalarını fiziksel RAM'e eşleyen bir bellek yönetim düzenidir.
- 23ProcessSüreç23Process, bir programın çalışan örneğidir; işletim sistemi tarafından yönetilen kendi bellek alanına, kaynaklarına ve en az bir yürütme iş parçacığına sahiptir.
- 24Race ConditionYarış Durumu24Race condition, programın sonucunun paylaşılan veriyi aynı anda kullanan thread, process veya isteklerin öngörülemeyen zamanlamasına bağlı olduğu hatadır.
- 25RAMRastgele Erişimli Bellek25RAM (rastgele erişimli bellek), bilgisayarın hızlı ve geçici çalışma belleğidir; kullanımdaki programları ve verileri tutar, güç kesilince içeriği kaybolur.
- 26Sanal Bellek26Sanal bellek, her process'e kendine ait özel bir adres alanı veren ve bunu arka planda fiziksel RAM'e ya da diske eşleyen bir işletim sistemi tekniğidir.
- 27Semaphore27Semaphore, mevcut izinlerin sayacını tutan bir senkronizasyon aracıdır; belirli bir sayıya kadar thread'in bir kaynağı aynı anda kullanmasına izin verir.
- 28ShellKabuk28Shell, kullanıcının yazdığı ya da bir betikte yazılı komutları okuyup işletim sisteminden çalıştırmasını isteyen, genellikle metin arayüzlü bir programdır.
- 29Stack Belleği29Stack belleği, bir thread'in fonksiyonlarının yerel değişkenlerini ve dönüş adreslerini tuttuğu bölgedir; her çağrıda büyür, dönüşte otomatik olarak küçülür.
- 30sudo30sudo, izin verilen bir kullanıcının kendi parolasıyla tek bir komutu root ya da başka bir kullanıcının yetkileriyle çalıştırmasını sağlar ve bunu kaydeder.
- 31Swap AlanıTakas Alanı31Swap alanı, işletim sisteminin RAM'in taşma alanı olarak kullandığı disk bölgesidir; fiziksel bellek azaldığında az kullanılan bellek sayfaları oraya taşınır.
- 32System CallSistem Çağrısı32System call, bir programın işletim sistemi kernel'ından bir dosyayı okumak ya da process başlatmak gibi ayrıcalıklı bir işlem yapmasını istediği çağrıdır.
- 33Terminal33Terminal, bir metin arayüzü gösteren, tuş vuruşlarınızı bir kabuğa ya da komut satırı programına iletip onun geri gönderdiği metni görüntüleyen programdır.
- 34Threadİş Parçacığı34Thread, işletim sisteminin zamanlayabileceği en küçük yürütme birimidir; bir process içinde çalışır ve o process'in belleğini diğer thread'lerle paylaşır.
- 35Unix35Unix, 1969'da Bell Labs'ta doğan ve küçük araçlar, dosyalar ve bir kabuktan oluşan tasarımı Linux ve macOS'ta yaşamaya devam eden bir işletim sistemi ailesidir.
- 36Unix SignalUnix Sinyali36Unix signal, kernel'ın bir process'e durdurma isteği, hata ya da dolan bir zamanlayıcı gibi bir olayı bildirmek için ilettiği kısa ve asenkron bir bildirimdir.
- 37User SpaceKullanıcı Alanı37User space, sıradan programların çalıştığı kısıtlı alandır; kernel space'ten ayrıdır, böylece hatalı ya da kötü niyetli bir uygulama tüm sistemi çökertemez.