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

Кіріспе
3
Файлдық жүйелер 4
System V базалық файлдық жүйесі 4
BSD UNIX файлдық жүйесі 5
Каталогтар 7
Виртуальді файлдық жүйесінің архитектурасы 8
Виртуальді индексті дескрипторлар 8
Файлдық жүйеге қатынау 8
Файлдық кесте 9
Файлға қатынауды бұғаттау 11
Файлдық жүйенің бүтіндігі 12
Файлдармен жұмыс істеу 13
Файлдармен жұмыс істеуге арналған негізгі жүйелік функциялар 13
Енгізу/шығару стандартты библиотекасы 14
Байланыстар 15
Жадыда бейнелінген файлдар 18
Файлдармен иелену 20
Қатынау құқықтары 21
Файлдық жүйе бойынша жылжыту 22
Қорытынды 24
Әр бір операциялық жүйе бір түсініктемеге қолданылады оның бірі болып үрдіс табылады. Ал екінші түсінік, олда өте маңызды – ол файл түсінігі.
Файлдық жүйе – бұл операциялық жүйенің компоненті, ол файлды құрады, сақтайды және атаулы деректер жиынына қатынас құрады. Бұл атаулы деректер жиынын файл деп атайды.
Бұл курстық жобада UNIX-тегі программалау жөнінде қарастырылады. Бұл материал тек программалық қамтаманың құрушыларына ғана қызық, бірақ бұлай ойлау бұрыс. Әрине, программаны құру операциялық жүйемен ұсынылған функциялар мен ішкі құрылымның түсінігінсіз және жүйелік шақыру интерфейсінің білімінсіз мүмкін емес. Бірақ жүйенің әкімшілік етуі UNIX ортасы қалай жұмыс істейтіндігін көрсетімсіз түсіну қиын. UNIX программалық интерфейсі осы операциялық жүйенің ішкі механизмдерін көрсетуге мүмкіндік береді.
Сонымен қатар Sun Microsystems фирмасымен өңделген виртуальді файлдық жүйені жүзеге асыруы қарастырылған. Берілген архитектура SVR4 үшін стандарты болып табылады. Бірақ UNIX-тің басқа версияларында осындай жуықтары пайдаланады.
1. Сергей Дунаев “Unix сервер” 1-2 том, 1999ж.
2. Робочевский А. “Операционная система в Unix”, 2003ж.
3. Гласс Грэм, Эйбл Кинг “Unix для программистов и пользователей”, С-П, БХВ, 2004ж.
4. “Ақпараттану және есептеу техникасы саласындағы аталымдардың түсіндерме сөздігі” Алматы, 1998ж.
        
        UNIX операциялық жүйедегі файлдық жүйе
