Файлдық жүйе - File system

Жылы есептеу, а файлдық жүйе немесе файлдық жүйе (жиі қысқартылады fs) деректердің қалай болуын басқарады сақталған және алынды. Файлдық жүйе болмаса, деректер сақтау ортасында орналастырылған мәліметтердің бір үлкен бөлігі болады, бір дерек қай жерде тоқтап, келесі басталатынын айтуға мүмкіндік жоқ. Деректерді бөліктерге бөліп, әр бөлікке ат беру арқылы деректер оңай оқшауланады және анықталады. Оның атауын қағазға негізделген деректерді басқару жүйесінің атауынан алып, мәліметтердің әр тобы «» деп аталадыфайл. «» Деректер топтары мен олардың аттарын басқаруда қолданылатын құрылым мен логикалық ережелер «файлдық жүйе» деп аталады.

Файлдық жүйелердің көптеген түрлері бар. Әрқайсысының құрылымы мен логикасы, жылдамдығы, икемділігі, қауіпсіздігі, мөлшері және басқалары әртүрлі. Кейбір файлдық жүйелер арнайы қосымшалар үшін қолдануға арналған. Мысалы, ISO 9660 файлдық жүйе арнайы жасалған оптикалық дискілер.

Файлдық жүйелерді көптеген түрлерінде қолдануға болады сақтау құрылғылары бұқаралық ақпарат құралдарының әртүрлі түрлерін қолданатын. 2019 жылғы жағдай бойынша қатты диск жетектері сақтау құрылғылары болды және жақын арада сақталады деп болжануда.[1] Қолданылатын ақпарат құралдарының басқа түрлеріне жатады SSD дискілері, магниттік таспалар және оптикалық дискілер. Кейбір жағдайларда, мысалы tmpfs, компьютердің негізгі жады (жедел жад, RAM) қысқа мерзімді пайдалануға уақытша файлдық жүйені құру үшін қолданылады.

Кейбір файлдық жүйелер жергілікті жерде қолданылады деректерді сақтау құрылғылары;[2] басқалары a арқылы файлға қол жеткізуді қамтамасыз етеді желілік хаттама (Мысалға, NFS,[3] SMB, немесе 9P клиенттер). Кейбір файлдық жүйелер «виртуалды», яғни берілген «файлдар» (деп аталады) виртуалды файлдар) сұраныс бойынша есептеледі (мысалы procfs және sysfs ) немесе бұл тек қана файлдық жүйеде қолданылған басқа файлдық жүйеге арналған карталар. Файлдық жүйе файлдардың мазмұнына және метадеректер сол файлдар туралы. Ол сақтау орнын ұйымдастыруға жауап береді; физикалық сақтау ортасына қатысты сенімділік, тиімділік және баптау маңызды жобалауға жатады.

Терминнің пайда болуы

Компьютерлер пайда болғанға дейін термин файлдық жүйе қағаз құжаттарды сақтау және алу әдісін сипаттау үшін қолданылды.[4] 1961 жылға қарай бұл термин бастапқы мағынасымен қатар компьютерлік құжаттарға қолданыла бастады.[5] 1964 жылға қарай ол жалпы қолданыста болды.[6]

Сәулет

Файлдық жүйе екі немесе үш қабаттан тұрады. Кейде қабаттар айқын бөлінеді, ал кейде функциялар біріктіріледі.[7]

The логикалық файлдық жүйе қолданушының қосымшасымен өзара әрекеттесу үшін жауап береді. Бұл қамтамасыз етеді қолданбалы бағдарлама интерфейсі (API) файл операциялары үшін - АШУ, ЖАБЫҚ, ОҚЫҢЫЗжәне т.с.с. өңделеді және сұралған әрекетті оның астындағы қабатқа өңдеуге жібереді. Логикалық файлдық жүйе «файлдар кестесінің ашық жазбаларын және әр процесс үшін файл дескрипторларын басқарады».[8] Бұл деңгей «файлға қол жетімділікті, каталогтармен жұмыс істеуді, [және] қауіпсіздік пен қорғауды» қамтамасыз етеді.[7]

Екінші қосымша қабат - бұл виртуалды файлдық жүйе. «Бұл интерфейс физикалық файлдық жүйелердің бірнеше параллельді даналарын қолдайды, олардың әрқайсысы файлдық жүйені енгізу деп аталады».[8]

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

Файлдық жүйелердің аспектілері

Ғарышты басқару

Ескерту: бұл тек сақтау құрылғыларында қолданылатын файлдық жүйелерге қатысты.

4,096- көрсетілген бос кеңістіктің мысалыбайт NTFS кластерлері: 100000 файл, олардың әрқайсысы бес байт, бұл 500000 байт нақты деректерге тең, бірақ сақтау үшін 409 600 000 байт дискілік кеңістікті қажет етеді

Файлдық жүйелер кеңістікті түйіршікті түрде бөледі, әдетте құрылғыдағы бірнеше физикалық бірліктер. Файлдық жүйе ұйымдастыруға жауап береді файлдар және анықтамалықтар, және бұқаралық ақпарат құралдарының қай салалары қай файлға жататынын және қайсысы қолданылмайтындығын қадағалау. Мысалы, in Apple DOS 1980 жылдардың басында, 140 килобайтты иілгіш дискідегі 256 байтты секторлар а жол картасы / сектор картасы.[дәйексөз қажет ]

Файл бөлу бірлігінің дәл еселігі болмаған кезде, бұл кейде пайдаланылмайтын кеңістікке әкеледі бос орын. 512 байтты бөлу үшін орташа пайдаланылмаған орын 256 байтты құрайды. 64 КБ кластерлер үшін пайдаланылмаған орта 32 КБ құрайды. Бөлу бірлігінің өлшемі файлдық жүйе құрылған кезде таңдалады. Файлдық жүйеде болуы күтілетін файлдардың орташа өлшемдеріне негізделген бөлу мөлшерін таңдау жарамсыз кеңістікті азайтуға мүмкіндік береді. Көбінесе әдепкі бөлу орынды пайдалануды қамтамасыз етуі мүмкін. Бөлу өлшемін таңдау өте аз, егер файлдық жүйеде негізінен өте үлкен көлемді файлдар болса, онда қосымша шығындар пайда болады.

Файлдық жүйелер болуы мүмкін бөлшектелген

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

Кейбір амалдық жүйелерде жүйе әкімшісі қолдануы мүмкін диск квоталары дискілік кеңістікті бөлуді шектеу үшін.

Файл атаулары

A файл атауы (немесе файл атауы) файлдық жүйеде сақтау орнын анықтау үшін қолданылады. Көптеген файлдық жүйелерде файл атауының ұзындығына шектеулер бар. Кейбір файлдық жүйелерде файл атаулары жоқ регистрге сезгіш (яғни, атаулар МИФИЛЬ және myfile каталогтағы сол файлға сілтеме жасау); басқаларында файл атаулары регистрге тәуелді (яғни, аттар) МИФИЛЬ, MyFile, және myfile бір каталогта орналасқан үш бөлек файлға сілтеме жасаңыз).

