UNIX операциялық жүйедегі файлдық жүйе


UNIX операциялық жүйедегі файлдық жүйе

Мазмұны

Кіріспе
3
Кіріспе: Файлдық жүйелер
3: 4
Кіріспе: System V базалық файлдық жүйесі
3: 4
Кіріспе: BSD UNIX файлдық жүйесі
3: 5
Кіріспе: Каталогтар
3: 7
Кіріспе: Виртуальді файлдық жүйесінің архитектурасы
3: 8
Кіріспе: Виртуальді индексті дескрипторлар
3: 8
Кіріспе: Файлдық жүйеге қатынау
3: 8
Кіріспе: Файлдық кесте
3: 9
Кіріспе: Файлға қатынауды бұғаттау
3: 11
Кіріспе: Файлдық жүйенің бүтіндігі
3: 12
Кіріспе: Файлдармен жұмыс істеу
3: 13
Кіріспе: Файлдармен жұмыс істеуге арналған негізгі жүйелік функциялар
3: 13
Кіріспе: Енгізу/шығару стандартты библиотекасы
3: 14
Кіріспе: Байланыстар
3: 15
Кіріспе: Жадыда бейнелінген файлдар
3: 18
Кіріспе: Файлдармен иелену
3: 20
Кіріспе: Қатынау құқықтары
3: 21
Кіріспе: Файлдық жүйе бойынша жылжыту
3: 22
Кіріспе: Қорытынды
3: 24

Кіріспе

Әр бір операциялық жүйе бір түсініктемеге қолданылады оның бірі болып үрдіс табылады. Ал екінші түсінік, олда өте маңызды - ол файл түсінігі.

Файлдық жүйе - бұл операциялық жүйенің компоненті, ол файлды құрады, сақтайды және атаулы деректер жиынына қатынас құрады. Бұл атаулы деректер жиынын файл деп атайды.

Бұл курстық жобада UNIX-тегі программалау жөнінде қарастырылады. Бұл материал тек программалық қамтаманың құрушыларына ғана қызық, бірақ бұлай ойлау бұрыс. Әрине, программаны құру операциялық жүйемен ұсынылған функциялар мен ішкі құрылымның түсінігінсіз және жүйелік шақыру интерфейсінің білімінсіз мүмкін емес. Бірақ жүйенің әкімшілік етуі UNIX ортасы қалай жұмыс істейтіндігін көрсетімсіз түсіну қиын. UNIX программалық интерфейсі осы операциялық жүйенің ішкі механизмдерін көрсетуге мүмкіндік береді.

Сонымен қатар Sun Microsystems фирмасымен өңделген виртуальді файлдық жүйені жүзеге асыруы қарастырылған. Берілген архитектура SVR4 үшін стандарты болып табылады. Бірақ UNIX-тің басқа версияларында осындай жуықтары пайдаланады.

Файлдық жүйелер

UNIX операциялық жүйедегі деректердің көбісі ағаш түрінде ұйымдастырылған және деректердің кейбір тасушысында орналасқан файлдарда сақталады. Жалпыда ол жергілікті қатқыл диск, бірақ файлдық жүйенің арнайы типі - NFS (Network File System) жойылған компьютердегі файлдарды сақтауын қамтамасыз етеді. Сонымен бірге файлдық жүйе CD-ROM-да, дискеталарда және басқа тасушы типтерінде орналасуы мүмкін.

UNIX System V ізделінген файлдық жүйесі s5fs болып табылады. Берклиде өңделген FFS файлдық жүйе 4. 2BSD версиясында кейін шығарылған. s5fs-пен салыстырғанда ол күшті өнімділігімен, функционалдығымен және сенімділігімен меңгерілген. UNIX қазіргі нұсқаларындағы файлдық жүйелерде әртүрлі нұсқалары үшін өзгешелінген өте күрделі архитектурасы бар. Осылардың барлығына қарамастан олар AT&T және Беркли Калифорниялық университетіндегі UNIX өңдеушілерімен кепілденген базалық идеяларды қолданады.

