14-dars: Fayl tizimi
4-blokXotira, OS va fayl13–16 darslar
Nega bu muhim
“Nega bu muhim” bo'limiga havolaDiskingizda rasm.jpg yotibdi. Uni rasm.txt deb qayta nomlasangiz nima o’zgaradi? Ko’pchilik “fayl buziladi” deb o’ylaydi. Aslida — hech narsa o’zgarmaydi: baytlar joyida, rasm ham joyida. Faqat kompyuter uni endi “matn” deb ochishga urinadi.
Bu darsda fayl degan tushunchaning pardasini ochamiz: ichida nima bor, nomi qayerda saqlanadi va haqiqiy turini kim biladi. Bu bilim xavfsizlikda ham asqotadi: virus ba’zan o’zini “rasm” deb tanishtiradi.
Bu darsdan keyin siz
- fayl aslida nimalardan iboratligini (baytlar + metama’lumot) bilasiz
- papkalar daraxti va yo’l (path) tushunchasini tushuntira olasiz
- kengaytma shunchaki kelishuv ekanini va magic baytlar nima ekanini bilasiz
- fayl “o’chirilganda” aslida nima bo’lishini ayta olasiz
Nazariya
“Nazariya” bo'limiga havolaFayl = baytlar qatori + pasport
“Fayl = baytlar qatori + pasport” bo'limiga havolaDisk darajasida fayl — shunchaki baytlar ketma-ketligi. 4-darsda ko’rgansiz: o’sha baytlar matn ham, rasm ham, ovoz ham bo’lishi mumkin. Diskda ular hech qanday “turga” ega emas.
Fayl tizimi har faylga qo’shimcha “pasport” yuritadi: nomi, hajmi, yaratilgan sanasi, kim o’qiy olishi. Bu pasport faylning ichida emas, fayl tizimining o’z jadvallarida saqlanadi.
fayl tizimifile system
Diskdagi baytlarni fayl va papkalarga tartiblab, har biriga nom, joy va huquqlarni biriktirib beruvchi tizim. NTFS, APFS, ext4 — shular jumlasidan.
Daraxt va yo’l
“Daraxt va yo’l” bo'limiga havolaFayllar papkalarga, papkalar papkalarga joylanadi — daraxt hosil bo’ladi. Daraxtdagi manzil yo’l deyiladi: hujjatlar/maktab/insho.txt — ildizdan boshlab har qadam.
yo'lpath
Fayl yoki papkaning daraxtdagi to’liq manzili. Har bo’g’in — bitta papka, oxirgisi — nishon.
Aslida esa daraxt ham illyuziya: diskda hammasi yonma-yon bloklarda yotadi. Daraxtni fayl tizimi o’z jadvallari bilan “chizib beradi” — xuddi RAM’dagi manzillar ustiga qurilgan tartib kabi.
Kengaytma — shunchaki va’da
“Kengaytma — shunchaki va’da” bo'limiga havola.jpg, .pdf, .mp3 — bular faylning nomidagi dumcha, xolos. Hech qanday qulf yo’q: nomni o’zgartirish baytlarga tegmaydi. Kengaytma operatsion tizimga beriladigan va’da: “meni rasm ko’ruvchida och”.
Haqiqat esa faylning birinchi baytlarida yotadi. Ko’p formatlar o’z imzosi bilan boshlanadi: PNG doim 89 50 4E 47, PDF doim 25 50 44 46 (bu ASCII’da %PDF).
magic baytlarmagic bytes
Fayl boshidagi formatni bildiruvchi qat’iy baytlar imzosi. Kengaytmadan farqli, faylning o’zida yashaydi — nom o’zgarsa ham qoladi.
“O’chirish” aslida nimani o’chiradi
““O’chirish” aslida nimani o’chiradi” bo'limiga havolaFaylni o’chirsangiz, diskdagi baytlar joyida qoladi — fayl tizimi shunchaki o’z jadvalidan yozuvni olib tashlab, “bu joy bo’sh” deb belgilaydi. Baytlar ustiga yangi narsa yozilgunicha ular tiklanishi mumkin.
Shu sababli maxsus dasturlar “o’chirilgan” fayllarni qaytara oladi. Va shu sababli telefonni sotishdan oldin oddiy o’chirish yetarli emas — to’liq shifrlash yoki qayta yozish kerak.
Sinab ko’r
“Sinab ko’r” bo'limiga havolaIstalgan faylni tanlang (u kompyuteringizdan chiqmaydi, faqat birinchi 16 bayti brauzerda o’qiladi). Baytlar imzosi kengaytma bilan solishtiriladi. Keyin faylning nusxasini boshqa kengaytma bilan saqlab, qayta tekshiring — kim yolg’on gapiradi?
Magic bayt kuzatuvchi
Istalgan faylni tanlang — birinchi baytlari haqiqiy turini fosh qiladi.
Bu simulyator faylning birinchi baytlarini (imzosini) o'qib, haqiqiy turini aniqlaydi va kengaytma bilan solishtiradi. Masalan har PNG fayl 89 50 4E 47 baytlari bilan, har JPEG esa FF D8 FF bilan boshlanadi.
JavaScript'siz sinash: hexed.it saytida istalgan PNG va JPEG faylni ochib, birinchi to'rt baytini solishtiring.
- Kengaytma da'vosi:
- —
- Baytlar guvohligi:
- —
- Hukm:
- —
- Fayl diskda — baytlar qatori; nomi, sanasi, huquqlari fayl tizimi jadvalida
- Yo’l — daraxtdagi manzil; daraxtning o’zi ham fayl tizimi chizgan illyuziya
- Kengaytma — nomdagi va’da; magic baytlar — fayl ichidagi haqiqat
- “O’chirish” — jadvaldan yozuvni olish; baytlar ustiga yozilgunicha tiklanadi
- Fayl turiga nomidan qarab emas, mazmunidan qarab ishonish kerak
O’zingizni sinang
“O’zingizni sinang” bo'limiga havola1rasm.jpg ni rasm.txt deb nomlasak, diskdagi baytlarga nima bo'ladi?
Javobni ko'rish
Hech narsa. Nom fayl tizimining jadvalida saqlanadi, baytlar esa diskda o’z joyida. O’zgargan yagona narsa — tizim endi faylni matn muharririda ochishga urinadi va ekranda “qiyqim” belgilar ko’rasiz. Bu baytlar buzilgani emas, noto’g’ri o’qilgani.
2Nega PNG mualliflari faylni aynan 89 50 4E 47 bilan boshlashga kelishgan?
Javobni ko'rish
50 4E 47 — ASCII’da “PNG”, odam hex’da ko’rsa tanisin. Birinchi 89 esa ataylab ASCII’dan tashqarida: fayl tasodifan matn deb o’qilsa darhol “bu matn emas” degan signal beradi. O’ylab qilingan muhandislik.
3Fayl tizimisiz disk qanday ko'rinardi va nima yo'qolardi?
Javobni ko'rish
Milliardlab baytning uzluksiz qatori. “Fayl”, “nom”, “papka” tushunchalarining o’zi yo’qolardi — qaysi bayt qaysi hujjatga tegishli ekanini hech kim bilmasdi. Fayl tizimi — xotira ustiga qurilgan tartib abstraksiyasi.
4O'chirilgan faylni tiklash dasturlari qanday ishlaydi va qachon ojiz qoladi?
Javobni ko'rish
Ular jadvaldan o’chirilgan, lekin baytlari hali joyida turgan fayllarni qidiradi — ko’pincha magic baytlar bo’yicha. Ustiga yangi ma’lumot yozilgan bo’lsa, tiklab bo’lmaydi: eski baytlarning o’rnida endi yangilari.
5Nega docx fayli ZIP imzosi bilan boshlanadi?
Javobni ko'rish
Chunki docx aslida ZIP arxiv: ichida matn, rasmlar va formatlash alohida fayllar bo’lib yotadi. Kengaytmani .zip ga o’zgartirsangiz, arxiv sifatida ochib ichini ko’rishingiz mumkin. Yana bir dalil: tur — kelishuv, mazmun — baytlar.
Amaliy topshiriq
Birinchi qism. Kompyuterda istalgan rasmning NUSXASINI oling (aslini emas!) va
kengaytmasini .txt ga o’zgartiring. Matn muharririda oching — nima ko’rinadi?
Birinchi qatorda formatga oid belgilar bormi? Keyin kengaytmani qaytarib, rasm
ochilishini tekshiring.
Ikkinchi qism. O’sha nusxani yuqoridagi simulyatorda .txt holida tekshiring:
baytlar haqiqatni aytdimi?
Uchinchi qism. hexed.it saytida bitta PNG va bitta JPEG faylni ochib, birinchi 8 baytini daftarga yozing va solishtiring.
Topshiriladigan natija: .txt tajribasi tavsifi (2-3 gap), simulyator xulosasi
va ikki faylning bosh baytlari.
Darsni belgilash uchun JavaScript kerak. Bu progressni saqlash uchun ishlatiladi — darslikning o'zi JavaScript'siz ham to'liq o'qiladi.