для інших. Файл можуть відкрити одночасно кілька користувачів, якщо їхні права не суперечать одне одному. Якщо два або більше користувачів одночасно хочуть змінити файл, то ОС використовує операцію блокування запису. Прикладні програми можуть блокувати конкретний запис: доки є блокування, всі спроби прочитати або записати блокований запис будуть відхилені. Отже, однією з функцій ОС мережі є керування доступом до файлів, створення черг запитів та керування ними. Іноді реалізується пріоритетний доступ до файлів. Концепцію спільного використання файлів найзручніше описати на прикладі операцій з базами
даних.
Спеціальні операції керування колективним доступом до баз даних є практично в усіх СКБД. У деяких з них (Access, Foxpro, Oracle, Informix, Sybase) блокування записів відбувається автоматично, в інших це робить програміст.
Сервер також виконує функцію керування повноваженнями. Кожному файлу або каталогу ставиться у відповідність список користувачів, які мають доступ до нього, та тип цього доступу.
12.4. Особливості реалізації та роботи сервера друкування;
Сервер друкування - це комп'ютер, який виконує завдання для окремої групи користувачів з друкування матеріалів. Як звичайно, він керує одним або кількома принтерами. Подібно до файл-сервера, сервер друкування може бути призначеним та непризначеним.
Якщо якійсь робочій станції дано завдання роздрукувати документ, то вона звертається до принтера мережі за його символьним іменем (до робочої станції можна приєднати і локальний принтер, однак він повинен мати інше ім'я). Програма переспрямування, в якій зберігається інформація про ресурси мережі, надсилає запит до сервера друкування. Якщо принтер вільний, сервер відразу спрямовує завдання в буфер друкування - частину оперативної пам'яті сервера, використовувану для скерування завдань на друкування з заданою швидкістю (рис.
30.2).
Якщо принтер зайнятий, то завдання буде записане на диск сервера друкування і чекатиме своєї черги. Програмне забезпечення сервера друкування може керувати чергою, присвоювати завданням пріоритети, групувати за форматами документів та ін. Якщо буфер друкування частково звільняється, до нього надходять завдання з диска. Такий процес називають спулінгом (spooling), відповідний програмно-апаратний механізм - спулом друкування.
30.5. Особливості апаратно-програмних вирішень сервера KM
Комп'ютер файл-сервера посідає особливе місце серед інших комп'ютерів мережі. Він повинен мати більші ємності для зберігання даних, більші швидкодію та оперативну пам'ять.
Критичним моментом у роботі сервера є його здатність швидко відшукувати дані та видавати їх без помітної затримки на робочу станцію. На продуктивність сервера впливають багато факторів: швидкість роботи інтерфейсної плати, тип мережі, ємність доступної оперативної пам'яті, параметри твердого диска. Найважливішим параметром файл-сервера є тривалість доступу до даних. Він складається з тривалості шукання (радіального переміщення головок) та тривалості обертання (часу, потрібного для підходу потрібного сектора). Добрим є сервер з тривалістю доступу 10-25 мс.
Збільшити продуктивність сервера та надійність зберігання даних дають змогу різні апаратні та програмні вирішення, які можна розділити на групи за підсистемами комп'ютера.
Дискова підсистема
Використання дискового співпроцесора. Спеціальний дисковий співпроцесор керує читанням та записуванням інформації на диск. Отже, розвантажується центральний процесор, збільшуються продуктивність та вартість системи.
Дублювання дисків (disc mirroring). Поряд з одним встановлюють інший ідентичний твердий диск, який в оперативному режимі дублює роботу попереднього. Якщо один вийшов з ладу, то робота сервера не припиняється.
Ліфтове шукання (elevator seeking). Ліфтове переміщення головок дисковода - це процедура, що дає змогу поліпшити записування та читання даних з диска. Запити, які надходять, накопичуються протягом деякого часу. Після цього оптимізується їхня черговість, щоб мінімізувати переміщення головок. Така процедура зменшує тривалість виконання запиту на 40%. Крім того, зменшується зношування диска.
RAID-масиви та мережі систем зберігання даних. У сучасних серверах для збільшення гнучкості та обсягів інформації часто використовують масиви твердих дисків (див. Д.30.2). Якщо таких масивів багато, їх об'єднують окремими мережами зберігання даних SAN (Storage Area Networking) (див. Д.30.3).
Зовнішні бібліотеки зберігання даних. У великих корпоративних мережах поряд з зовнішніми дисковими пристроями використовують і повільніші (зате значно ємніші) бібліотеки магнітних стрічок або оптичних дисків. Ці пристрої потрібні для резервного копіювання, а також для тимчасового переміщення на них файлів, які не застосовують, та автоматичного по-вернення їх назад у разі виникнення потреби (міграція та деміграція). Детальніше див. Розділ 38.
Комунікаційна підсистема ^г,
Використання інтелектуальних адаптерних плат. Частину роботи щодо організації обміну даними та доступу до пам'яті виконує адаптерна плата, використовуючи спеціальні алгоритми. Як звичайно, адаптерні плати серверів коштують дорожче. Крім того, вони можуть мати більшу розрядність або застосовувати прямий доступ до пам'яті. -
Пам'ять
Кеш-пам'ять (cash memory). На сервері розміщують спеціальну швидкодійну пам'ять, у яку заносять структуру каталогів та FAT-таблиці (апаратний кеш). Крім того, частину вільної оперативної пам'яті комп'ютера виділяють для читання/записування. Кожного разу читають не тільки визначений кластер диска, а й кілька сусідніх (файли найчастіше містяться в сусідніх кластерах). У цьому випадку велика ймовірність того, що наступне читання можна буде виконати з пам'яті, а не з диска. Отже, тривалість доступу зменшиться.
Кешування файлів. У процесі роботи система може аналізувати, які файли використовують найчастіше, та зберігати їх у пам'яті, а не на диску. Це разом з операцією ліфтового шукання підвищує ефективність застосування сервера в сотні разів.
Гешування каталогів (directory hashing). Якщо каталоги в сервері дуже великі, то потрібен тривалий час на відшукання конкретного файлу за його іменем (необхідно переглянути всі імена попередніх файлів каталогу). У процесі гешування кожен запис каталогу перетворюється у двобайтові значення, які зберігаються в спеціальних геш-таблицях. Шукання потрібного імені файлу зводиться до порівнянь числових значень з цих таблиць.
Індексування FAT- та геш-таблиць. Для прискореного шукання використовують індексування