Ana Sayfa   Forum   Bloglar   Albümler   Sinema   Yerli Dizi   Yabancı Dizi   Gruplar

AtaBB Forum   Türkçe-Turkish İngilizce-English

 Advanced Search

ATABB


Her Zaman Daha İyisini Arayanın

 

Geri Git   AtaBB Community > AtaBB Teknoloji > Linux / Unix

Linux / Unix Linux / Unix Hakkında Genel Bilgiler

Konunun Derecesi - Genis Disk mini-NASIL.

Cevapla
 
LinkBack Konu araçları
Eski 01-12-2006, 06:48 PM   #1 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart Genis Disk mini-NASIL

Genis Disk mini-NASIL
Burak Kelleci , burak@compclub.itu.edu.tr
Esin Tolga Akay , tolga@compclub.itu.edu.tr
Cengiz Gunay , cengiz@compclub.itu.edu.tr
Surum 1.1, 23.1.1997

Disk geometrisi ve diskler icin 1024 silindir siniri hakkinda

1. Giris

1024 silindirden daha fazlasina sahip bir diskiniz oldugunu dusunun.
Ustune de BIOS'u kullanan bir isletim sistemine sahip oldugunuzu dusunun.
O zaman bir probleminiz vardir, cunku alisildik INT13 BIOS diske G/C
(giris/cikis) arabirimi, G/C'nin yapildigi silindir numarasi icin 10 bit
kullanir ve boylelikle 1024'ten sonraki silindirler erisilemez.

Neyse ki, Linux BIOS kullanmaz, oyleyse problem yok. Aslinda, iki sey
disinda:

1. Sisteminizi actiginizda, henuz Linux calismaya baslamamisken, sizi
BIOS problemlerinden kurtaramayacaktir. Bunun LILO ve benzeri acilis
yukleyicilerine birtakim etkileri vardir.

2. Butun isletim sistemlerinin, bolumlemelerin nerde oldugu hakkinda
anlasmalari icin bir diski kullanmalari gerekmektedir. Bir baska sekilde,
Linux ve mesela DOS'u ayni diskte kullaniyorsaniz, ikisinin de bolumleme
tablosunu ayni sekilde yorumlamasi gerekir. Bunun Linux cekirdegi ve
fdisk'e etkisi vardir. Asagida butun ilgili durumlari iceren, biraz
detayli bir aciklama var. Benim 2.0.8 surum cekirdek kaynaklarini referans
kullandigimi unutmayin. Diger surumler biraz farkedebilir.
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Eski 01-12-2006, 06:49 PM   #2 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart

2. Acilma

Sistem acildiginda, BIOS ilk diskin (ya da disketin) 0. sektorunu (MBR-Ana
Acilis Kaydi olarak bilinir) okur ve orada bulunan koda atlar ve
calistirir. Genelde bir suruklemeli acilis yukleyici. Orada bulunan bu
ufak suruklemeli acilis yukleyicilerin genelde kendi disk surucu kodlari
bulunmaz ve BIOS servislerini kullanirlar. Bu da bir Linux cekirdeginin
ancak tamamiyle ilk 1024 silindir dahilinde bulunmasi halinde acilis
yaptirilabilecegini gosterir.

Bu problem kolayca cozulebilir: Cekirdegin (ve belki acilis sirasinda
kullanilan baska dosyalarin; LILO harita dosyalari gibi), BIOS'un
erisebildigi bir diskin - genelde bu ilk ya da ikinci disk olur -
tamamiyle ilk 1024 silindiri icerisinde bulunan bir disk bolumu
icerisinde bulundugundan emin olun.

Bir baska nokta da BIOS ve acilis yukleyicisinin disk geometrisi hakkinda
anlasmalaridir. LILO'ya `linear' (dogrusal) opsiyonunu vermek yararli
olabilir. Ek detaylar asagida.

3. Disk Geometrisi ve Bolumler

Eger disklerinizde bircok isletim sistemleri varsa, o zaman herbiri bir ya
da daha fazla disk bolumu kullanirlar. Bu bolumlerin bulunduklari yer
hakkindaki bir anlasmazlik, felaketler dogurabilir.