System V базалық файлдық жүйесі

Әрбір қатқыл диск бір немесе бірнеше логикалық бөліктерден құралады. Олар тараулар (partitions) деп аталады. Тараудың өлшемі және орналасуы дискіні пішімдеу бойынша анықталады. UNIX-те тараулар тәуелсіз құрылғылар түрінде шығады. Олардың қатынауы деректердің өзгешелік тасушыларына сияқты жүзеге асырылады.

Мысалы, диск төрт тараудан тұруы мүмкін. Әр біреуі өзіндік файлдық жүйені құрайды. Айталық, тарауда тек қана бір файлдық жүйе орналаса алады, ол бірнеше тараулармен жұмыс істей алмайды. Басқа конфигурацияда диск тек қана бір тараудан құрыла алады және де көлемді файлдық жүйелердің құрылуын рұқсат етеді.

s5fs файлдық жүйе дискінің тарауында орын алады және үш негізгі компоненттерден құрылады:

  1. Суперблок (superblock) . Ол файлдық жүйе жөніндегі жалпы ақпаратты құрайды. Мысалы, блоктың жалпы санын және индексті дескриптерін немесе метадеректерін (inode) .
  2. Индексті дескриптерінің массиві (ilist) . Ол файлдық жүйенің барлық файлдарының метадеректерін құрайды. Индексті дескриптері файл жөніндегі статусты ақпаратын құрайды және бұл файл деректерінің орналасуын көрсетеді. Ядро ilist массивке индекс бойынша inode-ке үндеу тастайды. Бір inode файлдық жүйенің түпкі (root) inode болып табылады. ilist массивінің өлшемі бекітілген болып табылады және файлдық жүйенің құрылуы бойынша беріледі. Осыдан, s5fs файлдық жүйеде файлдар саны бойынша шектеулігі бар, олар бұл файлдардың өлшемдерінен тәуелсіз файлдық жүйеде сақталынуы мүмкін.
  3. Деректер сақтауының блоктары. Жалпы файлдардың және каталогтардың деректері блоктарда сақталады. Файлды өңдеу деректер блогына сілтемелер құрайтын inode арқылы жүзеге асырылады. Деректер сақтауының блоктары дискілік тараудың үлкен бөлігін алады және олардың санын берілген файлдық жүйелердегі файлдардың максимальді суммарлы көлемді анықтайды. Блоктың өлшемі 512 байтқа тең, мысалы S51K SCO UNIX файлдық жүйесі 1 Кбайтта блоктың өлшемін қолданады.

BSD UNIX файлдық жүйесі

4. 3BSD UNIX нұсқаларында файлдық жүйенің архитектурасына жақсартулары енгізілген. Ол оның өнімділігін және сенімділігін де жоғарылайды. Жаңа файлдық жүйе Berkeley Fast File System (FFS) атын алды.

FFS файлдық жүйесі s5fs жүйесінің толық функционалдығымен меңгерілуі ядро деректерінің сол құрылымдарымен де қолданылады. Негізгі өзгерістер бос блоктардың орналастыру алгоритмдерін, деректердің дискілік құрылымдарын және файлдық жүйенің дискіде орналасуын тигізген.

Суперблок файлдық жүйенің жалпы сипатталуынан құралады және тараудың басында орналасқан. Бірақ суперблокта inode пен бос блоктарының массивтері сияқты файлдық жүйенің еркін кеңістігі туралы деректері сақталмаған. Сондықтан суперблоктың деректері файлдық жүйе бар болуының барлық уақыт аралығында өзгертілмеген болып қала береді. Суперблоктың деректері барлық файлдық жүйелердің жұмысы үшін өте маңызды болғанымен, ол сенімділіктің жоғарылуына байланысты қайталайды.