Қазіргі заманғы файлдық жүйелердің көпшілігі файл атауларында кең ауқымды таңбаларды қамтуға мүмкіндік береді Юникод таңбалар жиынтығы. Алайда, оларда белгілі бір арнайы таңбаларды қолдануға шектеулер болуы мүмкін, оларды файл аттары бойынша рұқсат етілмейді; бұл таңбалар құрылғыны, құрылғы түрін, каталог префиксін, файл жолын бөлгішті немесе файл түрін көрсету үшін қолданылуы мүмкін.

Каталогтар

Файлдық жүйелерде әдетте бар анықтамалықтар (деп те аталады қалталар), бұл пайдаланушыға файлдарды бөлек жинақтарға топтастыруға мүмкіндік береді. Мұны файл а а индексімен байланыстыру арқылы жүзеге асыруға болады мазмұны немесе ан inode ішінде Unix тәрізді файлдық жүйе. Каталог құрылымдары тегіс болуы мүмкін (яғни сызықтық) немесе каталогтарда ішкі каталогтар болуы мүмкін иерархияларға жол беріледі. Каталогтардың ерікті иерархияларын қолдайтын алғашқы файлдық жүйе қолданылды Мультик операциялық жүйе.[9] Unix тәрізді жүйелердің жергілікті файлдық жүйелері ерікті каталог иерархияларын қолдайды, мысалы, алма Келіңіздер Иерархиялық файлдық жүйе және оның мұрагері HFS + жылы классикалық Mac OS, FAT файлдық жүйе MS-DOS MS-DOS 2.0 және одан кейінгі нұсқалары және Microsoft Windows, NTFS файлдық жүйе Windows NT ODS-2 (дискідегі құрылым-2) және одан жоғары деңгейлер Файлдар-11 файлдық жүйе OpenVMS.

Метадеректер

Басқа бухгалтерлік ақпарат, әдетте, файлдық жүйенің әр файлымен байланысты. The ұзындығы файлдағы мәліметтер файлға бөлінген блоктар саны ретінде немесе а түрінде сақталуы мүмкін байт санау. The уақыт файлдың соңғы өзгертілуі файлдың уақыт белгісі ретінде сақталуы мүмкін. Файлдық жүйелер файлды жасау уақытын, оған соңғы кіру уақытын, файлдың уақытын сақтай алады метадеректер өзгертілді немесе файлдың соңғы сақтық көшірмесін жасау уақыты. Басқа ақпарат файлды қамтуы мүмкін құрылғы түрі (мысалы, блок, кейіпкер, розетка, ішкі каталог және т.б.), оның иесі Қолданушының ID және топ идентификаторы, оның қатынасу рұқсаттары және басқа да файл төлсипаттары (мысалы, файл тек оқуға болатын-болмайтындығы, орындалатын және т.б.).

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

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

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

Сияқты қосымша атрибуттарды файлдық жүйелермен байланыстыруға болады, мысалы NTFS, XFS, ext2, ext3, кейбір нұсқалары UFS, және HFS +, қолдану кеңейтілген файл атрибуттары. Кейбір файлдық жүйелер пайдаланушының анықтаған атрибуттарын ұсынады, мысалы, құжаттың авторы, құжаттың символдық кодталуы немесе кескіннің өлшемі.

Кейбір файлдық жүйелер әртүрлі мәліметтер жиынтығын бір файл атауымен байланыстыруға мүмкіндік береді. Бұл жеке коллекциялар деп аталуы мүмкін ағындар немесе шанышқылар. Apple ұзақ уақыттан бері Macintosh-та шақталған файлдық жүйені қолданып келеді және Microsoft NTFS-тегі ағындарды қолдайды. Кейбір файлдық жүйелер файлдың бірнеше өткен түзетулерін бір файл атауымен қолдайды; файл атауының өзі ең соңғы нұсқаны шығарады, ал алдыңғы сақталған нұсқаға төрт файлдың сақталған нұсқасына қол жеткізу үшін «файл аты; 4» немесе «файл аты (-4)» сияқты арнайы атау шарттарын қолдану арқылы қол жеткізуге болады.

Қараңыз файлдық жүйелерді салыстыру # метадеректер метамәліметтердің қандай түрлерін қолдайтыны туралы мәліметтер алу үшін.

Файлдық жүйе абстрактілі қолданушы интерфейсі ретінде

Кейбір жағдайларда файлдық жүйе сақтау құрылғысын пайдаланбауы мүмкін, бірақ кез-келген дерекке, мысалы, ол сақталған немесе динамикалық түрде құрылғанына қарамастан, ұйымдастыруды және ұсынуды жүзеге асыра алады. procfs ).

Коммуналдық қызметтер

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

Каталогтық утилиталар жасау, қайта атау және жою үшін пайдаланылуы мүмкін анықтамалық жазбалар, олар сондай-ақ белгілі стоматология (жекеше: стоматология),[10] және каталогпен байланысты метадеректерді өзгерту үшін. Каталог утилиталарына каталогқа қосымша сілтемелер жасауға мүмкіндіктер кіруі мүмкін (қатты сілтемелер жылы Unix ), ата-аналық сілтемелердің атын өзгерту үшін («..» in) Unix тәрізді операциялық жүйелер),[түсіндіру қажет ] және файлдарға екі бағытты сілтемелер жасау.

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

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

Кейбір файлдық жүйелер бос кеңістікті қайта құру, бос кеңістікті қауіпсіз жою және иерархиялық құрылымдарды қалпына келтіру сияқты операцияларды ең аз белсенділік кезінде осы функцияларды орындауға арналған утилиталармен қамтамасыз ету арқылы кейінге қалдырады. Мысал ретінде файлдық жүйені алуға болады дефрагментация коммуналдық қызметтер.

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

Кіруді шектеу және рұқсат беру

Деректерге қол жетімділікті бақылау үшін файлдық жүйелер қолданатын бірнеше механизмдер бар. Әдетте мақсат - пайдаланушының немесе пайдаланушылар тобының файлдарды оқуына немесе өзгертуіне жол бермеу. Тағы бір себеп - деректерді басқарылатын тәсілмен өзгертуді қамтамасыз ету, сондықтан белгілі бір бағдарламаға қол жетімділікті шектеуге болады. Мысал ретінде файлдың метадеректерінде немесе басқа жерде сақталған парольдер және жатады файл рұқсаттары рұқсат биттері түрінде, қол жетімділікті басқару тізімдері, немесе мүмкіндіктері. Құрылымдарды қайта құру және тиімді сақтық көшірмені қамтамасыз ету үшін файлдық жүйенің утилиталарына ақпаратқа қол жеткізе алатын қажеттілік, әдетте бұл сыпайы пайдаланушылар үшін ғана тиімді, бірақ бұзушыларға қарсы тиімді емес.

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

Тұтастықты сақтау

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

Файлдық жүйе жұмысындағы басқа ақауларға медиа ақаулары немесе қашықтағы жүйелерге қосылыстың жоғалуы жатады.

Амалдық жүйе ақаулығы немесе «жұмсақ» қуат ақаулығы кезінде файлдық жүйеде арнайы бағдарламалар жеке бағдарлама істен шыққан кездегідей шақырылуы керек.

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

Файлдық жүйе сонымен қатар жүйелік мәселелерді, сондай-ақ белгілі бір файлдармен немесе каталогтармен байланысты мәселелерді талдауға мүмкіндік беретін оқиғаларды жазуы керек.

