Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операційні системи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.41 Mб
Скачать

Мережні пристрої істотних відрізняються від блоків і символьних; мають свій власний інтерфейс і систему команд

Мережні пристрої і їхні драйвери в ОС підтримують традиційні або специфічні мережні протоколи й способи передачі інформації через мережу. Наприклад, ОС UNIX й Windows NT / 9x / 2000 підтримують сокетний інтерфейс. Мережний пристрій відокремлює мережний протокол від мережної операції. Команди мережних пристроїв включають функцію select - вибір мережного пакета. Мережні пристрої різні по підходах до реалізації (конвеєри, pipes, FIFO, потоки, черги, поштові скриньки). У типовій конфігурації настільного або портативного комп'ютера присутні наступні мережні пристрої:

  • мережний адаптер локальної мережі (Ethernet), що має рознімання типу RJ45 для підключення мережного кабелю twisted pair (кручена пари) або BNC (коаксіального);

  • пристрій для підключення до бездротової мережі типу IEEE.802.11x (Wi-Fi);

  • пристрій для підключення до локальної мережі IEEE 1394 (FireWire) для передачі цифрового відео;

  • уже трохи застарілий, але дотепер використовуваний у комп'ютерах спосіб приєднання до мережі Інтернет - убудований модем для передачі інформації з телефонної лінії (dial-up) зі швидкістю максимум порядку 5-6 кілобайт у секунду.

Устройства FireWire, очевидно, через особливу важливість передачі мультимедійний інформації, у сучасних комп'ютерах розташовуються на материнській платі. У специфікації комп'ютера це звичайно вказується абревіатурою типу FireWire on board (на борті).

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

Годинники й таймери

Дані хронометричні пристрої в комп'ютерній системі зберігають інформацію про поточний час, що пройшов відрізку часу, установках таймера.

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

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

Блокуємий (синхронний) і не блокуємий (асинхронний) ввід-вивід

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

Блокуємий ввід-вивід заснований на простому, інтуїтивно зрозумілому парадигмі: процес затримується, поки ввід-вивід не закінчиться. Він більше простий для використання й розуміння, але. у силу своєї недостатньої ефективності, недостатній для деяких застосувань. Для оптимізації вводу-виводу повернення із системного виклику для вводу-виводу може траплятися у міру доступності інформації. Застосовується користувальницький інтерфейс для копіювання даних (буферизація). Ввід-вивід також реалізується за допомогою багато поточності (multi-threading): ввід-вивід виділяється в окремий потік. Із системних викликів для вводу-виводу передбачене швидке повернення з видачею як результату числа байтів, фактично прочитаних або записаних.

Асинхронний ввід-вивід заснований на іншій парадигмі: процес виконується одночасно з виконанням вводу-виводу. Внаслідок цього, він більше складний у використанні, тому що більшість програмістів дотепер звикли мислити й реалізовувати програми в послідовному стилі. Після завершення асинхронного вводу-виводу підсистема вводу-виводу генерує сигнал (виключення) у процесі, його що використовує. Програмування асинхронного вводу-виводу засновано на використанні пари операцій типу почати асинхронний ввід-вивід і закінчити асинхронний ввід-вивід (почекати його результатів).

Операційна система управляє пристроями вводу-виводу.

ОС здійснює планування, включаючи впорядкування запитів на ввід-вивід у чергах до кожного пристрою.

ОС забезпечує буферизацію – запис даних в пам'ять в процесі передачі між пристроями. Цілі буферизації:

  • балансування пристроїв з різними швидкостями;

  • згладжування невідповідності розміру даних для роботи із пристроєм;

  • підтримка "семантики копіювання".

Як неодноразово відзначалося, для оптимізації роботи із зовнішніми пристроями організується кэшування – використання швидкої пам'ять, у якій зберігається копія даних (фактично в ній зберігаються найбільше часто використовувані блоки). Треба, однак, мати на увазі, що вміст кеш-пам'яті - завжди тільки копія реальних даних, тому в деяких випадках доводиться синхронізувати вміст кэша із умістом диска, щоб не допустити неузгодженості інформації. Кэшування - ключ до підвищення продуктивності дискових пристроїв.

Досить важлива також така функція ОС, як буферизація виводу (spooling) – затримка виводу на пристрій, з метою підтримки цілісності інформації, виведеної тим самим процесом. Типовий приклад - печать на принтер.

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