Файлдық жүйенің ұйымы бір немесе бірнеше цилиндр тобына (cylinder group) дискілік тараудың логикалық бөлуін қарастырады. Цилиндр топтары бірнеше тізбектелген дискілік цилиндрлерден көрсетіледі. Әрбір цилиндр тобы басқарылған ақпаратты құрайды. Ол тобындағы дискілік блоктарын қолдану жөніндегі қорытынды ақпаратын, бос блоктар туралы мәліметтері мен inode массивін және суперблоктың резервтелген көшірмесін қосады.

Файлдық жүйенің құрылуы бойынша цилиндрдің әрбір тобына inode-тің анықталған көлемінен орын бөлінеді. Осымен деректер сақтауының блоктарындағы жалпы 2 Кбайт-тың әр біреуіне бір inode құрылады. Цилиндр топтарының және inode массивінің өлшемі фиксацияланғанмен, BSD UNIX файлдық жүйеде s5fs-ке ұқсас шектеулер бар.

Файлдық жүйе құрылымының осындай идеясы барлық тарауларда орналасқан inode кластерлерінің құрылуында қорытылған. Нақты файлдың деректеріне қатынау құқықтарының уақыты кішірейеді. Себебі деректер блогы олардың inode адрестелуіне жақын орналасады. Осындай рет істен шығу нәтижесінде барлық индексті дескрипторларды жоғалтып алу ықтималдылығын төмендетіп отыра, файлдық жүйенің сенімділігін арттырады.

Басқарылған ақпарат цилиндр тобының басынан әртүрлі ығысулармен орналасады. Кері жағдайда, мысалы, цилиндр тобының басынан орналасуы бойынша барлық топтарының ақпараты дискілік пластинаның біреуінде физикалық түрде орналасуы және осы пластинаның істен шығуы жойылып кетуі мүмкін.

Файлдық жүйенің өнімділігі деректер сақтау блогының өлшемінен тәуелді болады. Блок өлшемі үлкен болған сайын, деректердің үлкен көлемі ізденусізден оқылуы және дискілік бастиегінің (головка) жылжуы мүмкін. FFS файлдық жүйе 64 Кбайтқа дейін блок өлшемін қуаттайды. Мәселенің қорытындысы UNIX типті файлдық жүйе үлкен емес өлшемі файлдың маңызды санынан құралады. Бұл бөліктегіш бос емес блоктар тиімді емес пайдалануына әкеледі. Ол дискінің 60% пайдалы көлеміне дейін шығынына әкелуі мүмкін.

Бұл кемшілік блок фрагментациясы мүмкіндігінің көмегімен жүзеге асырылған.

Әрбір блок екі, төрт немесе сегіз фрагментке бөлінуі мүмкін. Бұл ауқытта блок енгізу/шығару операцияларындағы деректер беру бірлігі болып табылғанда, фрагмент дискіде деректер сақтауының адрестік бірлігін анықтайды. Осыдан енгізу/шығару өнімділігі мен деректер сақтау тиімділігінің арасындағы ымыра (компромисс) табылды. Фрагмент көлемі файлдық жүйенің құрылуы бойынша беріледі. Оның максимальді мәні - блок көлемімен (блок көлемі 0, 5), ал минимальді дискілік құрылғылардың физикалық шектеулермен (диск адресацияның минимальді бірлігі - сектормен) анықталады.

Топтағы бос кеңістік туралы ақпарат блоктардың биттік карта түрінде сақталады.

s5fs-тен ерекшелуінен FFS файлдық жүйе блоктар орналасу бойынша өнімділікті жоғарлатуына бағытталған стратегияны қолданады.

Каталогтар

FFS файлдық жүйесі каталогының құрылымы файлдардың ұзын аттарын (255 символдарға дейін) қуаттау үшін өзгертілген. Бекітілген ұзындығы жазбасының орнына FFS каталогының жазбасы келесі өрістердің болуымен құрылымы көрсетілген:

d_ino inode номері (ilist массивтегі индекс)

d_reclen Жазба ұзындығы

d_namlen Файл атының ұзындығы

d_name[] Файл аты

