Professional Documents
Culture Documents
İşletim Sistemleri Çalışma Kağıdı
İşletim Sistemleri Çalışma Kağıdı
İşletim sistemi, bilgisayar donanımının yönetimini sağlayan ve kullanıcı programlarının verimli bir şekilde çalışmasına olanak
tanıyan temel bir yazılım bileşenidir. İşletim sistemi, donanım kaynaklarını adil ve etkin bir şekilde tahsis ederek, bilgisayarın
uygunsuz kullanımını ve hatalarını önler, ayrıca giriş/çıkış işlemlerini de yönetir. İşletim sisteminin başlıca amaçları; kullanıcı
programlarının uygun ve verimli bir şekilde çalışmasını sağlamak, donanım kaynaklarını mümkün olduğunca adil ve verimli bir
şekilde kullanmak ve bilgisayar sistemini kontrol altında tutmaktır. İşletim sistemi, CPU, bellek, giriş/çıkış cihazları gibi bilgisayar
bileşenlerini yönetir ve kullanıcı programlarının bu bileşenler üzerinde çalışmasını sağlar.
d) Hepsi
d) Hem a hem c
d) Hepsi
d) Hem b hem c
3. İşletim sisteminde, _________ tabanlı I/O mekanizması, verilerin hızlı aktarımını sağlar.
1. aracı program
2. çoklu
4. bellek
5. hesaplama
Slayt 2
İşletim sistemi servisleri, kullanıcı arabiriminden dosya yönetimine, kaynak ayırımından hata algılamasına kadar çok çeşitli
işlevleri kapsayan, uygulama programlarının çalışması için gerekli ortamı sağlar. Bu servisler, sistem çağrıları aracılığıyla
erişilebilir ve kullanıcılar tarafından grafiksel kullanıcı arabirimi (GUI) veya komut satırı arabirimi (CLI) gibi çeşitli arayüzler
kullanılarak etkileşime girilebilir. Sistem yardımcı programları ise doğrudan işletim sistemi servislerine erişen ve programların
geliştirilmesine ve yürütülmesine yardımcı olan ek hizmetler sunar. Bu servisler, dosya yönetimi, durum bilgisi sağlama,
programlama dili desteği, program yükleme ve yürütme, iletişim ve arka plan hizmetleri gibi çeşitli kategorilerde
sınıflandırılabilir.
a) İşletim sistemi servisleri doğrudan kullanılır, sistem yardımcı programları aracılık eder.
b) İşletim sistemi servisleri daha temel işlevleri kapsar, sistem yardımcı programları daha karmaşık işlevler sunar.
c) İşletim sistemi servisleri kullanıcı arabirimini sağlar, sistem yardımcı programları ek hizmetler sunar.
d) İşletim sistemi servisleri güvenlik ve koruma sağlar, sistem yardımcı programları kaynak yönetimi yapar.
d) Dosya yönetimi, durum bilgisi, programlama dili desteği, program yükleme ve yürütme, iletişim ve arka plan hizmetleri
1. İşletim sistemi servisleri, kullanıcıların __________ ve __________ gibi çeşitli arayüzler kullanarak etkileşime girmesini sağlar.
2. Sistem çağrıları, işletim sistemi tarafından sağlanan __________ için bir arayüz oluşturur.
3. Sistem yardımcı programları, programların __________ ve __________ için uygun bir ortam sağlar.
4. Sistem yardımcı programları, __________, __________, __________, __________, __________ ve __________ gibi çeşitli
kategorilerde sınıflandırılabilir.
5. İşletim sistemi servisleri ile sistem yardımcı programları arasındaki temel fark, sistem yardımcı programlarının __________
erişmesidir.
2. sistem servisleri
3. geliştirilmesi, yürütülmesi
4. dosya yönetimi, durum bilgisi, programlama dili desteği, program yükleme ve yürütme, iletişim, arka plan hizmetleri
Slayt 3
Bu ders, işletim sistemlerinin temel bileşenlerinden biri olan süreç (process) kavramını ve süreçlerin yönetimi ile ilgili konuları ele
almaktadır. İşletim sistemleri, birden fazla programın eşzamanlı olarak çalışmasına izin verir ve bu programlar süreç olarak
adlandırılır. Süreçler, programların aktif olarak çalışmakta olan örnekleridir ve çeşitli kaynaklara ihtiyaç duyarlar. Süreçlerin
oluşturulması, zamanlanması, sonlandırılması ve birbirleriyle iletişimi gibi konular detaylı bir şekilde incelenir. Ayrıca, süreçlerin
durumları, süreç kontrol blokları (PCB), çoklu iş parçacığı (thread) kullanımı ve süreç zamanlama kuyrukları gibi teknik detaylar da
açıklanır.
1. Bir sürecin anlık durum bilgisi hangi iki bileşen tarafından tutulur?
a) Text section
b) Data section
c) Heap
d) Device queue
a) Process state
b) Program counter
c) CPU register'ları
a) New
b) Running
c) Waiting
d) Deleted
1. Bir process'in bir sonraki yürüteceği komutunun adresini tutan bileşen _______ olarak adlandırılır.
2. Process'ler arasında bellek paylaşımı ve mesaj geçişi yöntemleri ile _______ sağlanır.
3. Bir process'in oluşturulması sırasında _______ process, yeni oluşturulan process'e _______ process denir.
4. _______ process, CPU ile hesaplama işlemleri için daha fazla süre ayıran process türüdür.
5. _______ process, son komutunu çalıştırıp tamamlandığında işletim sisteminden _______ sistem çağrısı ile silinmeyi ister.
1. program counter
3. Parent, child
4. CPU-bound
5. Process, exit()
Slayt 4
Bu ders, işletim sistemlerinde thread kavramını ve multithread programlamanın avantajlarını inceler. Threadler, modern
bilgisayar ve mobil cihaz uygulamalarında yaygın olarak kullanılır ve bir process içinde birden fazla görevin eşzamanlı yapılmasına
olanak tanır. Multithread programlama, cevap verebilirlik, kaynak paylaşımı, ekonomi ve ölçeklenebilirlik gibi avantajlar sağlar.
Ayrıca, multicore programlama ve bunun zorlukları, paralel çalışma türleri ve multithreading modelleri (many-to-one, one-to-
one, many-to-many) gibi konular da ele alınır. Thread kütüphaneleri (Pthreads, Windows, Java) ve dolaylı thread oluşturma
stratejileri de dersin içeriğinde yer alır.
a) Cevap verebilirlik
b) Kaynak paylaşımı
c) Güvenlik
d) Ekonomi
3. Aşağıdaki multithreading modellerinden hangisi, bir kullanıcı thread'inin bir kernel thread'i ile eşleştirildiği modeldir?
a) Many-to-one
b) One-to-one
c) Many-to-many
d) Two-level
a) Görevlerin belirlenmesi
b) Verilerin ayrıştırılması
d) Bellek yönetimi
a) Pthreads
b) Windows threads
c) Java threads
d) POSIX threads
Boşluk Doldurma Soruları
1. Bir thread; thread ID, program counter, bir grup register ve bir ________ yapısından oluşur.
2. Multithread programlamada ________ özelliği, bir uygulamanın bir kısmı bloke olsa bile diğer kısımlarının çalışmaya devam
etmesini sağlar.
3. ________ modelinde, çok sayıda kullanıcı thread'i bir kernel thread'i ile eşleştirilir.
4. Multicore programlamada ________, verilerin farklı çekirdekler üzerinde çalışan görevler tarafından erişilecek ve işlem
yapılacak şekilde ayrıştırılması anlamına gelir.
5. ________ threading, parent thread'in child thread'ler oluşturduktan sonra eşzamanlı olarak çalışmasını sürdürdüğü stratejidir.
1. Stack
2. cevap verebilirlik
3. Many-to-one
4. data splitting
5. Asynchronous
Slayt 5
Bu ders, işletim sistemlerinde process senkronizasyonu konusunu ele almaktadır. Process senkronizasyonu, birden fazla
process'in paylaşılan verilere eşzamanlı erişim sırasında tutarsızlık problemlerini önlemek için gereklidir. Ders, critical-section
problemini, Peterson çözümünü, senkronizasyon donanımını, mutex kilitlerini, semaforları ve monitorleri içermektedir.
Producer-consumer problemi gibi senkronizasyon gerektiren durumlar, paylaşılan hafıza ve dosya sistemleri üzerinden veri
paylaşımı yapar. Bu ders, senkronizasyonun sağlanması için kullanılan çeşitli yöntemleri ve araçları inceler.
a) Bellek yönetimi
d) CPU zamanlaması
a) Mutex kilitleri
b) Paylaşılan hafıza
c) Dosya sistemi
d) CPU zamanlaması
a) Preemptive kernel
b) Mutual exclusion
c) Dosya kilitleme
d) CPU tahsisi
a) Memory barriers
b) Atomic variables
c) Mutex kilitleri
d) Hardware instructions
1. Process senkronizasyonu, ________ erişim sırasında tutarsızlık problemlerini önlemek için gereklidir.
2. ________ problemi, paylaşılan veriler olduğu durumlarda process'lerin senkronize olmaları gerektiğine bir örnektir.
3. ________ çözümü, iki process ile sınırlı olan yazılım tabanlı bir critical section çözümüdür.
4. ________ kilitleri, bir process'in critical section'a girmeden önce diğer process'lerin girmesini engelleyen bir senkronizasyon
aracıdır.
5. ________ komutları, bir word içeriğini test edip değiştiren veya iki word'ü atomik olarak değiştiren özel donanım komutlarıdır.
2. Producer-consumer
3. Peterson
4. Mutex
5. Hardware instructions
Slayt 6
Bu ders, işletim sistemlerinde process senkronizasyonu konusunu derinlemesine ele almaktadır. Process senkronizasyonu, birden
fazla process'in paylaşılan verilere eşzamanlı erişim sırasında tutarsızlık problemlerini önlemek için gereklidir. Ders, critical-
section problemini, Peterson çözümünü, senkronizasyon donanımını, mutex kilitlerini, semaforları ve monitorleri içermektedir.
Ayrıca, mutex kilitlerinin meşgul bekleme (busy waiting) problemi ve spinlock'ların avantajları ve dezavantajları tartışılmaktadır.
Semaforlar, işlem bağımlılığı gibi farklı senkronizasyon problemlerinde kullanılabilir ve deadlock (ölümcül kilitlenme) ve
starvation (açlık) gibi sorunlarla başa çıkmak için mekanizmalar sunar. Dining-Philosophers (Yemek Yiyen Filozoflar) problemi gibi
klasik senkronizasyon problemleri de incelenmektedir.
d) Düşük performans
2. Semaforların wait() ve signal() işlemleri hangi tür işlemler olarak tanımlanır?
a) Asenkron
b) Atomik
c) Paralel
d) Seri
a) Counting semaphore
b) Binary semaphore
c) Integer semaphore
d) Mutex semaphore
5. Dining-Philosophers probleminde her filozofun yemek yiyebilmesi için kaç çubuğa ihtiyacı vardır?
a) 1
b) 2
c) 3
d) 4
1. ................., birden fazla process'in paylaşılan verilere eşzamanlı erişim sırasında tutarsızlık problemlerini önlemek için
gereklidir.
2. ................., bir process'in critical section'a girmeden önce kilidi almasını ve çıkarken kilidi serbest bırakmasını gerektirir.
4. ................., iki veya daha fazla process'in birbirlerinden kaynak beklerken sonsuza kadar beklemesi durumudur.
5. ................., kısa süreli kilitleme gerektiren çok çekirdekli sistemlerde yaygın olarak kullanılır.
1. Process senkronizasyonu
2. Mutex kilitleri
3. Semaforlar
4. Deadlock 5. Spinlock'lar
Slayt 7
Bu ders, işletim sistemlerinde CPU zamanlaması konusunu kapsamaktadır. CPU zamanlaması, birden fazla programın aynı anda
çalıştırılabilmesi için kritik öneme sahiptir. Multiprogramming ve multitasking kavramları, CPU'nun her zaman yürütülecek bir
process'e sahip olmasını sağlar ve böylece CPU verimliliği artırılır. CPU zamanlaması, process'lerin CPU ve I/O bekleme sürelerini
optimize etmek için çeşitli algoritmalar kullanır. Bu algoritmalar arasında First-Come, First-Served (FCFS), Shortest-Job-First (SJF),
Priority Scheduling ve Round-Robin Scheduling gibi yöntemler bulunur. Ayrıca, preemptive ve nonpreemptive scheduling gibi
farklı zamanlama şemaları da vardır. CPU zamanlaması, sistem performansını artırmak ve kullanıcı memnuniyetini sağlamak için
önemlidir.
a) Bellek yönetimi
d) Ağ yönetimi
b) Shortest-Job-First (SJF)
c) Round-Robin Scheduling
d) Priority Scheduling
a) I/O burst
b) CPU burst
c) Waiting time
d) Turnaround time
a) CPU utilization
b) Throughput
c) Turnaround time
d) Memory allocation
Boşluk Doldurma Soruları
1. ................., birden fazla programın aynı anda bellekte tutulması ve işletim sistemi tarafından yürütülmesi işlemidir.
2. ................., CPU'nun sık sık process'ler arasında geçiş yaparak birden fazla process'i yürütmesidir.
4. ................., short-term scheduler tarafından seçilen process'in CPU'ya geçmesini sağlayan bileşendir.
5. ................., bir process'in CPU'dan çıkarılıp başka bir process'in CPU'ya geçmesini sağlayan zamanlama şemasıdır.
1. Multiprogramming
2. Multitasking
3. CPU burst
4. Dispatcher
5. Preemptive scheduling
Slayt 8
Deadlock (kilitlenme), işletim sistemlerinde birden fazla process'in aynı anda sınırlı kaynaklara erişim talep etmesi ve bu
kaynakların paylaşılmaması durumunda ortaya çıkan bir durumdur. Deadlock'ın oluşması için dört koşulun aynı anda
gerçekleşmesi gerekir: mutual exclusion (karşılıklı dışlama), hold and wait (tutma ve bekleme), no preemption (el koymama) ve
circular wait (dairesel bekleme). Deadlock'ları yönetmek için çeşitli yöntemler vardır: deadlock önleme, deadlock'tan kaçınma,
deadlock algılama ve deadlock'tan kurtulma. İşletim sistemleri genellikle deadlock yönetimini uygulama geliştiricilere bırakır.
1. Deadlock'ın oluşması için hangi dört koşulun aynı anda gerçekleşmesi gereklidir?
a) Deadlock önleme
b) Deadlock'tan kaçınma
c) Deadlock algılama
d) Deadlock oluşturma
b) Kullanıcılara
c) Program geliştiricilere
d) Donanım üreticilerine
4. Hangi kaynak türü deadlock oluşturmaz?
a) Paylaşılamaz kaynaklar
b) Paylaşılabilir kaynaklar
c) CPU cycle
d) Dosyalar
1. Deadlock, ________ kaynaklara erişim talep eden process'lerin birbirlerini beklemesi durumunda ortaya çıkar.
2. Deadlock'ın oluşması için gerekli dört koşul: mutual exclusion, hold and wait, no preemption ve ________.
5. Deadlock'tan kaçınma yönteminde, process'lerin ihtiyaç duyabileceği maksimum kaynak sayısını ________ gerekir.
1. sınırlı
2. circular wait
3. deadlock önleme
4. ekstra maliyet
5. bildirmesi
Slayt 9
CPU scheduling, işletim sistemlerinde process ve thread'lerin CPU'yu en verimli şekilde kullanabilmesi için sıralanması işlemidir.
Bu süreçte temel kavramlar, scheduling kriterleri, çeşitli scheduling algoritmaları ve thread scheduling gibi konular ele alınır.
Ayrıca, multiple-processor scheduling ve gerçek zamanlı (real-time) CPU scheduling gibi ileri düzey konular da incelenir. Thread
scheduling, user-level ve kernel-level thread'ler arasında farklılık gösterir ve POSIX Pthread API'si ile kontrol edilebilir. Multiple-
processor scheduling, symmetric ve asymmetric multiprocessing gibi yaklaşımlar içerir ve yük paylaşımı ile işlemci yakınlığı gibi
stratejileri kapsar. Gerçek zamanlı sistemlerde ise soft ve hard real-time scheduling gereksinimleri dikkate alınır.
a) CPU kullanımı
b) Bellek kullanımı
c) Bekleme süresi
d) Yanıt süresi
2. User-level thread'ler hangi seviyede schedule edilir?
a) Kernel düzeyinde
b) Kullanıcı düzeyinde
c) Donanım düzeyinde
d) Aygıt düzeyinde
c) User-level scope
d) Kernel-level scope
a) Rate-Monotonic Scheduling
b) Earliest-Deadline-First Scheduling
d) Round-Robin Scheduling
1. CPU scheduling, __________ ve thread'lerin CPU'yu en verimli şekilde kullanabilmesi için sıralanması işlemidir.
2. __________ düzeyinde thread'ler, kernel tarafından fark edilmez ve bir thread kütüphanesi tarafından yönetilir.
4. Gerçek zamanlı sistemlerde, kritik bir real-time process'in diğerlerine göre öncelikli yürütülmesine __________ sistemler
garanti verir.
5. __________ sistemlerde, her işlemcinin kendi scheduling algoritması vardır ve master CPU bulunmaz.
1. process
2. User-level
3. master CPU
Bellek yönetimi, modern bilgisayar sistemlerinde merkezi bir rol oynar ve işletim sistemlerinin temel işlevlerinden biridir. Bellek
yönetimi, bellek tahsisi, bellek koruma, adres bağlama, swapping, bitişik bellek tahsisi, segmentation ve paging gibi konuları
kapsar. Bellek, programların ve verilerin saklandığı yer olup, CPU'nun doğrudan erişebildiği RAM ve yazmaçları içerir. Bellek
yönetimi birimi (MMU), mantıksal adresleri fiziksel adreslere çevirir ve bellek alanlarının korunmasını sağlar. Dinamik yükleme ve
dinamik bağlama gibi teknikler, bellek kullanımını optimize eder ve büyük programların verimli bir şekilde çalışmasını sağlar.
Swapping, bellek yetersiz kaldığında process'leri geçici olarak disk alanına taşıyarak bellekte yer açmayı mümkün kılar.
c) Disk dolduğunda
d) Programlar çakıştığında
a) Yazılım güncellemeleriyle
b) Donanım kullanarak
4. Swapping, process'leri geçici olarak __________ taşıyarak bellekte yer açmayı sağlar.
1. programların
2. mantıksal
3. yüklenmez
4. disk alanına
5. donanım
Slayt 11
Sanal bellek, işletim sistemlerinin fiziksel bellekten daha büyük bir mantıksal bellek alanı sunarak programların çalışmasını sağlar.
Bu sayede, programların tamamının bellekte olmasına gerek kalmadan yürütülmesi mümkün olur. Sanal bellek, demand paging
ve copy-on-write gibi teknikler kullanarak bellek yönetimini optimize eder. Demand paging, sayfaların yalnızca ihtiyaç
duyulduğunda belleğe yüklenmesini sağlar, bu da bellek ve I/O kaynaklarının daha verimli kullanılmasına olanak tanır. Page
replacement algoritmaları, hangi sayfaların bellekte kalacağını ve hangilerinin disk alanına taşınacağını belirler. Thrashing,
sistemin aşırı sayfa değiştirme nedeniyle performans kaybı yaşadığı durumu ifade eder ve bu durumdan kaçınmak için uygun
frame tahsisi stratejileri geliştirilir.
b) CPU'nun hızını
1. Sanal bellek, __________ bellekten daha büyük bir mantıksal bellek alanı sunar.
3. __________, bellek yönetim birimi (MMU) tarafından mantıksal adresleri fiziksel adreslere çevirir.
5. __________ algoritmaları, hangi sayfaların bellekte kalacağını ve hangilerinin disk alanına taşınacağını belirler.
1. fiziksel
2. Demand paging
5. Page replacement