Файлға кіру құқығы. Файлға кіру құқығын анықтау – ол операцияда әр қолданғышты анықтау, оын берілген файлға пайдаланады. Дифференциялдық операцияға кіру әр файлдық жүйеде өз тізімі анықталған. Бұл тізімге қосылған келесі операциялар:
Файлдың құрылымы,Файлдың жойылуы,
Файылдың ашылуы,Файлдың жабылуы,
Файлдың оқылуы,Файлдың жазылуы,
Файлдың қосымшасы,Файлды іздестіру,
Файлдың белгісін алу,Жаңа белгілерді орнату,
Өзгертілім,Файлдың орындалуы,
Каталогтың оқылуы.
Дәріс 9. Файлдық жүйенің негізгі функциялары мен құрамдары
Дәріс мақсаты: ЖБ-дағы файлдық жүйе функцияларын мен құрамдарын қарастыру.
Әрбір жүйелік бағдарламалау бір түсініктемеге қолданылады, оның бірі үрдіс болып табылады. Ал екінші түсінік, ол да өте маңызды – ол файл түсінігі.
Файлдық жүйе – бұл жүйелік бағдарламалаудың компоненті, ол файлды құрады, сақтайды және атаулы деректер жиынына қатынас құрады. Бұл атаулы деректер жиынын файл деп атайды.
Файлдың негізгі қасиеттері:
1) Файл – бұл аты бар және осы атқа сілтеп файл мазмұнымен әрекеттесуге мүмкіндік беретін бір объект. Әдетте файл аты – ол тізбекті бір символдар, оның үзындығы Жүйелік бағдарламалауға байланысты.
2) Орналасудан файлдың тәуелсіздігі. Нақты файл жұмыс орындау үшін файлдың сыртқы құрылғыда орналасуы жайында ақпараттың қажеті жоқ.
3) Енгізу-шығару функцияларының жиынтығы. Әрбір Жүйелік бағдарламалау файлмен алмасуды қамтитын функциялар жиынтығын анықтайды. Көбінесе функциялар жиынтығы келесі сұраныстардан тұрады:
файлды жұмыс жасау үшін ашу. Бар немесе жаңа файлды ашуға болады.
4) Оқу/жазу. Көбінесе файлдармен алмасу бірнеше деректер блогымен ұйымдастырылуы мүмкін. Алмасу жасалынатын деректер блогы екі түсінік көрсетеді. Бір жағынан әр есептеу жүйесіне деректер блогының мөлшері белгілі және олар алмасуға тиімді болып табылады, ол бағдарламалы – аппаратты мөлшерлер. Басқа жағынан бұл деректер блогы реалды алмасу кезінде программистермен өзгертілуі мүмкін. Оқу/жазу функцияларында оқитын немесе жазылатын деректердің көбісінде алмасуға арналған деректер блогының мөлшері және деректер блогының саны белгіленеді. Таңдалған деректер блогының мөлшері реалды алмасудың тиімділігіне байланысты, мысалы бір машинаның деректер блогының тиімді мөлшері 256 Кб болып табылады, ал сіз 128 Кбайтан алмасу орындағыңыз келеді, сонда сіз екі рет қатынас құрасыз. Бір рет алмасу орындау үшін сіз оны екі бөліп алмасу орындайсыз, бұл жағдайда Жүйелік бағдарламалау тиімсіз элеметтерді өзі түзеуі мүмкін. Түзелмеген жағдайда ол сіздің қатеңіз.
5) Файлдық нұсқағышпен басқару. Әрбір ашық файлмен файлдық нұсқағыш байланысты. Бұл нұсқағыш бойынша әрбір уақытта алмасу орындайтын келесі файлдың мекені көрсетіледі. Ол блокпен алмасу орындалған соң нұсқағыш бір блоктан кейінгі позицияға өтеді. Файлмен жұмыс ұйымдастыру үшін бұл нұсқағышты басқаруды білу қажет. Файлдық нұсқағышты басқару үшін арнайы функция бар. Нұсқағыш дегеніміз ол файлды ашу функциясымен байланысты бір айнымалы.
6) Файлды жабу. Бұл операция екі функция арқылы жүзеге асырылуы мүмкін:
- ағымдағы файл мазмұнын сақтау және жабу;
- файлды жою.
Файлды жапқан соң онымен барлық байланыс тоқтатылады.
Деректерді қорғау. Көп стратегиялық шешімдер аппараттық деңгейде және операциялық жүйе деңгейінде қайталанады. Егер мультибағдарламалық режімді еске алсақ, онда бір қажет болып табылатын ол жадыны және деректерді қорғау. Файлдық жүйені қарастыратын болсақ, олда Жүйелік бағдарламалау сияқты бірқолданбалы болуы мүмкін. Бұл жағдайда деректерді қорғау проблемалары болмайды, өйткені операциялық жүйеде жұмыс жасап отырған адам барлық файлдардың иесі болып табылады. Негізінде қорғау проблемасы тек қана файлдық жүйемен байланысты емес. Реалды Жүйелік бағдарламалау деректердің қорғанысын барлық аймақтарда қамтиды: бұл файлдар, үрдістер және қорлар.
Үлестіру кестесінде картада әр секторға бір бит бөлінеді. Картадағы позициялық орны дискідегі позициялық орынды анықтайды. Бұнда 1 - сектор бос емес екенін білдіретін жағдай, ал 0 - бос. Бір лентада бір файл емес, каталогпен бірнеше файл орналасады.
Бұл құрылым үзілмейтін және файлдардың фрагментті құрылымдарына белгіленген. Үзілмейтін файлда көрсету үшін 4 байттан екі сан қолданылады. Бірінші сан бірінші блоктың нұсқағышын белгілейді, екінші – мөлшер (бір бірінен кейін жүретін блоктар саны).
Блок мөлшері – 1 сектор.
Фрагментті файлдар Extent-терден тұрады. Оның әрқайсысына екі сан бөлінеді (2-4 байт).
Әртүрлі көп мәліметтер жиынтығын логикалық жазба немесе сектор деп атайды. Осы мәліметтер тізбегінің реттілігі структуралық жазба деп аталады. Қолданбалы бағдарламалар деңгейінде файл көптеген логикалық жазбалардан тұрады. Физикалық деңгейде файл көптеген аталған дикста сақталған секторлар мен кластерлерден тұрады. Әдетте логикалық жазбалардың ұзындығы кластер ұзындығымен сәйкес келмесе, кластер бірнеше логикалық жазбалардан тұрады немесе керісінше логикалық жазбалар бірнеше кластерлерден тұруы мүмкін. Файлдарға рұқсаты бар немесе логикалық файлдар жазбалары мен олардың физикалық мағынасынан тұратын операциялық жүйенің бөлігі файлдарды басқаратын жүйе немесе файлдық жүйе деп аталады.
Файлдардың логикалық жазбаларына рұқсат алатын операцияларды орындау үшін, әрбір файл сайын келесі логикалық жазба файлын файлға бағыттауышты байланыстырады. Әрбір жазба операциясынан және логикалық жазбаны оқудан кейін файлдық жүйе файлды бағыттауышты келесі логикалық жазбаға жылжытады. Файлдарға рұқсат алу үшін файлды басқару жүйесі, ең болмағанда келесі опреацияларды орындау керек:
- файлды жасау;
- файлды өшіру;
- жұмыс істеп тұрған файлға рұқсат;
- жұмыс істеп тұрған файлға рұқсатты жабу;
- файлға мәліметтерді жазу;
- файлдан мәліметтерді оқу;
- қажетті жазбаға бағыттауышты орнату.
Енгізу-шығару буферизациясы.
Енгізу-шығару буфері деп – файлдарды жазуды уақытша сақтайтын оперативті жадтың ауданын атайды. Әдетте, буфер ұзындығы кластердің қысқы ұзындығымен таңдалады. Енгізу-шығару буфері келесі екі қызметті атқарады:
- қосымшаларда анықталатын файлдарды логикалық жазудың шамасының және дискке жазылатын кластердің шамасының сәйкессіздігінен ығыстыру;
- сырттағы құрылғылардың жұмыс істеу жылдамдығын арттыратын процесордың жұмыс істеу жылдамдығына сырттағы құрылғылардың әсер етуін төмендету.
Мәліметтерді шығару кезіндегі осы есептерді шығару кезінде файлдық жүйе алдымен буферді логикалық жазбалармен толтырады да, артынан сыртқы орнатылымға дискке логикалық жазбаларды жазу командасын бұйырады. Мәліметтерді енгізу кезінде файлдарды басқару жүйесі алдымен буферді кластерлермен толтырады да, артынан буферден қолданушы бағдарламасына логикалық жазбаларды басқаруды орындайды.
Мәліметтерді енгізу-шығаруды жылдамдату үшін сақиналы кезекте ұйымдастырылған бірнеше енгізу-шығару буферлері қолданады. Қолданушы процестің бір буфермен жұмысы кезінде файлдық жүйе параллель басқа буферлерге мәліметтерді енгізу-шығару жұмысын атқарады.
Енгізу-шығаруды кэштау.
Жад иерархиясының көршілес екі деңгейін қарастырамыз. Осыған қарамастан, жоғары деңгейдің жады төменгі деңгейге қарағанда тезірек жұмыс істейді деп алайық. Керек мәліметтер төменгі деңгейде деп есептейік, ал жадты басқару механизмі жоғарғы деңгейге қолданушы бағдарламасы ықтимал мәліметтерді жіберуді атқарады. Мұндай жағдайларда жоғарғы деңгей жады төменгі деңгей жадына қарағанда кэш сияқты жұмыс істейді деп айтады. Алғашында бұл термин тек процесор регистрі мен оперативтік жад арасында орналасқан ең жоғарғы деңгейге ғана қолданылған. Қазіргі уақытта бұл термин мәліметтерді енгізудің алдын алу мағынасын түсіндіруде кеңірек мағынада қолданылады.
Дәріс 10. Файлдарды ұйымдастыру тәсілдері
Достарыңызбен бөлісу: |