Файл атында 4-байтты шетке дейінгі нольдермен қосымшаланған айнымалы ұзындығы бар. Файл атының жойылуынан оған бағынған жазба алдыңғыға қосылады және d_reclen өрісінің мәні сәйкес шамаға үлкейеді. Бірінші жазбаның жойылуы d_ino өрісіне нольдік мәнге меншіктелуінде өрнектелінеді.

Виртуальді файлдық жүйесінің архитектурасы

Әр түрлі файлдық жүйенің типтері ішкі архитектура бойынша ерекшеленеді. Сол уақытта қазіргі UNIX нұсқалары біруақыттағы жұмысты бірнеше файлдық жүйелердің типтерімен қамтамасыз етеді. Олардың арасынан әр түрлі архитектуралардың локальді файлдық жүйелерді, қашықтатылған және UNIX файлдық жүйелердегі ең жақсыларды, мысалы DOS-ты айрықшалауға болады. Осындай анықтамалар деңгейлердің жүзеге асырылуынан тәуелді және тәуелсіз болып бөлінеді. Сонымен бірге тәуелсіз деңгей виртуальді файлдық жүйе деп аталады. Осымен қосымша файлдық жүйелердің әр түрлі типтері UNIX ядросына кірістіруге болады.

Сурет №1 Виртуальді файлдық жүйенің архитектурасы

Виртуальді индексті дескрипторлар

Дискілік файл метадеректер немесе inode деп аталатын деректер құрылымымен байланысады. Онда берілген файлдың негізгі мінездемелері сақталған және оның көмегімен деректерге қатынау қамтамасыз етілген. Виртуальді файлдық жүйе файлдың метадеректерін ұсынуына негізделген. Файлмен жұмыс істеу интерфейсі vnode (virtual inode - виртуальді индексті дескриптор) болып табылады.

Біріншіден бұл интерфейс файлдық жүйелердің әр түрлі типтерімен (NFS және ufs (FFS) ) талап етілген жұмыстың унификацияларын қамтамасыз ету үшін 1984 жылы Sun Mircosystems фирмасымен өңделген. Қазіргі таңда виртуальді файлдық жүйе SVR4-дегі стандарт болып табылады, бірақ та UNIX-тің басқа нұсқалары да осындай архитектураны жүзеге асырады.

Барлық активті файлдардың метадеректері жадыда in-core inode түрінде берілген. vnode деректерінің құрылымы нақты файлдық жүйеден тәуелсіз барлық файлдар үшін бірдей. vnode деректері виртуальді файлдық жүйенің жұмысына керек ақпараттарын, сонымен бірге өзгерілмейтін файлдың мінездемелерін құрайды.

Файлдық жүйеге қатынау

Процесс үшін локальді мәнін ие болатын бүтін сандар - файлдық дескрипторларының көмегімен адрестейтін процесс файлдармен операцияларын аяқтайды. Бұл бір процесстің файлдық дескрипторы мүлдем басқа файлды адрестейді. Ал сондай нөмірдегі файлдық дескриптор басқа процесспен қолданылады. Процесс жүйелік шақырулар қатарының көмегімен файлдық дескрипторын алады. Мысалы, атын аудару операцияларын орындайтын open(2) немесе creat(2) . Ол нәтижесінде ерекшеленетін файлдық дескрипторіне сәйкесінше файлдық жүйенің файлы және анықталған inode (немесе vnode) адрестелінеді.

Сурет №2 файлға процессті қатынауға керек ядроның негізгі құрылымы көрсетілген.

Сурет №2 Файлға қатынаудың ішкі құрылымдары

Файлға процессті қатынау үшін қолданатын файлдық дескриптор файлдық дескрипторы кестесінің индексі (file descriptor table) болып табылады. Әр процессте файлдық дескрипторларының жеке кестесі бар. Ол оның u-area-сында орналасқан. Сурет №2-де екі процесс көрсетілген, оның әр біреуі файлдық дескрипторының жеке кестесін қолданады.