Пайдаланушы деректері

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

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

Кейбір файлдық жүйелер барлық жазулар мен оқулар үшін қолданылатын тіркелген жазба ұзындығын анықтауға мүмкіндік береді. Бұл n-ді табуды жеңілдетедімың жазбалар, сондай-ақ жазбаларды жаңарту.

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

Файлдық жүйені пайдалану

Утилита, жұмыс уақытының тіліне арналған кітапханалар мен қолданушы бағдарламалары қолданылады файлдық жүйе API файлдық жүйеге сұраныстар жасау. Оларға деректерді беру, орналастыру, метадеректерді жаңарту, каталогтарды басқару, қатынау сипаттамаларын басқару және жою жатады.

Бір жүйенің ішіндегі бірнеше файлдық жүйелер

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

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

Көбінесе бұлтты жүйелерде қолданылатын үшінші тәсіл - пайдалану «дискідегі кескіндер «Файл сияқты басқа (хост) файлдық жүйеде сол атрибуттары бар немесе жоқ қосымша файлдық жүйелерді орналастыру. Жалпы мысал - виртуалдандыру: бір пайдаланушы эксперименттік Linux дистрибуциясын қолдана алады ( ext4 файлдық жүйені) Windows өндірісіндегі виртуалды машинада (қолдана отырып) NTFS ). Ext4 файлдық жүйесі диск кескінінде орналасады, ол NTFS хост файлдық жүйесінде файл ретінде қарастырылады (немесе гипер-кеңесші мен параметрлерге байланысты бірнеше файл).

Бір жүйеде бірнеше файлдық жүйенің болуы қосымша артықшылыққа ие, егер бір бөлім бүлінген болса, қалған файлдық жүйелер әлі де өзгеріссіз қалады. Бұған вирустарды жою кіреді жүйе бөлім немесе тіпті жүктелмейтін жүйе. Бөлшектелген қол жетімділікті қажет ететін файлдық жүйенің утилиталарын біртіндеп аяқтауға болады. Одан басқа, дефрагментация тиімдірек болуы мүмкін. Вирустарды сканерлеу және сақтық көшірмелер жасау сияқты бірнеше жүйеге қызмет көрсету утилиталарын сегменттерде өңдеуге болады. Мысалы, соңғы сақтық көшірмеден кейін ештеңе қосылмаған болса, барлық басқа файлдармен бірге бейнелері бар файлдық жүйенің сақтық көшірмесін жасау қажет емес. Кескін файлдарына келетін болсақ, дифференциалды суреттерді оңай «айналдырып» алуға болады, олар тек негізгі (түпнұсқа) кескінге жазылған «жаңа» деректерді ғана қамтиды. Дифференциалды кескіндерді қауіпсіздік үшін де қолдануға болады («бір реттік» жүйе ретінде - жойылған немесе вируспен ластанған жағдайда тез қалпына келтіруге болады, өйткені ескі кескінді алып тастауға және жаңа кескінді бірнеше секунд ішінде жасауға болады, тіпті онсыз да автоматтандырылған процедуралар) және виртуалды машинаны жылдам орналастыру (өйткені дифференциалды кескіндерді сценарийді серия арқылы тез шығаруға болады).

Дизайн шектеулері

Барлық файлдық жүйелерде осы жүйенің сақталатын максималды сыйымдылығын анықтайтын функционалды шегі бар[дәйексөз қажет ]. Бұл функционалды шектеулер - бұл дәл қазір сақтау жүйелерінің қаншалықты үлкен екендігіне және болашақта сақтау жүйелерінің қаншалықты үлкен болатындығына негізделген дизайнердің болжамды күші. Дискілерді сақтау жақын арада ұлғая берді экспоненциалды тарифтер (қараңыз. қараңыз) Мур заңы ), сондықтан бірнеше жылдан кейін файлдық жүйелер жобалау шектеулеріне қол жеткізді, бұл компьютерлік қолданушылардан сыйымдылығы жоғарырақ жаңа жүйеге бірнеше рет ауысуды талап етеді.

Файлдық жүйенің күрделілігі, әдетте, қол жетімді сақтау сыйымдылығына пропорционалды түрде өзгереді. 1980 жылдардың басындағы файлдық жүйелер үйдегі компьютерлер сыйымдылығы 50 КБ-тан 512 КБ-қа дейінгі сыйымдылығы бар жүздеген гигабайт қазіргі заманғы сақтау жүйелері үшін ақылға қонымды таңдау болмас еді. Сол сияқты, қазіргі заманғы файлдық жүйелер бұл алғашқы жүйелер үшін ақылға қонымды таңдау бола алмайды, өйткені қазіргі заманғы файлдық жүйелер құрылымдарының күрделілігі ерте сақтау жүйелерінің шектеулі сыйымдылығын тез жояды немесе тіпті одан асып түседі.

Файлдық жүйелердің түрлері

Файлдық жүйенің түрлерін дискілік / таспа файлдық жүйелер, желілік файлдық жүйелер және арнайы мақсаттағы файлдық жүйелер деп жіктеуге болады.

Дискілік файлдық жүйелер

A дискілік файлдық жүйе дискіні сақтау құралдарының қысқа уақыт ішінде деректерді кездейсоқ шешу адресатының артықшылықтарын пайдаланады. Қосымша пікірлерге бастапқыда сұралғаннан кейін деректерге қол жеткізу жылдамдығы және келесі мәліметтер сұралуы мүмкін деген болжам кіреді. Бұл бірнеше пайдаланушыларға (немесе өңдейтін) мәліметтердің дәйекті орналасуын ескермей, дискідегі әртүрлі деректерге қол жеткізуге мүмкіндік береді. Мысалдарға мыналар жатады FAT (FAT12, FAT16, FAT32 ), exFAT, NTFS, HFS және HFS +, HPFS, ЖЗҚ, UFS, ext2, ext3, ext4, XFS, btrfs, Файлдар-11, Veritas файлдық жүйесі, VMFS, ZFS, және ReiserFS. Кейбір дискілік файлдық жүйелер файлдық жүйелерді тіркеу немесе файлдық жүйелерді нұсқалау.

Оптикалық дискілер

ISO 9660 және Дисктің әмбебап форматы (UDF) - мақсатты екі жалпы формат Ықшам дискілер, DVD дискілері және Blu-ray дискілер. Рейньер тауы - бұл Linux ядросының 2,6 сериясынан бастап және Windows Vista жүйесінен DVD-ге қайта жазуды жеңілдететін UDF-ке арналған кеңейту.

Flash файлдық жүйелер

A флэш-файл жүйесі ерекше қабілеттерін, өнімділігі мен шектеулерін қарастырады жедел жад құрылғылар. Дискілік файл жүйесі көбінесе флэш-жад құрылғысын негізгі сақтау құралы ретінде қолдана алады, бірақ флэш-құрылғыға арнайы жасалған файлдық жүйені қолданған жөн.

Таспаға арналған таспа жүйелері