Мазмұны
|Кіріспе |3 ... ... |4 ... V ... ... ... |4 ... UNIX ... ... |5 ... |7 ... ... жүйесінің архитектурасы |8 ... ... ... |8 ... ... ... |8 ... ... |9 ... қатынауды бұғаттау |11 ... ... ... |12 ... ... ... |13 ... ... ... ... ... ... ... |13 ... ... ... |14 ... |15 ... ... ... |18 ... ... |20 ... ... |21 ... жүйе ... ... |22 ... |24 ... бір операциялық жүйе бір түсініктемеге қолданылады оның бірі ... ... Ал ... түсінік, олда өте маңызды – ол файл түсінігі.
Файлдық жүйе – бұл операциялық жүйенің компоненті, ол файлды құрады,
сақтайды және ... ... ... ... ... Бұл атаулы деректер
жиынын файл деп атайды.
Бұл курстық жобада UNIX-тегі программалау ... ... ... тек ... қамтаманың құрушыларына ғана қызық, бірақ бұлай
ойлау бұрыс. Әрине, программаны құру операциялық ... ... мен ішкі ... ... және ... ... ... мүмкін емес. Бірақ жүйенің әкімшілік етуі ... ... ... ... ... ... қиын. UNIX программалық
интерфейсі осы операциялық жүйенің ішкі механизмдерін көрсетуге мүмкіндік
береді.
Сонымен қатар Sun Microsystems фирмасымен өңделген ... ... ... ... ... Берілген архитектура SVR4 үшін
стандарты болып табылады. ... ... ... версияларында осындай
жуықтары пайдаланады.
Файлдық жүйелер
UNIX операциялық жүйедегі деректердің көбісі ағаш ... және ... ... ... ... ... ... ол жергілікті қатқыл диск, бірақ файлдық жүйенің ... – NFS (Network File System) ... ... ... ... ... Сонымен бірге файлдық жүйе CD-ROM-да, дискеталарда және
басқа ... ... ... ... System V ... ... ... s5fs болып табылады. Берклиде
өңделген FFS файлдық жүйе 4.2BSD ... ... ... ... ол күшті өнімділігімен, функционалдығымен және сенімділігімен
меңгерілген. UNIX қазіргі нұсқаларындағы файлдық ... ... үшін ... өте ... ... бар. ... ... олар AT&T және Беркли Калифорниялық университетіндегі
UNIX өңдеушілерімен кепілденген базалық идеяларды қолданады.
System V базалық файлдық жүйесі
Әрбір ... диск бір ... ... логикалық бөліктерден құралады.
Олар тараулар (partitions) деп аталады. ... ... және ... пішімдеу бойынша анықталады. UNIX-те тараулар тәуелсіз ... ... ... ... деректердің өзгешелік тасушыларына сияқты
жүзеге асырылады.
Мысалы, диск төрт ... ... ... Әр біреуі өзіндік файлдық
жүйені құрайды. Айталық, тарауда тек қана бір ... жүйе ... ... ... ... ... істей алмайды. Басқа конфигурацияда диск ... бір ... ... алады және де көлемді файлдық жүйелердің құрылуын
рұқсат етеді.
s5fs файлдық жүйе дискінің ... орын ... және үш ... ... Суперблок (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) атын ... файлдық жүйесі s5fs жүйесінің толық функционалдығымен меңгерілуі
ядро деректерінің сол құрылымдарымен де қолданылады. Негізгі өзгерістер ... ... ... ... ... ... файлдық жүйенің дискіде орналасуын тигізген.
Суперблок файлдық жүйенің жалпы сипатталуынан құралады және ... ... ... ... inode пен бос блоктарының массивтері
сияқты файлдық ... ... ... туралы деректері сақталмаған.
Сондықтан ... ... ... жүйе бар ... ... уақыт
аралығында өзгертілмеген болып қала береді. ... ... ... ... ... үшін өте ... ... ол сенімділіктің
жоғарылуына байланысты қайталайды.
Файлдық жүйенің ұйымы бір немесе ... ... ... ... дискілік тараудың логикалық бөлуін қарастырады. Цилиндр ... ... ... цилиндрлерден көрсетіледі. Әрбір цилиндр тобы
басқарылған ақпаратты құрайды. Ол тобындағы дискілік ... ... ... ақпаратын, бос блоктар туралы мәліметтері мен inode
массивін және суперблоктың резервтелген ... ... ... ... ... ... ... тобына inode-тің
анықталған көлемінен орын бөлінеді. ... ... ... жалпы 2 Кбайт-тың әр біреуіне бір inode ... ... және inode ... ... ... BSD UNIX ... ... ұқсас шектеулер бар.
Файлдық жүйе құрылымының осындай идеясы барлық тарауларда орналасқан
inode ... ... ... Нақты файлдың деректеріне
қатынау құқықтарының уақыты кішірейеді. Себебі деректер блогы олардың inode
адрестелуіне жақын орналасады. Осындай рет ... шығу ... ... ... ... алу ... ... отыра,
файлдық жүйенің сенімділігін арттырады.
Басқарылған ақпарат цилиндр тобының басынан әртүрлі ығысулармен
орналасады. Кері ... ... ... ... басынан орналасуы
бойынша барлық топтарының ... ... ... ... физикалық
түрде орналасуы және осы пластинаның істен шығуы жойылып кетуі мүмкін.
Файлдық жүйенің өнімділігі ... ... ... ... ... Блок ... үлкен болған сайын, ... ... ... ... және ... ... ... жылжуы мүмкін. FFS
файлдық жүйе 64 Кбайтқа дейін блок өлшемін қуаттайды. Мәселенің ... ... ... жүйе ... емес ... файлдың маңызды санынан құралады.
Бұл бөліктегіш бос емес блоктар тиімді емес ... ... ... 60% пайдалы көлеміне дейін шығынына әкелуі мүмкін.
Бұл кемшілік блок ... ... ... ... блок екі, төрт немесе сегіз фрагментке бөлінуі мүмкін. ... блок ... ... ... беру бірлігі болып
табылғанда, фрагмент ... ... ... ... ... ... енгізу/шығару өнімділігі мен деректер ... ... ... ... табылды. Фрагмент көлемі
файлдық жүйенің құрылуы бойынша беріледі. Оның ... мәні – ... ... ... 0,5), ал ... ... құрылғылардың физикалық
шектеулермен (диск адресацияның минимальді бірлігі - сектормен) анықталады.
Топтағы бос кеңістік туралы ақпарат блоктардың биттік ... ... ... FFS ... жүйе блоктар орналасу бойынша
өнімділікті жоғарлатуына ... ... ... ... ... каталогының құрылымы файлдардың ұзын аттарын (255
символдарға дейін) қуаттау үшін ... ... ... ... FFS каталогының жазбасы келесі өрістердің болуымен құрылымы
көрсетілген:
d_ino inode ... (ilist ... ... ... ... Файл атының ұзындығы
d_name[] Файл аты
Файл атында 4-байтты шетке дейінгі ... ... ... бар. Файл ... ... оған бағынған жазба алдыңғыға қосылады
және d_reclen өрісінің мәні сәйкес ... ... ... ... d_ino өрісіне нольдік мәнге меншіктелуінде өрнектелінеді.
Виртуальді файлдық жүйесінің архитектурасы
Әр түрлі файлдық ... ... ішкі ... ... Сол ... қазіргі UNIX нұсқалары біруақыттағы жұмысты
бірнеше файлдық жүйелердің типтерімен қамтамасыз етеді. Олардың арасынан әр
түрлі архитектуралардың ... ... ... ... және ... ... ең жақсыларды, мысалы DOS-ты ... ... ... ... жүзеге асырылуынан тәуелді және тәуелсіз
болып ... ... ... ... ... ... ... жүйе деп
аталады. Осымен қосымша файлдық жүйелердің әр түрлі типтері UNIX ... ... №1 ... ... ... ... индексті дескрипторлар
Дискілік файл метадеректер немесе inode деп ... ... ... Онда ... файлдың негізгі мінездемелері
сақталған және оның көмегімен деректерге ... ... ... ... жүйе ... ... ұсынуына негізделген.
Файлмен жұмыс істеу интерфейсі vnode (virtual inode – ... ... ... ... бұл ... файлдық жүйелердің әр түрлі типтерімен (NFS
және ufs (FFS)) ... ... ... ... ... ету ... жылы Sun ... фирмасымен өңделген. Қазіргі таңда виртуальді
файлдық жүйе SVR4-дегі стандарт ... ... ... та ... басқа
нұсқалары да осындай архитектураны жүзеге асырады.
Барлық ... ... ... ... in-core inode ... vnode ... құрылымы нақты файлдық жүйеден тәуелсіз барлық
файлдар үшін бірдей. vnode деректері виртуальді файлдық жүйенің ... ... ... ... өзгерілмейтін файлдың мінездемелерін
құрайды.
Файлдық жүйеге қатынау
Процесс үшін локальді мәнін ие ... ... ...... ... ... ... файлдармен операцияларын
аяқтайды. Бұл бір процесстің файлдық дескрипторы ... ... ... Ал сондай нөмірдегі ... ... ... ... ... ... ... қатарының көмегімен файлдық
дескрипторын алады. Мысалы, атын ... ... ... ... creat(2). Ол нәтижесінде ерекшеленетін ... ... ... ... ... және ... inode (немесе vnode)
адрестелінеді.
Сурет №2 файлға процессті қатынауға керек ядроның ... ... №2 ... ... ішкі ... процессті қатынау үшін қолданатын файлдық дескриптор файлдық
дескрипторы ... ... (file ... table) ... ... ... ... дескрипторларының жеке кестесі бар. Ол оның ... ... ... екі процесс көрсетілген, оның әр біреуі файлдық
дескрипторының жеке кестесін қолданады.
Бұл кестенің ашық файлды ... әр ... ... жүйелік файлдық
кестенің жазбасын адрестейді. Олар файлға қатынаудың режимі ... ... және т.б.), ... ... ... ... көрстекіш), сонымен бірге
бұл файлдың vnode-қа көрсеткіш параметрлері сақталған. Жүйелік файлдық
кесте барлық ... ... және ... ... ... жүйелік файлдық кестенің бірнеше жазбалары сол файды
адрестейді. Ол vnode кестесіндегі жалғыз жазбасы ... ... және u_pofile ... ... ... ... ... қатынау үшін керек бастапқы ақпаратты құрайды. Қосымша ... ... ... және индекстік дескриптор кестесінде болады.
Процесстің файлға қатынауын қамтамасыз ету үшін ядро файлдық ... және ... ... ... көрсетілгендей деректерді сақтау блогына
дейін тізбекшесін толығымен құру ... ... ... ... ... ... істеу үшін керек
ақпаратты ... Егер ... ... ... ... ... ашса,
олардың әрқайсысы файлдық кестенің меншікті элементін алады, ... ... ... тағы да ... ... ... жұмыс істесе. Файлдық
кестенің қажетті өріс ... ... ... ... ... ... ашу кезінде көрсетілген жалаулар (open(2), |
| ... ... ... ... әрбір операция|
| ... ... ... ... ... |
| ... айтқанда, егер процесс файлды тек оқу үшін |
| ... (FREAD ... оған ... ... ... |
| ... етілмейді, егер де ол соған қатынау құқығы |
| |бар ... ... да. ... ... тек оқу үшін ашылған. O_RDONLY файлды ашу |
| ... ... ... тек жазбаға ашылған. O_WRONLY файлды ашу |
| ... ... ... ... Жазба операциясы басының алдынан |
| ... ... ... ... қондырылады. |
| ... ... ашу ... ... FNDELAY ... ... Жүйелік шақыру операциясының |
| ... ... ... ... O_NDELAY |
| ... ашу ... ... ... ... ... файл ... және |
| ... үшін дискілік құрылымына сәйкес |
| ... ... ету. O_SYNC ... ашу |
| ... ... ... ... ... тек файл деректері |
| ... ... ... ... ... |
| ... ету. O_DSYNC ... ашу ... ... |FSYNC және FDSYNC ... ... оқу ... ... ... ... ... үшін |
| ... процесін анықтайды. ... ... ... ... кестеге адрестейтін |
| ... ... ... Тағы сол ... файлдық|
| ... ... dup(2) ... ... ... |
| |fork(2) ... көмегімен дескрипторларды |
| ... ... ... ... ... ... ... индекстік дескрипторына |
| ... ... ... ... аралас. Осы жерден бастап оқу |
| ... ... ... ... ... ... ... бұғаттау
UNIX-тің дәстүрлі архитектуралы файлдық ішкіжүйесі бірнеше процесстерге
оқу және жазу үшін ... ... ... ... ... ... ... немесе write(2) жүйелік шақырулардың көмегімен жүзеге асатын оқу
және жазу операциялары атомарлық ... ... ... келісім бойынша
бөлек шақырулардың арасында синхронизация жоқ. Басқаша айтқанда, read(2)
екі ізбасар шақырулардың ... бір ... ... ... ... ... ... Бұл файлмен шешілмеген операцияларға және
олардың деректерінің бүтіндігін бұзуға алып келуі мүмкін. ... ... ... үшін тиімсіз болып келеді.
UNIX файл байты немесе файл ... ... ... бұғаттауын
қамтамасыз етуге рұқсат береді. Ол үшін fcntl(2) базалық жүйелік шақырудың
файлмен басқаруы және lockf(3C) бұғаттауды ... ... үшін ... ... ... ... Содан фактілік файлдық операцияның
(оқу немесе жазу) алдынан процесс сәйкес типті (оқу үшін ... жазу ... ... Егер ... ... ... онда бұл талаптанған
файлдық операция жанжалдықты немесе деректер бүтіндігінің ... ... ... ... ... бір уақытта жазу.
Келісім бойынша бұғаттау кепілдемелік (advisory lock) болып келеді. Бұл
ортақ жұмыс істейтін процесстер құрылған бұғыттауын ... ете ... ядро ... ... бөлігінде жазуын немесе оқуын тыйым
салмайды. Ұсынылған бұғаттауымен жұмыс ... ... fcntl(2) ... функцияларының көмегімен олардың бар болуын тексереді.
flock құрылымы бұғаттаудың сипаттауына қызмет етеді. Осы құрылымының
өрістері 2 ... ... ... ... ... ... F_RDLCK оқу үшін (read lock) ... |
|l_type |көрсетеді, F_WRLCK – жазу үшін (write lock) ... |
| |F_UNLCK ... алып ... көрсетеді. ... ... ... ығысудың санау нүктесі. Ол lseek(2) ... ... ... ... ... ... ... |
| ... ... ... ... көрсетілген санау нүктесінің қатынасынан |
|l_start |бұғатталған жазбаның ығысуы. ... ... ... ... l_len ... мәні ... әр |
|l_len |қашанда файлдың соңына ... ... файл ... |
| ... ... тәуелсіз. ... |GETLK ... ... бойынша қайтаратын бұғаттауын |
|l_pid |қондырған процесстің идентификаторы. ... ... ... ... lock) бар. Оның ... ... ... ядроның өзімен қойылады. Міндетті бұғаттаудың жүзеге
асырылуы әр түрлі ... ... SVR4 UNIX ... жазу және оқу үшін
бұғаттауын қондыруды қуаттайды. Процесстің көбісіне оқу үшін және тек ... ... жазу үшін ... ... етеді. Бұл қондырғылар
fcntl(2) жүйелік шақырулармен де жүзеге асырылады.
Файлдық жүйенің бүтіндігі
Файлдық жүйенің бөлігі оперативті жадыда орналасқан. ... ... ... ... ... ... файлдардың
метадеректері және буферлі кэште уақытша орналасатын ... ... ... ... ... ... файлдардың мазмұны файлдық
жүйенің бүтіндігіне бұзуын әкелмейді.
Осындай сәйкес еместіктерді файлдың метадеректерін ... ... ... ... ... ... ... тигізеді. Файлдық
операцияларының көбісі файлдық ... ... ... ... Егер де ... осы ... тек ... өзгерістер
сақталған болса, файлдық жүйенің бүтіндігі бұзылуы мүмкін.
Авариялық тоқтатылу жағдайындағы жадыда файлдық жүйенің үлгісі мен оның
дискіде деректердің арасында синхронизациялаудың болмауы ... ... ... әкеледі:
1. Бір блок бірнеше inode-тармен адрестелінеді.
2. Блок бос түрінде белгіленген, бірақ сол уақытта бос емес (оған ... Блок бос емес ... ... ... сол ... бос (оған бірде
бір inode сілтенбейді).
4. inode-ке сілтемелердің бұрыс сандары.
5. Файл көлемі мен ... ... ... сәйкес еместік
блоктардың inode-қа адрестелінеді.
6. Қатыналмаған адресті блоктары.
7. “Жоғалған” файлдар.
8. ... ... ... ... ... ... де ... болса, файлдық жүйені жөндеуін ... ... ... ... келу ... Осы ... іске қосылуы
автоматты түрде жүйенің әрбір іске ... ... ... ... ... ... ... [options] filesystem
filesystem – құрылғының арнайы файлы.
Тексеріс және түзеу тек қана ... ... ... жүзеге асырылуы
қажет. Бұл олардың дискілік эквиваленттерімен ... ... ... ... ... ... ... жүйе құрайды, ол байланысқан бола алмайды. Оның түзетуіне ... ... ... сол бойда қайта іске қосуын ... -b ... ... ... ... ... программалау ортасында файлдық енгізу/шығару үшін екі негізгі
интерфейстері бар:
1. Жүйелік ... ... Ол ... ... ... ... және ... жүйенің ядросымен тікелей
өзара әрекеттеседі.
2. Буферлік енгізу/шығару функциясымен ұсынылатын енгізу/шығару
стандартты библиотека.
Екінші интерфейс ... ... ... “надстройкасы” болып
табылады. Ол файлмен жұмыс істеу тиімді әдісін ұынады.
Файлдармен жұмыс істеуге арналған ... ... ... ... С ... жүйелік функциялардың бейнесі болып табылатын
файлдармен жұмыс істеуге арналған негізгі жүйелік функциялары берілген.
|Жүйелік ... ... | ... ... ... ... ... жазуға қатынау алу үшін |
| |қызмет етеді. Егер файл бар ... онда ол ... және |
| ... ... ... ... ... |
| |процесске қайтарылады. Егер де файл болмаса, онда ол ... |
| ... ... |Файлдың құрылуына қызмет етеді. ... ... ... ... ... ... ... жабады. |
|dup(2) |Файлдық дескриптордың дубликатын қайтарады. ... ... ... ... қайтарады, бірақ оның мәнін |
| |көрсетуді рұқсат береді. ... ... ... ... ... ... орнатады. Келесі|
| |енгізу/шығару операциялары ... ... осы ... |
| ... ... ... ... көрсетілген сандарын оқуға жузеге асырады.|
|readv(2) |Файлдағы байттардың көрсетілген ... ... ... |
| ... ... ... ... ... ... ... сандарын жазуға жүзеге асырады. |
|writev(2) |Файлға байттардың көрсетілген сандарын жазудың бірнеше |
| ... ... ... ... |Екі ... ... қайтаратын коммуникациялық арнаны |
| ... ... ... ... басқару интерфейсін қамтамасыз етеді. ... ... ... ... ... ... ядросы мен қосымшаларының
арасындағы енгізу/шығару интерфейсін көрсетеді. Бірақ та олардың қолданылуы
С библиотекалық функцияның ... еске ... Іс ... олар
енгізу/шығару операцияларымен орындалатын UNIX ... ... ... ... та ... ... ... интерфейсті аз қолданады,
оларға енгізу/шығару стандартты библиотекасы ұсынған мүмкіндіктерді қолдану
қолайлы. Бұл ... ... ... енгізу/шығару және
программалаудың неғұрлым қолайлы стилін қамтамасыз етеді. Программаға бұл
библиотеканың функциясын қолдану үшін ... ... ... Бұл ... С (libc.so және libc.a) ... ... Олар келісім бойынша байланыс этабында іске қосылады.
Библиотеканың файлдық ... ... ... көрсеткіш ағымдық
немесе файлдық көрсеткіш деп ... ... ... ... (FILE
құрылымы) анықтайды. Енгізу/шығарудың стандартты ағымдарын енгізу, ... ... ... ... ... үшін ... stdin, stdout, stderr
символдық аттармен белгіленеді. Олар келесідей анықталған:
extern FILE *stdin;
extern FILE ... FILE ... ... ... ... метадеректер файлында аттардың санын
анықтайтын байланыстар саны сақталынған, оларда файл ... бар. ... ... ... ... /etc/rc2.d/K20lp және
/etc/rc2.d/S80lp файлдарының әр түрлі ... бар, ... ... сол ... ... (дәлірек айтсақ, файлдың метадеректері) сілтенеді және
сәйкес сол бір деректерге қатынауды ... ... ... ... саны 4-ке тең. Файл ... ... ... кезде байланыс саны
сәйкес кемиді. Нөлге жеткенде файл деректері ... ... ... ... деп ... байланыс link(2) жүйелік шақырудың көмегімен құрылады:
#include
int link (const char ... const char ... existing ... метадеректерін көрсететін new атты және inode
номерлі жаңа жазба каталогы қайта құрылады. Сонымен ... ... ... Бұл жүйелік шақырумен көбінесе ln(1) командасы қолданады.
Қатқыл байланысты жою үшін unlink(2) жүйелік байланысы қолданылады:
#include
int unlink(const char ... ... ... жою ... rm(1) ... ... Осымен файл
деректерінің жойылуы міндетті емес ... ... ... ... жоятын жүйелік шақыру жоқ. Айталық, файлда бірнеше ... ... ... ... бөлігі бұндай функцияны шақыратын
(мысалы, файл аттарының біреуі қатынасы жоқ каталогта ... ... ... ... ... ... қарама-қарсы файл деректер адресациясы табиғи
тәсілі болып табылады. UNIX-те файл ... емес ... ... символдық байланыстар қолданылады. Мысалы, егер файл
символдық ... ... ... онда оның ... жанама
адрестелінетін деректердің файл аты сақталынады.
Символдық байланыс басқа файлды файлдық жүйеге жанама ... ... ... ... ... ... байланысты құру үшін
қызмет етеді. Бұл шақырумен ln -s ... ...
int symlink (const char *name, const char ... ... құрып болғаннан кейін name мақсатты файлға қатынау
symname-нің көмегімен жүзеге асырылады. Осыдан, символдық байланыс атының
аргументін ... ... open(2) ... ... да ... ... Мұндай ерекшелік “символдық байланыспен бірге” деп аталады. ... ... ... қасиетпен иеленбейді. Мысалы, каталогтағы ... ... ... ... тек ... байланыстың өзіне әсер
етеді. Кері жағдайда біздер оны жоюға мүкіндігіміз жоқ болар еді. 2 ... ... ... ... ... байланыстармен қалай ... ... ... 4. Әр ... ... шақырулармен символдық байланыстардың
интерпретациясы
|Жүйелік ... ... ... |Символдық байланыспен |
| ... ... ... |+ | ... |+ | ... |+ | ... |+ | ... | |+ ... |+ | ... |+ | ... |+ | ... |+ | ... | |+ ... |+ | ... | |+ ... | |+ ... |+ | ... | |+ ... | |+ ... ...... құрамын оқу үшін readlink(2) жүйелік
шақыруы қолданылады:
#include
int readlink (const char *path, void *buf, size_t ... ... ... ... атын ... bufsiz ... ... символдық байланыс – файл құрамы қайтып келеді.
Жоғарыда айтылғандарды өрнектеу үшін программа мысалын ... ол ... ... ... ... ал ...... Екі жағдайда да символдық аттарды қолданады:
#include
#include
#include
#include
#define BUFSZ 256
/* Аргумент ретінде ... ... ... атын ... */
main (int argc, char *argv[])
{
char buf [BUFSZ+1];
int nread, fd;
/* Символдық байланыс құрамын оқиық*/
printf ... ... ... = readlink ... buf, ... (nread

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 20 бет
Бұл жұмыстың бағасы: 700 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Unix ОЖ-нің қорғаныс әдісі5 бет
Windows жүйедегі жұмыс істеу негіздері3 бет
Windows операциялық жүйенің файлдық жүйесі4 бет
Жадыны қорғау. қатынас құру функциялары. Виртуалды жадыны ұйымдастыру. беттерді аударыстыру стратегиялары9 бет
Файлдық жүйе функцияларына шолу15 бет
Программалық құралдар4 бет
Автоматтандырылған ақпаратар жүйесіне кіріспе3 бет
Ашық және жабық жүйелер5 бет
Жүйе туралы ұғым3 бет
Жүйе туралы ұғым,түрлері мен элементтері,ашық және жабық жүйелер3 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь