Etiketler
bilgisayar mühendisliği işletim sistemi ders notları, bilgisayar mühendisliği operating system ders notları, işletim sistemi dersi ders notlari, operating ssyem ders notları
29.9.2015 OPERATING SYSTEM –İŞLETİM SİTEMLERİ
Dersin dönem sonu puanına
İlk quiz = %5
İkinci quiz =%5
Ödev = %5
Projeler 2 tane =%27
Vize =%18
Final =%40 kadar etkili oldu
—————————–İLK HAFTA ———————————–
———————————1.hafta —————————————————–
——————————–ilk ders ——————————————————
Ders kitapları ,slaytları
Ders slaytlar üzerinden işlenmiştir
dinazorlu kitap;
operating system essentıal -2.edition slaytları
opr system ,theory and practıce
chapter 1:
opertaing systemnedir ?bilgisayar donanımını en iyi bi şekilde kullanmamızı saglayan yazılım
,donanım ile yazılım arasındaki ortam
op system olmasaydı her kullnaıcı ope systemi kullnk için kendi oturup opr system yazcaktı
1.4
operating system golals :temel hedefleri nedir ?ne bekleriz ?
*bütün kullancı problemlerini koşmalı
*bütün donanım elemanlarını iyi bi şekilde kullanımını saglamalı
* hata varsa kullancıyı bilgilendirmedli
*kullanımı cok rahat olmalı
bilgisayar ne için kullanılır?klasik soru
1.7
what opertaing system do ?
———————2.HAFTA —————————————————
6.10.2015
operating system concepts ,9th edition
8 ,7. baskılarda olur
bizim kullancagımkız slaytlardaki kısaltışmış hali bunun
operating system essential galvinin
- system principles and practice ,slaytlarını vercekmiş hoca
dinazorlu slayt ,chapter 1
ıntrudctıon
Çokişlemcili sistemler (multiprocessors systems) giderek
yaygınlaşmakta ve önem kazanmaktadır
? Paralel sistemler (parallel systems) ve sıkıca bağlantılı
sistemler (tightly-coupled systems) olarak da bilinirler
? Avantajlar
- Artan üretilen iş (throughput)
- Ekonomik olarak katlanma (economy of scale)
- Artan güvenilirlik (reliability) – graceful degradation veya
fault tolerance
İki farklı tür
- Asimetrik Çoklu İşlemciler (Asymmetric Multiprocessing)
- Simetrik Çoklu İşlemciler (Symmetric Multiprocessing)
? Asimetrik çoklu işlemciler – Görev dağıtan bir işlemci var,
diğerleri görev bekliyor (master-slave)
? Asimetrik çoklu işlemciler özellikle ilk zamanlarda kullanılıyor
? Simetrik Çoklu İşlemciler (SMP) – tüm işlemciler her tür işi
yapıyor
ne demiştik gecen hafta ..
kullancııdan verş alcan
op system olmazsa nolcak
klavyeden okumak şçin program yazcak, ekranda göstermek içinde
mouse okuma ,memorye yerleşme bunların hepsini kullanıcı yazmıyo şimdi ,op system var artık
işletim systemin hedefleri ?
-programı koşma
-hata varsa kullanıcıyı bilgilendirmeli
-kullanımı basit olmalı,karmaşık olmamalı
-bilgisayar donanımının etkili kullanımını saglamalı
1.5
bilgisayarın olmazsa olmazları?
cpu,memory ,input output devices olmalı **
op system diger tanımı var burda ,
op ssytem var ,app ptogramları kosabiliriz artık
application program nedir?
kullanıcının işlerini yapcagı programlardır.
users : ? bunları kullanacak olanlar olmalı
insan olur,bir bilgisayar olabilir ,bi bilgisayar diger bi makinaya data gönderir işlem yaptırr ,sonucu bekler felan
kullancı sadece insan olmaz yani
anlattıklarımızın şekil hali var
——-what op ssytem do ?——–
kullanıcıya uygun olmalı felan..
kolay kullanım
iyi performans
güç harcaması dengeli bir şekilde olması istenmektedir
Os is a resource allacator :
kaynkların kullanımı,paylaşımı
hem etkili hemde zayıf olmayan bir op system olmalı
OS is control program :
hatasız bir şekilde bilgisayarda programların kosulmasını saglar
KERNEL denir dersemm??? *****
op systemde sürekli main memoryde duran kısmıdır
sürekli ihtiyacımız olan kısımdır
—-computer startup—–
bootstrap programı ? ***
rom or eppromda bulunur ** önemli
defterde resmi çizildi
harddiski bulup ,main memoryden nereye ne yerleşcek bunları
bilgisayar acılırken gerekli olan programların yüklenmesini saglar
çizmeyi giymek hani ,işe başlamak için
öyleymiş eskiden
günümüzde bıosun yeni simi neydi ?1. sınıfta fdemiştik ,buınu arasıtırn bilin
cok da önemlideğil heralde bak yinede
program yüklendigi zaman donanım kullanılabilecek hale gelir
1.11
1.12
device control için program yazmak zorundayız
buffer da sadece bilgi gönderrisin
cache memory de ise hem yazar hem okursunuz *
- sınıftayken demiştik
ı/o deviceslarından locak buffera ,local buffer kalvyerini işçindeki buffer mesela
interrrupt : işi bitirdim diip cpuya haber göndermesidir ***
device controlerder
cpu calsıır
exceptıon başkadır ,cpu calısmaz ****
0 a bölme hataları
farkı bilmemiz lazım dedi **
interrarpt vector ? hangi program kesilcekse onun numarası vardır memoryde
1.13
program kadlıgı yerden devma etmesi için gerklidir
exceptıon :software ınterrruptlara denir
interrapt driven :interrapt sürücüsü
,günümüzdeki hardwareler böyle
program counterın kadlıgı yeri tutar,kaldıgı yerden devam eder döndügünde
polling
——–I/O Structer———
1.16
memorye gider ,calsıtırır programı,kaldıgı yerden devma eder
buna “system call” denir
system call ? * Sistem çağrısı
request op system ..
read a dedik burda
günüümzde
1.17 gec
cevirilere bak ama *
kilobyte,KB fekan
bunları 1.sınıfta gördügünüz zat3en
Kb :bit demek
KB :byte demek ,fark önemli
Storage structer :
volatile : ?**elektrrik kesildiignde içindeki bilgi gidior demek,main mwemory örnektir
nunvolatile ?** secondary storage :hard disk mesela ,elektrik gittiginnde deri gtimez
——-Storage -device hirearcihe —
bunu herkes adı gibi bilcek,şekil var orda **1.20 de
register icache main memory ssd hard disk optical disc magnetic tapes
speed ,cost,volatile e gröre oluyo
device driver: her ı/o cihazının bir device driverı vardır
1.23
primary memory = main memory
DMA :direct memory access ? **,dogrudan bellek erişimii
direk ı/o devicesından mein memorye göndermek
cpu da kosmadan
1.23 şekil
process nedir ?cpu da kosulmakta olan program
birden fazla program kosabiliriz
bunları Threadlara ayırır
programı parcalara ayırırırz
klavyeden okuyan ,main memeoryeyazan ,ekrana gömsteren 3 programı aynı anda calsıtırrısz
1.24
multiprocessors nie kulmanıyrouz ? birim zmanda daha fazla kodu işlemek,bilgisayardan daha fazla faydalanmak için
asymmetric multprpcessing : ? her processor ayrı ayrı iş yapar **sen sunu sen sunu yap die ayrı ayrı görevler
symmetric multirocessing : ? bütün işleri unıx windows simetriktir ,hepsi aynı görevi yapıor burda
1.25 gösterdi gecti
1.26
A dual -core design :
Multicore ..
her cpunun kendi cache ve registerları vardır
cacheleri ortak olabilir
aynı ain memoryi paylaşırlar
şekle bak
1.27
Clustered system :
SAN :storge area network ?
istanbul ankara bi sürü yerde strorage deviceları var
aradıgınız bilgiyi o kanalalla buluruz SAN ile
bu bize hatayı bulursak SAN kullanark devam ederiz olaya
aksigorta olayı gibi
asymetric clustering : ? herkes başka iş yapar burda ,yardım eder hmn
symetirc clustering : ? herkes biribnirne
biri iş yapmıyosa digeri işi yaoar hmn problem olursa
HPC :yüksek performans için yapılır
DLM : distributed lock manager nedir?
aynı işlem tekrar etmesin ,bşaka yer bosuna ilgilenmesin o işlemle die
1.29 : multiprogramming (batch system): ? birden fazla oprogram yerleşir main memorye sırayla kosulur
program cok uzunsa digerleri bekliyordu sıra için
Timesharing(multitasking) ? her bir program main memory de mesela 20 şer milisaniye kulansın dedik
bunun önüne geçmek için
response time felan
1.30 bakıoruz
1.32 dual mode : cift moıdlu ? //bunu quizde sordu tmmJ 😉
user mode , kernel mode
kullanıcı prıogramlarının bilgisayarı ele gecirip bilgisayar kaynaklarını
dogrudan dogruya engellemek için biz dual mode op syetem kullnaıyoruz
kernel modu printer flena kullancagın zmn kullanır
sorna user moddda programdan kosmaya devam eder
user mode mu kernel moddamı caslıcak ? //bunu vizede sordu ,kernel modun diger adları neleerdir die tmm:D 😉
kernel mode =protected mode =system mode= monitor mode =privileg mode=superviser mode bunlar hep kernel modun aynı
VMM :virtual machine manager ,bir op sistem içinde başka op kullanmaktı bu jvm gibi javadaki hani ,windows içinde calsııyor
mode biti :1 se user mode , 0 sıfır ise kernel modedur
office programları user modda koşar
1.33 şekle bak
klavyeden word e yazı yyazcan kernel moda gecer , yazdın bitti mode biti 1 yapar kullanıcı
kaldıgı yerden kullanmaya devam eder
—–Process managemenet —–
program is pasive entity ama process is an active entity *
programa biz dioz ,sunu yaz sunu yap die,emir ,talimattır bunlar hep *
process
1.34
program counter ?
kosulacak olan programın adersinin tutulması
single- threatted process: ? one program counter,burda bir tane
multi-threateded : ayrı ayrı preoıgram counter olmasıdır ,3 4 thread varsa nolcak
her bir thread için
cpu aynı anda sadece 1 program koşar
İş parçacığı (thread) bir program çalışırıken aynı anda yapılması
gereken başka işler varsa bunları çalıştırmak için kullanılır
? Tek iş parçacıklı (single-threaded) işlemler, çalıştırılacak bir sonraki
komutun hafızadaki konumunu belirten tek bir program sayacına
(program counter) sahiptir
? İşlem sonlanana kadar, komutları tek tek sırayla çalıştırır
? Çok iş parçacıklı (multi-threaded) işlemler her bir iş parçacağı için
ayrı bir program sayacına sahiptir
? Tipik olarak sistemlerde, pek çok işlem, birkaç kullanıcı ve pek çok
işletim sistemi işlemi aynı anda bir veya birden fazla işlemcide
çalıştırılır
? Aynı anda kullanım (concurrency) işlemcilerin birden fazla işlem
veya iş parçacığı arasında ortak kullanımını gerektirir
—process management activies —–
1.35
processlerin senkronizasyonu için
sonra görcez bunalrı dedi
processler arasındaki iletişim
1.36 main ——memory management——- :
kullanıcak olan data ve programlar main memoryde bulunur
main memoryde nereye yerleşmiş data ,kullanıcısı kim
hangi komutlar gelcek main memorye veya ,dısarıya atılacak
memorye yüklemek ve boşaltmak
————–storage management ————-
1.37
hangi directory deki file a kim erişebilir bunu ayarlarsın
hardiskteki boş alanın yönetimi
nasıl yerleşcek dosyalar
bunlar os activities
1.44
Koruma (protection) – İşlemlerin veya kullanıcıların herhangi bir
kaynağa erişiminin işletim sistemi tarafından kontrol edilmesi
? Güvenlik (security) – sistemin içerden ve dışardan gelen
saldırılara karşı savunulması
? Geniş kapsamlı: DoS saldırıları, virusler, solucanlar, kimlik
bilgileri hırsızlığı
———————————————3.HAFTA 20.10.2015 ————————————–
derse geç kaldın
ikinci derstesin ..
ah ulan ah mehmet ..
Operating System Services ? *******
User interface
Program execution
I/O operations
File-system manipulation
Communications
Error detection
Resource allocation
Accounting
Protection and security
System Çağrıları ? system call
İşletim sistemi tarafından sunulan servisler için programlama
arayüzüdür
? Genellikle üst seviye dillerde yazılır (C veya C++)
? Genellikle sistem çağrıları direk çağırılmazlar. Bunun yerine üst seviye
Uygulama Programı Arayüzü (Application Program Interface – API)
aracılığıyla kullanılırlar
? En çok kullanılan API’ler:
? Windows için Win32 API
? POSIX tabanlı sistemler için (UNIX, Linux, ve Mac OS X’in hemen
hemen bütün versiyonları) POSIX API
? Java Sanal Makinası (JVM) için Java API
? Sistem çağrıları yerine neden API’ler kullanılır? taşınabilirlik ve basitlik
2.7
Mikroçekirdek Sistem Yapısı
? Mikro-çekirdek (microkernel) Sistem Yapısı
? Çekirdekte gerçekleşen şeylerden taşınabilir olan herşeyi «kullanıcı»
alanına (moduna) taşıyor*
? Modüller arasındaki iletişim mesaj gönderme (message passing)
yoluyla gerçekleşiyor
? Faydalar:
? Mikroçekirdeğin özelliklerini arttırmak daha kolay
? İşletim sistemini yeni mimarilere geçirmek daha kolay
? Daha tutarlı (çekirdek modunda çok daha az kod çalışıyor)
? Daha güvenli
? Zararlar:
? Çekirdek modu ile kullanıcı modu arasında iletişimin getirdiği aşırı
yüklenmenin getirdiği performans sorunu
3.7 sekil önemli*
3.8 diagram of process state : //bunu quizde sordu ,çizin dedi tmm J 😉
As a process executes, it changes state ***
new: The process is being created
running: Instructions are being executed
waiting: The process is waiting for some event to occur
ready: The process is waiting to be assigned to a processor
terminated: The process has finished execution
Process Control Block (PCB)?** //bunu da quizde sordu 😀 PCB de netür bilgiler tutulur dedi tmm J 😉
Herhangi bir işlem ile ilişkili bilgiler (process control block
? İşlem durumu
? İşlem sayacı
? CPU yazmaçları (CPU registers)
? CPU zamanlama bilgileri
? Hafıza yönetim bilgileri
? Hesap (accounting) bilgileri
? I/O durum bilgileri
derse geç kaldın
ikinci derstesin ..
3.15 şekli anlatıyor
Representatıon of processing scheduling 3.13
schedular hangisini koşulcagını seçiyo main memoryde bekleyen programlardan
fork a child :metod gibiydi dimi ,alt processe gitme
3.16 kaç tür schedularımız var ?zamanlayıcılar ***
short term schedularımız:veya CPU zamanlayıcısı ?cpu da koşulcak olan procesi secer sürekli olarak
Kısa vadeli zamanlayıcı çok sık çalıştırılır (milisaniye) ? hızlı
çalışmalı
bi de
long term schedular:veya iş zamanlayıcısı (job scheduler) ? harddiskte bulunan hangi programın secilcegini ,main memorye getirilcegini belirler
Uzun vadeli zamanlayıcı çok sık çalıştırılmaz (saniye, sakika) ?
yavaş olabilir
peeki geciyoruz bunalrııı
3.17
medıum term secheduling die bişey var bide
grafige bak ,
swapping işlemi ? o şekil ,bi programın bir kısmı out yapılır vs bak buna * biliyon zaten
3.18 eeeveeettt
main memoryde birden fazlqa var ama ana ekranda bir tane program görebiliyosunuz
ama şimdi gelişiyo bu birden fazla prograı görebiliyosunuz
okuyo …
3.19*
contex switch ?Ortam Değişikliği ,neydiii
bi proces kosulacak olan başka bir program kosulması gereken zmn arasında gecen süre ***
CPU başka bir işleme geçerken, sistem eski işlemin durumunu
kaydetmeli ve yeni işlemin kaydedilmiş durumunu yüklemelidir
? Bir işlemin ortamı (context) PCB’de tutulur
gecen sene sormuştu bak bunaaa
hardware destegine baglı süre sadece ***
3.20
processing
3.21
pid ? nedir :process numarasıdır
process identified
parent ve chlidrenlar bizim bilgisayarımız nasıl kulanırlar:?
3.21
resouruce sharing options ?
1.cisi :share all resources :herşeyi ortak kullanırlar
veya :ebeveynin kaynagının bi kısmını kullnaablir cocuklar
veya : sahere e izin vermezler
/ Kaynak paylaşımı
? Ana işlem ve çocuklar tüm kaynakları paylaşırlar
? Çocuklar ana işlemin kaynaklarının belli bir alt kümesini paylaşır
? Ana işlem ve çocuklar kaynak paylaşmazlar
executıon optıons:
– önmce parent sonra childern koşar
digeri de
cocugun terminate yapacagı kadar ,metoddan dönene kadar beklemeli
bu cok öenmli
main giderse metod calısırmııı 🙂 ? hee
/ Çalıştırma
? Ana işlem ve çocuklar aynı anda çalışır
? Ana işlem, çocuk işlemler sonlanana kadar bekler
3.23
process creating nasıl yapar? //bunu vize de sordu tmm J 😉
address space nasıl kullanır ?
sekle bkarasın anlarsın onu anlatıyo * önemli olaiblir
c program seperator
3.24 ödev dedi ama ,snavda sorar ** yine gecen seneki gibi
3.26 :process terminatıon : sonlandırma hani
exec le execute ypatı
exit() le de
return status data from child to parent (via wait())
okuyo hepsini bak yinede
abort() edebilir
hangi durumalrda abort () yapılabilir ?
neden yapar unu?main memoryi mesela vcok kullandın
ya da
uzun süre gerekmiyosa
ya da
parent terminate yapmak istedigin andan itibaren cocugunda kosmasına müsade etmez
*
İşlem Sonlandırma
? Process Termination
? İşlemler son komutlarını çalıştırdıktan sonra işletim sistemine
kendilerini silmelerini isterler (exit)
? İşlemin dönüş değeri çocuktan ana işleme döndürülür (wait ile)
? İşlemin kaynakları işletim sistemi tarafından geri alınır
? Ana işlem çocuk işlemlerin çalışmasını sonlandırabilir (abort)
? Çocuk kendine ayrılan kaynakları aşmışsa
? Çocuk işleme atanan göreve artık ihtiyaç yoksa
? Eğer ana işlem sonlandırılıyorsa
?
****
Bazı işletim sistemleri ana işlem sonlandırıldıktan sonra
çocuklarının çalışmaya devam etmesine izin vermez
– Peşpeşe sonlandırma (cascading termination ) ile tüm
çocuk işlemler sonlandırılır
3.27 :cascading terminatıon :bütün cocukalr terminate yaptıktan sonra demek ? *
wait():
sınavda lab daki iişlemlerle ilgili kod sorarız dedi
*hem vizede hem finalde *** //dedi ama vize de kod sormadı hiç J
zombie ?cocuklarını kurtarmadan kaçıp gşidio bu zombidir
orphan?
3.28:
cok güzel bir multiprocessing örnegidir bu ..
render :imagelerin felan görüntülenmesini saglıyor ,html formatında olup oladıgını kontrol ediyo
plug in :.. ama yinede bak gitsin
3.29
Processes within a system may be independent or cooperating
Cooperating process can affect or be affected by other processes, including sharing data
Reasons for cooperating processes:
Information sharing
Computation speedup
Modularity
Convenience
Cooperating processes need interprocess communication (IPC)
Two models of IPC
Shared memory
Message passing
interproccsing comunıcatıon : IPC ?
procesler arasında nasıl iletişim sagalnıyorr?
indepented proces ???
bunda da etkilemez diger programı
herkes kendi işinden sorumlu
cooperating processing?
bşaka bir procesi etkielyebilri bhunu sonucu ,,başka bir procesi etkiler,onada kullanırlrı ya da durdurabilir
hızlı hesaplamaya imkan saglar
rahatlık saglar
coop proceler asagıdajki yollarla haberleşirler
interprocess comunıcatın (IPC)? kaç tane önemli teknik vaaaarrrr ? ****
2 ceşit var nedi rbunalr ???
shared memory teknigi ?
belşrli bir yer shared memory olarak ayrılaır a i b de bilirli bir yere mesaj alır,b de ordan alır
ya datersi olur
mesaage passing teknigi ? message queue var bunda
a prıcesin var mesle b var
a b ye mesaj yollıcak
b posta kutusundan mesaj kutusundan alır a nın mesajını ,ya da tersi olur şekle bak
- 31 :avantajları , Advantages of process cooperation * demiştik zaaten?
- Information sharing
- Computation speed-up
- Modularity
- Convenience
3.32 :
producer- consumer problem ?
unbounded buffer :buffer da herhangi bir sınır yok
burda baffer sınırı yok
bounded buffer:
mesela 4 kb lık ya da 16 lık bufferım var diyebilirm burda
bi süre sonra dolar bu
3.33:
hadi bkaalımmmm burda nappmış bi bakın bakalımmm :))
yarın bi gün sınavda sorarsak cevap istiyoruz sicden bakınn
bilgisayarcılar *
3.36 : hatılarsanız iki teknik vardıııı
shrainr memory neyydiii bi dabakalım
boşluk alan ayırıyoruz ,3.36 dayazıyor
3.37 mesaage passing de isee
sıraya sokmadan
send(mesaage)
receive(message) a ve b olayı
biri alır biri gönderir
3.38
6 tane kriter var burda
,soru var
3.40:
direct communicatıon : format bu ? *
s ve q var
send(p,message)
receive(q,mesaage)
demin srular sorduk linkler nasıl establish edilmesli ?
otomotik olarka link kurulacak *
diger soruuu
ikiden fazka .. ?
cevabı :iki cift arasında olur iletşiim,3.cüsü yok
kaç tan elink var ikili arasında ?
bir tane var
tek ve iki yönlü de link olambilirrrrr
Direk İletişim
? İşlemler birbirlerini açıkça isimlendirmelidir:
? send (P, message) – P işlemine bir mesaj gönder
? receive(Q, message) – Q işleminden bir mesaj al
? İletişim bağlantısının özellikleri
? Bağlantılar otomatik olarak sağlanır
? Bir bağlantı sadece bir çift işlemci arasında oluşturulur
? Her bir çift için sadece bir bağlantı oluşturulur
? Bağlantı tek yönlü olabilir, ama genellikle çift yonlüdür
indirect commnucatıon (Dolaylı İletişim) ?
3.41
mesaj direct and receive mailboxdan
linkeler nasıl kurulmakta burda
ortak bir mail baz
burda birçok processle link kurulabilimekte
birden fazla komunıcasıon link kurulabilri
tek ya da cift ynlüğ olarilbir
3.42 : işlmeler nasıl burdaaa
yeni bir port accan
mesajı ,alcann göndercen
mailboxı yoketcen
Mesajlar posta kutusuna (messagebox) yönlendirilir ve post
kutusundan alınır
? Posta kutusu yerine port terimi de kullanılır
? Her bir posta kutusu özgün bir ada sahiptir (unique id)
? İşlemler sadece bir post kutusunu paylaşıyor ise iletişime
geçebilir
? İletişim bağlantısının özellikleri
? Bağlantı sadece işlemler ortak bir posta kutusunu paylaşıyor ise
oluşturulur
? İkiden fazla işlem tek bir posta kutusu ile ilişkilendirilebilir
? Bir işlem çifti birden fazla iletişim bağlantısına sahip olabilir
? Bağlantı tek yönlü veya çift yönlü olabilir
İşlemler
? yeni bir posta kutusu oluşturma
? posta kutusu aracılığıyla mesaj gönderme veya alma
? posta kutusunun yok edilmesi
? Temel bileşenler:
send(A, message) – A posta kutusuna bir mesaj gönder
receive(A, message) – A posta kutusundan bir mesaj al
3.43 burdaki soruyu dinleyin dikkatlii
evet
?
cevabını okuyoo
önce p2 ya da p3 flan
sırası önemli deil taammı
recevire kimse sender a gönderiliyor
kim aldı die
bilgi gidio
dersi bitirmek istiyom amaaa
chapter 5 e gemek lazımm :))
3.44 :synchronizatıon // bunu vizede sordu ,nedir ne değildir diev 😉 ***
Message passing may be either blocking or non-blocking
Blocking is consideredsynchronous ,senkronizedir yani
2 çeşittir
blocking send: mesajı gönderdin ,alıcı alamadıgı sürece sender ikinci ve daha sonraki mesajları göndermiyor
blocking receive :mesaj alınınıncaya kadar abaşka bir iş yapamıyor
non blocking asenkron bu ,serbest yani ,2 çeşittir bu da
non blocking send :habire mesaj gönderir
non blocking receive : mesajı alır ,işi gücü bu
bu ikşsiin farkı randevulu olmasıdır ,randexvouz
3.45 abaktık gectik
3.46
bufferın boyutu ne kadar olcak ?Tampon Bellek Kullanımı
dinleyelim bunu
- Queue of messages attached to the link.
- implemented in one of three ways
Buffering :
3 sey var burda
-zero capacity :sender recevierı beklemk zorunda,kapaasite ayrılamamış
-bounded : belirli bir yer ayırdın ,bu yere möesajlar gidio ,sender daha gönderemiyo dolarsa,boşalymak lazım
-unbounded: sonsuz ,unbounded istedigin kadar yolla
Bağlantı ile ilişkilendirilen kuyruk üç farklı şekilde
gerçekleştirilebilir
- Sıfır kapasite – 0 mesaj
Gönderici alıcıyı beklemelidir: randevu (rendezvous)
- Sınırlı kapasite – n mesajı alacak şekilde sınırlı kapasite
Gönderici bağlantı kapasitesi dolu ise beklemelidir
- Sınırsız kapasite
Gönderisi asla beklemez
3.47 yi inceliyosun ödev ,3.48 i ,3.49 inceliyosunuzzzzzzzzzz
3.50 deki,3.51 inceleiyonn
..
3.55: ders bittiiii
11:33
öünümzdekşi hafta 4. Chapter sonra 6 ya gecip5 e döncezzz
———————————-4.HAFTA 27.10.2015 işletim sistemleri —————————————
dinazor lu chapter
chapter 3 :process
sondersi hatırlatıyoruz bi da
haftaya quiz var
tekrar yapıoruz
3 quız düşünüyo ,herbiri 5 puan, vize ve lab 60 ,
gecme barajı 40 olcak bu ders için
bu 3 tanım cok önemli
program?bir işlemin nasıl yapılcagınan ait komutlar dizisidi
pasiftir
process nedir?
kosulan programa denir
aktiftir
thread ?
3.8 ready runnıng waititng terminated seması var ona bak
ready
bu şema önemli bakarsın =Diagram of Process State // ilk quizde sordu bunu 😉
3.9 PCB :process control block // bunu da ilk quizde sordu ) PCB neden gerkli ve ne bilgileri var pcb de die 😉
procesin sistemde tanınabilmesi için gereklidir ***
bu blocklar ile cpu da kosulur
PCB de program counter ve program cunter neden bulunmalı ???***
işlemn kaldıgı yeri göstermesi için program counter lazım
context swtich ?neye baglı***
kısa olması gerekiyor ,zmn kısa olcakki cpu yu verimli kullanalım bunun içinde donanım iyi olmalı demiştik
gecen hafta
process shcdedulıng :hangisini ready kuyrugundan secilcegini ..
3.15 su diagram cok güzeldiiii
3.19
3.26 process terminatıon
:cekio gidemez process öcnce cocuklarını terminat olackki sonra kendisi olsun terminate dediiik
IPC de iki tür oldugunu **
mesaaj passing de ,mesajı biri göderiyo ,digeri ordan alır
shared memory de :mail box var dedik
coop processler unbounded buffer bounded bufferarı anlattık
IPC nedir neden önemlidir dedikkkk
3.39 * ezberle gitsn
- Implementation of communication link :
- Physical:
- Shared memory
- Hardware bus
- Network
- Logical:
- Direct or indirect
- Synchronous or asynchronous
- Automatic or explicit buffering
- Physical:
3.44 synchronizatıon dedik bu önemli***
tekrar ettikkk
yeni hafta
————————————————–
chapter 6 ya geccez ,chapter 4 e sonra döncez
chapter 6 :cpu schedulıng :
cpu schedulıng algoritmaları var burda
bunları görcez
6.4
en ksıa sürede hesaplama bekliyoruz bilgisayardan
I/O oldugu zmn cpu başka br procesi koşar ,boş durmaz
cpu yu süreki kullnammaız gerkiyor dedik
cpu bursten sonra ı/O gercekleşebiliyor görüyonuz
6.6
short term sechdular?main memory de kosulmak için beklenen programı seçmektir *
hangi procesii koşcaz
karar su sekilde veriliyor * sorabilir belki buna bak
1 runnıng yapıo waitinde gectiginde veyaa,runnıg to waitng
2 runnbig yapıo ,bi sure kostu time sharing teknigiyle ready state runnıg to ready
time vardı o süre spnunda readiye gecti
3 waiting den ready e gecerken
İşlemci Zamanlayıcısı
?Çalışmaya hazır şekilde hafızada bekleyen işlemlerden birini seçerek işlemciyi ona ayırır
?İşlemci zamanlaması şu durumlarda gerçekleşebilir:
1.Çalışma durumundan (running state) bekleme durumuna (waiting state) geçişte
2.Çalışma durumundan hazır durumuna (ready state) geçişte
3.Bekleme durumundan hazır durumuna geçişte
4.İşlem sonlandığında
?1 ve 4 durumlarında zamanlama: kesmeyen (nonpreemptive)–eski işletim sistemleri (windows 3.x gibi)
?Diğer durumlarda: kesen(preemptive)
4terminates,tamamen boşaltması
bunalrdan 1 ve 4 nunpremtive yani herangi bir kosula baglı değil
2 ve 3 cpu boşalcak ,preemtive
6.7
dispatcher : *** cpuya hangi processin kosulcagını belirleyen programdır **
context stewitch :bir processten diger processe gecerken
user moda geçrken de kullanılır
dispathccer latency :????*
hardware baglı demiştik
bir processten diger processten gecene kadar context switch yaparkengecen süre bunu belirlemktedir
Scheduling Criteria ???*** Zamanlama Kriterleri **???
Waiting time
Turnaround time
Throughput
CPU utilization
Response time
İşlemci kullanımı (CPU utilization)–İşlemciyi olabildiğince meşgul tutmak
?Üretilen iş (throughput)–birim zamanda çalışması sonlanan işlemlerin sayısı
?Devir zamanı (turnaround time)–bir işlem sonlanana kadar geçen toplam zaman
?Bekleme zamanı (waiting time)–bir işlemin hazır kuyruğunda (ready queue)toplam bekleme zamanı
?Yanıt süresi (response time)–bir isteğin gönderilmesi ile bu isteğinn yanıtının verilmesi arasında geçen zaman
first come first served : FCFS algoritması : ****
6.10
3 process var
p1 p2 p3
p1 in kosulmasıburst time 24 birim p2 3 p3 3
the gant chart ,gecen sene cizditrmişti
waiting time ve
avarege waiting time kavrmları var **
bu algorştmanın kötü tarafı :bi process uzunsa digelri onu beklicek dedikk
iyi tarafı da :
6.11
böyle olunca noldu
waiting time aazaldı
kısa processler geldi uzunlar sonra geldi
op sistemde yazaken bu tür teknigi kullanma cok kolay
convoy effect ?*****
önce uzun process gelirse ikısa olan digerleri onu boşyere beklerse bunun adıdır *
short process behind
long process
shortest job first (SJF) : en kısa olanı seciyor
bu teknikte
bir de farkı bi sey varp1 0. saniyede gelmiş cpu ya
arrial time
daha sonra p2 gelmiş
preemtive ve nunpreemtive 6.17b****
nun pereemtive de kendinden kısa olsada boşaltmıyo yerini vermiyo anladıkmı ,kosuluyo
arrival time ı 0 olan ilk kosuluyo bitiyor,sonra burst time ı en kısa olan kim var
ona bak bul onu koş btsin ,sonra böyle böyle gidio tmm
video var *** 😉
shortest remaining time first : *
6.12
6.14 uzunlugu nasıl belirliyoruz ,koşucak olan rrocessing uzunugunu ,bunu sonavda da sorabilirim ödev size *…
formülü iyiyce ezberelyin
priortiy scheduling ?***
burda da peemtive nun rpmevtive teknikeşrini klullanabilişyoruz,
hangi tür problemelrle karsılasırız ??? evett cevappp *
en önemli şey şuu*****
yarın sorarlar
habire koşulmadan bi üst öncelik geliyo
10 mesela baska öncelikler geliyo
***
problem :
starvatıon :kosulamamasi,düşük öncelikliler hiçbi zmn kosulamayabilri****
bu duurmda çözüm neee ??? ?*
aging **** :
koşulamaayan seylerin kosuluncaya kadar önceliğini artırmak
meslea 10 du ,9 yap 8 yap
öncelğini artır belirli aralıklarla
çok önemli
arrival timeyaımdıgı için grafikte hata vardı , video cektik
hoca kendi örnek yazdı anlattı
nonpreemtive boşaltma yoktu unutma ,hepsini koşup bitiriyon ne varsa p1 de mesela
round robbin algroitması ? //bunu vizede sordu ,RR e göre gant chart cizin vs 😉
her bir process e cpu aeşit kosulma süresi time quantum dedigimiz seyi veriyoruz
6.21
quantum time ne cok küçk ne cok byk olck
time quantum optitimum olmalı
round robbındede önclk verileblr
ilk saat quız var
3.8 ib daa döndük *** 3 defa döndü sorcak bunu
PCb bu yüzden gerekliydi
bu algortmalardan hangisi kullanılcak die
3.15 bi da anlatıyo bak
chapeter 6 devam
rorund robbin (RR ) algortması :
6.25 multilevel queue die bir algortmada var ?
porcessleri ayrıabiliyoruuuuzzzz
unıx de kullanılır
protity gibi
en üstte sistem processlerine öncelik veriyosun
sutudent processlere göre gruplayabiliyosun
ve bunalrı da kendi arasında fcsf sfs gibi algortmalarla ayarlayabiliyorsunuz
bu tmaamen processleri main möemry de grupluıyosn*** grup var farkı bu dgierleinden
multilevel feeback queu lar var ,?6.27 8 birim bitmişlşe gidio
kaln varsa 16 da kosulup cpu yu terkediyor
6.8 cpu utilizaion :scedul*******videoda var
—————————————— 5. HAFTA 3.11.2015 —————————————-
quiz olduk
context switch , system call ,state diagram ,op system nedir, ????
quizde cıkan sorular 😉
chapter 5 :process synchronization
dersiiiiii asıl hoca işlemiyor,asistan işliyor
consumer-producer problem ?
müşteri ürünü alması için üretilmiş olmalı
aynı zmnda üretici de yeterli düzeyde üretmeli
üretici :sürekli nesne üreten bir thread oalrak düşün
tüketiciyi:süreli nesne tüketen thread olarak düşün
biri
hafızayı ortak kullanıyo ikisi ,stack kullanıyolar
push ve pop olayı gibi düşün
RACE condıtıon ? //vizede sordu 😉
processlerin bir işlem yapması için birbirleriyle sürekli yarıs içinde olmasıdır
meslea bir nesneye önce ben ,o dio önce ben erişcem
critical section problem ?
Pek çok işlemin aynı anda bir veriye erişmek ve onu değiştirmek istediği durumlarda işlemlerin çalışması sonucu elde edilen
sonucun işlemlerin veriye eriştiği sıraya bağlı olduğu durumlara yarışma durumları (race condition) denir
Kritik-kısım Problemi
?n tane işlemin olduğu bir sistem düşünelim
?Her bir işlemin bir kısım kodunun aşağıdaki işlemlerden birini yapan bir kritik-kısıma sahip olduğunu düşünün
?Ortak bir değişkenin değerini değiştiren
?Ortak bir tabloyu güncelleyen
?Ortak kullanılan bir dosyayı güncelleyen
?Böyle bir sistemin tutarlısonuç üretmesi için kritik-kısıma erişimi, aynı anda bir işlemin erişebileceği şekilde sınırlandırmalıyız
critical section problem ?kritik bir alan var ,data kaybı vs
critical section =bir işlemi yapmak için önemli olan bölümdür
sadece bana ayrılan bir yer var mesela
ben oraysa eriştigimde başkası girmemeli ,kitlemeli
ben bi yeri kullanırken başka biri orayı kullanmamalı
Kritik-kısım problemine önerilen çözüm aşağıdaki kriterleri sağlamalıdır:
1.Karşılıklı Dışlama (mutual exclusion)***–Eğer işlem kritik kısımda çalışıyorsa, diğer işlemler kritik kısımda çalışamaz
2.İlerleme (progress)–Eğer kritik kısımda çalışan bir işlem yoksa ve bazı işlemler kritik kısımda çalışmak istiyorsa, bu işlemlerden birini seçip çalıştırmak sonsuza kadar ertelenmemelidir
3.Sınırlı Bekleme (bounded waiting)-Kritik kısma girmek isteyen bir işlemin bekleme süresi sınırlandırılmalıdır. O işlem beklerken, diğer işlemlerden en fazla belirlenen sayıda işlem kritik kısıma girmelidir. Ardından bekleyen işlemin kritik kısma girmesine izin verilmelidir.
?Her bir işlemin sıfır dışında bir hızda çalıştığı varsayılmaktadır
?Bu Nişlemin bağıl hızları hakkında herhangi bir varsayımımız yoktur
enrty sectıon ,exit sectıon,remainder sectıon var
anrtyr secitıon o bölgeye girerken yapcagın seylerr
mesela biti deigştiriyoduk gecen sene ,başkası girmesin die
exit o bölgeden cıkarken yapcagın seyler
remainder de bu ikisi arasında gecen sürede yapcagın seyler
5.12 preemtive :sonsuz öncelik demek ,bir processin sonsuz öncelik tanınması
non preemtive:sonsuz ezik olması,başka problemler hep bunun önğnde oluyo
Peterson’unÇözümü
?İki işlem çözümü
?LOAD veSTORE koutlarının atomik olduğunu varsayın
?Bu iki işlem iki değişken paylaşır:
?intturn;
?boolean flag[2]
?turndeğişkeni kritik kısma giriş sırasının kimde olduğunu belirtiyor
?flagdizisi bir işlemin kritik kısma girişe hazır olup olmadığını belirtiyor.flag[i] = true Piişlemininhazır olduğunu gösteriyor
Kilitleri Kullanarak Kritik-kısım Problemi Çözümü:
Yazılım tabanlı çözümlerin (Peterson’un algoritması gibi) modern bilgisayar mimarilerinde çalışmasının garantisi yoktur.
- Genel olarak kritik-kısım problemini çözmek için küçük bir araca ihtiyacımız olduğunu söyleyebiliriz: kilit (lock)
petersons solutıon :?critik bölge problemine bir çzöüm üretiyor
iki tane ortak değiklen var
bir tanesi load and store
mesela:
p1 p2 turn
flag
5.14 de bi kod eksik i=j-1 yazcaz
donanımın senkronize olması :bir donanıma biri erişirse digerleri erişemiyor
atomik :küçük iş parcacıkları
bunda lock var
kilitliyo
kodlara bakın mantıgına
mutex locks :aynı lock gibi calsııyor
ama burda busy olayı var
alltaki kod
busy waiting :hem işlem yapıyon hem de bekliyon bir condition oluşana kadar sürekli o condition’ı kontrol etmek. spinning de denir.
süreklii beklyiosun
acquire() critik sectıona giriş
and RElease() critic sectıondan cıkıs ;
spinlock =busy lock =?
5.24
semaphore ?
wait() ve signal () var
mesela kritik alana 5 tane erişsin ,digerlri sıraya bile girmesin
- ve 2.ciyi kabul et dion meslea
sınırlı sayıda erişime imkan saglar
countıng semaophore ?
bi integer deger verebiliyon ,o sayıda
binary semapphore ?sadece iki thread ile caslırsın burda ,mutex lock gibi
semaforun bussy waitng olmayan hali var
kritk sectıonda girdim ,bura gdoluysa
listeye ata kuyruktakileri
eger ben cıktıysam
kuyruktan bi tane cek
o da girsin
öncelikli kuyruk
block and wakeup var
block ksımna gelince ,birigirince gerisini atar listeye
wakeuptada kuyruktan kişi ceker hani
deadlock? Kilitlenme (Deadlock)–iki vea daha fazla işlem, sadece bekleyen bir işlemin neden olabileceği bir olayı sonsuza kadar bekliyor
and starvatıon ?Açlık (Starvation)–sınırsız bloklanma. Semafor bekleme listesinde bekleyen bir işlemin hiçbir zaman listeden silinmemesi. Örnek: listenin LIFO (last-in first-out) sırasıyla çalışması
Klasik Senkronizasyon Problemleri
?Sınırlı Tampon Bellek Problemi (Bounded-Buffer Problem)
?Okuyucular -Yazıcılar Problemi (Readers-Writers Problem)
?Yemek Yiyen Filozoflar Problemi (Dining-Philosophers Problem)
5.30
bir kaynaga aynı anda erişim ,sonsuz döngüye giriş felna
kildiini hiç acmadın kaldı
starvatıon :sürekli işlem alması icerde , ya da beslenememesidir
priority inversion :
bounded bufer problem :
readers and writes problem :
dininng philosophers :
readers writes problem :
dining philosopher problem :
okudk hep gectik
monitors :izledigin alanı kilitliyo
lock giib bu da
..
Sınırlı Tampon Bellek Problemi
?Ntampon bellek, her biri bir şey tutabiliyor
?mutexsemaforu, başlangıç değeri1–karşılıklı dışlamayı (mutual exclusion) sağlıyor
?full semaforu, başlangıç değeri0–dolu tampon belleklerin sayısını takıp ediyor
?emptysemaforu, başlangıç değeriN–boş tampon belleklerin sayısını takip ediy
—————————–6.HAFTA 10.11.2015 —————————————————–
chapter 4 : Threads
objectives :
process ve thread arasındaki farklar vardı ?1.sınıfta dedik
threadle daha hızlı ve daha eknomiksel işler yapabiliyoruz donanımları
treadleri dezavantajları ?ilerde sorcam sizeeeee evet
threadler=light weight process aynı şey hafif agırlıklı processler
motivatıon ..
bunları hep görcezzz
multithread olmasaydı wordde herseyi yazardık ,sonra göster derdik ,hepsini birden görürdük en son
bi process yazdıklarımı komple main memorye yazıyo
başka bir process ekrana yazdırıyor
başka bir procss kontorl içindi ,spell checking
ama şimdi her harfi kontrol edip yazdırıyor
4.4
-update display :ekranı update yapıosun
-fetch data :internetten data cekiyosun
-spell checking dediğimiz gibi
-answer a network request
4.5
server her clientin isteklerine cevap veriyor
multitreading in en önli seylerinden biri bu dedik
4.9 aatladık
single core da nasıl kosulur threadler ?
thread context swtichleri,processlerin context switche göre dah ahızlı kosulur
daha sonra anlatcaz
multicore ststemde :nasıl ?
aynı anda iki core ilkiyo threadleri ve switch yapıo tamammıııııı
4.10 single thread process :
bunu bil * gecen sne esorduydu ***
şekli code data files var hani
evet devam edelim hadiiii
arkadaşlar
kalın resnkli yer PCB ,digeri de process thread kısmı hani
aynı programı kosarken threadlere bölersek onu burdaki gibi
thread switching yaparak ilerliyo
code data ve files ortak kullanııyor ,swtich yapmanıza gerek yok *** bu rsimler önemli
biri okuyo mesela
digeri hmn alıyo onu aynı datayı kullanıyolar
o threadde digerine veriyor vs
sinngle thread gibi kaldıgı yeri sakla main memorye vs gibi bi konu sözkonusu değil ,datayı kayıt yok multitrhread
nedeeeeennnnn multiprocessinggg ..
multithreading processin faydalı olan yönü ? memmory kullnama acısından daha fazdalııııı ortak alan var çünküüü ***
hemde daha kısa alır,register ve stack bilgilerini saklar sadece
başka bişey saklamaz
swicthleme daha kısa sürede saglanır
4.4 deki tanımları bii yazın evettt
geri söndük sayfalara
4.6
Threadin faydaları **
responsiveness :cevap verme demek bu ,biyer block oldugu zmn diger processler calısır
diger türlü bekler durursun
diger türlü işlem kitlenirse bekelr durursun ekrana gelsin die
diger threadler calısmaz
resource sharing :main memory kullanımı işte buuu
peeki
economy:hızlı üretim threadler için dah akısa ,switchler dahakısa
scability:ölçeklenebilirlik ,ne kadar fazl aprocess varsa daha fazla sayıda calsır ve responsiveless özelligi calısır
hepsine cevap verir
core sayısı artarsa dhaa kısa sürede işlem yapabilirsin
threadleri onalra veririsin daha hızlı olur
4.7 multıcore or multiprocessor systems :
dividing activity:
balance:
data spliting :7
data dependency:bir core da işlenen data digerine baglı olur felan
testing and debugging
concurrency :processlerin peşpeşe kosulması idi evett ara
4.11
amdals low :
sistemlerde performansı inceliyor bu
speedup<= 1 / …
formülü var işteee
core artıkca sistem performansı artar dio bu , geçen sene sprduydu ** ezberle bunu
daha sonra görcez ayrıntıyı bilgisayar organizasyonu ve mimarisinde
bir core iki core olunca performans iki katına cıkmaz * aslından taammı
4.12 kernel eveet biliyonuz
user threadleri var
bide
kernel threadleri var
4.14
muktitrated modes ,tejknikler **** ///bunu vizede sordu J 😉 acıklayın dedi hepsini ,bi de bişey verdi
hangi teknikle yapmalı ki uygun olsun ve neden acıklayın dedi ? 😉
many to one
one to one
many to many
3 tane var tmm
many-to-one : ?4 tane user threadim var sırayla tek bir kernel threadte baglanıolar
çok daha kolaydır yazması
öncelik olanlar varsa onlar baglancak kernel threade
1 thread block olursa diger threadler calısamaz*
bunun en kötü yanı bu arkadaşlar tmm ?
örnekleri :
solaris green threads
GNU Protable threads eveeett
ONe-to-one modeli her bir kernel threadi bir kernel threade baglanır
bi tanesi block olsa digerli devame der burda evettt
concorunncy dediğimiz süreklik devam eder
kernel thread sayısını fazla artıramıyoruz arkadaslar ,kernel thread sayııs optimum olmalı
örn:windows linux
many to many model :
bisürü kerel ve user var
kernel threadlerde hangisi boşsa user threadleri onu kullaır *
daha az kernel var burda öncekine göre
nedeni neydi performanstı evet
örn:solaris prior to version 9
programını yazmak biraz daha zor evettt
4.17
two level model :baz sistemler aynı anda iki model lullanıyor
many to many
ve one to one ı
örn :tru64 unıx
4.18 :
oku bari napak
pthreads unıcxte evet…
bakalım söyle biii…
peki anlatmıyom size ödev
bakarsınız
yazıyomusunuz ödevini ..inceleyin taammı
evettt
windowsu da aynı sekilde inceleyin
4.25 evet peki kodlara bakın inceleyin
ben bunalrla vbakit gecirmiyorum
….
bttti slaty
————
chapter 7 :main memory :
7.5 burda bir memeory var
İlk register var cpu da
base register : ?processin ya da datanın mein memorde baslandığı yeri gösterir
limit registerde 😕ne kadar yer tutar bunu gösterirrr
tamammı
7.6 yı acıklıyo ,biliyon zaten
Hardware Address Protection hani
base adresten kücükse önceki bölgededir
base+lmiit nie yapıoz : o bölgedemi o gelen die bakıyoz
7.7 evet baktık gectik
7.10 diger önemli bir konusmuz iseee
cpu dan cıkan adres gercek fiziksel adres değildir
neymiş arkadaslar,bunun adı logical veya virtual adress ??? dioruzz taamı ***
fiziksel adres :main memorydeki unıteyi işaret ederrr
evetttt
7.11
7.12 relocation register ? naparr*
logical adresler toplar fiziksel adrese cevirir
geciyorumm …
7.16 şekil var main memory var user programlarının yerleşcegi kısım
harddiske kaydedip p1 i harddiskteki p2 yi memeory e getiriyourz
swap in ve swap out ? **yukarda tanımı
7.23 e atladııı hole = ? block of avaible memory
bi process giderse digerleri yerleşir eger boyutu yeterliyse boslugun
7.24
Dynamic stroage_allacatıon problem : **
How to satisfy a request of size n from a list of free holes?
first-fit=ilk bos bulduugn yeree yerleş
best-fit =: Allocate the smallest hole that is big enough;en uygun büyüklükteki yere yerleş
worst-fit =Allocate the largest hole;en büyük bosluga yerleş demek
genelde en alta yerleşiyo videoya bkarsan analarsın
sliding ????compactıon ???? ***
alanları bir araya geitirp klaydırıp ,yeni elecek olana yeterli yer acma tekniginin addır
7.26
segmentatıon üzerinde durmuyoruz evettt
7.36
paging teknigi ???
7.37
sınavda segmentatıon yok paggiig e kadar
evet sınavla ilgiliacıklama yapalımmm
kod sormıcaz vizede ama final de var evett *
finalde mutlaka bi tane gelcek lab sorusu
toplam oalrak 10 soru vize de 80-90 dk
her konudan olcak 1.konudan itibaren
senkkronizayonla ilgili cpok basit 1 soru olcak dedi /// vee race condition nedir die sordu vizede J tmm 😉
——————————VİZE SINAVINA KADAR OLAN YER YUKARDA İDİ ——————-
——————————————VİZE SONRASİ ——————————————
—————————–7.HAFTA 24.11.2015 vizesonrasıilkders ————————————-
vize sonrası ilk ders :
chapter 7 :main memory
kitaba da bakıyonuz dimi ,ordan da sordu gibi bi izlenm aldım :18:30 14.12.2015)
backgroung :
proressorde koşulcak olan program hhardsikten main memory e gtrlir dedik
7.5 çok basit bir op sisyem yazmak isterseniz bun abak
process nerden baslar neree kadar gider
base :nerden başlar process
limit:ne kadar yer kaplar
cpu dan cıkan adres logical dedik
gelen adres base adesten eşit ya da büyük olmalı
eger küçükse process daha önceki alandadır
7.7
..
..
7.10 bahsettik bunlardannn evett
logical adres=virtual adresa neymiş aynı şeymiş arkadaşlar
fiziksel adreste memory ünitin kendisinindir *
logical adresi nasıl fiziksl adrese dönştrcez bunu görcez
7.11 gectş hmn
7.13 ..
..
7.16 ya geldi swap in swap out bahsettik
baska bir proces getrceksen ona yer acmak için yaparsın ya da
işte degştrmk için
…
7.24
gecen hafta anlattık pat pat gecti
7.25 :
fragmantatıon :parça demek
external fragmentatıon :
boş parcaların toplamı evett
ınternal fragmantatıon: internal freagmantatıon boş alanları birleştircen ki ,gelen büyüktü sıgmıyodu
ona yer actık
kullanılabilir hale getrmk boşlukları
boşlukları birleştirmeye sliding yapraak ,compactıon yaparız denir *
daha büyük bir alan yaptık
shuffle yaptım
Pek çok kaynak bölünmeyi dışsal (external) ve içsel (internal) olmak üzere ikiye ayırmaktadır.
Dışsal bölünme tahsis edilmemiş alanlarda kullanılmayan alanların oluşması,
içsel bölünme ise tahsis edilmiş alanlarda kullanılmayan alanların oluşması anlamına gelir.
Bu nedenle ardışıl belleklerdeki bölünmeler dışsal bölünmeye,
son bloklarda kullanılmayan alanların oluşması da bir içsel bölünmeye örnek oluşturur.
Peki içsel bölünmeyi nasıl azaltabiliriz?
İlk akla gelen yöntem blokları küçültmektir.
Örneğin diskteki bloklar 4096 byte yerine 512 byte olsa son blokta kullanılmayan alanlar küçülme eğilimi göstermez mi? Fakat blokları küçülttüğümüzde bu kez başka sorunlarla karşılaşırız.
Disk söz konusu ise dosyanın parçaları disk üzerinde fazlaca yayılmış olur.
Bu da disk kafa hereketlerini fazlalaştırarak performansı düşürür.
Üstelik bu durumda diskteki blok sayısı da artacağından blokların durumunu tutmak için kullanılan tablolar da büyür.
Genel olarak büyük medyalar için performans ön plana alınarak blokların büyütülmesi, küçük medyalar için kullanım oranı ön plana alınarak blokların küçültülmesi iyi sonuç verir.
7.27 :segmentatıon teknigi :var
sonrada paging var
analttcam daha sonra
SEGMENTATION :
*Segment is a contiguous region of virtual memory
*Each process has a segment table (in hardware)
Entry in table = segment
*Segment can be located anywhere in physical memory
Each segment has: start, length, access permission
*Processes can share segments
Same start, length, same/different access permissions
- Segment-table base register (STBR) points to the segment table’s location in memory
- Segment-table length register (STLR) indicates number of segments used by a program;
7.33 atladı
paging teknigi ? küçük parçaları bir araya getrmk uzun sürüyo
bunun yerine bütün iştetim sistemleri paging teknigini kullanıyor
main memoryi sayfalar seklinde ,eşit uzunlukltaki * frame lere ayırırız
7.36 daki herbir mavi frame dir
frame ler 512 Byte ile 16 MB arasında değişir
ama genelde
4 KB 4 KB olarak belirleniyor
7.36 8 frame var saggdakindeher biri frame
7.35
Cpudan cıkan adres iki şeyden olusur
page number bi de offset var *
pagenumber :nereye yerleşecek bunun için kullanılır ,gelen page numarasından
kaç numaralı frame de oldugunu gösteriyor
page tablos page numaraları var bi de yanında hangi frame de oldugunu gösteriyor ***
page numarası + offset bizee gercek fiziksel adresini bulmamızı saglıyor tmm
7.37
boş yer kalsa frame de başkla bir process trafından kullanılamaz o boşluk *** bu çok önemli
boş kalırsa kalsın oralar *
evet tenefüsten önce diin
cpudan cıkan adresin adı neydiii ? 🙂
paginng tekniginde vırtAL ADERS 2 SEYDEN OLUSUR
EVET
PAGE TABLE FRAME NOSUNU BULUYORUZ ,FRAME + OFSETT FİZİKSEL MEMORYDEKİ DEGERİNİ BULUYORR
FRAMELER EŞİT UZUNLUKTA OLMALI
BİR DATAYA AİT BİLGİLERE YANYANA FRAMELERDE OLMA ZORUNLULUGU KALKTI TAMAM *** .;)
7.33
neden paging ?externalk fragmantatıonu önlğypruz
memoryi daha iyi bir sekilde kulanmamıza yardımcı oluyo //final sınavında paging ? die bi soru bekliyorum bakalım nolcakJ
main emroyi boyutları eşit olann framelere bölebiliyoruz evet
7.34 anlamayan yok evet
7.38 : bilgisayar müh olcaksınız ,bana söyleyin şimdi J dedi ve soruyu tahmin ettim quizde çıktı 😀 😉
frame boyurunu cok küçük tutarsma ne olur ?cok büyük olursa nolur? // 2. quizde sordu tmm J 😉
video
cok kücük olursa pageler :page tablom büyür
çok büyük tutarsam 16MB dan 1 B kullandım geri kalan internel sey çok fazla kalır taam,istraff 🙂
7.36 :
diger soru ?
page table nerdedir ?mian memorydedir
önce page table a gidesin main meoryde sonra fiziksel adrese
o halde 2 defa erişiliyor burda dimi main memorye ,bir daha söyleyin nerdeymişşş****
çünkü paga table içinde
bir data ya erişmek için 2 defa main memorye erişiyoruz
7.39
freefarame : boşalan frameler boşaldııkca frreeframeliste konulur
freeframe yei nerde main memorye bakcaz ,boş frameleri main memoryde tutar
evet paging ne işe yarıyor ?nedennn kullanııylıyor anlaşıldımı arkadaşlarrrrrr
yanyana bölgelere yerleşmek zorunda diil dedi //yine terkar etti hoca
final de cıkcak kesinJ
page table adreess :main memoryde nerdedir
bunun için 2 resigter var
main memeoryde page table base register
page table lenght register var bi de uzunlugu için
soru evet
uzunlu
7.40:
PTBR : Page-table base register :page table nerden baslıyor gösterir //2. quizde sordu 😀 😉 nedir die
PTLR : Page-table length register:page table uzunlugu ,ne kadar //bunu da sordu 2. quizde J 😉 nedir die tmm
7.42 :asso memory : cache memory :TLB :transler bilemmne buffer denilen aynı şey //bunu da sordu quizde 😀
TLB yapısını çiz die J ;)işte hani logical ve fiziksel adres felan var ,tlb yapısına bak anlarsın onu cizmemeizi ve acıklama yapmmaızı istedi 😉
Paging hardware with TLB yani tmm 😉
içerisinde bilgi daha hızlı olunur
main memorye gitmek yerine gibi bişeyler dedi hani
bilginiiz cache olayı ,fiziksel memorye gitrmek yerine TLB ye bakarak orda varsa frame alcak ,hızlı olmus olcak
yoksa gitcek fiziksel memorye ,tlbye kopyalayacak onu ;a ynı pagei bi daha arattıgında tlb de bulcak bu sefer memin memorye gitmicek bi da tmm
TLB sınavda ıkmış ,hüseyin öyle dedi J //adam soruyu bildiyala 😀 quzide cıktı haklıydı,sagolsun sayesinde 100 aldık quziden 😀
bu normal cache değil TLB taamı
bu da hız kazandırcak bize,peforamns saglıcak dimi evettt
TLB fazla olmıcak ,arama için zamn kaybederiz bu sefer içinde hani
7.44
örnek var
effectıve adres time video var :
normalde cache siz 200ns
hit ratıo ,cache kullanmanın faydası videoda var örnekte 😉
7.46 video valid invalid bit ın page table :
valid invalid bize ne saglar ?neyi gösterrrr evettt ?
anabellekte ise valid ,degilse invalid yani memory de değil page ***
7.47 shared code :
sadece okunabilen ,ortak olanlar hani
private code and data :
özel olanlar evettt
7.48 shared pages example :
ortak olanlar aynı page e kullanılıyor
özel olanlara sadece o process kullanıyor
share yapılıyo
öbür türlü aynı programı yükler yükler durursunuz 🙂
7.52
p1 outer p2inner
two level paging : Known as forward-mapped page table
examlple var
p1 ve p2 gibi inner ve outer pageler yaparsak sistemi kontrol etmek daha kolay oluyor *
gercek frame numarasını outer ve inner table page table ları kullanarak
2 defada bulmaya calısıyoruz tmm mı ***
7.54
genelde treelevel paging kullanılır yeaani two elvel değil
7.58
inverted page table bunu analtmıcam siz inceleyiniz …*
7.67 e atladık 🙂
ıınter ıa -32 page .. felan
6.nesil yeni intel işlemci var
ödevvvvvvvvvvvvvvv
ödev :skylake mememory menagement ve paging yapısı ? segmentatıon istemiyom
ödev bu haftaya getrn ******
// ödev %5 etkiledi toplam ders notunu ,ben bulamasam da tam isteneni, resim attım kagıda cıktı aldım 100 üzerinden 80 verdi
//velhasılıkelam ödev önemli
//quizlerde %5 etkiliydi ve 2 tane yapıldı
8 aralıkta kısa quiz var ,memry managemet 7 ve 8.chapterlar
ödevlerden de sorabilirzi verdiklerimizden
—————————-8.HAFTA vizeden sonra 2.hafta ——————————-
Chapter 8 : vırtual memory
fiziksel memorye hepsini yüklenmez,gerekli olan kısımlar yüklenir
daha az inout output işlemi vs
virtual memory dediğimizde ne anlıyoruz ?
10GB windows mesela
kullancıının gercek fiziksel memorye gerekli olan kısım
işin temeli buydu ?****neden gerekli virtual memory?
- sart neymiş uyumayın tekrar edin
*programın tamamı değil ,sadce bir kısımı memoryde olcak
*locagical adres fiziksel adresten büyük olabilir dedik 10gb windowssizin main memory 1gb msela
gerekli olan kısmı yerlelştiriyoruzzzzz dimiiii
*birden fazla process tarafında kullanılabilrcek
*daha fazla sayıda program yükleyebilcez main memrye ,ksııtlama kalktı dimi
*daha fazla program kosabilirsin
*daha az input output işlemi olur
page foult neymiş ??main memoryde o sayfanın bulunmaması tamaammı
demand paging deki amaç _?
sayfayı gerktiğinde getirme işleminin adıdır,sadece gerekli olanları gtircen ,geri kalan ********
main memoryde taam mı
avantajlar bunlar tamam mı ..
*daha az mout output
*daha az memory kulanırsınız
*daha hızlı cevpa alırsınız
*daha fazla proces yerleştirisiniz ,more users
lazy swapper ?en öenmliş terim *** bu taammı //2. Quizde çıktı J nedir dedi tmm 😉
ne işe yarıyor,neden yapılıyor bu program
sadece ihityac olunca swap işlemi yapıo ,o sayfaaya ihtiyac varsa main meorye getriyor hardsiten
duruyo normalde boş boş
pager programın adı ,sayfalama işkerini yapıyo hanig sayfa secilcek,ne kadar fayda gelcek
vs bu işlere bakar ,lazy swapperda bnun içinde bir şey taamammı
bu da ne zmn gerekliyse o zmn getiriyo main meorye tamaammı
demand paging kullanmamıza ne zmn gerek olmaz ? *
If pages needed are already memory resident
No difference from non demand-paging
var zaten tamam
memory resident ?valid demek yani ,memoryde bulunuyosa,varsa hani 😉 bit : 1 ise valid
non memory resident ? invalid dimi :bit sıfır ise invaliddi dimi
invalid durumunda PAGE FOULT ?neymiş not in main memory *** taamı
napcaz o zmn swap yazpcaz main memmorye
intelde present bitiydi dimi neyse ..
*page foult olursa napaıo ?nası çözülüyo ? * //bak bu garanti final sınavında cıkcak ,quizlerde sormadı ,üstünde de çok durdu hoca 😀 😉
page fault olursa operating sistem bunu nasl çözer ******
hardiskteki yerini bulcakkk
1-invalidse abort yapar
2-boş free freme bulur
3-free frame liste swap yapılır
4-valid invalid biti ,yoktu sayfa önceden 0 dı ,ama şimdi geldi napcaz 1 yapcaz onu ok. ?
validatıon bitini set etcez
5-artık program koşulmaya baslıyabilir
8.16
extreme case nedir ?memoryde bir processe ait hiçbir page yok .
napcaz
ilk napıo
sayfa bulamıyo page fault oluyo
PURE DEMAND PAGİNG ? hiç bir sayfa yok ,herbirini ihtiyac olanları teker teker getrcez *
hardware support nedeed for demand paging ?
valid invalid biti vardı hani
Page table with valid / invalid bit
Secondary memory (swap device with swap space)v
Instruction restart
prformans of demand paging :(worse case ) ?
state in demand paging (worse case ):
1-operating sisteme git bişey olursa
2-giderken kaldıgı yerden devam edebilmesi için program state ini tut registerda (Prog. counter)
3-page foult oldugunu saptıyo
4-page hardisktede yoksa nolcak ,hardiskte ise locatıonunı bul
5-diskten okudugunu free frame liste al dimi
bunun için
yerini buldu hardsikten free frame getir
evet
6-cpu beklerken bşka işler ypack
7-i/o bitti ,tamamlandı
8-save register and process for other users
9-memorye getrdin koşabilcen artık programı
10-interrupt yapmıstı ,kaldıgı yerden devam etcek artık bittiiii
demand paging kitaptakisoruyu çözün dedi ,finalde sorcakmışşşş ***********************************
——————————-9.HAFTA 8.12.2015 ———————————————————-
quiz olduk
SORULAR ŞUNLARDI : *
lazzy swapper ?
TLB türleri ?
PTLR ,PTBR ?
frame sizeı büyük olursa? ya da küçü olursa ne oLur acıklayınız ?
2mb olursa page sayfa sayısı azalcak ,daha az adres ,daha hızlı
geri kalanlar boşa gtti internal fragmantatıon
derse gectik
virtual memory en önemli özelligi nedir deidk ?
8.5 tekrar ediyo
virtual memry aslında sanal bir yapı
logic memoryden fiziksel memori ayırma işi
sadece gerekli olan program ave datanın yüklenmesi
8.5 okuyo
8.6
demand pagging neydi ? beydi arkadasşar
8.10 a gttiii
sadece gerekli evet
pager vardı evet
evet geciyoruızz işledikkk
8.12
page foult bi da geciyor
anlattı
8.16 pure demand pagging nedir ? hiç sayfa bulamıyon,herbrini tekrar yüklemek lazım
word mesela ilk defa caslıtıryon ,daha sonra gerekşi olan seyleri yüklüyon dimi font vs
locality of reference : ardarda olan bölgelerin getrilmesi iyidir ,çünkü daha hızlı olur
hardware supprot depand pagging ?*
yer lazım,instractıon felan
8.18 anlatıyor bida
8.20 cıkcak felan olayı yine döndü **bu sınvda cıadıysa digerinde cıkar dedi ohca güldü felan
————–
8.22
copy on write(cow)?yazılmışın üzerine bir kopya yapmak (ses record var phone)
başlangıcta hem cgild hmede
Copy-on-Write (COW) allows both parent and child processes to initially share
the same pages in memory
If either process modifies a shared page, only then is the page copied
COW allows more efficient process creation as only modified pages are copied
copy on write nedir ?
hem child hemde parent process bir data file i ortak olarak kulanabilirler
o halde share yaptıkalrı o processte değişiklik olamzsa hardiske yazılamsına gerek yok
değişiklik olursa page copy yaparız harddiske yada cache
dirty bit
sadece değişenler kopyalanır
zero fill on demand nedir ? hadi bakalımm nedir
bi sayfayı hiç getirmemişiz main memorye
onu bulamzsınız orda
buna denir
sııfrdan itibaren bunu main memorye yüklicez
pool:main memorye de dğil
havuz yani ,bulundukları yer
free frame olması lazım ki hızlı bir sekilde yükleyelim
free frame yoksa yapcaz? victım deccez tamam
why zero out a page before allocate it?
ne faydası var
vfork() fork()
parent ve child processlrle ilgili
bunalrın gecti…
labda gerkirse yapzrız dedi
child yada parettan bri sayafayı degtrrse ne olurmuş ,kopya yapılırmış
degişen sayfalar
okuyo ne bilim..
sayfaları cok hızlı istioysan
free frame her zmn bulundurulmalı pool da *
free frameler rasdgele bol keseden kullanılmamalı
free framei diger processler kadar
zero out : o page in içini tamamane boşaltmak
fork gösterilmiş burdaa
8.23 sahare yapbliyorz
8.24 c de bir degiklikl yaprsa copy of c dio daha sonra kullanıyo ınu
8.25: bütün framler dolu ise napcaz ?
bir algortma kulalrak bir victım opage seccez
8.28
Victım frame seçme algoritmalarııı : Page and Frame Replacement Algorithms :
8.32 FIFO :
3 degilde 4 tane olsaydı nolcaktı frameler
kaç tane page flıut kac tane replacement olur ?
evet yapın şimdi
frame sayısı artarsa sayfa hatası azalır
beladys anomaly :sadece bu algrmada var
sayfa sayısı artsa bileeeeee bazen daha fazla sayıda page foult olabilirrrrrrrr
8.33
8.34 cok zor geçtikkk ..
8.35 lru : least recently used : isminiz gibi bilceksiniz 😀 sınavda cıkcak yani finale bekle adamım J
daha perforsmanslı page folut azaldı,daha az bilgi geldi page geldi main memorye evett
8.28 e geri döndük evet ,page replacement nedir derseeekk ?
evet adımlar var burda dirty bite bkaarsın ,
dirty değilse bir sayfa onu swap out yaparken hardiske yazmıcaz
0 sa yazmaya gerek yok
ama 1 ise hardisketkei o sayfanın yerine yazılcak
3-bring the.valid invakd degstcez
4-işlemeye hazır şimdi
8.30
page replacement algorması neden ? en az page fault ve en etkili victım secimi için
8.35 dei seyi 5 framele yapcaksınız ***yapın bkalım kac page foult olcak ,ödev değil yapın ama
8.36 en az kullnılnı nası belirlicez ? iki yöntem var
bir yöntem counter implementation*
digeri stack implementation *
8.36
referance bit algortmasına :nası calısyo tarstısn ?fealan dedi sınıfta
- With each page associate a bit, initially = 0
- When page is referenced bit set to 1
- Replace any with reference bit = 0 (if one exists)
We do not know the order, however
second chance algorthmn : ne anladık bundan evettt
söyleyin bkaalım hadi
sık sık kullanılanları victım oalrak secmyor
bi da kullanılır belki die ikinci bi şansa veriyom,memeory de kalması içi sanş daha veriyo
ama ikinci defada referance yapılmamaıssa napıo victım seciyo
acımıyo tmm
8.37 anlattı hoca tahtada cizerek ,sorabilir
8.49 a atladı
page fault artarsa
sürekli page raeplamcent ,page foult yüzünden bu
trashing :çöpçülük
8.49 önemli
trashing :cpunun iş yapması yerine page foult oldgu için
sürekli olarak swapin swap out yapıo harddisk main memory arasında
sürekli yer degştirmesine çöpçülük denir
cpudan faydalanamıyoruz verimli olarak
yer yok die aynı framei çok sık getiriyoruz
trashingi önelmek için ? *** main memoryi yükseltiriz tmm
yetmiyo hani sürekli hardisken alıyoz swap yapıoz olmuyo böyle cık cık cıkk 🙂
ama bunun da bir sınırı var
trashing dedigimizde ne anlıyoruz ;? //final sınavında bekliyorum bu soruyu 😀 bakalım nolcak
belirli bir yere kadar program sayısı artasa iyi ama
bi yerden sonra iş yapmaz hale geliyo cpu
grafige bak
8.50 grafiktre bi yerdn sonra cpu artık swap in swap outtan kafay yio
8.51 bıdı bıdı
peeeki
——————————-10.HAFTA 15.12.2015 ———————————————-
8.14 le başladık
page fault
..
bahsettik hep
8.20 bast bir hesap yaıkkk
8.22
copy on write nedir ?
hem child hemde parent rocess bir data fieli ortak olarak kulanabilirler
o halde share yaotıkalrı oprocesste değişiklik olamzsa hardsike yazılamsına gerek yok
değişiklik olursa page cpoy yaparız harddiske yada cache
dirty bit
sadece değişenler kopyalanır
zero fill on demand nedir ? hadi bakalk nedir
bi dayfayı hiç getmemişwniz man memorye
onu bulamzsınız orda
buna denir
sııfrdan itibaren bunu main memporye yüklicez
pool:main memorye de dğil
havuz yani ,bulundukları yer
free frame olması lazım ki hızlı bir sekilde yükleyelim
free frame yoksa y-naocaz ? victım deccez tamam
why zero out a page before allocate it?
ne faydası var
vfork() fork()
parent ve child processlrle ilgili
bunalrın gecti…
labda gerkirse yapzrız dedi
8.24
ortak olarak kulalnabilir
değişirse napış kopyasını alıyo
C nin almış
çünkü değişmiş
kopyasını hardiske yazıcaz
eski hali hafızadan siliniyor
….
8.29
görüdk anlattk
8.32 yaptık
8.34 durmaıdk
8.35 framei en uzun süre klualanlmayanı nasıl buluruz ?ya counter ya da stack kullnacaz tmm *
8.37 örnek yaptık
soru varmı
gecen hafta verdik
clokta ise clok vardı
referance yapıldıgıda sıfırlanıyordu ,yeniden kulanıldıgı için
artıyo normalde
8.38 de napyıodık
fıfo gibi düşünebiliriz gerekirse dedik
eger bir page daha önce kullanılmışlise ise buna bir sans veriyoruz
yakın gelecekte kullanılır belki die
eger değilse replace yapıoruz
8.41 ..çok kullnır bişey d
LFU :en kısayı secez burda kullanılamyan
en az kullanılmış
MFU :en kısa ama ,en sık kullanılanı seciyoz bu sefer
bunlar çok sey diil
algortmaları uzun zmn alır o yüzden …
dedi gecti
8.42 page buffering algortihms :anlatıyo
free framelrein bulundugu listeye pool denir .
frame ihtiyacı varsa kullanıyoruz burdan
boş frami bulduk napcaz
read page into free frame
free fraeme yoksa yer acıyoruz victımla
free fraemleri buffer olusturarak yapıorz yani
geciyor paso
8.44 e kadaar gecti
2 tane major allocation schemes *** // tam sınavda sormalık duruyo he 😀
-fixed allocation
–Equal allocation
–Proportional allocation
– priority allocation
8.45 fixed allocatıon
equal allocatıon 😕
bir process veya data
bütün processleri veya data filelerına biz eşit miktarda frme ayırıyoruz
ne özellikte olursa olsun
boyutuna bakmadan hepsinee eşit boyutta frame veriyoruz tmm
equal allocatıon buydu
proportıonal allaocatıon ne peki ?
processin byıuna göre frame ayırıyoruz herbirine
tmm
bu faklı
dinamik bu
formulu okudu
bak buna yine
biri 10 birii 127 uzunugu processlerimin
formul sorar belki ya bak yiinede
anlasıldıgımı arkadaşlar
proposital dah faydalı oalbilir
8.46
Priority Allocation :
lower priorty olansa alacaz onu
digerini şeetcez burda
hight proorty olanı yerletircez buraya onu yerine taam *
anladıkmı
8.47:global vs local allocatıon :
global replacement 😕
ne zmn yapılcak
..
tüm frameleri dikkate alıyoruz
bir process diger processten page replacement için frame alıyor
isteyen istediginden kolayca alıyo
bu da performansın artmasına neden olur *
thoughput konusunda özelikle tamam
local replacement:
ne zmn yapılcak
bu sefer processin kendi içinden frame seciyon
öbüründe neydi başka processten seciyodu kendini ellemiyodu
ama bu kendinden alıyo
5 fraamei var dielim
1 ini victım seciyo tmm
memory i düzgün kullanmaya çok izin vermiyo
burda perfonmansı kendine ait hani
memory kulklanımı cok verimli diil bu yöntemde evett
8.49:thrashing :
gecen hafta söyledik ama tekrar döndük
main memoryde bir process yeteri kadar sayfası yoksa ve sürekli olarak ta sayfaya ihtiyacı varsa
sürekli page falut oluscak
page replacement yapcak
page foult olursa mevcut olan bir frame le yer degstr
ama aynı framei bir daha kullan vs hardiskten al
sürekli hardsik main memory arasında dır dır dır dırrrr
napcak bu :
cpunun asıl işi yaomasına engelolur
operatgn system srürekli bu iş için caıscak
process artınca da nolcak
bu sürekli yer degistrmeye çöpcülük :thrashing denir
threashing :8.50
multiprogramin aynı anda bi sürü program kosaşrsan
belirli bir yerden sonra page bulamadıgı için ,sürekkli swap in swap out yapcak
iş yaomazz duruma gelcek zmnla
napcaz bu duurmda 😕
ram küçükse ram büyüt
ama bu da çözüm tam deil
8.51 :
why does demand paging work ?
locality model den bahsedioz ..harddisten memin memory felan
(alıntı)
bu modele gore bir process calisirken bir locality’den digerine gecer .
locality bir process’in aktifken ayni anda kullandigi page grubudur.
ornek olarak bir subroutine calismaya basladiginda kendisine yeni bir
locality tanimlar, lokal ve belirli global degiskenler icin hafizada reference acilir,
ve subroutine boyunca ayni page’ler kullanilir. subroutine bittiginde
process de bu locality’i birakacaktir (sonra tekrar donebilir).
Why does thrashing occur?
? size of locality > total memory size
size of locality >total memory size
thrasing artar
local ya da priyrto ile bunu bi miktar önleyeilir lab lub
8.53
working set model ?
page foutl azaltabilirmiyiz die hani
soldaki sayfaları referans alıyo arada kalanları
sonra da baslka bitr sayfaları referans alıyor
bunları victım oalarak secmiyom
bi dah kullanılır die hani
WS(t1) dısında kalanları seccez
belilri bir süre gecince
workin set i degtriyoz
onun içindekiler hiç victım olmıcak
belirli bir süre sonra set degcek
page foult rate ini ayalıyoz tmamamı ?
bu süre cok kısa ya da uzun olursa nolur ?delalyı yani
delta süre yani
cok kısa olursa az sayıda sayfa var demktir
srüekli page
çok olursa page foult olcak yine çok sayfa olcak
bunun bi optımum degeri olamlı
d>m arası ne kadar azsa o kadar iyi 155 150 mesela
working set :bizim page folut sayımızı azalmak amacıyla kullanılrı
eger
8.54 okudu gecti
8.55
PFF **
page folut frequecny 😕 frame sayısı artarsa azalır page foult rate
frame sayısı azalırsa da artar
ve ya working set ayarlıcaz dimi
More direct approach than WSS
Establish “acceptable” page-fault frequency (PFF) rate and use
local replacement policy
If actual rate too low, process loses frame
If actual rate too high, process gains frame
8.56
working set kısa olursda az sayıda sayfa aldıgın için sürekli page foult olur
ıyy..
working setin içindeye daha az page foult
dısındaysa daha cok page foult olur
….
8.75 e atladı ,gecti
windowsta şöyle ..
böyle felan
workingset minımum birde mesela 250 page
workingset max degerleri ayarlanıyo mesela 350 page
oyun programı için emsela en az 600 olcak max 800 dio mesela
gereksinim bu
Uses demand paging with clustering. Clustering brings in pages
surrounding the faulting page
Processes are assigned working set minimum and working set maximum
Working set minimum is the minimum number of pages the process is
guaranteed to have in memory
A process may be assigned as many pages up to its working set maximum
When the amount of free memory in the system falls below a threshold,
automatic working set trimming is performed to restore the amount of free memory
Working set trimming removes pages from processes that have pages in excess of
their working set minimum
free memory yoksa otomotik working set trimming yapıo
boşaltıyo vs
page replacement tamam
gereken yere kadar
tmm arkadaslarş
windows ta böyle
3 tane sey var burda kalın yaızlı onlaır anlattı hani
solaris nası yapıo bkaarsınız sizzzzzzz
…
tekrar
8.57 gecti okuyo bakalım nolcak
mapping
demand paging ile okuyo bşalangıcta
okuyo
o halde sayfa boyutunda ,page size hani yüklencek
ardarda okuma read/write .. peki
napcaz bu durrmda
aynı file memeoryde share yapılan sayfalarının
shra yapılabiliypo yani memry mapiing teknigiyle
diskede yazılmalı memory mapiing deki sey
8.59
ortak herhangibirinde bişey yapılırsa
ikisine de yazıılıyo gibimbişey dedi bak anlarsn
memory maping dedigimiz
memorye hepsi kullanmıs oldgu filelar yerleştirilmiştir peki
8.60 shared memeory aynı yer
burda farklı görünmüş evett…. peki
8.61 :windowsta share apı nasıl evet…………
okuyo anlatır gibi hani
create file yapıoruz handle la return yapıoruz
createfile mapiingle mapiing yapıoruz
mapviewof file ildde de kulanılyoz
ktabınzda var
bakarsınız arkadaşlar
tmm çok şey değil
————————————————————
Chapter 10 a atladı: File-System Interface :
kuallanıcıya görünen yüzü..
..
10.4 file nedir?
Contegious logical adress space
bitişik evet..
kac tür data var ?data types ? 3 türlü
numeric :1,2,3
character :. , !
binary:010101110020 gibi
file türleri ?
text
source
executable :programdır
peki..
file attırıbutes :10.5
name :
identifier :her file e bi tane file number verilir,kimlik nousu gibi
type :ses mi video file mı
locatiıon:file ın oldugu yeri gösteren
size :sizeının gösterir
protectıon :sadece okunabilimi vs
time,date and user identifificatıon : user iden :sahibi kimdir hani
okuyor hepsini
..
bla bla
10.7 file operatıons :hangilerini yapmıyonuz evet .. klasik lab lub
create
read : pointer var nereyi okuyn die hani
write :poineter var
repositiıon within file :seek :
delete:
truncate:filein bir kısmını silmek,lünuxta var
open():ceeate yapılmış bir file i acarsın
file ı memorye yüklüyosun
close():kaparsın ..wod gibi
değişiklik arsa kaydersein evett
10.8 open files :
open file table: hangi fileler acık sistemde ,bunu gösterir
file open count:sayısı hani
disk locatıon of the file:
acces rights:
10.9 :open file locking :
shared lock = reader lock : ama isterseniz okumayı engellersin
exclusıove lock =writer lock :yazı yazılmıyo dosyaya, o an için ama,yazmayı
engellersin
bunlar gecici ama tmm *
bir dosyaya erişimle ilgiili iki ytenkik var ***
bunu untumayonuz *****************
mandatory :zorunlu .kilitlenme durumuna göre o an için engellenebilir,zorunlu bir
engelleme yapıosun
dosyaya erişimi kesnlikle vermiyon mesela
advisory :danısmanlık yaparak,process kilitlenme durmuna bkıyo
isterse erişir isterse erişmez
karara o an karar veriyo
10.10 bakın buna …lab lub
10.12 batch :dosyaların ardarda kosulmasıdır tmm
sırayla
hepsi aynı anda deil
bakıyoruz öyle
dosya cestleri tabi
bunalr bu kadar diilll sorusu olan felan lab lub
10.13 :file structer
simple record structer veya complex structer olustursun
simple record structer : basitte : işcili az,linelar seklinde okursun mesela
ve belirli bir uzunluk verrsin her bir kayıt 100 byte olcak fazlaısnı almıcak mesela
fixed lenght olursa internal olur,geri kalan boşa gider
line skelinde yazmnın ne şeyi var ?
variable lenght :
Lines
Fixed length
Variable length
complextestryucter: wrod dosytası gibi
fontlar farklı osyalarda felan
karısık hani
peki
Formatted document
Relocatable load file
simiple mı complex mi kullancam bunu kim secer ?
op sistem ve
program ayarlar bunu
ikisine baglı
10.14: Access Methods ?
Sequential Access
ve
Direct Access
Sequential Access bu ardışıl bu işte
bu nerde kulanılrı teyp bantlaında kullanılrı demşştimya hani gectik hmn
file yerini bulur okur ileri geri giderek
10.15 direct access ise:harddiskler cdler flush memoryler
direk erişirsiniz
sequantıal adres içim plıyo geciyo
heposnii bunlar gibi yaparsıbilrisiniz işlemler. …
lab…
10.17 Other Access Methods :
index file system ? var bi de arkadaslar :
asıl file ile ilgiili bilgiler sagda
filea isim verrsin direk ona erişirsin pointer gibi
daha kısa olur
last namini tut mesela bi sürü notları vs var o kişinin
kayıt numarasını bulup ona dogrudan erişiyoz
öbür türlü herşeyin memorye yüklenmesi gerekiyor
index file buluyosun onda erişiyon
kitap gibi sayfada nosunu bul
oraya git hani
herşeye eriş pejl
———————————————–11.HAFTA 22.12.2015 ——————————————–
bu haftaa
chapter 10ve chapter 11 i bitirmek istiyorum bugün ..
chapter 10 . File system interface
işte ne demiştik filein tanımı ?aslında
biribiriyle ilişkili bilgleri içeren bir yapı
data ya da program file olabilir
data filelar sadece nümerik olabilir
charterde ? ! gbii şeyler
binary var bir de 0 ve 1 lerden olusur
file tipi nasıl olcak? 3 tne varrr evet
file attiributesleri nelerdir ?
name i var
identified vs.
file la ilgili bilgiler directory struıcterda tuulutr *
evet
file opertarions var ?
okuyo sorar mı sorar *
create delete vs. hani
sorum şu? create a file open ea file close a file aranıda ne fark var ?uyumayınn die soruyoum
yeni bir dosya
hiç acılmamıs
create yapılmamıl bir file i open yapamazsın
open olmamaışbir file i close yapamazsın
open ypılmmş bir file e write yapamaszın vs
bunlar hep baglantılııı
dimiii
close ne zmndı ?dirty bit olursa
open files:
file ları yöntnmede bazı datalara ihtiyac var
open files :
Several pieces of data are needed to manage open files:
- Open-file table: tracks open files
- File pointer: pointer to last read/write location, per process that has the file open
- File-open count: counter of number of times a file is open – to allow removal of data from open-file table when last processes closes it
- Disk location of the file: cache of data access information
- Access rights: per-process access mode information
OPen file table :
benim o anda acık olan filelar hagileri ,bunu gösterir
görev yöneticisi hani
açık olan filelar acıtıkca open file table a eklencek tmm
excel mesela eklencek tmm
File pointer :acık olan bir filedaki en son okudugujm yer nereyse orayı göstercek tmm
word de en son nere tıkladın emsla bu
File open count : neydiiii ?
gecen hafta dedikk
bir dosya kaç defa acıldı
bir oyun bir ses file ı ne kadar acıldı peki
disc locatıon of file: filen disteki yeri
access rigth :write read vs hakalrından hangileri var
Open file locking ne demek : ???
Açık dosyaları kilitleyebilir bazı op. systemler
reader wtriter olur
shared lock : similer to reader lock tamammı ,çok kişinin okumasının engellersin
1 kişi okur
exculusive lock :writeter lock ,çok kişi yazamaz
1 kişiye hak verirsin
mandatory: zorunlu erişimm engelliyon
advisory:isterse kulllanıcı izin verebilir veya vermeyebilir
koda bakın demiştik
gectiiii …
file structer genelde nasıldır
simple record structer ya da comlex structer olabilir
cok basit bir op system
file structer olsutrabilirsin
sadece line veya fixed length
fixed leng h olunca noluyo ?*** sprud cevabı var
fixed daha kolay hangiis kolay dedi ?
ariable ne zmn ?siz yazdıkca olur boytu felan
compelxtte structer :wrod excel gibi baya complex
demi arkadaslar
recocatable load file:bi kısmı yüklenir filein t
simple mı complex mi op sistem kaara veriri buna karar verir
veya programa baglı nasıl bir yaı kullanıyo efendimmm
muhasebe prog meselasabit fontlar vs
hangi tür acces metordları var filelardaaaa ?
sequentiıla -acces var t
typlerde
o ve 1 ler halinde kayıtlar sırayla yazılıyo
siz gitmek için okuma için , kafaısını ilerigeri yaparak bulursunuz
bir de direct acces vmetodu var?
hardiske direk erişmek tmm arkadaslar
ileri geri sarma yokdirek erişiyo
diger acces metodları ?
kullanılmıyo
yıllar önceydi tmm ISAM vs
VMS linux ünıx vs okudu hmn gecti
tırk
yapı söyle
asıl dosyaya indexle erişebiişiyoruz
index file smith olayı .
özete devam edelim
koca bir file i armak yerine file nosuyla erişeiriyoruz hızlı br şekilde
directoroy structer ?
en basiti bu sekilde
bütün fişlelar burda napmış
yerleşiyo
- birgruplanma yapmazsınız
armut grubu su gurubu giib fileları directroy ayırmaazsın
aynı isimli uzantılı file yapamzsın burda tmm
Disk structer :
şimdi su ikisi arasında ne fark var
?A typical fdile system org :
sol da iki fiziksel 1 tane ama
logic olarak 2 yte bölüyosun
directrouy structeraları tmamaen farklı peki
sagkdai ise
2 disk var ama tek directoryle control ediyosun tmm
biri sistemde her ikisi de bulunabilri tmm sorumuz varmı
gecti arayı
e gecti
operatıons performed on directory :
bir yaptıgımız işlemler neler ?
okuyo ypanbaliyosunuz diorr
daha etkin kulnamka lazım
naming isimlendirme için dimi
different filelar da bazen aynı kullanabilir
gruping ne işe yarıyor ?file sisteminin daha etkin kullanımını saglıyor
single level directory :aynı seyden 2 tane aynı kulanamkyon
en basiti bu peki
burda isim ve gruplama yapamıyosun tmm
two level directory :elmalar solda armut dricetorisinde bu toprakta bu
a hepsinde yer alanişlyo
boyutalrı başka ama aynı isim verbiliyosun
gruplandırma da yapabiliyosun
testler data lar var dimi
aynı grupta veremiyosun aynı adı ,a yi mesela
farklı directoy de verbilrisin
tree structered directories var burda :
yuvalrak olanlar dosya 4 köse olanla r directıry bunu unumuyonuz töö sembollerde
oklar bir diretoyri işaret ediyor tmm
windowsta 256 tane iç içe directory kullanabilrisiniz
ama 12 13 den sonra verimsiz olur ..
accylieg ve general e gecti ara verdi ..
acyclic – graph directories : ortak ile üzerinden iş yapısan o kullanılır
burda ki yapı 2 ayrı directory aynı file o ortak oalrak kullanıyor .
count isimli 2 kullanıcı ortak bir file uzerin e calısıyosa aynı anda
directorye grebilriler,shared yapablirler
aynı directorynni kullancııs bu yapıda
general graph directory ne farkı var bi öncenkindenn ?evet
avi de book üzerinde hakkı var
ortak file da kullanabiliyor
geri dönuyor farkı bu ,
hem bu bunu kontrol ediyor,avi de kendini kontrol edeni kontrol ediyor
count
peki
yeni bir konu
file system mountıng :
mount yapılması : degikşk nitelikteki , işlerle ilişkili olan file sistemlerinin birbiriyl baglantısında söz kousu olablir
linux fileini windowsta kullnamak
mount ney ?montaj yapmak ,baglamak demek dimi
mesela ıos ta ypılan bir dosyayı lınuxtaki bir seyle baglamak gibi tmm
bill linux mesela
fred windows bagu tyok
baglıyosun bunalrı
farklı dosya ceşitlerini pek
peki
file sharing de ?:
özellikle cok kullancıılı sistemlerde
servera herkes ulaşşınmı?
herkes yetkisi olmamalı
protectıon o dosyaı koruma
kim kullancak özellkle dagıtık sistemlerde bizim cok kulandıgımız
NFS: network file system var
microsotun server programları kullanbilmekte
2013 bu sistemi kulanbilmekte
Multi user sistem ise :
USER ID: her kullancııya kimlik veriyosun ,id hani
hagi tür izinler neyi kulancak doksyalar ve directory hakkında
netür bir şey peki
group id: isterseniz bir grup yaparsınız 3.sınıf bilgisayar grubu gibi
bir şirkette muhasebe grubu üretim grubu vs gibi grupalndırabilrsin
bu gruplara da istefiginz erişm hakkını verisniz
owner a file(directory:
her kullancıın owner ı olcak
group a file /directory:
Fİle sharing -remote file sharing :distrıbuted file sytstemle otomaotik ypaarsın
file paylasımını
file içerigini herkes kendi bilgisayarına alır otomatik oalrak
clinet server :biliyonuz
peki
neyle yapıyoru threadler le dimi , aynı anda kullanma vs olaylarını
- NFS unıxte var : NFS is standard UNIX client-server file sharing protocol
yavas yavas windoesa gecti
CIFS :okudu tmm mı dedi
NFS sş deyavasca içine aldı atmm
Disturubtred inf ssytem nedir ?dioruz
LDAP vokudu gecti
uzakrtan bilgisdayar eriimlerinde oldukca fayfalı odsya yönetim ssitelerdir
file shared-failure modes :
file sharing de hata modları nelerdir ?
hataya erişme modları
bir dorcetory structer bozulması veya user olamayan bir kulancınn kullanılması metadata dır
işimize yaramaz bu
nabıcaz arkadaslar
bir file eklendirginde hata modları ortaya cıkabilcekrtir
network baglantısı kesilir
serverda calısmıyo ise
serverda bi problmden doalyı failur modealrı olabilirrrrrrr
failur oldugunda recovery yapammaız lzım ?
recover nedir ?bir probmei ortaya cıktıysa onu özmek
yeniden düzeltme casımasıg erkir
recovery iin
stste informatıon bilisaien hiyiyacım var?
hagi durumla ilgili bir hata v
bu hataların düzeltilmesi gerekiyor
bu arkdaslar özellikle vs..
semantic? yazım metodları dmktir
file sharing-consitency semantıcs =durum :
uyum semantikleri bir deee
sessıon semantıcler vardır arkadaslar
file sharing de iki yönetm vardır
session semantık :oturum semantigi en basit file paylasım teknilgi
bir file ı actın deilim
ebrarın kimlik bilgilerini degtsriyon
aynı dosyayı 5 kişi actı
shared yapıo,kullnıyor bu 5kişi
burda olan şu
herkes degilikil yapı ,kimin ne yadıgı belli diil
kapatıp acınca görürsün
kpatıp acılınca değişikli gmrünüyor tmm .
kapatınca görüyo ,ne zmnmışş ?
ama conssitency semantik:uyum semantigi yine 5 kulamcnı var
hangi kullancı degtiklil yaoarsa digerli bunu aynı anda görebiliyor tmm
işciliği fazla digerinde bilemiyodun kim degştirdi die
proctecıtın securty neydi ? proctectıonicerde koruma
securyt dsardan dı dimii 1.snıfta gördük
eger bir dırcetory append kread vs bunalr hep hak tmm
kim napcak tmm
belirli grup yadakullancııya directorylerle ilgii access typealrını verebilrisiniz
owner acces gruo acces public acees var
1 olanlarv erilmiş haklar tmm
köse soru soruyo:file pen count:bir dosyaın kac defa acıldıgını söylüyo
file system implement :
chapter 11 9.slayta gectimm
boot control block nerdedir ?bilgisayarın başlaması için
op sistem bu blocktan başlıyo
fisrt bolk hangisiymiş arkadasşalr?boot control blokck
volume control block vardı ?superblock ya da master file table ? adını alır *
volume dediginimiz a partıctıon b partician dioruz dimi
harddiskle ilgili bilgiler
kaç blocktan olusur
block szie ı
free block pointers göstern pointerlar ve arraylar
o halde diretory structer file i organize eder
file sistem implemet(cont):
her bir filein bir file control blocgu vardır
FCB ? * her bir dosyanın bir blogu var wordeki bi dosya düşün mesela tmm
içi bomboş olsa bile olsutudugun anda olur FCB olur tmm
ne bilgiler var
file permisison:izinler
file dates: ne zmn olsuturuldu
ne zmn erilidi ,ne zmn erişildi ?ne zmn yazıldı içine ?
ownerı kim _kişi mi yoksa grupmu
file size ?
file data blockarı
pekiii
unutmuyoruz boot control blok*****
op sistemin yüklenmesi calıstırılması için
volume control block:
hangibilgiler var bunu anladık unutmuyonuz
peki
her yeni file olusturulduugnda FCB NEdir
bunleri içerir dedik
peeki
başka neyimiiz var
11.12 in-memory file structer : —–àsu resmi anla,cizmeli soru finalde gelebilir belki ,2 defa anlatmıs
open file yaptıgımızda directoy nin içerisinde ki filein yerine gidiyosunz
FCB ile o dosyayı buluyousnuz
o dosyayı getrip acıyosunuz *
değişiklik yaparsanız vs
bunu sorar belki
directory structera gidp buluyoruz
main memorde degşklik yaparsan directorye kaydedip cıkıyon
tmm
size ı felan degsşrse felan dimi
11.12 asagısı okumayla ilgili
nasıl okucaz ?
read dioruz
her bir process içm onun bütün sistemde ki terini buluyoruz
ondan sorad da FCB ile acıp ilgili data bolga erişiyoruz
hardiskte neredeyse
soranra main mekorye yükleyip okuyoruz
11.19 Allocation metods : //tam finallik bir soru gibi duruyo 😀 bakalım tutcakmı tahiminimm
3 farklı yinetm anlatcam size hardsikerli naasılll
Dosyalar hardiske nasıl yerleşyioır,analtmaya calıstıgımız bu
Biri bu contıgıgus allocatıon :
bu metodda
dosyalar hardiske naısl yerleşiyor
aynı file i yanyana bitişiik filelara yerleştriyoruz,yanyana tmm
sago sgösteriyo directorylerimiz var dio
count isimli
meslea
list isimli dosya 28 nolu blocktan başlıyor uzunugu 4 müş
kendiis dahil 4 blogu totalde 5 bloga bakın
yanyana yapmış
17 18 boş vs arada boş blocklar var
burda arkadşalar sey ş ?mutlala yanyana olmak zorunda
7 blockluk bir dataya yer yok ,o olmaz mesela olmaz
Bunda mutlaka yanyana bitişik olak zorunda ,tmm arada boşluk olmazzzz
contıgus neydiii ? evett tmmmıııııı
işte bunu yerine demişlerki
diger bir şey
Linked allocatıon :11.24 blocklar yanyan olmak zorunda diil burda tmm
İçinde bir sonra gitcegi blocgun numarasını tutar herbiri tmm .
boş olan blocklaardan kullanırsın ,
9 içi 16 olcak yanlış
16 ının içi 1 olcak
bir sonraki blogun numarasını
10 da 25 olmalı yanlış tmm
linked liste
-2 dosya bitti demk dimi
FAtlare cok kullanılyıo bla bala 11.25 iş okudu gecti
baktı gecti
kullanıyo bunu bil yeter sanki
diger bir şey yöntem ise
11.26 :
indexed allocatıon :bunda şöyle bir sey var
11.27 bir tane blogu komple block olarak ayırıyorusun
index komple o block ona ayrılıyo tamammı
yenisi geldikçe
25 gtt mesela -1 olcak felan
eklendikce
11.31 :biraz daha gelişmişi var
outer index-
2 lisis table modeli var dedi gecti
gecti biliyon yani ama tam sıcvnalık calsı buna .
combined scheme :ötnek mis unoxte okudu
önmzdeki hafta free spaceden
cache yöntemlerinden biraz bahsedip
11.in en basına döncez
11.5 hardistir
—————————————12.HAFTA 29.12.2015 ———————————————–
file block vs anlattık
File control blockta neler var ?sorar bunu
genelde bu bilgiler olur dio
Allocatıon metods -contıguous :
file alocatıon metod ne demk:?hardiskte nasıl yerlestrcm fileları
degişik metodlar vardı
bitişik contigıuos :yanyana olan blockarlda yer alamlıydı file
kedisi dahil 6 blocktu
en basitbuydu
sakıncaları vardı .büyük bir file gelrise yanyana sogmıyordu
bunun içinn
linked allocatıon kullanılsın dedik:
pointer gibiydi hani
sonraki block hangisi bunj link oalrak gösteriyorduc
yanyana blockyta olma zorunlugu yok
farklı yerlere dagıtılınca nolcak
disk kafası sürekli hareket etcek
dezavantaj bu
blockalar cok dagtılırsa sistem hardiskten okumadan dolayı yoruluyo
disk fragmentatıon ile bunu performansı artırıyruz
file allocatıon table :
winsowssa fat degilde daha gelismişi kullnaıyo
FAt ta bir fileın size en fazla ne kaddar
FAT32:32 bit demek en fazla 4 GB yapar boyutu dimi
NTFS de de aynı bu
exFAT –>64GB a kadar bir dilenın boyutu olabiliyor
extra bi bilgibu
IOS–>exFAT kullanılıyo gibi res die bişey
kitapta bulamayabilirsinz
exaple od index allocatıon :bu sekli göstermiştik tamamı
fcfs gibi bişey
SSD lerde file allocatıon nasıl yapılıyo ?bunu konusacz birazdan
11.32
11.33 performans acısından hangisi iyi ?dersssek
contıgus vs
indexed daha komlike
bi sor var
okudu gecti
file yerleştrime metodları bi da dedi ?3 tane saydı ama bi da bak
11.35 .
free space management:
disk üzeinde boş olan yerleri yönetmemiz lazım
bir yöntem
bit vector or bit map :1 se boş ,0 kullanılmış tmm
neymişş isimi söyleyin bit map ,bit vector tmm *
11.36
4kb lık biloklarda 1 terabytan kaç adet vardır
diger bir seyde
11.37 : Linked list (free list) :
baglı liste olarak bir sonraki
free space surdan başlar diosun
2 den itibaren boş blocklar başlıyo diosun
boşalırsa da
linked list amntıgı gibi tmam
diger bi metod:
grouping :2 de kendisi dahil kactane boş var ona bakıyo
4 tane boş var yanyana olann
2 de ben hariç 3 block daha var dio
bir sonraki free block 8 den balıkyo dio
8 den 13 e kadar 5 blok var dio benden sonra
bir sonrki free block grubu 17 numaradır dio
17 ye gelince
grupluyo tamam
2 de meseka 3 block boş kendimden gayrı bilgisi var bir deee
bir sonraki free grubun başlangıcı var 8 in tmm
free space management yöntemleri ne gördük?3 tane tmm *** cıkcak yani böyle dendiyse 😀
11.38
countıng var :ilk blıcgun adersi + kendşnden sonra kac blokc var
bir öncekinden farkı bu
kendi dahil bunları tutuyo +bir sonraki blockta tuutluyo
gruoine pointer var yani mantıgı
11.39 sıgması için countıng algotması kullcaz işte
4 bilemm ne sıgmıyomuş felan
11.chapter fikr sstm baızı yerleri atlamıştık
bi daha enn başa döndük
file systemnerde?secondry strorage
11.4 e gecti yani
fcf den bahsettik zaten
device driver :hardiskin markasına göre kendi dvice driverı degişebilir
11.5
layered file system okuyo
bu file ı olusturrken bu sekilde dizeyn yapılır peeki
device river :en alttaki fiziksel devire kontrol etmek için device driver lazım
her bir deviceın vardır bundan
11.6 ..
basic file system napıo ? *
123 numaralı blocug getrr komutunu kim veriyo .
bu komutu devie driverınkendş anlcıagı makine diline ceviriyo
bunu yaprsan
bufferları doldurup boşaltmak gibi özellkleri de vardır
bufferin görevi ne ,tek yönklüdürg enlde
burdaki bilgiyi iletir tmm
cache ise cok sık kullanılan dataları
buferda tek gibi hani az
bu deviceın kendi içindeki cache den bahsediyoruz
hardiskinkendi içindeki veya ı/o devicesın kedni içindeki buferdan ,cache den bahsediyoruz
buffer ve vcacheleri gyönetiyo
dosyyı yaz dion ceviriyo o
file orgabizatıon module var üsütne ,nabıop bu ?
fiziksel blocklara cevirir
free space i kim kontrol ediyomuş bu modul tmm *
disk allocatıon ı da bu yönetiyoahngi yerler boş vs tmm
bu module bunalrı halleder
logical file system var ?
11.7 file number ,FCB blockarında ,ilemler yapmak
directory meanagemntını b yapıo
protectıon neydi (read wrtie rişim hakkıydı hani evett)
layered file systemi görmü olduk 11.5 tmm
logical file systm
11.7 layering ne fayda saglar ?
yöneitimn akrmasık olmasını önlüyo
daha basitleştrlmi bir file yönetim sistemi oluyo
trasnlatıonlarda zmn kaybediy,perfomasn düşüyo bu sebpten tmm mıııı
11.8 unix :FFS :frendly file system neymiş acılımı felan filan ya
windows FAT,FAT32
lınux bi ton türü var ext2,ext3 varrrrrrrrr
distrubuted file system vat
yeniler hangisini biliyonuz
ZFS :zero file sysyem
basla ne bilonuyz
GoogleFS
FUSE:tabletlerde vs kulaıltyo vs
lablub ama … soarmı sorar .. belki öok zor ama eh işte
11.9 anlattık bunları blokalrı söyledik dimi
11.10 analttık FCB ? bunu sorcak ya garnti
11.12 analtımıştıkkk
11.15:vırtual filesystem na pılıo ,bu dikerli tek bir dikmiş gibişeyapıoruz
felan filan
her şey vırtul
uzaktaki bir systemi kullanabiliyoz
11.16
11.17..
11.18.
contugısu allocatıon linked
indeces jheppp gördük diimii
11.43 buffer cache ike page cache arasındaki fark ney ?analayabldkmi
sekle bakıyoz gectik hmn
memory mapte memory e ualasarak dolaylı olarka
bufferda direk
resme bak analrsın
11.45 tek bufer da ullabilrsinz burda
consistency checking ???vbir programnedir
geri yükleem yaparak
file bozuldu mesela
sytemde bunu bu programlmla o programı
data blokta varsa onu dzüeltiyo yoksa
sistemş yavasklatıyo
önlemek için en iyii yol ?backup almak
restıring
o halde napcaksınızzzz iyi bir bilgisayar meeendisi … :)..
11.57 e atladı 😀
okuunnnn dedimsizzz :))
herseyiben analtmıcam bunlar siziç.. 😀
11.58
10 ve 11 chapter alr bitirdik
9.chaptera başaldık :)) bunu atlamıstık —————————–
su terimelri bilmemiz gerekir
herkles bilcek bunalarıı ** 😀 cıkcak yani
transfer rate:burdan buraya ne kadar bit aktarıyo saniyede tamammı
positionıng time (randolm aceces t,me ):bu disk basının
diskin kafasını oraya getmrk için gerekn zmn ,seek time ve rotatıonal time toplamı fgibi bişey heralde
ikiis dehareket ediyo hani motor ve diksk kafası okumak içiin ,aynen ikisinin toplamı
bu cok öenmliii diyor 😀 // ****
seek time :hardisk kafasının oraya gelmesi seek time
rotatıonal latency :bir dedöndürüyoru tmm mptprun dödrürülması iin gecen zmn
pekii
head crash :pek sarsmıcan hardsiki fiizksel olaarak
disk vontol mutlaka olcak tmm
9.6 okuyo ..
seek time :disk kafasının hareketi ..
10000 ve 15000 olanla genlde serverlard akullanılrı
cok enrji ceker
9.7 imtihanda sorcam *****sınavda sorcam bunu
Ögrenin kendiniz tamammı
paso atlıyo ….
…
9.19 a atladı 😀
örnek var burda
98 numaralı bunları hep okucak disk gelip
soırayla
disk 53 de disk scheduling algortmaları var bunun için
acaba kafayı ansıl harekt ettirim de okuyim
tmm
FCFS sırayla okuyor işte :disk kafası 53 te sırayla okuyor
toplamını alıyon ,
SSTF :shortest seek time selected var bi de daha az sürdü daha perfrsmnslı
53 e en yakın hanigisi 65, 65 e en yakın kim onu buluyo öyle öyle sora sora
scan :elevator algortihm var önce asgııı sonras
53 den asagı sıfıra gidion ,sonra üst tarafa dogru
Önce alt kata sonra üst kata gidior tmm
cscan var : önce yukarıııı sonra sıfı asagı güm die iniyosun
En yakın olanları sırayla bulup ilerliyo tmm
c-look ta :C-scan gibi ama geri dönüşü hesaba katmıyosun , csanda sayıyıoduk ,hesaba katıyoduk hani
en performasnlı clook 🙂
….
9.29 a atladı 😀
Disk management :
low level formattıng or fiziksel formating :data hataları cok oluyosa,dataları sık kaybediyosan böyle yöntem kulanıyosun
düzeltek için
düzelmiyosa hardiski at gtsin
düzeltilmez
EEC :error connectın kodları ile hatalrıb ulunuyo
partitıon locagal format okursunuz dedi
9.30 aaaa
sector seperatıng nedr biliyomusnz arkadaşlar?
%10 u separtin sector oalrak iyedek sektör olarak ayrılır
bozuklarsa o blokc gidio
alttan ayrılmıs yedek sektrlerden alyoruz
bir de
sector sliping var ? sektörde
hata varsa yanındakini alıyo
birer kayırıyo her sektör 0amammı
yedek sektör doalrsa artık hardsik kayıplara tahammul edmiyor
bootstrap loader boot ta idi
sınavvv
10 soru
ennnn bastna ititbarennn
ilk haftadan sonra
kod 2 soru labdan kod
kod sorualrı kalbdan cıkcak
yapmıs oldukalımızdan cıkcak
mutlaka seyden gelcek
senkronizayonlarla ilgili konulardan bir soru
mutlaka senkronozasyon biri mutlaka // 3.45 de var gibi bak //chapter 5.mişyala …
hadi öbürüde file systemden gelsin
kod sorusu
treahd sormayalım ama kod olarak sormıcam ,konu olarak sorabilirim
kod labarratuardan cıkcak
linux komutları yok
final sınavından az önce cıktım ,sıcagı sıcagına yazayım unutmadan soruları ki faydam olsun J 😉
1)dispatcher ve scheduler nedir?görevleri nelerdir acıkalyınız
2)pager,lazy swapper ve lru nedir acıklayınız
3)boş free frame işini layout mimaryde hanşi katman ayarlar ?5 tane katman var hani 3.katman file bilmem ne olcak cevap
4)process ve thread arasındaki farklar ve benzerlikler nerledri ?acıklayınız
5)labaratuarda yazdıgımız bişey varmış ,random pipe üretiyo ,üretici ve tüketici var ,asistan hoca paylaşmış
Face de bakrsın tmm 😉 kod sordu .tamamen yazdırdı işte ,cıktı böyle olmalı dedi,kod sende ne yazrsan yaz
6)deadlock önleme yöntemleri 4 tane acıklayın
7)deadllock a neden olan şeyler 4 tane acıkla
8)sektör oalyı vardı ?eger hata cıkarsa nasıl düzeltilir ?yöntemleri acıkla dedi
Yukarda anlattım sector sliding ve yedek sektör kullanımı yöntemleri 😉
9) General Graph Directory temel özelligi nedir dedi ,acılayınız ? yukarda anlatmıştım J 😉
Geri dönüş var,kendini control edeni control edebiliyo ,10.32 ye bak anlarsın 😉
10)heh workset sorusu vardı ?eger sayfa size I büyük olursa ne olur ? acıklayın dedi
Onu da yukarda anlattıydım 😀 cıktıyala
11)semophor ve mıonitor farkı nedir ? dedi semoforu yukarda anlattım J degierini bende bilmiyodum gümmm