Бұл кестенің ашық файлды көрсететін әр активті жазба жүйелік файлдық кестенің жазбасын адрестейді. Олар файлға қатынаудың режимі (жазба, оқу, қосу және т. б. ), файлдағы ағымды ығысу (файлдық көрстекіш), сонымен бірге бұл файлдың vnode-қа көрсеткіш параметрлері сақталған. Жүйелік файлдық кесте барлық процесстерімен жалғыз және бірлесе қолданылады.

Сурет №2-де жүйелік файлдық кестенің бірнеше жазбалары сол файды адрестейді. Ол vnode кестесіндегі жалғыз жазбасы берілген.

Файлдық кесте

u_ofile және u_pofile файлдық дескриптордың өрісі процесстің файл деректеріне қатынау үшін керек бастапқы ақпаратты құрайды. Қосымша ақпарат жүйелік файлдық кестеде және индекстік дескриптор кестесінде болады. Процесстің файлға қатынауын қамтамасыз ету үшін ядро файлдық дескриптордан vnode-қа және сәйкес Сурет №2-де көрсетілгендей деректерді сақтау блогына дейін тізбекшесін толығымен құру керек.

Файлдық кестенің әрбір элементі файлмен жұмыс істеу үшін керек ақпаратты құрайды. Егер бірнеше процесстер сондай бірдей файлды ашса, олардың әрқайсысы файлдық кестенің меншікті элементін алады, бірақ та олардың барлығы тағы да сондай бірдей файлмен жұмыс істесе. Файлдық кестенің қажетті өріс элементтері төменде келтірілген:

Өріс: Өріс
Сипаттамасы: Сипаттамасы
Өріс: f_flag
Сипаттамасы: Файлды ашу кезінде көрсетілген жалаулар (open(2), creat(2) жүйелік шақырулар) . Файлмен әрбір операция көрсетілген режимге байланысты жіберуін тексереді. Басқаша айтқанда, егер процесс файлды тек оқу үшін ашса (FREAD жалауы), оған жазба операциясы кезінде рұқсат етілмейді, егер де ол соған қатынау құқығы бар болып тұрса да.
Өріс: FREAD
Сипаттамасы: Файл тек оқу үшін ашылған. O_RDONLY файлды ашу кезіндегідей.
Өріс: FWRITE
Сипаттамасы: Файл тек жазбаға ашылған. O_WRONLY файлды ашу кезіндегідей.
Өріс: FAPPEND
Сипаттамасы: Қосу режимі. Жазба операциясы басының алдынан файлдық көрсеткіш файлдың соңына қондырылады. O_APPEND файлды ашу кезіндегідей.
Өріс: FNONBLOCK, FNDELAY
Сипаттамасы: Бұғаттаусыз қайтару. Жүйелік шақыру операциясының аяқталуын күтпейді. O_NONBLOCK немесе O_NDELAY файлды ашу кезіндегідей.
Өріс: FSYNC
Сипаттамасы: Операцияның аяқталуы кезіндегі файл деректері және метадеректері үшін дискілік құрылымына сәйкес синхронизацияны қамтамасыз ету. O_SYNC файлды ашу кезіндегідей.
Өріс: FDSYNC
Сипаттамасы: Операцияның аяқталуы кезіндегі тек файл деректері үшін дискілік құрылымына сәйкес синхронизацияны қамтамасыз ету. O_DSYNC файлды ашу кезіндегідей.
Өріс: FRSYNC
Сипаттамасы: FSYNC және FDSYNC жалауларымен бірге оқу операциясы бойынша файлдың сәйкес компоненттері үшін синхронизация процесін анықтайды.
Өріс: f_count
Сипаттамасы: Берілген элементті файлдық кестеге адрестейтін файлдық дескрипторлар саны. Тағы сол сияқты файлдық кестенің элементі dup(2) жүйелік шақыру немесе fork(2) нәтижесінің көмегімен дескрипторларды қосарлауда бірге қолданылуы мүмкін.
Өріс: f_vnode
Сипаттамасы: Файлдың виртуальді индекстік дескрипторына көрсеткіш.
Өріс: f_offset
Сипаттамасы: Файлдағы ағымды аралас. Осы жерден бастап оқу немесе жазбаның келесі операциясы өндіріледі.

