Mavzu: unix operatsion sistemasi va uning arxitekturasi. Reja: I. Kirish. II. Asosiy qism


Download 273.5 Kb.
bet7/13
Sana25.02.2023
Hajmi273.5 Kb.
#1231798
1   2   3   4   5   6   7   8   9   10   ...   13
Bog'liq
тайёр

Fayllar sistemasi interfeysi.
UNIX operatsion sistemasi yadrosi fayllar bilan ishlashda bir qancha system chaqiruvlardan foydalanadi. Ulardan ko‘p ishlatiladiganlari open, , read, write, lseek va close.
Shuni aytish kerakki faylarni boshqarish podsistemasi oddiy fayllarni tashqi xotira bloklari nabori shaklida taqdim yetilsa-da, foydalanuvchi uchun fayl baytlar ketma-ketligi shalida taqdim ediladi. Bunday taqdimot tashqi qurilmalar bilan ishlashda qulaylik yaratadi.
Fayl deskiriptori open (ochish) va creat (hosil qilish) system chaqiruvlar bilan beriladi. Ochish va hosil qilash operatsiyalarining asosiy parametrlari faylning to‘liq yoki nisbiy nomidan iborat. Bundan tashqari faylni ochishda ochish rejimi (faqat o‘qish, yozish, o‘qish va yozish) va harakteristika, faylga murojat imkoniyati (dostup) ko‘rsaliladi.
Virtual xotiraga aks yetadigan fayllar.
UNIX ning yangi zamonaviy versiyalarida (masalan UNIX System V.4 da) oddiy faylni prosessning virtual xotirasiga akslantirish imkoniyati mavjud. Bu usul tarixiy Multics operatsion sistemasining negizi bo‘lgan.
Faylni virtual xotiraga akslantirish uchun, fayl ochilgandan so‘ng mmap sistem chaqiruvi amalgam oshiriladi. Bu funksiya ochiq fayl bilan birlashgan xotira bo‘lagidan segment ajratadi va avtomatik ravishda prosessning virtual xotirasiga bog‘laydi. Shundan so‘ng prosess yangi segmentdan o‘qishi mumkin (aslida faylda joylashgan baytlar o‘qiladi) va unga yozadi (aslida barcha yozuvlar faylga akslanadi). Faylning mos segmentini yopish avtomatik ravishda prosessning virtual xotirasidan ajralishga olib keladi.
Bir nechta prosess bir vaqtda bitta faylni ochib, o‘zining virtual xotirasiga mmap system chaqiruvi orqali qo‘shadi. Bunday holda taqsimlangan xotiraning mos segmentiga yozilgan ixtiyoriy o‘zgarish darhol boshqa prosesslarga ko‘rinadi.
Faylga murojat vaqtida sinxronizatsiya.
Tarixiy UNIX operatsion sistemasida faylga parallel murojatni (bir nechta prosesslarning murojatini) ta’minlashda doim oddiy yondoshuvdan borilgan. Sistema faylni bir vaqtda istalgancha prosess tomonidan istalgan rejimda (o‘qish, yozish, yangilash v.h) ochishni ta’minlagan va hech qanaqa sinxronizatsiyadan foydalanilmagan.
System V.4 da faylga parallel murojatda prosesslarga sinxronizatsiya qilishga imkon beradigan muhit paydo bo‘ldi. Bu prinsipda faylga miurojatni sinxronizatsiya qilish bitta open system chaqiruvi bilan amalga oshirilgan (ya’ni, masalan yozish yoki yangilash uchun ochilgan fayl mos prosess tomonidan monopal blakirovka amalgam oshiriladi). Bunday usul ko‘p operatsion sistemalarda qo‘llanilgan (Multics operatsion sistemasi boshlanishi bilan), lekin UNIX operatsion sistemasiga bunday qaror juda kech qabul qilingan.
UNIX yadrosi fayllar sistemasiga ta’luqli fcntl system chaqiruvini ham taniydi. U ochiq faylning joriy rejimi haqidagi ma’lumotni beradi va uni (rejimni) o‘zgrtiradi. System V.4 da fcntl system chaqiruvida sinxronizatsiya funksiyalari amalgam oshiriladi. Bu system chaqiruv yordamida birgalikdagi yoki monopol blakirovkani faylning ko‘rsatilgan baytlar diapazoniga yoki butun faylga ustida amalgam oshiriladi.
Sixronizatsiyaning ikki varianti mavjud: Kutish bilan va Kutmasdan sinxronizatsiya qilish.

  • Prosessni keyinga qoldirishga olib kileshi mumkin blakirovkaga talab bo‘lgandan toki bu talab qondirilmagungacha kutish.

  • Prosess blakirovkaga talab qondirilganligi haqida yoki ayni paytda qondirishning mumkin yemasligi (imkoni yo’qligi) haqida darhol xabardor qilinganda kutmaydi.


Download 273.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling