О‘ZBЕKISTОN RЕSPUBLIKАSI RAQAMLI TEXNOLOGIYALAR VАZIRLIGI
MUHАMMАD АL-XОRАZMIY NОMIDАGI TОSHKЕNT АXBОRОT TЕXNОLОGIYАLАRI UNIVЕRSITЕTI SАMАRQАND FILIАLI
“Tеlеkоmmunikаtsiyа tеxnоlоgiyаlаri vа kаsb tа’limi” fаkultеti
“Axborot xavfsizligi” kаfеdrаsi
5330300 – Axborot xavfsizligi yo‘nalishi
Mavzu: HPFS (yuqori unimdorlikka ega bo’lgan fayl tizimi).
Operatsion tizmlar fanidan
308 – guruh talabasi
Bajardi : Panjiyev Akbar
Tekshirdi : Raximov R
SАMАRQАND – 2023
Mavzu : HPFS (yuqori unimdorlikka ega bo’lgan fayl tizimi)
Reja :
1) FAT fayl tizimi
2) HPFS hajmining tuzilishi
3) Amaliy dasturlar va HPFS
4) xulosa
HPFS ( Yuqori samarali fayl tizimi ) FAT fayl tizimining cheklovlarini yaxshilash uchun OS/2 operatsion tizimi uchun maxsus yaratilgan fayl tizimidir . U Gordon Letwin va boshqalar tomonidan Microsoft- da yozilgan va OS/2 1.2 versiyasiga qo'shilgan , o'sha paytda ham Microsoft va IBMning qo'shma tashabbusi bo'lib , 1988 yilda chiqarilgan.
Umumiy koʻrinish
FAT bilan solishtirganda, HPFS bir qator qo'shimcha imkoniyatlarni taqdim etdi:
Turli kod sahifalarida aralash fayl nomlarini qo'llab-quvvatlash
Uzoq fayl nomlarini qo'llab-quvvatlash (FAT 8.3 nomlash sxemasidan farqli o'laroq 255 belgi )
Disk maydonidan yanada samarali foydalanish (fayllar ko'p sektorli klasterlar yordamida emas, balki har bir sektor asosida saqlanadi)
Disk hajmida tegishli elementlarni bir-biriga yaqin tutadigan ichki arxitektura
Ma'lumotlarning kamroq bo'linishi
Hajmi bo'yicha joy ajratish
Oxirgi o'zgartirish, oxirgi kirish va yaratish uchun alohida sana belgilari (FATning o'sha paytdagi ilovalarida faqat oxirgi modifikatsiyadagi sana belgisidan farqli o'laroq)
Kataloglar uchun B+ daraxt tuzilishi
Ildiz katalog tezroq o'rtacha kirish uchun diskning boshida emas, balki o'rta nuqtada joylashgan
HPFS shuningdek, har bir fayl uchun 64 KB metamaʼlumotlarni (“ kengaytirilgan atributlar ”) saqlashi mumkin .
IBM ushbu fayl tizimi uchun ikki turdagi IFS drayverlarini taklif qiladi:
Kesh xotirasi 2 MB bilan cheklangan standart
HPFS386 OS/2 ning ma'lum server versiyalari yoki u bilan birga kelmagan server versiyalari uchun qo'shimcha komponent sifatida taqdim etilgan.
HPFS386 keshi OS/2 tizim xotirasi arenasida [1] mavjud xotira miqdori bilan cheklangan va 32-bitli montaj tilida amalga oshirilgan . HPFS386 ring 0 drayveridir (to'g'ridan-to'g'ri apparatga kirish va yadro bilan to'g'ridan-to'g'ri o'zaro ta'sir qilish imkonini beradi) o'rnatilgan SMB tarmoq xususiyatlariga ega bo'lib, turli server demonlari tomonidan foydalaniladi , HPFS esa ring 3 drayveri. Shunday qilib, HPFS386 HPFS dan tezroq va server ilovalari uchun yuqori darajada optimallashtirilgan. Bundan tashqari, tajribali ma'murlar tomonidan juda sozlanishi.
IBM hali ham HPFS huquqiga ega bo'lsa-da, uning Microsoft bilan HPFS386 versiyasini litsenziyalashni davom ettirish haqidagi kelishuvi kompaniyaning Microsoftga sotilgan har bir nusxasi uchun litsenziya to'lovini to'lashiga bog'liq edi. Bu Windows va OS/2 texnologiyasidan foydalanish huquqini beruvchi Microsoft va IBM hamkorligi natijasi edi.
Microsoft-ga bog'liqligi, cheklangan bo'lim hajmi, fayl hajmining 2 Gb chegarasi va avariyadan keyin uzoq diskni tekshirish vaqtlari tufayli, IBM o'rniga JFS jurnali fayl tizimini OS/2 ga o'tkazdi .
DOS va Linux uchinchi tomon drayverlari orqali HPFSni qo'llab-quvvatlaydi. Windows NT 3.51 va undan oldingi versiyalari HPFS uchun mahalliy yordamga ega edi.
Windows ostida mahalliy yordam
Windows 95 va uning vorislari Windows 98 va Windows Me HPFSni faqat tarmoq ulushi orqali xaritaga tushirilganda o'qiy oladi va yoza oladi; ular uni mahalliy diskdan o'qiy olmaydilar. Ular tarmoqqa ulangan kompyuterlarning NTFS bo'limlarini "HPFS" sifatida ko'rsatdilar , chunki NTFS va HPFS bo'limlar jadvalida bir xil fayl tizimining identifikatsiya raqamini almashadilar.
Windows NT 3.1 va 3.5 mahalliy disklar uchun mahalliy o'qish/yozishni qo'llab-quvvatlaydi va hatto HPFS bo'limiga o'rnatilishi mumkin.
Windows NT 3.51 mahalliy HPFS formatlangan drayverlardan ham o'qishi va yozishi mumkin. Windows NT 4 dan boshlab o'qish/yozish uchun ruxsat beruvchi PINBALL.SYS fayl tizimi drayveri endi yuborilmaydi. Windowsning keyingi versiyalari ushbu drayver bilan birga kelmaydi. E'tibor bering, ushbu drayver 4 GB HPFS hajmlari bilan cheklangan.
Microsoft IBM bilan hamkorlikni to'xtatgandan so'ng, OS/2 texnologiyalari, jumladan HPFS fayl tizimi huquqlarini saqlab qoldi. Windows NT 3.1 Windows ning oldingi versiyalariga qaraganda qattiqroq (korxona darajasida) foydalanish uchun mo'ljallanganligi sababli, u FAT12 va FAT16 fayl tizimlariga qaraganda kattaroq saqlash hajmini beruvchi HPFS (va NTFS) ni qo'llab - quvvatlaydi . Biroq, HPFS jurnali yo'qligi sababli , kutilmagan o'chirish yoki boshqa xatolik holatidan keyin har qanday tiklash fayl tizimi o'sishi bilan asta-sekin uzoqroq davom etadi. CHKDSK kabi yordamchi dastur hech qanday xatolik yo'qligiga ishonch hosil qilish uchun fayl tizimidagi har bir yozuvni skanerlashi kerak bo'ladi, bu muammo NTFS-da sezilarli darajada kamayadi, bu esa jurnalni shunchaki takrorlaydi.
Yuqori unumdorlikdagi fayl tizimining (HPFS) OS/2 1.2 versiyasiga takomillashtirilishi Fayllarni taqsimlash jadvali (FAT) fayl tizimining barcha muammolarini hal qiladi va keyingi bir necha o'n yilliklarda kutilayotgan talablarni qondirish uchun mo'ljallangan. HPFS nafaqat tasodifiy kirish bloklarini saqlash qurilmalarida ma'lumotlarni tartibga solish usuli bo'libgina qolmay, balki faylga yo'naltirilgan so'rovlarni amaliy dasturlardan qurilma drayverlariga o'tkazadigan dasturiy moduldir. HPFS, shuningdek, bir OS/2 tizimida bir vaqtning o'zida bir nechta mos kelmaydigan hajmli tuzilmalarga kirish imkonini beruvchi o'rnatiladigan fayl tizimiga misoldir. Aqlli keshlash, oldinga o'qish va orqada yozish kabi ilg'or ma'lumotlar tuzilmalaridan foydalanish orqali mukammal o'tkazish qobiliyatiga erishiladi. Disk maydoni sektorlashtirish yordamida yanada tejamkorroq boshqariladi. HPFS shuningdek, sezilarli darajada yaxshilangan nosozliklarga chidamlilikni o'z ichiga oladi. Ilova dasturlari kengaytirilgan atributlar va uzun fayl nomlaridan foydalanish uchun faqat oddiy o'zgartirishlarni talab qiladi. Hpfs tasodifiy kirish bloki saqlash qurilmasida ma'lumotlarni tashkil qilish usulidir. Bu, shuningdek, dasturiy ta'minot moduli bo'lib, u amaliy dasturdan faylga yo'naltirilgan so'rovlarni qurilma drayveri tushunadigan oddiyroq so'rovlarga aylantiradi.
OS/2 operatsion tizimining 1.2-versiyasida birinchi marta paydo bo'layotgan yuqori samarali fayl tizimi (keyingi o'rinlarda HPFS) o'zining kelib chiqishi Microsoft-ning tarmoq bo'limida bo'lgan va OS/2 bosh me'mori Gordon Letvin tomonidan ishlab chiqilgan. operatsion tizim. HPFS ko'p yillar davomida tobora kuchayib borayotgan shaxsiy kompyuterlar, qattiq disklar va tarmoqlar talablarini qondirish va ob'ektga yo'naltirilgan tillar, ilovalar va foydalanuvchi interfeyslari uchun mos platforma bo'lib xizmat qilish uchun ishlab chiqilgan.
HPFS murakkab mavzudir, chunki u uchta bir-biridan farq qiladigan, ammo bir-biriga bog'liq bo'lgan fayl tizimi muammolarini o'z ichiga oladi. Birinchidan, HPFS tasodifiy kirish bloki saqlash qurilmasida ma'lumotlarni tashkil qilish usulidir. Ikkinchidan, bu dastur moduli boʻlib, u amaliy dasturdan faylga yoʻnaltirilgan soʻrovlarni qurilma drayveri tushunishi mumkin boʻlgan oddiyroq soʻrovlarga aylantirib, unumdorlikni oshirish uchun turli ijodiy usullardan foydalanadi. Uchinchidan, HPFS o'rnatiladigan fayl tizimlari deb nomlanuvchi muhim yangi OS/2 funksiyasining amaliy tasviridir.
Ushbu maqolada HPFSning uchta jihati keltirilgan. Lekin birinchi navbatda, u tizimning mavjudligiga olib kelgan ba'zi muammolarni ko'rib chiqish orqali HPFSni istiqbolga qo'yadi.
FAT fayl tizimi
Bugungi kunga qadar MS-DOS operatsion tizimining barcha versiyalarida va OS/2 ning birinchi ikkita nashrida (1.0 va 1.1 versiyalarida) foydalanilgan fayl tizimi boʻlgan FAT fayl tizimi Microsoftning eng qadimgi davrida ikki tomonlama merosga ega boʻlgan. dasturlash tili mahsulotlari va Digital Research CP/M operatsion tizimi dasturiy ta'minoti dastlab 8080 va Z-80 asosidagi mikrokompyuterlar uchun yozilgan. U ikkala ajdoddan meros bo'lib, ko'p vazifali, himoyalangan rejim, virtual xotira va ulkan qo'zg'almas disklarning yangi davrida asta-sekin nogironlikka aylandi.
FAT fayl tizimi nomi berilgan Fayllarni taqsimlash jadvali atrofida aylanadi. Har bir mantiqiy jild ikkita muhim funktsiyani bajaradigan o'ziga xos FATga ega: u jilddagi har bir fayl uchun ajratish ma'lumotlarini taqsimlash birliklarining bog'langan ro'yxatlari (sektorlarning 2 karrali klasterlar) ko'rinishida o'z ichiga oladi. yaratilayotgan yoki kengaytirilayotgan faylga tayinlash uchun qaysi ajratish birliklari bepul ekanligini ko'rsatadi.
FAT 1977 yilda Bill Geyts va Mark MakDonald tomonidan ixtiro qilingan Microsoft Disk BASIC mustaqil NCR versiyasida disk maydonini boshqarish usuli sifatida. O'sha paytda Sietl Computer Products (SCP) xodimi Tim Paterson FAT kontseptsiyasi bilan uning kompaniyasi 1979 yilda Milliy kompyuter konferentsiyasida Microsoft bilan stendni baham ko'rganida tanishgan edi. Keyinchalik Paterson FATlarni 86-DOS fayl tizimiga kiritdi. , SCP ning S-100 avtobus 8086 protsessor platalari uchun operatsion tizim. 86-DOS oxir-oqibat Microsoft tomonidan sotib olindi va 1981 yil avgust oyida asl IBM PC uchun chiqarilgan MS-DOS Version 1.0 uchun boshlang'ich nuqtaga aylandi.
FAT ixtiro qilinganida, bu diskni boshqarish uchun ajoyib yechim edi, chunki u ishlatiladigan floppi disklar kamdan-kam hollarda 1 Mb dan katta edi. Bunday disklarda FAT har doim xotirada saqlanadigan darajada kichik bo'lib, har qanday faylning istalgan qismiga juda tez tasodifiy kirish imkonini beradi. Bu diskdagi bo'sh joyni kuzatishning CP/M usulidan ancha ustun ekanligini isbotladi, bunda faylga tayinlangan sektorlar haqidagi ma'lumotlar ko'plab katalog yozuvlari bo'ylab tarqalishi mumkin, ular o'z navbatida disk katalogi bo'ylab tasodifiy tarqalib ketgan.
Ruxsat etilgan disklarga qo'llanilganda, FAT xususiyatdan ko'ra ko'proq xatoga o'xshay boshladi. U butunlay yashash uchun juda katta bo'lib qoldi va xotiraga bo'laklarga bo'linishi kerak edi; Ushbu peyjing dasturi faylni o'qiyotganda va tizim o'tkazuvchanligini yomonlashtirganda disk boshining ortiqcha harakatlariga olib keldi. Bundan tashqari, bo'sh disk maydoni haqidagi ma'lumotlar FAT ning ko'plab sektorlari bo'ylab tarqalib ketganligi sababli, fayl maydonini ketma-ket taqsimlash maqsadga muvofiq emas edi va faylning parchalanishi yaxshi ishlashga yana bir to'siq bo'ldi. Bundan tashqari, qattiq disklarda nisbatan katta klasterlardan foydalanish juda ko'p o'lik bo'shliqqa olib keldi, chunki har bir fayl uchun o'rtacha bir yarim klaster isrof qilingan. (Ba'zi tarmoq serverlari 64 Kb gacha bo'lgan klasterlardan foydalanadi.)
FAT fayl tizimining fayllar va kataloglarni nomlashdagi cheklovlari CP/M dan meros qilib olingan. Paterson 86-DOSni yozayotganda, uning asosiy maqsadlaridan biri dasturlarni CP/M dan yangi operatsion tizimiga o'tkazishni osonlashtirish edi. Shuning uchun u CP/M ning fayl nomlari va kengaytmalari bo'yicha cheklovlarini qabul qildi, shuning uchun 86-DOS Fayllarni boshqarish bloklarining (FCBs) muhim maydonlari CP/M ga deyarli o'xshash bo'lishi mumkin edi. FCB fayl nomi va kengaytma maydonlarining o'lchamlari, shuningdek, disk katalogi yozuvlari tuzilishiga tarqaldi. O'z vaqtida 86-DOS MS-DOS ga aylandi va MS-DOS uchun amaliy dasturlar har kimning orzusi ham bo'lmagan darajada ko'paydi. Dastlabki dasturlarning aksariyati FCB tuzilishiga bog'liq bo'lganligi sababli, fayl nomlari uchun 8.3 formati tizimga qaytarib bo'lmaydigan tarzda qulflangan.
So'nggi bir necha yil ichida Microsoft va IBM FAT fayl tizimining ishlash muddatini uzaytirish uchun katta hajmdagi cheklovlarni olib tashlash, ajratish strategiyalarini yaxshilash, yo'l nomlarini keshlash va jadvallar va buferlarni kengaytirilgan xotiraga ko'chirish orqali jasoratli urinishlar qildi. Ammo bularni faqat vaqtinchalik choralar sifatida ko'rish mumkin, chunki FAT fayl tizimi tomonidan qo'llaniladigan asosiy ma'lumotlar tuzilmalari katta tasodifiy kirish qurilmalariga juda mos kelmaydi.
HPFS bu erda va boshqa ko'plab FAT fayl tizimi muammolarini hal qiladi, lekin u FAT fayl tizimidan hech qanday tarzda olinmaydi. HPFS me'mori toza qog'oz varag'idan boshladi va ko'p vazifali muhitdan to'liq foydalana oladigan fayl tizimini yaratdi va u keyingi o'n yil ichida mikrokompyuterlarga tushishi mumkin bo'lgan har qanday disk qurilmasiga dosh bera oladi.
HPFS hajmining tuzilishi
HPFS hajmlari yangi bo'lim turi ---turi 7--- va ilgari belgilangan bir nechta FAT bo'lim turlari bilan bir qatorda sobit diskda mavjud bo'lishi mumkin. IBM-mos HPFS jildlari 512 bayt sektor hajmidan foydalanadi va maksimal hajmi 2199 Gb ($2^{21}$ sektorlar) ga ega. Floppi disklarni HPFS jildlari sifatida formatlash mumkin emasligiga alohida sabablar bo'lmasa-da, Microsoft yaqin kelajakda floppi disklardagi FAT fayl tizimlari bilan ishlashni rejalashtirmoqda. (Bu foydalanuvchilarning MS-DOS va OS/2 tizimlari o'rtasida fayllarni osongina tashish imkoniyatini ta'minlaydi.)
HPFS hajmi juda kam qattiq tuzilmalarga ega (1-rasm). Jildning 0-15 sektorlari (8Kb) BootBlock bo'lib, jild nomi, 32-bit hajm identifikatori va diskni yuklash dasturini o'z ichiga oladi. Bootstrap nisbatan murakkab (MS-DOS standartlari bo'yicha) va operatsion tizim fayllarini qaerda bo'lishidan qat'i nazar, ularni topish va o'qish uchun cheklangan rejimda HPFS-dan foydalanishi mumkin.
16 va 17-sektorlar mos ravishda SuperBlock va SpareBlock deb nomlanadi. SuperBlock faqat disklarga texnik xizmat ko'rsatish dasturlari tomonidan o'zgartiriladi. Unda bo'sh joy bitmaplari, noto'g'ri bloklar ro'yxati, katalog bloklari diapazoni va ildiz katalogiga ko'rsatgichlar mavjud. Bundan tashqari, ovoz balandligi oxirgi marta CHKDSK/F bilan tekshirilgan va ta'mirlangan sanani ham o'z ichiga oladi. SpareBlock turli xil bayroqlar va ko'rsatkichlarni o'z ichiga oladi, ular keyinroq muhokama qilinadi; u kamdan-kam hollarda bo'lsa-da, tizimning ishlashi bilan o'zgartiriladi.
Diskning qolgan qismi 8 Mb diapazonlarga bo'lingan. Har bir tarmoqli o'zining bo'sh joy bitmapiga ega, unda bit har bir sektorni ifodalaydi. Agar sektor ishlatilayotgan bo'lsa, bit 0, agar sektor mavjud bo'lsa, 1 bo'ladi. Bitmaplar diapazonning boshida yoki dumida joylashganki, ikkita bitmap muqobil diapazonlar orasida joylashgan. Bu faylga ajratilishi mumkin bo'lgan maksimal qo'shni bo'sh joyni 16 Mb bo'lishiga imkon beradi. Diskning qidiruv markazida yoki unga qarab joylashgan bitta tarmoqli katalog bloki diapazoni deb ataladi va maxsus ishlov beriladi (bu haqda keyinroq). E'tibor bering, tarmoqli o'lchami joriy dasturning o'ziga xos xususiyati va fayl tizimining keyingi versiyalarida o'zgartirilishi mumkin.
Fayllar va Fnode
HPFS jildidagi har bir fayl yoki katalog Fnode deb nomlangan asosiy fayl tizimi obyektiga biriktirilgan ("eff tugun" deb talaffuz qilinadi). Har bir Fnode bitta sektorni egallaydi va fayl tizimi tomonidan ichki foydalaniladigan boshqaruv va kirish tarixi ma'lumotlarini, kengaytirilgan atributlarni o'z ichiga oladi. va kirishni boshqarish roʻyxatlari (bu haqda keyinroq), bogʻlangan fayl yoki katalog nomining uzunligi va birinchi 15 ta belgisi va ajratish tuzilmasi (2-rasm) Fnode har doim oʻzi koʻrsatadigan fayl yoki katalog yonida saqlanadi. .
Fnode-da ajratish strukturasi fayl yoki katalogning o'lchami va tutashuv darajasiga qarab bir necha shaklda bo'lishi mumkin. HPFS faylni bir yoki bir nechta ishga tushirish yoki bir yoki bir nechta qo'shni sektorlarning kengaytmalari to'plami sifatida ko'radi. Har bir yugurish juft so'zlar bilan ifodalanadi --- 32-bitli boshlang'ich sektor raqami va sektorlarda 32-bitli uzunlik (bu ish uzunligi kodlash deb ataladi). Amaliy dastur nuqtai nazaridan, kengaytmalar ko'rinmas; fayl uzluksiz bayt oqimi sifatida paydo bo'ladi.
Fnode-da taqsimlash ma'lumotlari uchun ajratilgan bo'sh joy har biri 16 Mb gacha bo'lgan sakkiztagacha sektorlar uchun ko'rsatgichlarni saqlashi mumkin. (Bu maksimal ishga tushirish hajmi tarmoqli o'lchami va bo'sh joy bitmapini joylashtirish natijasidir; bu fayl tizimining o'ziga xos cheklovi emas.) Shuning uchun juda kichik fayllar yoki juda qo'shni fayllar Fnode ichida to'liq tasvirlanishi mumkin (3-rasm) .
HPFS Fnode uchun juda katta yoki juda bo'laklangan va sakkizdan ortiq ishga tushirishdan iborat bo'lgan fayllar joylashuvini ko'rsatish uchun yangi usuldan foydalanadi. Fnode-ning taqsimlash strukturasi ajratish sektorlarining B+ daraxti uchun ildizga aylanadi, bu esa o'z navbatida fayl sektorlari uchun haqiqiy ko'rsatkichlarni o'z ichiga oladi (4-rasmga va yon panelga qarang, ``B daraxtlari va B+ daraxtlari" ). Fnode ildizida joy mavjud. 12 ta element uchun.Har bir taqsimlash sektori turli boshqaruv maʼlumotlariga qoʻshimcha ravishda sektorlar ishiga 40 tagacha koʻrsatgichni oʻz ichiga olishi mumkin.Shuning uchun, ikki darajali taqsimlash B+ daraxti 480 ($12*40$) sektor ishlayotgan faylni tavsiflashi mumkin. joriy tatbiqda nazariy maksimal hajmi 7,68 Gb ($12*40*16$Mb) (garchi DosChgFilePtr uchun 32-bitli imzolangan ofset parametri fayl hajmini 2Gb gacha samarali cheklaydi).
Ikki darajali B+ daraxti juda bo'laklangan faylni tavsiflash uchun etarli bo'lmasa, fayl tizimi kerak bo'lganda daraxtga qo'shimcha darajalarni kiritadi. O'rta darajadagi taqsimlash sektorlari 60 tagacha ichki (terminal bo'lmagan) B + daraxt tugunlarini o'z ichiga olishi mumkin, ya'ni bu strukturaning tavsiflash qobiliyati tezda tushunib bo'lmaydigan raqamlarga oshadi. Masalan, uch darajali taqsimlash B+ daraxti 28 800 ($12*60*40$) sektor ishga tushirilgan faylni tavsiflashi mumkin.
Ishlash uzunligini kodlash va taqsimlash sektorlarining B+ daraxtlari fayl hajmi va joylashuvini aniqlashning xotiradan tejamkor usulidir, lekin ular boshqa muhim afzalliklarga ega. Mantiqiy fayl ofsetini sektor raqamiga o'tkazish juda tezdir: fayl tizimi to'g'ri diapazonni topmaguncha ishga tushirish ko'rsatkichlari ro'yxatini (yoki B + ro'yxatlar daraxtini) aylanib o'tishi kerak. Keyin u oddiy hisob-kitob bilan ish doirasidagi sektorni aniqlay oladi. Ishlash uzunligini kodlash, agar yangi tayinlangan sektor faylning oldingi oxirgi sektori bilan tutashgan bo'lsa, faylni mantiqiy ravishda kengaytirishni ham ahamiyatsiz qiladi; fayl tizimi faqat faylning oxirgi ishga tushirish ko'rsatgichining o'lchamini ikki marta oshirishi va tegishli bo'sh joy bitmapidagi sektor bitini tozalashi kerak.
Kataloglar
Kataloglar, xuddi fayllar kabi, Fnodes-ga biriktirilgan. SuperBlock-da ildiz katalogi uchun Fnode-ga ko'rsatgich mavjud. Ildizdan boshqa kataloglar uchun Fnode-larga ularning asosiy kataloglaridagi pastki katalog yozuvlari orqali erishiladi.
Kengaytirilgan atributlar
Fayl atributlari - bu faylning ochiq saqlash maydonidan tashqarida operatsion tizim tomonidan saqlanadigan fayl haqida ma'lumot. FAT fayl tizimi faqat bir nechta oddiy atributlarni (faqat o'qish, tizim, yashirin va arxiv) qo'llab-quvvatlaydi, ular aslida faylning katalog yozuvida bit bayroqlari sifatida saqlanadi; bu atributlar maxsus funktsiya chaqiruvlari orqali tekshiriladi yoki o'zgartiriladi va oddiy faylni ochish, o'qish va yozish qo'ng'iroqlari orqali kirish mumkin emas.
HPFS tarixiy sabablarga ko'ra FAT fayl tizimi bilan bir xil atributlarni qo'llab-quvvatlaydi, biroq u Kengaytirilgan Atributlar (EAs) deb nomlangan fayl bilan bog'langan, yuqori darajada umumlashtirilgan ma'lumotlarning yangi shaklini ham qo'llab-quvvatlaydi. Har bir EA kontseptual jihatdan atrof-muhit o'zgaruvchisiga o'xshaydi, shaklni olad
ism - qiymat
bundan mustasno, qiymat qismi null bilan tugatilgan (ASCIIZ) qator yoki ikkilik ma'lumotlar bo'lishi mumkin. OS/2 1.2 da har bir fayl yoki katalogga maksimal 64 Kb EA biriktirilishi mumkin. Bu cheklov OS/2 ning keyingi versiyasida olib tashlanishi mumkin.
EA uchun saqlash usuli har xil bo'lishi mumkin. Agar ma'lum fayl yoki katalog bilan bog'langan EAlar etarlicha kichik bo'lsa, ular to'g'ridan-to'g'ri Fnode-da saqlanadi. Agar EA ning umumiy hajmi juda katta bo'lsa, ular Fnode'dan tashqari sektorlarda saqlanadi va yugurishlarni tavsiflash uchun taqsimlash sektorlarining B + daraxti yaratilishi mumkin. Agar bitta EA juda katta bo'lsa, uni Fnode tashqarisida o'ziga xos B + daraxtiga surish mumkin.
DosQFileInfo va DosSetFileInfo yadro API funksiyalari amaliy dasturlarga fayllar uchun kengaytirilgan atributlarni boshqarish imkonini beruvchi yangi axborot darajalari bilan kengaytirildi. DosQPathInfo va DosSetPathInfo yangi funksiyalari ixtiyoriy yo'l nomlari bilan bog'liq EAlarni o'qish yoki yozish uchun ishlatiladi. Ilova dasturi ma'lum bir EA qiymatini so'rashi mumkin (mos keladigan nomni taqdim etish) yoki fayl yoki katalog uchun barcha EAlarni bir vaqtning o'zida olishi mumkin.
Garchi amaliy dasturlar HPFS chiqarilishi bilanoq EA-dan foydalanishni boshlashi mumkin bo'lsa-da, EA-larni qo'llab-quvvatlash Microsoft-ning ob'ektga yo'naltirilgan fayl tizimlari uchun uzoq muddatli rejalarining muhim tarkibiy qismidir. EA-larda deyarli har qanday turdagi ma'lumotlar saqlanishi mumkin, ular faylga ega bo'lgan dastur nomidan bog'liq fayllar nomlarigacha, piktogramma va bajariladigan kodgacha. HPFS rivojlanib borar ekan, uning EAlarni manipulyatsiya qilish imkoniyatlari ancha murakkablashadi. Tasavvur qilish oson, masalan, kelgusi versiyalarda API DosFindFirst va DosFindNext-ga o'xshash EA funksiyalari bilan kengaytirilishi va EA ma'lumotlari B Trees-ga joylashtirilishi mumkin.
Shuni ta'kidlash kerakki, EA-larga qo'shimcha ravishda, HPFS-ning LAN Manager versiyasi kirishni boshqarish ro'yxatlari (ACL) deb nomlangan fayl bilan bog'liq bo'lgan boshqa ma'lumotlar sinfini qo'llab-quvvatlaydi. ACL'lar EA'lar bilan bir xil umumiy ko'rinishga ega va shunga o'xshash tarzda manipulyatsiya qilinadi, lekin ular kirish huquqlarini, parollarni va tarmoqning ko'p foydalanuvchili muhitida qiziqish uyg'otadigan boshqa ma'lumotlarni saqlash uchun ishlatiladi.
O'rnatish mumkin bo'lgan fayl tizimlari
O'rnatish mumkin bo'lgan fayl tizimlarini qo'llab-quvvatlash OS/2 Versiya 1.2 ning eng kutilgan xususiyatlaridan biri bo'ldi. Bu bir vaqtning o'zida bir xil OS/2 tizimida bir nechta mos kelmaydigan hajmli tuzilmalarga ---FAT, HPFS, CD ROM va, ehtimol, UNIX---ga kirish imkonini beradi, tarmoqni amalga oshiruvchilarning ishlash muddatini soddalashtiradi va fayl tizimining tez evolyutsiyasi va innovatsiyalari uchun eshikni oching. Biroq, o'rnatilishi mumkin bo'lgan fayl tizimlari HPFS-dan ixtiyoriy ravishda foydalanishi sababli HPFSga tegishli. FAT fayl tizimi OS/2 1.0 va 1.1 versiyalarida bo'lgani kabi hali ham OS/2 yadrosiga o'rnatilgan va u erda bir muncha vaqt moslik fayl tizimi sifatida qoladi.
O'rnatish mumkin bo'lgan fayl tizimi drayveri (FSD) ko'p jihatdan qurilma drayveriga o'xshaydi. FSD diskda dinamik bog'lanish kutubxonasi (DLL) kabi tuzilgan faylda joylashgan bo'lib, odatda SYS yoki IFS kengaytmalari bilan ishlaydi va tizimni ishga tushirish paytida CONFIG.SYS faylidagi IFS= ko'rsatmalari orqali yuklanadi. IFS= direktivalari ular duch kelgan tartibda qayta ishlanadi va shuningdek, qurilma drayverlari uchun DEVICE= bayonotlari tartibiga sezgir. Bu nostandart qurilma uchun qurilma drayverini yuklash, ushbu qurilmadagi jilddan fayl tizimi drayverini yuklash va hokazo.
FSD o'rnatilgandan va ishga tushirilgandan so'ng, yadro faylni ochish, o'qish, yozish, qidirish, yopish va hokazolar uchun mantiqiy so'rovlar nuqtai nazaridan u bilan aloqa qiladi. FSD ushbu so'rovlarni --- jildning o'zida joylashgan boshqaruv tuzilmalari va jadvallardan foydalangan holda --- sektorni o'qish va yozish uchun so'rovlarga tarjima qiladi, ular uchun u File System Helpers (FsHlps) deb nomlangan maxsus yadro kirish nuqtalarini chaqirishi mumkin. Yadro sektor kiritish/chiqarish uchun talablarni tegishli qurilma drayveriga uzatadi va natijalarni FSD ga qaytaradi (6-rasm).
Operatsion tizim tomonidan hajmlarni FSDlar bilan bog'lash uchun foydalaniladigan protsedura dinamik o'rnatish deb ataladi va quyidagicha ishlaydi. Har safar jildga birinchi marta kirilganda yoki u to'g'ridan-to'g'ri kirish uchun bloklangan va keyin qulfdan chiqarilgandan so'ng (masalan, FORMAT operatsiyasi orqali), OS/2 har bir FSD-ga ovoz balandligidan identifikatsiya ma'lumotlarini ulardan biri tan olmaguncha taqdim etadi. ma'lumotlar. FSD ovoz balandligini talab qilganda, ovoz balandligi o'rnatiladi va ovoz balandligi uchun barcha keyingi fayl kiritish/chiqarish so'rovlari ushbu FSDga yo'naltiriladi.
Ishlash muammolari
HPFS bir necha darajadagi disk o'tkazuvchanligidagi mumkin bo'lgan to'siqlarga hujum qiladi. U samaradorlikni oshirish uchun ilg'or ma'lumotlar tuzilmalaridan, qo'shni sektorlarni taqsimlashdan, aqlli keshlashdan, oldindan o'qish va kechiktirilgan yozishlardan foydalanadi.
Birinchidan, HPFS o'zining ma'lumotlar tuzilmalarini vazifaga moslashtiradi: fayl nomlariga, katalog nomlariga va fayllar yoki kataloglarga ajratilgan sektorlar ro'yxatiga va oddiy ixcham ma'lumotlar tuzilmalariga tezkor tasodifiy kirish uchun murakkab ma'lumotlar tuzilmalari (B Trees va B + Trees). bitmaplar) tegishli o'lchamdagi bo'sh joy qismlarini aniqlash uchun. Ushbu ma'lumotlar tuzilmalarini boshqaradigan tartiblar assembler tilida yozilgan va mashaqqatli tarzda sozlangan, alohida e'tibor bo'sh joy bitmaplarini o'rnatilgan bitlar (ishlatilmagan sektorlar) naqshlari uchun qidiradigan tartiblarga qaratiladi.
Keyinchalik, HPFSning asosiy maqsadi; uning asosiy direktivasi, agar xohlasangiz ; iloji boricha fayllarga ketma-ket sektorlarni belgilashdir. Diskning o'qish/yozish boshini bir trekdan boshqasiga o'tkazish uchun zarur bo'lgan vaqt boshqa mumkin bo'lgan kechikishlardan ancha yuqori, shuning uchun HPFS fayl maydonini ketma-ket taqsimlash va Fnodes va bo'sh joy kabi boshqaruv tuzilmalarini saqlash orqali bunday bosh harakatlarini oldini olish yoki minimallashtirish uchun qattiq ishlaydi. ular nazorat qiladigan narsalar yaqinidagi bitmaplar. Bir-biriga yaqin joylashgan fayllar, shuningdek, fayl tizimiga bir vaqtning o'zida ko'proq sektorlar uchun disk drayveriga kamroq so'rovlar yuborishga yordam beradi, disk drayveriga disk boshqaruvchisining ko'p tarmoqli uzatish imkoniyatlaridan foydalanishga imkon beradi va xizmat ko'rsatilishi kerak bo'lgan diskni tugatish uzilishlari sonini kamaytiradi.
Albatta, bir vaqtning o'zida ko'p fayllar yangilanadigan ko'p vazifali tizimda fayllarning parchalanishiga yo'l qo'ymaslik oson ish emas. HPFS qo'llaydigan strategiyalardan biri yangi yaratilgan fayllarni disk bo'ylab tarqatishdir --- agar iloji bo'lsa, alohida diapazonlarda --- kengaytirilganda fayllarga ajratilgan sektorlar aralashib ketmasligi uchun. Yana bir strategiya har safar uzaytirilishi kerak bo'lganda faylga taxminan 4Kb qo'shni bo'sh joy ajratish va fayl yopilganda ortiqcha bo'sh joyni qaytarishdir.
Agar ilova yangi faylning yakuniy hajmini oldindan bilsa, u faylni yaratishda dastlabki fayl taqsimotini belgilash orqali fayl tizimiga yordam berishi mumkin. Keyin tizim faylni saqlash uchun etarlicha katta bo'lgan ketma-ket sektorlarni topish uchun barcha bo'sh joy bitmaplarini qidiradi. Agar bu bajarilmasa, u fayl hajmining yarmiga teng bo'lgan ikkita ishga tushirishni qidiradi va hokazo.
HPFS so'rashi kerak bo'lgan jismoniy disk o'tkazmalari sonini kamaytirish uchun turli xil keshlash turlariga tayanadi. Tabiiyki, u FAT fayl tizimi kabi sektorlarni keshlaydi. Ammo FAT fayl tizimidan farqli o'laroq, HPFS juda katta keshlarni samarali boshqara oladi va sektor keshlashni fayldan foydalanish usuliga qarab har bir dastak asosida sozlaydi. HPFS shuningdek, yo'l nomlari va kataloglarni keshlaydi, bu esa diskdagi katalog yozuvlarini yanada ixcham va samaraliroq xotiradagi tasvirga aylantiradi.
HPFS ish faoliyatini yaxshilash uchun foydalanadigan yana bir usul bu dasturga kerak bo'lishi mumkin deb hisoblagan ma'lumotlarni oldindan o'qishdir. Misol uchun, fayl ochilganda, fayl tizimi Fnode va fayl tarkibining dastlabki bir nechta sektorlarini oldindan o'qiydi va keshlaydi. Agar fayl bajariladigan dastur bo'lsa yoki faylning Fnode-dagi tarix ma'lumotlari odatda ochiq operatsiyadan so'ng butun faylni darhol ketma-ket o'qishni ko'rsatsa, fayl tizimi faylning ko'proq mazmunini oldindan o'qiydi va keshlaydi. Dastur nisbatan kichik o'qish so'rovlarini berganda, fayl tizimi har doim fayldan ma'lumotlarni 2 Kb bo'laklarga oladi va ortiqcha qismini keshlaydi, bu esa ko'pchilik o'qish operatsiyalarini keshdan qondirishga imkon beradi.
Nihoyat, OS/2 operatsion tizimining ko‘p vazifalarni qo‘llab-quvvatlashi HPFS ish faoliyatini yaxshilash uchun dangasa yozishga (ba’zan kechiktirilgan yozish yoki orqada yozish deb ataladi) ishonish imkonini beradi. Dastur diskda yozishni so'raganda, ma'lumotlar keshga joylashtiriladi va kesh buferi iflos (ya'ni diskdagi ma'lumotlarning holatiga mos kelmaydi) deb belgilanadi. Disk ishlamay qolganda yoki kesh iflos buferlar bilan to'yingan bo'lsa, fayl tizimi eng eski ma'lumotlardan boshlab buferlarni diskka yozish uchun demon jarayonidan tutqichli ipdan foydalanadi.
Umuman olganda, dangasa yozish dasturlarning tezroq ishlashini anglatadi, chunki ularning o'qish so'rovlari yozish so'rovi tugashini kutmasdan deyarli hech qachon to'xtab qolmaydi. Kichik ishchi yozuvlar to'plamini qayta-qayta o'qiydigan, o'zgartiradigan va yozadigan dasturlar uchun bu ko'plab keraksiz yoki ortiqcha jismoniy disk yozishdan qochish mumkinligini anglatadi. Albatta, dangasa yozishlar o'z xavfiga ega, shuning uchun dastur DosOpen uchun OpenMode parametrida yozish bayrog'ini o'rnatish orqali ularni har bir dastaga qarab yengishi mumkin yoki ma'lumotni diskka har bir dastaga o'tkazishi mumkin. DosBufReset funksiyasi.
Xatolarga chidamlilik
HPFS-ning dangasa yozishdan keng foydalanishi HPFS-ni har qanday, ammo eng og'ir sharoitlarda yozish xatolaridan ehtiyotkorlik bilan tiklash imkoniyatini talab qiladi. Axir, yozish muvaffaqiyatsiz bo'lganligi ma'lum bo'lgan vaqtga kelib, dastur uzoq vaqtdan beri ma'lumotlarni disk xotirasiga xavfsiz tarzda jo'natgan degan xayolda o'z yo'liga o'tdi. Xatolar apparat tomonidan aniqlanishi mumkin (masalan, disk adapteri tomonidan qaytarilgan "sektor topilmadi" xatosi) yoki ular uskunani o'qish-yozishdan keyin tekshirish paytida apparatga qaramasdan disk drayveri tomonidan aniqlanishi mumkin. ma'lumotlar.
Yozish xatolarini qayta ishlashning asosiy mexanizmi tuzatish deb ataladi. Xato aniqlansa, fayl tizimi ajratilgan tuzatish havzasidan bepul blok oladi, ma'lumotlarni ushbu blokga yozadi va tuzatish xaritasini yangilaydi. (Tuzatish xaritasi oddiygina juft soʻz juftligidan iborat boʻlib, ularning har birida uning oʻzgartirilgan tuzatish raqami bilan bogʻliq notoʻgʻri sektor raqami mavjud. Tuzatish xaritasiga koʻrsatgich SpareBlock-da saqlanadi.) Tuzatishning nusxasi. Keyin xarita diskga yoziladi va foydalanuvchiga disk qurilmasida hammasi yaxshi emasligini bildirish uchun ogohlantirish xabari ko'rsatiladi.
Har safar fayl tizimi disk drayveridan sektorni o'qish yoki yozishni so'raganda, u tuzatish xaritasini skanerlaydi va har qanday yomon sektor raqamlarini haqiqiy ma'lumotlarni saqlaydigan tegishli yaxshi sektor bilan almashtiradi. Sektor raqamlarining bu chetga qarashli tarjimasi ko'rinadigan darajada qimmat emas, chunki tuzatishlar ro'yxati sektor keshda har safar kirishda emas, balki jismoniy o'qilgan yoki yozilganda skanerlanishi kerak
CHKDSK vazifalaridan biri tuzatish xaritasini bo'shatishdir. Tuzatish xaritasidagi har bir almashtirilgan blok uchun u maʼlumotlarga ega boʻlgan fayl uchun qulay joyda joylashgan yangi sektorni ajratadi, maʼlumotlarni tuzatish blokidan yangi ajratilgan sektorga koʻchiradi va faylni ajratish maʼlumotlarini yangilaydi (bu taqsimlash daraxtlarini muvozanatlash va boshqa murakkab operatsiyalarni o'z ichiga oladi). Keyin u noto'g'ri sektorni noto'g'ri blokirovkalar ro'yxatiga qo'shadi, o'zgartirish sektorini tuzatishlar hovuziga qaytaradi, tuzatish yozuvini tuzatish xaritasidan o'chiradi va yangilangan tuzatish xaritasini diskka yozadi.
Albatta, tezda aniqlanishi va tuzatilishi mumkin bo'lgan yozish xatolar fayl tizimi boshiga tushishi mumkin bo'lgan yagona ofat emas. HPFS dizaynerlari shuningdek, elektr ta'minotidagi uzilishlar, dasturlarning ishdan chiqishi, zararli viruslar va troyan otlari hamda Taqdimot menejeri qobig'ida O'chirish-ni tanlamasdan mashinani o'chirib qo'yadigan foydalanuvchilar muqarrar zararni hisobga olishlari kerak edi. (O'chirish fayl tizimiga disk keshini tozalash, kataloglarni yangilash va diskni barqaror holatga keltirish uchun zarur bo'lgan hamma narsani qilish haqida xabar beradi.)
HPFS har bir HPFS jildning SpareBlock-da DirtyFS bayrog'ini saqlab, Big Red Switch bilan juda keskin bo'lgan foydalanuvchidan o'zini himoya qiladi. Bayroq faqat ovoz balandligidagi barcha fayllar yopilganda va keshdagi barcha iflos buferlar yozilsa yoki yuklash hajmida (OS2.INI va almashtirish fayli hech qachon yopilmaganligi sababli) O'chirish paytida o'chiriladi. tanlandi va o‘z ishini yakunladi.
OS/2 yuklash ketma-ketligi davomida fayl tizimi har bir HPFS jilddagi DirtyFS bayrog'ini tekshiradi va agar bayroq o'rnatilgan bo'lsa, CHKDSK ishga tushirilgunga qadar ushbu jildga keyingi kirishga ruxsat bermaydi. Agar DirtyFS bayrog'i yuklash hajmida o'rnatilgan bo'lsa, tizim yuklashni rad etadi; foydalanuvchi disketdan OS/2 ni parvarishlash rejimida yuklashi va yuklash hajmini tekshirish va ehtimol tuzatish uchun CHKDSK ni ishga tushirishi kerak.
SuperBlock yoki asosiy katalogni yo'qotish kabi haqiqatan ham katta falokat yuz bergan taqdirda, HPFS ma'lumotlarni qayta tiklashga muvaffaqiyat qozonish uchun eng yaxshi imkoniyatni berish uchun mo'ljallangan. Muhim fayl ob'ektining har bir turi ---jumladan, Fnodes, ajratish sektorlari va katalog bloklari ---- ota-onasi va bolalari bilan ikki marta bog'langan va noyob 32 bitli imzoni o'z ichiga oladi. Fnodes shuningdek, fayl yoki katalog nomining boshlang'ich qismini ham o'z ichiga oladi. Shunday qilib, CHKDSK diskni Fnode, ajratish sektorlari va katalog bloklarini metodik ravishda skanerlash, ulardan fayllar va kataloglarni qayta qurish va nihoyat bo'sh joy bitmaplarini qayta tiklash orqali butun hajmni qayta qurishi mumkin.
Amaliy dasturlar va HPFS
OS/2 relizlarining har biri MS-DOS muhitida o'z kasbini o'rgangan amaliy dasturchilar uchun katta uzilishlarni olib keldi. OS/2 1.0 da bunday dasturchilar birinchi marta virtual xotira, ko'p vazifalilik, protsesslararo aloqalar, adreslash va apparatni to'g'ridan-to'g'ri boshqarish bo'yicha himoyalangan rejim cheklovlari bilan duch keldilar va tishli va dinamik bog'lanish kabi kuchli yangi tushunchalarni o'zlashtirishlari kerak edi. . OS/2 1.1 versiyasida qoziqlar yanada oshirildi. Dasturchilarga kuchli apparatdan mustaqil grafik foydalanuvchi interfeysi taklif qilindi, ammo ob'ektlar va xabarlarni uzatishga asoslangan hodisalarga asoslangan muhit uchun o'z ilovalarini keskin qayta qurish kerak edi.
Xulosa
HPFS FAT fayl tizimining barcha tarixiy muammolarini hal qiladi. U aqlli keshlash, oldinga o'qish va orqada yozish kabi ilg'or ma'lumotlar tuzilmalari va texnikasi yordamida o'ta og'ir holatlarda ham --- juda kichik fayllar yoki bir nechta juda katta fayllar --- ajoyib o'tkazuvchanlikka erishadi. Disk maydoni iqtisodiy jihatdan ishlatiladi, chunki u sektorlar asosida boshqariladi. Kengaytirilgan atributlar va uzun fayl nomlari uchun HPFS qo'llab-quvvatlashidan foydalanish uchun mavjud dastur dasturlarini o'zgartirish kerak bo'ladi, ammo bu o'zgarishlar qiyin bo'lmaydi. Barcha amaliy dasturlar HPFS ning yaxshilangan ishlashi va o'zgartirilgan yoki o'zgartirilmagan protsessordan foydalanishning kamayishidan foyda oladi. Eslatma:Ushbu maqola HPFS ning relizdan oldingi versiyasiga asoslangan bo'lib, u hali ham o'zgartirish va sozlashni boshdan kechirmoqda. Shuning uchun, HPFSning yakuniy nashri bu erda keltirilgan tavsifdan ba'zi tafsilotlarda farq qilishi mumkin --- Ed.}
Do'stlaringiz bilan baham: |