A таспа файл жүйесі файлдарды таспаға сақтауға арналған файлдық жүйе және таспа форматы. Магниттік таспалар дискілерге қарағанда деректерге кездейсоқ қол жеткізу уақыты айтарлықтай ұзағырақ болатын, жалпы мақсаттағы файлдық жүйені құруға және тиімді басқаруға қиындықтар туғызатын дәйекті сақтау құралдары.

Дискілік файлдық жүйеде әдетте негізгі файлдар каталогы, сондай-ақ пайдаланылған және ақысыз мәліметтер аймақтарының картасы болады. Кез-келген файлды қосу, өзгерту немесе жою каталогты және қолданылған / бос карталарды жаңартуды қажет етеді. Деректер аймақтарына кездейсоқ қол жетімділік миллисекундтармен өлшенеді, сондықтан бұл жүйе дискілер үшін жақсы жұмыс істейді.

Таспадан өте ұзақ созылатын орамдарды орап, босату үшін сызықтық қозғалыс қажет. Бұл таспа қозғалысы оқу / жазу басын таспаның бір шетінен екінші шетіне жылжыту үшін бірнеше секундтан бірнеше минутқа дейін созылуы мүмкін.

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

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

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

IBM таспаға арналған файлдық жүйені жасады Сызықтық таспа файлдық жүйесі. Осы файлдық жүйенің IBM-ді іске асыруы ашық қайнар көзі ретінде шығарылды IBM Сызықтық Таспа Файл Жүйесі - Single Drive Edition (LTFS-SDE) өнім. Сызықтық таспа файлдық жүйесі индекстегі мета-деректерді жазу үшін таспада жеке бөлім қолданады, осылайша бүкіл таспаға каталог жазбаларын шашыратумен байланысты проблемалар туындамайды.

Таспаны пішімдеу

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

Таспаны пішімдеуге уақыт кететіндіктен, лента пайдаланушы әр жаңа таспаны пайдалануға дайындауға уақыт жұмсамау үшін алдын-ала пішімделеді. Әдетте қажет нәрсе - қолданар алдында таспаға сәйкестендіргіш медиа жапсырмасын жазу, тіпті жаңа таспа алғаш рет қолданылған кезде оны бағдарламалық жасақтама арқылы автоматты түрде жазуға болады.

Мәліметтер қорының файлдық жүйелері

Файлдарды басқарудың тағы бір тұжырымдамасы - бұл мәліметтер қорына негізделген файлдық жүйенің идеясы. Иерархиялық құрылымдық басқарудың орнына немесе оған қосымша файлдар сипаттамалары бойынша анықталады, мысалы, файл түрі, тақырып, автор немесе ұқсас бай метамәліметтер.[12]

I үшін IBM DB2 [13] (бұрын DB2 / 400 және i5 / OS үшін DB2 деп аталған) - бұл IBM i негізіндегі объектінің бөлігі ретінде мәліметтер базасының файлдық жүйесі [14] а кіретін операциялық жүйе (бұрын OS / 400 және i5 / OS деп аталған) бір деңгейлі дүкен және IBM Power Systems-те жұмыс істейді (бұрын AS / 400 және iSeries деп аталады), оны Frank G. Soltis IBM-нің IBM i үшін бұрынғы бас ғалымы жасаған. 1978-1988 жылдар аралығында Фрэнк Г.Солтис және оның командасы IBM Rochester-де сәтті әзірледі және қолданды, мәліметтер базасының файлдық жүйесі сияқты, Майкрософт сияқты басқалары кейінірек жасай алмады.[15] Бұл технологиялар бейресми түрде «Форт Рочестер» деп аталады.[дәйексөз қажет ] және алғашқы Mainframe технологияларынан шыққан бірнеше негізгі аспектілер болды, бірақ көптеген жағынан технологиялық тұрғыдан анағұрлым жетілдірілді[дәйексөз қажет ].

Мәліметтер базасының файлдық жүйелері емес, бірақ мәліметтер базасының кейбір аспектілерін қолданатын кейбір басқа жобалар:

  • Көптеген Веб-мазмұнды басқару жүйелері пайдалану а реляциялық МҚБЖ файлдарды сақтау және шығару үшін. Мысалға, XHTML файлдар ретінде сақталады XML немесе мәтіндік өрістер, ал кескін файлдары блок өрістері ретінде сақталады; SQL ТАҢДАУ (міндетті емес XPath ) мәлімдемелер файлдарды шығарып алады және «әдеттегі файлдық жүйелерден» гөрі күрделі логиканы және бай ақпараттық ассоциацияларды пайдалануға мүмкіндік береді. Көптеген CMS-терде тек сақтау мүмкіндігі бар метадеректер деректер базасында, файлдардың мазмұнын сақтау үшін қолданылатын стандартты файлдық жүйемен.
  • Сияқты бағдарламалардан тұратын өте үлкен файлдық жүйелер Apache Hadoop және Google File System, кейбірін қолданыңыз мәліметтер базасының файлдық жүйесі ұғымдар.

Транзакциялық файлдық жүйелер

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

Транзакцияны өңдеу таныстырады атомдық мәміле ішіндегі операциялардың барлығы жасалғанын немесе мәмілені тоқтатуға болатындығын және жүйе оның барлық ішінара нәтижелерін жоққа шығаратынына кепілдік. Бұл дегеніміз, егер апат болса немесе электр қуаты өшіп қалса, қалпына келтірілгеннен кейін сақталған күй тұрақты болады. Бағдарламалық жасақтама толығымен орнатылады немесе сәтсіз қондырғы толығымен кері қайтарылады, бірақ жарамсыз ішінара орнату жүйеде қалмайды. Транзакциялар сонымен бірге оқшаулау кепілдік[түсіндіру қажет ], яғни транзакция ішіндегі операциялар транзакция жасалғанға дейін жүйенің басқа ағындарынан жасырылатынын және жүйеде араласатын операциялар дұрыс болатындығын білдіреді серияланған транзакциямен.

Vista-дан басталатын Windows операциялық қолдауды қосты NTFS, деп аталатын функцияда Транзакциялық NTFS, бірақ қазір оны қолдану ұсынылмайды.[16] Valor файлдық жүйесін қоса, UNIX жүйелері үшін транзакциялық файлдық жүйелердің бірқатар зерттеу прототиптері бар,[17] Амино,[18] LFS,[19] және транзакциялық ext3 TxOS ядросындағы файлдық жүйе,[20] сонымен қатар TFFS сияқты кірістірілген жүйелерге бағытталған транзакциялық файлдық жүйелер.[21]

Файлдық жүйенің бірнеше операциялары бойынша жүйелілікті қамтамасыз ету файлдық жүйелермен операциялардысыз қиын, мүмкін емес. Файлды құлыптау ретінде пайдалануға болады параллельдік бақылау жеке файлдарға арналған механизм, бірақ ол әдетте каталог құрылымын немесе файл метадеректерін қорғамайды. Мысалы, файлдарды құлыптаудың алдын алу мүмкін емес TOCTTOU символдық сілтемелердегі жарыс шарттары.Файлды бұғаттау сонымен қатар бағдарламалық жасақтаманы жаңарту сияқты сәтсіз әрекетті автоматты түрде қайтара алмайды; бұл атомды қажет етеді.

