[Linux] MAIL-SEMINER: SWAPPING II

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Murat Koc (murat.koc@frontsite.de)
Date: Thu 04 Jul 2002 - 23:24:51 EEST


Selam,

yorumlar ve katilimin olmasi cok hos. Ozellikle Serdar in yazdiklarina
yapacagim fazla miktarda yorum var ama o kadar yorgunum ki acikcasi
useniyorum :)) bos oldugum? bir vakit yazacagim. o yuzden ben kisa bir
sekilde onceki mailimde belirttigim son kisim olan swapping-out islemi
icin kriterleri anlatmaya devam edecegim. (notlarimdan yazdigim icin
nispeten daha kolay :))

Aslinda yazacaklarimin bir kisminda da zaten ekleme yapmis olacagim
yorumlara.

NOT: Doruk, isinin ustadi(misal sen) yaparsa mucver kizartma babinda da
hafif olabilir :) ama kesinlikle firini da bir dahaki sefere
kullanacagim :p

--------

simdi oncelikle aslinda baktigimizda peki tamam bu page leri swapped-out
yapiyoruz ama hangi page ler bu isleme sokuluyor sorusunu sormamiz
gerekir. burada cevap su olacaktir. bir process in anonymous bir memory
alanina ait olan page ler ki buna ornek olarak genelde user mode stack
verilir. sonra efendim bir process e map edilmis ozel memory alaninda
modify edilmis olan page ler ve son olarak da bir IPC shared memory
alanina ait olan page ler sadece bunlar swapped-out islemine tabii
tutulurlar bunlarin disinda kalan page ler ise zaten ya kernel
tarafindan kullanilir veya disk uzerindeki dosyalari maplemek icin
kullanilir. burada soru olarak su gelecektir peki bunlar nasil
seciliyor? simdi genel olarak olay sudur algoritma bazinda LRU
kullanilir yani Least Recently Used. Peki nasil calisir bu algoritma?
aslinda mantik basit her page e onun age ini tutan bir counter atanir bu
counter o page e en son erisildigi zamandan beri olan sureyi tutar. Bu
durumda en yasli olan page en uzun sure once access edilmis page
olacaktir dolayisi ile de swap-out icin guzel bir aday olacaktir. Bu
isleme page-aging denir 2.0 serisinde vardi sonra 2.2 de kalkti sonra
2.4 tekrar kullanilmaya baslandi (eger yanlis hatirlamiyorsam) Fakat
linux burada 8086 larda bu algoritmayi uygulamada eksik olmaktadir neden
diye soracak olursaniz ise diger bazi CPU larda bu islem otomatik olarak
yapilarak PTE (page table entry) de page e ait olan counter in degeri
update edilir fakat 8086 larda boyle bir donanimsal ozellik yoktur. Peki
bunlarda Linux ne yapar dersek ise Linux PTE de ki accessed flag ini
kullanir bu ise page e her access yapildiginda hardware tarafindan
atanir. Tabii bu flag fazla miktarda swap-in ve out islemini onlemek
amaci ile atanip/kaldirilabilir. LRU nun kullanilmasi ise aslina
bakarsaniz swapping-out icin temel mantik olan RAM de en fazla page e
sahip olan process den page calma isleminde bunun icin secilen process
lerden secim yapmak icindir. Tabii bu olay IPC shared memory e ait olan
page ler disindaki page ler icin gecerli olan bir olaydir. Neden diye
soracak olursaniz diye cunku bir shared memory mapping e ait olan page
ler disk ustundeki dosyalarin bolumlerine uygun duser. dolayisi ile
kernel bunlari swap alanlarinda tutmaz bunun yerine uygun dusen dosyayi
update eder. Yani bu page ler icin ayri bir swap-out metodu vardir.
Neyse simdi karistirmayayim once bir su diger page leri halledelim ondan
sonra IPC page lerin metodu anlatirim

-- 
IYI CALISMALAR

MURAT KOC

-- Attached file included as plaintext by Ecartis -- -- File: signature.asc -- Desc: This is a digitally signed message part

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux)

iQIXAwUAPSSvEr6uWt8ry/OwFALSYQgAmJsSDhD5Lom0FKSLVGtHRkHpverCjpj0 3V1o6TwpMpb/RzieZ60nYM0oubBBwjDBgrlyteGalscUCiOOnsSTSwOETHa/s/1b BAP5HVLoA342ArD9hotAp+Xf5OHziZ+HZQLxLGgYguTHpodl7hSnDdcccB1GJ8cb 1vKbIflW3rhp/cJyP+8JZ67Ot+VhySNtyQ8XFEzTD0LcVwhJwl23lA/KOt6LC9RZ mQt12LIkSTUFRmT4V1c9Xlz4+jHhlYqHLJv7Bq734qbi3sW0/b7sot8rMP63xeEj 9BGVuG40SO1aEt3H/DahxoHy1uAn1od/RKjwhfOcpuadBEFrRSfDgQf/bRpWf4yS ylKfxqTzn61/yMIbAWf9PaMFy1AHg6EnzYLhvCiYODA6fBPOxZ/+U0Z/Stsw5W0A +ItE3pIrgHttZJBKIA786x9V9ka65yunlXJf8m2OrmC5Wl+korx2b8MSJgCqFu4B UUUOCWSS/ufLqMqq9q3m/r+OXIySXFWPBpEqztnYMsr5HUC4MaVhoxIngwWO4JDH sK6AjxLgYPtp2JxlW1I6urTaq/zNCfH35V5fWlaTctwf9SqXvfOjDtroMJwXpgTg 3YTC2Y/ya4gn4T1y3Kge16mMBzFqN1VO8TcFeste79MKmu4ES4Tp3QTBErI5smhR Or9tX4ByStpstw== =lOpm -----END PGP SIGNATURE-----

----------------------------------------------------------------------- Liste üyeliğiniz ile ilgili her türlü işlem için http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz. Listeden çıkmak için: 'linux-request@linux.org.tr' adresine, "Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz. -----------------------------------------------------------------------


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.