logo
rektorska_pi

21.Методи доступу до файлів і хешування.

Файлова система (картотека) - набір програм, які виконують для користувачів деякі операції, кожна програма визначає свої власні лані і управляє ними.

Оскільки деякі методи доступу можуть застосовуватися тільки до файлів з певним типом організації (наприклад, не можна застосовувати індексний метод доступу до файлу, що не має індексу), терміни організація файлу і метод доступу часто розглядаються як еквівалентні.

Найбільш поширеним способом спільного використання файлів у системі Windows є надання спільного доступу безпосередньо з вашого комп’ютера. В операційній системі Windows надати спільний доступ до файлів можна двома способами: можна спільно використовувати файли з будь-якої папки вашого комп’ютера або зі спільної папки. Вибір способу залежить від того, де слід зберігати спільні файли, кому слід дозволити спільний доступ до них і наскільки слід контролювати ці файли. Кожний спосіб дозволяє надати спільний доступ до файлів тим, хто використовує ваш комп’ютер або інший комп’ютер у вашій мережі.

Надання спільного доступу до файлів з будь-якої папки комп’ютера

Використання цього способу дозволить вам вирішити, хто матиме змогу змінювати спільні файли та які типи змін (якщо вони дозволені) вносити до них. Це можна зробити, установивши дозволи на спільний доступ. Дозволи можна надати окремому користувачеві або групі користувачів однієї з вами мережі. Наприклад, ви можете дозволити певним користувачам лише переглядати спільні файли, а іншим — і переглядати, і змінювати. Користувачі, яким ви надали спільний доступ, зможуть бачити лише ті папки, до яких надано доступ.

Надання спільного доступу до файлів зі спільної папки комп’ютера

За використання цього способу файли копіюються або переміщуються до спільної папки, спільний доступ до них надається в цьому розташуванні. Якщо ви ввімкнете для спільної папки спільний доступ до файлів, кожний користувач, що має на вашому комп’ютері обліковий запис користувача та пароль, а також будь-хто з вашої мережі, зможе бачити всі файли вашої спільної папки та її підпапок. Не можна обмежити доступ лише до деяких файлів у спільній папці. Можна встановити дозволи, які або всім заборонять доступ до спільної папки або обмежать доступ лише до перегляду, не даючи змоги змінювати файли та створювати нові.

Щоб вирішити, чи надати спільний доступ до файлів з будь-якої папки або зі спільної, потрібно врахувати кілька факторів.

Використовуйте будь-яку папку для спільного доступу, якщо:

Використовуйте спільну папку для спільного доступу, якщо:

Існує кілька інших способів спільного використання файлів, за яких не потрібно надавати спільний доступ до них із конкретних папок. Можна надати спільний доступ до файлів, використовуючи:

Хешування (англ. hashing) - перетворення вхідного масиву даних довільної довжини в вихідну бітову послідовність фіксованої довжини, яку можна використати для порівняння даних.

Хешування застосовується для порівняння даних: якщо у двох масивах хеш-коди різні, масиви гарантовано розрізняються; якщо однакові - масиви, швидше за все, однакові. У загальному випадку однозначної відповідності між вихідними даними і хеш-кодом немає в силу того, що кількість значень хеш-функцій менше, ніж варіантів вхідного масиву; існує безліч масивів, які дають однакові хеш-коди - так звані колізії. Ймовірність виникнення колізій відіграє важливу роль в оцінці якості хеш-функцій.

У хешуванням файлі запису не обов'язково повинні вводитися у файл послідовно. Натомість для обчислення адреси сторінки, на якій повинен знаходитися запис, використовується хеш-функція (hash function) , параметрами якої є значення одного або декількох полів цього запису. Подібне поле називається полем хешування (hash field), а якщо поле є також ключовим полем файлу, то воно називається хеш-ключем (hash key). Записи в хешуванням файлі розподілені довільним чином по всьому доступному для файлу простору. З цієї причини хешировані файли іноді називають файлами з довільним або прямим доступом (random file або direct file).

Хеш-функція вибирається так, щоб записи усередині файлу були розподілені найбільш рівномірно. Один з методів створення хеш-функції називається сверткой (folding) і заснований на виконанні деяких арифметичних дій над різними частинами поля хешування. При цьому символьні рядки перетворяться в цілі числа з використанням деякого кодування .

Недоліком більшості хеш-функцій є те, що вони не гарантують отримання унікальної адреси, оскільки кількість можливих значень поля хешування може бути набагато більше кількість адрес, доступних для запису. Кожна обчислена хеш-функцією адреса відповідає деякій сторінці, або сегменту (bucket), з декількома осередками (слотами), призначеними для декількох записів. В межах одного сегменту записи розміщуються в слотах у порядку надходження. Той випадок, коли одна і та ж адреса генерується для двох або більш записів, називається конфліктом (collision), а подібні записи — синонімами. У цій ситуації новий запис необхідно вставити в іншу позицію, оскільки місце з обчисленою для неї хеш-адресою вже зайняте. Дозвіл конфліктів ускладнює супровід хешированних файлів і знижує загальну продуктивність їх роботи.