Файлдық жүйелерді тіркеу - файлдық жүйенің құрылымына транзакция деңгейіндегі жүйелілікті енгізу үшін қолданылатын бір әдіс. Журнал операциялары OS API бөлігі ретінде бағдарламаларға ұшырамайды; олар ішкі жүйеде бір жүйелік шақырудың түйіршікті деңгейіне сәйкестікті қамтамасыз ету үшін ғана қолданылады.

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

Желілік файлдық жүйелер

A желілік файлдық жүйе - файлға қол жетімділікті қамтамасыз ететін, файлға қашықтықтан қол жеткізу хаттамасының клиенті ретінде жұмыс істейтін файлдық жүйе. Жергілікті интерфейстерді қолданатын бағдарламалар иерархиялық каталогтар мен файлдарды ашық түрде жасай алады, басқара алады және желіге қосылған қашықтағы компьютерлердегі файлдарға қол жеткізе алады. Желілік файлдық жүйелердің мысалдарына клиенттер жатады NFS, AFS, SMB хаттамалар және файлдық жүйеге ұқсас клиенттер FTP және WebDAV.

Ортақ дискілік файлдық жүйелер

A ортақ дискілік файлдық жүйе бұл бірнеше машиналардың (әдетте серверлердің) барлығы бірдей сыртқы дискілік ішкі жүйеге (әдетте SAN) қол жетімділігі. Файлдық жүйе осы ішкі жүйеге кіру кезінде арбитраж жасайды, бұл жазу соқтығысуын болдырмайды. Мысалдарға мыналар жатады GFS2 бастап Қызыл қалпақ, GPFS IBM-ден, SFS DataPlow-тан, CXFS бастап SGI және StorNext бастап Кванттық корпорация.

Арнайы файлдық жүйелер

A арнайы файлдық жүйе амалдық жүйенің файлдық емес элементтерін файлдар ретінде ұсынады, сондықтан олар файлдық жүйенің API интерфейсін қолдану арқылы жұмыс істей алады. Бұл көбінесе жылы жасалады Unix тәрізді операциялық жүйелер, бірақ құрылғыларға Unix тәрізді емес кейбір операциялық жүйелерде файл атаулары беріледі.

Құрылғының файлдық жүйелері

A құрылғының файлдық жүйесі деп аталатын енгізу-шығару құрылғылары мен жалған құрылғыларды файл ретінде ұсынады құрылғы файлдары. Мысалдары Unix тәрізді жүйелер жатады девфтер және, in Linux 2.6 жүйелер, удев. Сияқты Unix тәрізді емес жүйелерде TOPS-10 және оған әсер еткен басқа амалдық жүйелер, мұнда толық файл аты немесе жол аты Файлға құрылғының префиксі кіруі мүмкін, файлдық жүйелерден басқа құрылғыларға құрылғыны көрсететін құрылғы префиксі сілтеме жасайды.

Басқа арнайы файлдық жүйелер

  • Linux ядросында, configfs және sysfs ақпарат үшін ядроға сұрау салуға және ядродағы нысандарды конфигурациялауға болатын файлдарды ұсыну.
  • procfs процестерді және Linux-та басқа амалдық жүйенің құрылымын файл кеңістігінде бейнелейді.

Минималды файлдық жүйені / аудио-кассетаны сақтау

1970 жылдары диск және цифрлық таспа құрылғылары кейбіреулер үшін өте қымбат болды микрокомпьютер пайдаланушылар. Жалпыға бірдей қолданылатын арзан деректерді сақтау жүйесі ойлап табылды аудио кассета таспа.

Жүйеге мәліметтерді жазу қажет болған кезде, қолданушыға магнитофонда «RECORD» басу керек, содан кейін пернетақтадағы «RETURN» батырмасын басу туралы ескертіліп, жүйеге магнитофон жазып жатқанын хабарлайды. Жүйе уақытты синхрондауды қамтамасыз ету үшін дыбыс жазды, содан кейін модуляцияланған дыбыстар префиксті кодтаған, деректер, а бақылау сомасы және жұрнақ. Жүйеге мәліметтерді оқу қажет болған кезде, пайдаланушыға кассета жазғышта «PLAY» батырмасын басу тапсырылды. Жүйе еді тыңдау таспадағы дыбыстар синхрондау деп танылғанша күткен дыбыстарға. Содан кейін жүйе кейінгі дыбыстарды деректер ретінде түсіндіреді. Деректер оқылғаннан кейін, жүйе қолданушыға магнитофондағы «STOP» батырмасын басу туралы хабардар етеді. Бұл қарабайыр болды, бірақ ол жұмыс істеді (көп уақыт). Деректер жүйелі түрде, әдетте, атаусыз форматта сақталды, дегенмен кейбір жүйелер (мысалы Commodore PET компьютерлер сериясы) файлдарды атауға мүмкіндік берді. Таспада бірнеше мәліметтер жиынтығын жазып, таспада жылдам жіберу және лентадағы келесі деректер аймағының шамамен басталуын табу үшін лента есептегішінде бақылау арқылы орналастыруға болады. Келесі деректер аймағында ойнауды бастау үшін пайдаланушы қажетті орынды табу үшін дыбыстарды тыңдауы керек болуы мүмкін. Кейбір қолданбалар мәліметтермен қиыстырылған естілетін дыбыстарды да қамтыды.

Жазық файлдық жүйелер

Жазық файлдық жүйеде жоқ ішкі каталогтар; барлық файлдарға арналған каталог жазбалары бір каталогта сақталады.

Қашан дискета бұқаралық ақпарат құралдары алғаш рет қол жетімді болды, бұл файлдық жүйенің деректер кеңістігінің салыстырмалы түрде аз болуына байланысты жеткілікті болды. CP / M machines featured a flat file system, where files could be assigned to one of 16 user areas and generic file operations narrowed to work on one instead of defaulting to work on all of them. These user areas were no more than special attributes associated with the files; that is, it was not necessary to define specific квота for each of these areas and files could be added to groups for as long as there was still free storage space on the disk. Ерте Apple Macintosh also featured a flat file system, the Macintosh файлдық жүйесі. It was unusual in that the file management program (Macintosh Finder ) created the illusion of a partially hierarchical filing system on top of EMFS. This structure required every file to have a unique name, even if it appeared to be in a separate folder. IBM DOS / 360 және OS / 360 store entries for all files on a disk pack (көлем) in a directory on the pack called a Көлемді мазмұн (VTOC).

While simple, flat file systems become awkward as the number of files grows and makes it difficult to organize data into related groups of files.

A recent addition to the flat file system family is Amazon Келіңіздер S3, a remote storage service, which is intentionally simplistic to allow users the ability to customize how their data is stored. The only constructs are buckets (imagine a disk drive of unlimited size) and objects (similar, but not identical to the standard concept of a file). Advanced file management is allowed by being able to use nearly any character (including '/') in the object's name, and the ability to select subsets of the bucket's content based on identical prefixes.

File systems and operating systems

Көптеген операциялық жүйелер include support for more than one file system. Sometimes the OS and the file system are so tightly interwoven that it is difficult to separate out file system functions.

There needs to be an interface provided by the operating system software between the user and the file system. This interface can be textual (such as provided by a командалық интерфейс сияқты Unix қабығы, немесе OpenVMS DCL ) or graphical (such as provided by a графикалық интерфейс, сияқты file browsers ). If graphical, the metaphor of the папка, containing documents, other files, and nested folders is often used (see also: анықтамалық and folder).

Unix and Unix-like operating systems

Unix тәрізді operating systems create a virtual file system, which makes all the files on all the devices appear to exist in a single hierarchy. This means, in those systems, there is one түбірлік каталог, and every file existing on the system is located under it somewhere. Unix-like systems can use a ЖЖҚ дискісі or network shared resource as its root directory.

Unix-like systems assign a device name to each device, but this is not how the files on that device are accessed. Instead, to gain access to files on another device, the operating system must first be informed where in the directory tree those files should appear. Бұл процесс деп аталады монтаждау a file system. For example, to access the files on a CD-ROM, one must tell the operating system "Take the file system from this CD-ROM and make it appear under such-and-such directory." The directory given to the operating system is called the бекіту нүктесі – it might, for example, be / БАҚ. The / БАҚ directory exists on many Unix systems (as specified in the Файлдық жүйенің иерархия стандарты ) and is intended specifically for use as a mount point for removable media such as CDs, DVDs, USB drives or floppy disks. It may be empty, or it may contain subdirectories for mounting individual devices. Generally, only the әкімші (яғни root user ) may authorize the mounting of file systems.

Unix тәрізді operating systems often include software and tools that assist in the mounting process and provide it new functionality. Some of these strategies have been coined "auto-mounting" as a reflection of their purpose.

  • In many situations, file systems other than the root need to be available as soon as the operating system has жүктелді. All Unix-like systems therefore provide a facility for mounting file systems at boot time. Жүйелік әкімшілер define these file systems in the configuration file fstab (vfstab жылы Solaris ), which also indicates options and mount points.
  • In some situations, there is no need to mount certain file systems at boot time, although their use may be desired thereafter. There are some utilities for Unix-like systems that allow the mounting of predefined file systems upon demand.
  • Removable media have become very common with микрокомпьютер платформалар. They allow programs and data to be transferred between machines without a physical connection. Жалпы мысалдарға мыналар жатады USB флэш-дискілері, CD-ROM, және DVD дискілері. Utilities have therefore been developed to detect the presence and availability of a medium and then mount that medium without any user intervention.
  • Progressive Unix-like systems have also introduced a concept called supermounting; see, for example, the Linux supermount-ng project. For example, a floppy disk that has been supermounted can be physically removed from the system. Under normal circumstances, the disk should have been synchronized and then unmounted before its removal. Provided synchronization has occurred, a different disk can be inserted into the drive. The system automatically notices that the disk has changed and updates the mount point contents to reflect the new medium.
  • Ан automounter will automatically mount a file system when a reference is made to the directory atop which it should be mounted. This is usually used for file systems on network servers, rather than relying on events such as the insertion of media, as would be appropriate for removable media.

Linux

Linux supports numerous file systems, but common choices for the system disk on a block device include the ext* family (ext2, ext3 және ext4 ), XFS, JFS, және btrfs. For raw flash without a флэш аударма қабаты (FTL) or Memory Technology Device (MTD), there are UBIFS, JFFS2 және YAFFS, басқалардың арасында. SquashFS is a common compressed read-only file system.

Solaris

Solaris in earlier releases defaulted to (non-journaled or non-logging) UFS for bootable and supplementary file systems. Solaris defaulted to, supported, and extended UFS.

Support for other file systems and significant enhancements were added over time, including Veritas бағдарламалық жасақтамасы Corp. (journaling) VxFS, Sun Microsystems (clustering) QFS, Sun Microsystems (journaling) UFS, and Sun Microsystems (open source, poolable, 128 bit compressible, and error-correcting) ZFS.

Kernel extensions were added to Solaris to allow for bootable Veritas VxFS жұмыс. Logging or журнал was added to UFS in Sun's Solaris 7. Шығарылымдары Solaris 10, Solaris Express, OpenSolaris, and other open source variants of the Solaris operating system later supported bootable ZFS.

Logical Volume Management allows for spanning a file system across multiple devices for the purpose of adding redundancy, capacity, and/or throughput. Legacy environments in Solaris may use Solaris Volume Manager (бұрын белгілі Solstice DiskSuite ). Multiple operating systems (including Solaris) may use Veritas дыбыс реттеушісі. Modern Solaris based operating systems eclipse the need for volume management through leveraging virtual storage pools in ZFS.

macOS

macOS (formerly Mac OS X) пайдаланады Apple файлдық жүйесі (APFS), which recently replaced a file system inherited from классикалық Mac OS деп аталады HFS Plus (HFS+). Apple also uses the term "Mac OS Extended" for HFS+.[22] HFS Plus is a метадеректер -бай және case-preserving but (usually) регистрге тәуелді емес файлдық жүйе. Due to the Unix roots of macOS, Unix permissions were added to HFS Plus. Later versions of HFS Plus added journaling to prevent corruption of the file system structure and introduced a number of optimizations to the allocation algorithms in an attempt to defragment files automatically without requiring an external defragmenter.

Filenames can be up to 255 characters. HFS Plus uses Юникод to store filenames. On macOS, the filetype can come from the кодты теріңіз, stored in file's metadata, or the файл атауын кеңейту.

HFS Plus has three kinds of links: Unix-style қатты сілтемелер, Unix-style символдық сілтемелер, және бүркеншік аттар. Aliases are designed to maintain a link to their original file even if they are moved or renamed; they are not interpreted by the file system itself, but by the File Manager code in пайдаланушы аймағы.

macOS 10.13 High Sierra, which was announced on June 5, 2017 at Apple's WWDC event, uses the Apple файлдық жүйесі қосулы solid-state drives.

macOS also supported the UFS file system, derived from the BSD Unix Fast File System via Келесі қадам. Алайда, жағдай бойынша Mac OS X Leopard, macOS could no longer be installed on a UFS volume, nor can a pre-Leopard system installed on a UFS volume be upgraded to Leopard.[23] Жағдай бойынша Mac OS X Lion UFS support was completely dropped.

Newer versions of macOS are capable of reading and writing to the legacy FAT file systems (16 and 32) common on Windows. They are also capable of оқу жаңа NTFS file systems for Windows. Үшін жазу to NTFS file systems on macOS versions prior to Mac OS X Snow Leopard third party software is necessary. Mac OS X 10.6 (Snow Leopard) and later allow writing to NTFS file systems, but only after a non-trivial system setting change (third party software exists that automates this).[24]

Finally, macOS supports reading and writing of the exFAT file system since Mac OS X Snow Leopard, starting from version 10.6.5.[25]

OS / 2

OS / 2 1.2 introduced the Жоғары өнімді файлдық жүйе (HPFS). HPFS supports mixed case file names in different код беттері, long file names (255 characters), more efficient use of disk space, an architecture that keeps related items close to each other on the disk volume, less fragmentation of data, extent-based space allocation, a B+ tree structure for directories, and the root directory located at the midpoint of the disk, for faster average access. A journaled filesystem (JFS) was shipped in 1999.

PC-BSD