MBR ana bolumlerin nerede bulundugunu gosteren bir bolumleme tablosu
icerir. 4 tablo girisi bulunur ve herbiri suna benzer

struct bolum {
char aktif; /* 0x80: acilis yapabilir, 0: yapamaz*/
char bas[3]; /* ilk sektor icin CHS */
char tip;
char son[3]; /* son sektor icin CHS */
int baslangic; /* 32 bit sektor numarasi (0'dan baslayarak) */
int uzunluk; /* 32 bit sektor sayisi*/
};

(CHS Silindir/Kafa/Sektor(Cylinders/Headz/Sectors)'u ifade eder).
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Eski 01-12-2006, 06:49 PM   #3 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart

Bu yuzden, bu bilgi fazladir: bir bolumun yeri hem 24-bit baslangic ve
bitis bilgileri, hem de 32-bit baslangic ve uzunluk bilgileri ile verilir.

Linux sadece baslangic ve uzunluk bilgilerini kullanir, ve boylelikle 2^32
sektorden buyuk olmayan bolumlerle ugrasabilir, bu da, en fazla 2TB'lik
bolumlerdir. Bu bugun varolan disklerden yaklasik ikiyuz kat daha
fazladir, onun icin onumuzdeki on yil falan icin yeterli olacaktir.

Ne yazik ki, BIOS INT13 cagrisi uc bayt icine kodlanmis CHS kullanir,
bunun icinde 10 bit silindir numarasi icin, 8 bit kafa numarasi icin ve 6
bit iz sektoru numarasi icin. Uygun silindir numaralari 0-1023, kafa
numaralari 0-255 ve iz sektor numaralari i se 1-63 (Evet, bir iz
uzerindeki sektor numaralari 1'den baslar, 0'dan degil) arasindadir. Bu 24
bit ile 8455716864 bayt (7.875 GB) adreslenebilir, 1983'te bulunan
disklerden ikiyuz kat daha buyuk.

Daha da ne yazik ki, standart IDE arabirimi iz basina 256 sektor, 65536
silindir ve 16 kafaya izin verir. Bu kendi icinde 2^37 = 137438953472
bayta (128 GB) ulasima izin verir, ama 63 sektor ve 1024 silindir BIOS
kisitlamalariyla birlestiginde sadece 528482304 bayt (504 MB)
adreslenebilir hafiza kalir.

4. Ceviri ve Disk Yoneticileri

Hic kimse sabit disklerin gercek yapisi ile ilgilenmez. Aslinda her ize
dusen sektor sayisi bile degiskendir. Cunku diskin kenarina yakin izlere,
ic taraftakilere gore daha fazla sektor duser. Yani gercekte her ize dusen
sabit sayida sektor yoktur. Kullanici icin en iyisi, sektorleri dogrusal
bir dizi seklinde numaralandirmak ve sektorun yasadigi gercek yerin
bulunmasini disk denetleyicisine birakmaktir.

Bu lineer numaralandirma LBA olarak bilinmektedir. (c,h,s) sektorunun
lineer adresi, (C,H,S) geometrisine sahip bir disk icin c*H*S + h*S +
(s-1)'dir. Butun SCSI ve bazi IDE denetleyiciler, LBA'yce konusurlar.

Eger BIOS, 24 bitlik (c,h,s)'yi LBA'ya cevirirse ve LBA modunda calisan
disk denetleyicisine beslerse, 7.875 GB adreslenebilmektedir. Bu butun
diskler icin yeterli olmasa da bir gelismedir. Bu arada BIOS tarafindan
kullanilan CHS'nin artik gercekle bir al akasi yoktur.

Bunun bir benzeri disk denetleyicisi LBA modunda calismazken, fakat BIOS
ceviriyi bilirken olmaktadir. (Bu genellikle setup'da Large(Genis/buyuk)
diye gecer.) Simdi BIOS isletim sistemine (C',H',S') geometrisini
gostermektedir ve disk denetleyicisiyle kon usmak icin de (C,H,S)'yi
kullanmaktadir. Burda genellikle; S=S', C'=C/N ve H'=H*N'dir ve N, C' <=
1024 kosulunu saglayacak sekilde secilir. (ki C'=C/N'ye yuvarlarken mumkun
olan en az kapasite bosa harcansin.) Bu metodla, yine, 7.875 GB'a kadar
adresleme mumkundur.
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Eski 01-12-2006, 06:49 PM   #4 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart

Eger BIOS Large ve LBA tanimiyorsa, bu sorunu yazilimla da cozebiliriz.
OnTrack veya EZ-Drive gibi disk yoneticileri BIOS'un disk kontrol
rutinlerini kendilerininkilerle degistirmektedirler. Bu genellikle, disk
yoneticisinin kodunu MBR((Master Boot Record )ana acilis kaydi)'ye ve
devam eden sektorlere yerlestirmesiyle yapilir(OnTrack bu koda DDO der;
Dynamic Drive Overlay), boylelikle herhangi bir isletim sistemi acilmadan
once bu kod calisabilir. Bu yuzden bilgisayari disketle actigimizda, disk
yonetici d isketten yuklenmezse sorunla karsilasiriz.

Olay, cevirmen BIOS durumuyla hemen hemen ayni sekilde calisir. Eger
diskte birkac isletim sistemi birden calistiriliyorsa, disk yoneticileri
soruna neden olabilir.

Linux, surum 1.3.14'ten itibaren OnTrack ve surum 1.3.29'dan itibaren
EZ-Drive disk yoneticilerini desteklemektedir. Asagida bazi ek detaylara
yer verilmistir.

5. IDE Diskler Icin Cekirdekten Disk Cevirisi

Eger Linux cekirdegi bir IDE diskte bir disk yoneticisi belirlerse diski,
disk yoneticisinin yaptigi gibi adreslemeye calisir, ki ayni bolumlemeyi
gorsun. Eger diskin geometrisi 'hd=cyls, heads,sects' komut satiriyla
cekirdege belirtilirse bunu YAPMAZ. Bu yontem, disk yoneticisi ile
uyumlulugu oldurebilir.

Bu adresleme, C<=1024 veya H=255 olana kadar H*C sabit kalmak sartiyla
kafa sayisi olarak 4,8,16,32,64,128,255 denenerek yapilir.

Detaylar su sekildedir - altkisim basliklari denk gelen acilis
mesajlarinda verilen kelimelerdir. Burada ve bu yazinin icindeki heryerde
bolumleme tipleri onaltilik olarak verilmistir.
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Eski 01-12-2006, 06:49 PM   #5 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart

6. Sonuclar

Peki butun bunlarin anlami ne ? Linux kullanicilari icin tek bir sey; LILO
& fdisk'in dogru geometri kullanmalari. Dogru tanimi, fdisk icin disk
uzerinde calisan diger isletim sistemleri tarafindan kullanilan geometri,
LILO icinse acilis esnasinda BIOS ile basarili etkilesimi saglayacak
geometridir. (Bu ikisi genelde cakisir.)

fdisk, diskgeometri hakkinda nasil bilgi alir ? HDIO_GETGEO ioctl (giris
cikis kontrolu)'i kullanarak cekirdege sorar. Fakat kullanici aradan
etkiyerek veya komut satirindan bu geometriyi cigneyerek degistirebilir.

LILO geometri hakkinda nasil bilgi alir ? HDIO_GETGEO ioctl (giris cikis
kontrolu)'i kullanarak cekirdege sorar. Fakat kullanilan geometriyi
`disk=' secenegi ile cigneyerek belirleyebilir. LILO'ya linear (dogrusal)
secenegi de verilebilir. O zaman, harita dosyasina (map file) CHS yerine
LBA adreslerini koyarak, kullanilacak geometriye acilis esnasinda karar
verir. (Kesme 13h, Fonksiyon 8 ile surucu geometrisini ogrenir.)

Cekirdek ne cevap verecegini nasil bilebilir ? Herseyden once, kullanici
'hd=silindir,kafa,sektor' komut satiri secenegi ile geometriyi acikca
belirtmis olabilir. Aksi takdirde, cekirdek donanima soracaktir.

6.1 IDE detaylari

Uzerinde dikkatle durursak: IDE surucusu geometri bilgisi icin dort
kaynaga sahip. Birincisi (G_user) kullanici tarafindan komut satirindan
belirtilir. Ikincisi (G_bios) 32-bit moduna gecmeden once sistem
baslangicinda okunan BIOS Fixed Disk Parameter Table (BOIS Sabit Disk
Parametre Tablosu)'dir (sadece birinci ve ikinci diskler icin). Ucuncusu
(G_phys) ve dorduncusu (G_log) IDE denetleyicisi tarafindan
IDENTIFY(tanimla) komutunun cevabi olarak yollanir - bunlar fiziksel ve
kullanimdaki mantiksal geometrilerdir.

Diger bir taraftan, surucunun geometri icin iki degere ihtiyaci vardir.
Bir taraftan HDIO_GETGEO ioctl tarafindan gonderilen G_fdisk ve diger
taraftan G/C (giris/cikis) icin asil kullanilan G_used. G_fdisk ve G_used,
ikisi de, eger verilmisse G_user'a esitlenirler, yoksa ve CMOS'ta da bu
sekilde belirtilmisse G_bios'a, aksi takdirde G_phys'e esitlenirler. Eger
G_log mantikli gorunuyorsa, G_used ona esitlenir. Aksi takdirde eger
G_used mantiksiz gorunuyorsa ve G_phys mantikli gorunuyorsa, G_used
G_phys'e esitlenir. Burada mantikli lafi kafa sayisinin 1-16 sinirlari
icerisinde olmasidir.
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Eski 01-12-2006, 06:49 PM   #6 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart

6.2. SCSI detaylari

SCSI icin durum biraz farkli; SCSI komutlari zaten mantiksal blok
numaralari kullandiklarindan, gercek G/C kullanimda bir `geometri'
tamamiyle gerceklenemez oluyor. Ama, bolumleme tablosu hala ayni oldugu
icin fdisk'in hala bir geometri uydurmasi gerekir ve hatta HDIO_GETGEO'yu
burada kullanir - aslinda fdisk, IDE ve SCSI diskler arasinda fark
tanimaz. Asagidaki detayli aciklamalardan gorulebilecegi gibi, birtakim
suruculer herbiri birsekilde farkli bir geometri bulmustur. Acikcasi,
buyuk bir karmasa.

Eger DOS veya benzeri kullanmiyorsaniz, eger mumkunse butun harici cevirme
seceneklerinden kacinin ve sadece 64 kafa, iz basina 32 sektor (hos,
kullanisli bir silindir basina 1 MB icin), ki diski bir denetleyiciden
baskasina tasidiginizda sorun cikmasin.

Linux fdisk'inin H ve S kafa ve izbasina sektor sayilarina, LBA sektor
numaralarini c/h/s adreslerine cevirmek icin ihtiyac duydugunu, fakat bu
ceviride C silindir sayisinin hicbir rol oynamadigini unutmayin. Bazi
suruculer, (C,H,S) = (1023,255,63) kullanarak diskin en az 1023*255*63
sektor belirtir. Bu hos degildir, cunku gercek boyutu ortaya koymaz ve de
bircok fdisk versiyonu kullanicisini disklerinin 8 GB'i ile sinirlarlar -
ki bu gunlerde gercek bir kisitlama.

Sorunsuz gunlere..
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Cevapla

Etiketler
disk, genis, mini-nasil

Konu araçları

Gönderi Kuralları
Kendi yeni konularını düzeltemezsin
Kendi mesaj cevap yazamazsın
Kendi mesaj eklentilerini düzeltemezsin
Kendi mesajlarını düzeltemezsin

BB Kod Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Forum saati Türkiye saatine göredir. GMT +3. Şuan saat: 07:11 AM.


Desteklediklerimiz
Reseller Hosting, Dedicated Server, ahosting.biz, ozmena Forum, TVPano Forum, Xyeni, Number1Forum


Powered by vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO