Бос кеңістіктің нүктелік картасы - Free space bitmap - Wikipedia

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

Мысал

Бос кеңістіктің нүктелік картасының қарапайым түрі - а бит жиымы, яғни блок биттер. Бұл мысалда нөл бос секторды, ал біреуі қолданыстағы секторды білдіреді. Әр сектор белгіленген мөлшерде болады. Түсіндіру мақсатында біз 4 санын қолданамызGiB қатты диск 4096-мен байт растрлық картаның өзі басқа жерде сақталады деп болжаймыз. Мысал дискіге әр сектор үшін бір немесе 1-ден 1 048 576 бит қажет боладыMiB. Дискінің өлшемін ұлғайту нүктелік картаның мөлшерін пропорционалды түрде арттырады, ал сектордың көлемін көбейту пропорционалды кішірейтуді тудырады.

Қашан операциялық жүйе (OS) файл жазу керек, ол файлға сәйкес келетін жеткілікті бос орын тапқанша, нүктелік картаны сканерлейді. Егер мысал дискінде 12 KiB файлы сақталған болса, онда үш нөлдік биттер табылып, олардың орнына өзгертіліп, мәліметтер сол биттермен ұсынылған үш секторға жазылатын еді. Егер файл кейіннен 8 КБ-қа дейін қысқартылса, онда соңғы сектордың биті нөлге оралатын еді, бұл оны пайдалануға қайта қол жетімді екенін көрсетеді.

Артықшылықтары

  • Қарапайым: әрбір бит секторға сәйкес келеді
  • Жылдам кездейсоқ қол жетімділікті тексеру: сектордың бос екендігін тексеру сәйкес битті тексеру сияқты қарапайым
  • Жылдам жою: жойылған кезде деректердің үстіне жазудың қажеті жоқ;[түсіндіру қажет ] сәйкес битті айналдыру жеткілікті
  • Тұрақты шығын: артықшылығы да, кемшілігі де. Бос кеңістік туралы ақпаратты сақтаудың басқа әдістері бос кеңістіктің саны мен көлеміне байланысты өзгермелі үстеме шығындарға ие. Растрлық карталар ешқашан сәйкес идеалды жағдайда басқа техниканы жасай алмайды, бірақ патологиялық жағдайларға ұшырамаңыз. Растрлық сурет ешқашан өспейтін, кішірейтілмейтін және қозғалмайтын болғандықтан, қажетті ақпаратты табу үшін аз іздеу қажет
  • Диск жетегінің пайыздық мөлшерлемесі бойынша сақтаудың үстеме шығыны: Сектордың өлшемдері салыстырмалы түрде аз болса да, растрлық картаға қажетті сақтау орны аз. A 2TiB дискіні жай 64-пен толық ұсынуға боладыMiB нүктелік карта.

Кемшіліктері

  • Үлкенірек дискілерге ысырапшыл: қарапайым дизайн өте үлкен көлемде кеңістікті (абсолютті мағынада) ысырап ете бастайды.[1]
  • Масштабтаудың нашарлығы: Дискінің көлеміне қатысты өлшем шамалы болып қалса да, бос орынды табу дискінің толтырылуымен баяулайды. Егер нүктелік карта қол жетімдіден үлкен болса жады, барлық операцияларда өнімділік төмендейді[1]
  • Фрагментация: Егер бос секторлар табылған жағдайда алынса, файлдарды жиі жасайтын және жойатын дискілер тез арада фрагментацияланады. Егер іздеу сабақтас блоктарды табуға тырысса, бос кеңістікті табу тіпті орташа толық дискілер үшін де баяу болады.

Озық техникалар

Дискінің өлшемі өскен сайын, бос орынды іздеуге кететін уақыт негізсіз болуы мүмкін. Бұл мәселені шешу үшін бос кеңістіктің нүктелік карталарының нақты әлемдегі енгізілімдері бос кеңістіктегі ақпаратты орталықтандыру тәсілдерін табады. Бір тәсіл - нүктелік картаны көптеген бөліктерге бөлу. Содан кейін бөлек массив бос бөліктердің санын әр бөлікке сақтайды, сондықтан орын жеткіліксіз бөліктерді оңай өткізіп жіберуге болады, ал бос кеңістіктің жалпы санын есептеу оңайырақ болады. Бос кеңістікті табу қазір жиынтық массивті іздеуге, содан кейін нақты секторларды байланыстыратын растрлық кесінді іздеуге алып келеді.[1]

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

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

Әдебиеттер тізімі

  1. ^ а б c Бонвик, Джефф (2007-09-14). «Ғарыш карталары». Архивтелген түпнұсқа 2009 жылдың 1 сәуірінде. Алынған 2009-10-02.