Файлға қатынауды бұғаттау

UNIX-тің дәстүрлі архитектуралы файлдық ішкіжүйесі бірнеше процесстерге оқу және жазу үшін файлға біркелкі қатынауға рұқсат береді. Бірақ та read(2) немесе write(2) жүйелік шақырулардың көмегімен жүзеге асатын оқу және жазу операциялары атомарлық болып келеді. UNIX-те келісім бойынша бөлек шақырулардың арасында синхронизация жоқ. Басқаша айтқанда, read(2) екі ізбасар шақырулардың арасында бір процесстен басқа процесске файл деректері түрлендіруі мүмкін. Бұл файлмен шешілмеген операцияларға және олардың деректерінің бүтіндігін бұзуға алып келуі мүмкін. Бұндай жағдай көптеген қосымшалар үшін тиімсіз болып келеді.

UNIX файл байты немесе файл жазбасының берілген диапазонын бұғаттауын қамтамасыз етуге рұқсат береді. Ол үшін fcntl(2) базалық жүйелік шақырудың файлмен басқаруы және lockf(3C) бұғаттауды арнайы басқару үшін арналған библиотекалық функциясы қызмет етеді. Содан фактілік файлдық операцияның (оқу немесе жазу) алдынан процесс сәйкес типті (оқу үшін немесе жазу үшін) бұғаттауды қондырады. Егер бұғаттау сәтті аяқталса, онда бұл талаптанған файлдық операция жанжалдықты немесе деректер бүтіндігінің бұзылуын туғызбайды. Мысалы, бірнеше процесстермен файлға бір уақытта жазу.

Келісім бойынша бұғаттау кепілдемелік (advisory lock) болып келеді. Бұл ортақ жұмыс істейтін процесстер құрылған бұғыттауын басшылық ете алады, бірақ ядро файлдың бұғатталған бөлігінде жазуын немесе оқуын тыйым салмайды. Ұсынылған бұғаттауымен жұмыс істегенде процесс fcntl(2) және lockf(3C) функцияларының көмегімен олардың бар болуын тексереді.

flock құрылымы бұғаттаудың сипаттауына қызмет етеді. Осы құрылымының өрістері 2 кестеде берілген.

Өріс: Өріс
Сипатталуы: Сипатталуы
Өріс: short l_type
Сипатталуы: Бұғаттау типі: F_RDLCK оқу үшін (read lock) бұғаттауын көрсетеді, F_WRLCK - жазу үшін (write lock) бұғаттау, F_UNLCK бұғаттау алып тастауын көрсетеді.
Өріс: short l_whence
Сипатталуы: Файлда жазба ығысудың санау нүктесі. Ол lseek(2) функциясының мәнін қолдана алады: SEEK_SET, SEEK_CUR, SEEK_END.
Өріс: off_t l_start
Сипатталуы: l_whence өрісімен көрсетілген санау нүктесінің қатынасынан бұғатталған жазбаның ығысуы.
Өріс: off_t l_len
Сипатталуы: Бұғатталған жазбаның ұзындығы. l_len нольдік мәні жазба әр қашанда файлдың соңына дейін таратылады, файл көлемінің мүмкін өзгерістен тәуелсіз.
Өріс: pid_t l_pid
Сипатталуы: GETLK команданың шақырылуы бойынша қайтаратын бұғаттауын қондырған процесстің идентификаторы.

UNIX-те міндетті бұғаттау (mandatory lock) бар. Оның қатынауға шектеуі файлдың жазбаларына ядроның өзімен қойылады. Міндетті бұғаттаудың жүзеге асырылуы әр түрлі болуы мүмкін. SVR4 UNIX бөлек жазу және оқу үшін бұғаттауын қондыруды қуаттайды. Процесстің көбісіне оқу үшін және тек қана бір процесске жазу үшін қатынауын қамтамасыз етеді. Бұл қондырғылар fcntl(2) жүйелік шақырулармен де жүзеге асырылады.

Файлдық жүйенің бүтіндігі