PC-BSD is a desktop version of FreeBSD, which inherits FreeBSD Келіңіздер ZFS support, similarly to FreeNAS. The new graphical installer of PC-BSD can handle / (тамыр ) on ZFS және RAID-Z pool installs and дискіні шифрлау қолдану Гели right from the start in an easy convenient (GUI ) way. The current PC-BSD 9.0+ 'Isotope Edition' has ZFS filesystem version 5 and ZFS storage pool version 28.

Жоспар 9

Bell Labs компаниясының 9-жоспары treats everything as a file and accesses all objects as a file would be accessed (i.e., there is no ioctl немесе ммап ): networking, graphics, debugging, authentication, capabilities, encryption, and other services are accessed via I/O operations on файл дескрипторлары. The 9P protocol removes the difference between local and remote files. File systems in Plan 9 are organized with the help of private, per-process namespaces, allowing each process to have a different view of the many file systems that provide resources in a distributed system.

The Тозақ operating system shares these concepts with Plan 9.

Microsoft Windows

Directory listing in a Windows командалық қабық

Windows makes use of the FAT, NTFS, exFAT, Live File System және ReFS file systems (the last of these is only supported and usable in Windows Server 2012, Windows Server 2016, Windows 8, Windows 8.1, және Windows 10; Windows cannot boot from it).

Windows uses a drive letter abstraction at the user level to distinguish one disk or partition from another. Мысалы, жол C: WINDOWS represents a directory WINDOWS on the partition represented by the letter C. Drive C: is most commonly used for the primary қатты диск жетегі partition, on which Windows is usually installed and from which it boots. This "tradition" has become so firmly ingrained that bugs exist in many applications which make assumptions that the drive that the operating system is installed on is C. The use of drive letters, and the tradition of using "C" as the drive letter for the primary hard disk drive partition, can be traced to MS-DOS, where the letters A and B were reserved for up to two floppy disk drives. This in turn derived from CP / M in the 1970s, and ultimately from IBM's CP / CMS 1967 ж.

FAT

Отбасы FAT file systems is supported by almost all operating systems for personal computers, including all versions of Windows және MS-DOS /PC DOS, OS / 2, және DR-DOS. (PC DOS is an OEM version of MS-DOS, MS-DOS was originally based on SCP Келіңіздер 86-DOS. DR-DOS was based on Сандық зерттеулер Келіңіздер Бір уақытта DOS, мұрагері CP / M-86.) The FAT file systems are therefore well-suited as a universal exchange format between computers and devices of most any type and age.

The FAT file system traces its roots back to an (incompatible) 8-bit FAT precursor in Standalone Disk BASIC және қысқа мерзімді MDOS/MIDAS жоба.[дәйексөз қажет ]

Over the years, the file system has been expanded from FAT12 дейін FAT16 және FAT32. Various features have been added to the file system including ішкі каталогтар, codepage қолдау, кеңейтілген атрибуттар, және ұзын файл атаулары. Third parties such as Digital Research have incorporated optional support for deletion tracking, and volume/directory/file-based multi-user security schemes to support file and directory passwords and permissions such as read/write/execute/delete access rights. Most of these extensions are not supported by Windows.

The FAT12 and FAT16 file systems had a limit on the number of entries in the түбірлік каталог of the file system and had restrictions on the maximum size of FAT-formatted disks or бөлімдер.

FAT32 addresses the limitations in FAT12 and FAT16, except for the file size limit of close to 4 GB, but it remains limited compared to NTFS.

FAT12, FAT16 and FAT32 also have a limit of eight characters for the file name, and three characters for the extension (such as .орындалатын ). This is commonly referred to as the 8.3 файл атауы шектеу. VFAT, an optional extension to FAT12, FAT16 and FAT32, introduced in Windows 95 және Windows NT 3.5, allowed long file names (LFN ) to be stored in the FAT file system in a backwards compatible fashion.

NTFS

NTFS, -мен енгізілген Windows NT operating system in 1993, allowed ACL -based permission control. Other features also supported by NTFS include hard links, multiple file streams, attribute indexing, quota tracking, sparse files, encryption, compression, and reparse points (directories working as mount-points for other file systems, symlinks, junctions, remote storage links).

exFAT

exFAT has certain advantages over NTFS with regard to file system overhead.

exFAT is not backward compatible with FAT file systems such as FAT12, FAT16 or FAT32. The file system is supported with newer Windows systems, such as Windows XP, Windows Server 2003, Windows Vista, Windows 2008, Windows 7, Windows 8, and Windows 10.

exFAT is supported in macOS starting with version 10.6.5 (Snow Leopard).[25] Support in other operating systems is sparse since implementing support for exFAT requires a license. exFAT is the only file system that is fully supported on both macOS and Windows that can hold files larger than 4 GB.[дәйексөз қажет ]

OpenVMS

MVS

Енгізгенге дейін VSAM, OS / 360 systems implemented an unusual hybrid file system. The system was designed to easily support removable disk packs, so the information relating to all files on one disk (көлем in IBM terminology) is stored on that disk in a flat system file деп аталады Көлемді мазмұн (VTOC). The VTOC stores all metadata for the file. Later a hierarchical directory structure was imposed with the introduction of the System Catalog, which can optionally catalog files (datasets) on resident and removable volumes. The catalog only contains information to relate a dataset to a specific volume. If the user requests access to a dataset on an offline volume, and they have suitable privileges, the system will attempt to mount the required volume. Cataloged and non-cataloged datasets can still be accessed using information in the VTOC, bypassing the catalog, if the required volume id is provided to the OPEN request. Still later the VTOC was indexed to speed up access.

Сөйлесетін бақылау жүйесі

IBM Сөйлесетін бақылау жүйесі (CMS) component of VM / 370 uses a separate flat file system for each виртуалды диск (minidisk). File data and control information are scattered and intermixed. The anchor is a record called the Master File Directory (MFD), always located in the fourth block on the disk. Originally CMS used fixed-length 800-byte blocks, but later versions used larger size blocks up to 4K. Access to a data record requires two levels of жанама, where the file's directory entry (called a File Status Table (FST) entry) points to blocks containing a list of addresses of the individual records.

AS/400 file system

Data on the AS/400 and its successors consists of system objects mapped into the system virtual address space in a бір деңгейлі дүкен. Көптеген түрлері AS/400 objects are defined including the directories and files found in other file systems. File objects, along with other types of objects, form the basis of the AS/400's support for an integrated реляциялық мәліметтер базасы.

Other file systems

  • The Prospero File System is a file system based on the Virtual System Model.[26] The system was created by Dr. B. Clifford Neuman of the Information Sciences Institute at the University of Southern California.
  • RSRE FLEX file system - жазылған ALGOL 68
  • The file system of the Мичиганның терминалдық жүйесі (MTS) is interesting because: (i) it provides "line files" where record lengths and line numbers are associated as metadata with each record in the file, lines can be added, replaced, updated with the same or different length records, and deleted anywhere in the file without the need to read and rewrite the entire file; (ii) using program keys files may be shared or permitted to commands and programs in addition to users and groups; and (iii) there is a comprehensive file locking mechanism that protects both the file's data and its metadata.[27][28]

Шектеулер

Converting the type of a file system

It may be advantageous or necessary to have files in a different file system than they currently exist. Reasons include the need for an increase in the space requirements beyond the limits of the current file system. The depth of path may need to be increased beyond the restrictions of the file system. There may be performance or reliability considerations. Providing access to another operating system which does not support the existing file system is another reason.

In-place conversion

In some cases conversion can be done in-place, although migrating the file system is more conservative, as it involves a creating a copy of the data and is recommended.[29] On Windows, FAT and FAT32 file systems can be converted to NTFS via the convert.exe utility, but not the reverse.[29] On Linux, ext2 can be converted to ext3 (and converted back), and ext3 can be converted to ext4 (but not back),[30] and both ext3 and ext4 can be converted to btrfs, and converted back until the undo information is deleted.[31] These conversions are possible due to using the same format for the file data itself, and relocating the metadata into empty space, in some cases using sparse file қолдау.[31]

Migrating to a different file system

Migration has the disadvantage of requiring additional space although it may be faster. The best case is if there is unused space on media which will contain the final file system.

For example, to migrate a FAT32 file system to an ext2 file system. First create a new ext2 file system, then copy the data to the file system, then delete the FAT32 file system.

An alternative, when there is not sufficient space to retain the original file system until the new one is created, is to use a work area (such as a removable media). This takes longer but a backup of the data is a nice side effect.

Long file paths and long file names

In hierarchical file systems, files are accessed by means of a жол that is a branching list of directories containing the file. Different file systems have different limits on the depth of the path. File systems also have a limit on the length of an individual filename.

Copying files with long names or located in paths of significant depth from one file system to another may cause undesirable results. This depends on how the utility doing the copying handles the discrepancy.

Сондай-ақ қараңыз

Ескертулер

  1. ^ An LTO-6 2.5 TB tape requires more than 4 hours to write at 160 MB/Sec

Пайдаланылған әдебиеттер

  1. ^ "Storage, IT Technology and Markets, Status and Evolution" (PDF). 20 қыркүйек, 2018 жыл. HDD still key storage for the foreseeable future, SSDs not cost effective for capacity
  2. ^ Арпачи-Дюссо, Ремзи Х .; Arpaci-Dusseau, Andrea C. (2014), File System Implementation (PDF), Arpaci-Dusseau Books
  3. ^ Арпачи-Дюссо, Ремзи Х .; Arpaci-Dusseau, Andrea C. (2014), Sun's Network File System (PDF), Arpaci-Dusseau Books
  4. ^ McGill, Florence E. (1922). Office Practice and Business Procedure. Gregg Publishing Company. б.197. Алынған 1 тамыз, 2016.
  5. ^ Waring, R.L. (1961). Technical investigations of addition of a hardcopy output to the elements of a mechanized library system : final report, 20 Sept. 1961. Cincinnati, OH: Svco Corporation. OCLC  310795767.
  6. ^ Disc File Applications: Reports Presented at the Nation's First Disc File Symposium. American Data Processing. 1964 ж. Алынған 1 тамыз, 2016.
  7. ^ а б c Amir, Yair. "Operating Systems 600.418 The File System". Department of Computer Science Johns Hopkins University. Алынған 31 шілде, 2016.
  8. ^ а б IBM корпорациясы. "Component Structure of the Logical File System". IBM білім орталығы. Алынған 31 шілде, 2016.
  9. ^ R. C. Daley; P. G. Neumann (1965). A General-Purpose File System For Secondary Storage. Fall Joint Computer Conference. AFIPS. pp. 213–229. дои:10.1145/1463891.1463915. Алынған 2011-07-30.
  10. ^ Mohan, I. Chandra (2013). Операциялық жүйелер. Delhi: PHI Learning Pvt. Ltd. б. 166. ISBN  9788120347267. Алынған 2014-07-27. The word dentry is short for 'directory entry'. A dentry is nothing but a specific component in the path from the root. They (directory name or file name) provide for accessing files or directories[.]
  11. ^ "KSAM: A B + -tree-based keyed sequential-access method". ResearchGate. Алынған 29 сәуір 2016.
  12. ^ "Windows on a database – sliced and diced by BeOS vets". theregister.co.uk. 2002-03-29. Алынған 2014-02-07.
  13. ^ "IBM DB2 for i: Overview". 03.ibm.com. Алынған 2014-02-07.
  14. ^ "IBM developerWorks : New to IBM i". Ibm.com. 2011-03-08. Алынған 2014-02-07.
  15. ^ "XP successor Longhorn goes SQL, P2P – Microsoft leaks". theregister.co.uk. 2002-01-28. Алынған 2014-02-07.
  16. ^ "Alternatives to using Transactional NTFS (Windows)". Msdn.microsoft.com. 2013-12-05. Алынған 2014-02-07.
  17. ^ Spillane, Richard; Gaikwad, Sachin; Chinni, Manjunath; Zadok, Erez and Wright, Charles P.; 2009 ж .; "Enabling transactional file access via lightweight kernel extensions"; Seventh USENIX Conference on File and Storage Technologies (FAST 2009)
  18. ^ Wright, Charles P.; Spillane, Richard; Sivathanu, Gopalan; Zadok, Erez; 2007; "Extending ACID Semantics to the File System; Сақтаудағы ACM транзакциялары
  19. ^ Seltzer, Margo I.; 1993; "Transaction Support in a Log-Structured File System"; Proceedings of the Ninth International Conference on Data Engineering
  20. ^ Porter, Donald E.; Hofmann, Owen S.; Rossbach, Christopher J.; Benn, Alexander and Witchel, Emmett; 2009 ж .; "Operating System Transactions"; In the Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP '09), Big Sky, MT, October 2009.
  21. ^ Gal, Eran; Толедо, Сиван; "A Transactional Flash File System for Microcontrollers"
  22. ^ "Mac OS X: About file system journaling". алма. Алынған 8 ақпан 2014.
  23. ^ "Mac OS X 10.5 Leopard: Installing on a UFS-formatted volume". apple.com. 19 қазан 2007. мұрағатталған түпнұсқа 16 наурыз 2008 ж. Алынған 29 сәуір 2016.
  24. ^ OSXDaily (2013-10-02). "How to Enable NTFS Write Support in Mac OS X". Алынған 6 ақпан 2014.
  25. ^ а б Steve Bunting (2012-08-14). EnCase Computer Forensics - The Official EnCE: EnCase Certified Examiner. ISBN  9781118219409. Алынған 2014-02-07.
  26. ^ The Prospero File System: A Global File System Based on the Virtual System Model. 1992.
  27. ^ "A file system for a general-purpose time-sharing environment", G. C. Pirkola, IEEE материалдары, June 1975, volume 63 no. 6, pp. 918–924, ISSN 0018-9219
  28. ^ "The Protection of Information in a General Purpose Time-Sharing Environment", Gary C. Pirkola and John Sanguinetti, Proceedings of the IEEE Symposium on Trends and Applications 1977: Computer Security and Integrity, т. 10 жоқ. 4, pp. 106-114
  29. ^ а б How to Convert FAT Disks to NTFS, Microsoft, October 25, 2001
  30. ^ "Ext4 Howto". kernel.org. Алынған 29 сәуір 2016.
  31. ^ а б Conversion from Ext3, Btrfs wiki

Дереккөздер

Әрі қарай оқу

Кітаптар

Желіде

Сыртқы сілтемелер