Файлдық жүйенің бөлігі оперативті жадыда орналасқан. Оперативті жадыда байланысқан (монтирование) жүйенің суперблогы, активті файлдардың метадеректері және буферлі кэште уақытша орналасатын файлдар деректерін сақтауының бөлек блоктары орналасқан. Бөлек файлдардың мазмұны файлдық жүйенің бүтіндігіне бұзуын әкелмейді.

Осындай сәйкес еместіктерді файлдың метадеректерін немесе файлдық жүйенің басқа басқаратын ақпаратты, мысалы, суперблокты тигізеді. Файлдық операцияларының көбісі файлдық жүйенің бірнеше объектілерін бірден тигізеді. Егер де дискіде осы объектілердің тек бөліктеріне өзгерістер сақталған болса, файлдық жүйенің бүтіндігі бұзылуы мүмкін.

Авариялық тоқтатылу жағдайындағы жадыда файлдық жүйенің үлгісі мен оның дискіде деректердің арасында синхронизациялаудың болмауы келесі қателердің пайда болуына әкеледі:

  1. Бір блок бірнеше inode-тармен адрестелінеді.
  2. Блок бос түрінде белгіленген, бірақ сол уақытта бос емес (оған inode сілтемеленеді) .
  3. Блок бос емес түрінде белгіленген, бірақ сол уақытта бос (оған бірде бір inode сілтенбейді) .
  4. inode-ке сілтемелердің бұрыс сандары.
  5. Файл көлемі мен суммарлы көлемінің арасындағы сәйкес еместік блоктардың inode-қа адрестелінеді.
  6. Қатыналмаған адресті блоктары.
  7. “Жоғалған” файлдар.
  8. Каталогтардың жазбаларында inode-тің қатыналмаған немесе орналаспаған номерлері.

Егер де орындамау болса, файлдық жүйені жөндеуін жүзеге асыратын fsck(1M) утилитасы көмекке келу мүмкін. Осы утилитаның іске қосылуы автоматты түрде жүйенің әрбір іске қосылуына немесе администратордың келесі команданың көмегімен жүзеге асырылады:

fsck [options] filesystem

filesystem - құрылғының арнайы файлы.

Тексеріс және түзеу тек қана байланысқан файлдық жүйеде жүзеге асырылуы қажет. Бұл олардың дискілік эквиваленттерімен жадыда кестенің синхронизациясы айрықшалуының қажетімен байланысқан. Айрықшалау түпкі файлдық жүйе құрайды, ол байланысқан бола алмайды. Оның түзетуіне тексеру жүргізілгеннен кейінгі жүйенің сол бойда қайта іске қосуын қамтамасыз ететін -b опциясын қолдану керек.

Файлдармен жұмыс істеу

UNIX программалау ортасында файлдық енгізу/шығару үшін екі негізгі интерфейстері бар:

  1. Жүйелік шақырудың интерфейсі. Ол төмен деңгейдегі жүйелік функцияларды ұсынады және операциялық жүйенің ядросымен тікелей өзара әрекеттеседі.
  2. Буферлік енгізу/шығару функциясымен ұсынылатын енгізу/шығару стандартты библиотека.

Екінші интерфейс жүйелік шақыру интерфейсінен “надстройкасы” болып табылады. Ол файлмен жұмыс істеу тиімді әдісін ұынады.

Файлдармен жұмыс істеуге арналған негізгі жүйелік фукнциялар

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Linux ядросының алғашқы нұсқасы
Windows операциялық жүйенің файлдық жүйесі
Sys conf каталогында файл конфигурациясын құру
Linux операциялық жүйесі жайлы ақпарат
Ядросы Unix Linux тұқымдас операциялық жүйелер
Операциялық жүйелер,оның дамуы және түрлері ( MS-DOS,NC,OS/2,UNIX,Windows, оның түрлері)
Windows операциялық жүйесінің тарихы
Операциалық жүйелердің файлдық жүйесі
Windows 2000
Linux операциялық жүйесінің функциялары
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz