Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Щербюк СП.doc
Скачиваний:
1
Добавлен:
24.11.2019
Размер:
305.66 Кб
Скачать

К) Приклади файлових систем

  • FAT 16;

  • FAT 32;

  • NTFS;

  • Ext2;

  • Ext3;

  • Ext4;

  • ZFS;

  • ReiserFS

  • GFS

  • ISO 9660 (також відома як CDFS - CD File System).

Л) Пристрої введення-виведення інформації

До пристроїв, без яких не може працювати сучасний персональний

комп'ютер, належить клавіатура. З її допомогою в комп'ютер вводиться

найрізноманітніша інформація, що потрібна для розв'язування задач.

Клавіатура - це необхідний пристрій введення інформації ***

Необхідним пристроєм виведення інформації, що входить до апаратної

частини комп'ютера є дисплей (від англ. to display - показувати), або,

як його ще називають, монітор (від англ. to monitor - відслідковувати,

стежити за чимось). Однією з основних частин дисплея є екран кольоровий

або монохромний (від грецьк. моно - один, хром - колір), на який

виводиться інформація в різному вигляді. Дисплей - необхідний пристрій

виведення інформації. Монітор приєднується до комп'ютера через

відеокарту (відеоадаптер), який встановлюється на материнські платі.

Існує кілька стандартів відеокарт (CGA, EGA, VGA, SVGA), від них

залежить якість зображення. Показники, за якими можна характеризувати

монітор та відеоадаптер:

- розміщення екрана

- роздільна здатність

- зернистість зображення

- частота вертикальної і горизонтальної розгортки

- плоский екран

Пристроями виведення інформації на папір є принтери і плотери.

М) Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) — сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм[1][2].

Розрізняють системне програмне забезпечення (зокрема, операційна система, транслятори, редактори, графічний інтерфейс користувача) та прикладне програмне забезпечення, що використовується для виконання конкретних завдань, наприклад, статистичне програмне забезпечення[3].

Виконання програмного забезпечення комп'ютером полягає у маніпулюванні інформацією та керуванні апаратними компонентами комп'ютера. Наприклад, типовим для персональних комп'ютерів є відтворення інформації на екран та отримання її з клавіатури.

Програмне забезпечення введення-виведення рівня користувача

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

count = write(fd, buffer, nbytes);

бібліотечна процедура write буде злінкована з програмою і буде завантажуватися в пам'ять разом з програмою під час її запуску. Набір усіх цих бібліотечних процедур є частиною системи введення-виведення, але не є частиною ядра.

Існують процедури, які лише передають параметри відповідному системному виклику. Але також існують процедури, які виконують і більш складні задачі. Наприклад, форматування введення та виведення робиться бібліотечними процедурами. Один приклад з С - це команда printf, яка приймає рядок та деякі змінні у якості параметрів, будує рядок ASCII та викликає команду write для виведення цього рядка. Як приклад printf, розглянемо конструкцію

printf("The square of %3d is %6d\n", i, i*i);

Вона форматує рядок, який складається 14-ти символьного рядка "The square of " за яким слідує значення i у вигляді рядка з 3-х символів, потім 4-символьний рядок " is ", потім i2 у вигляді рядка з 6 символів та символ завершення рядка.

Приклад аналогічної процедур для введення - це команда scanf, яка читає введення та зберігає його у змінні, описані у рядку формату, що використовує то же синтаксис, що і printf. Стандартна бібліотека введення-виведення містить набір процедур, які стосуються введення-виведення і виконуються як частина користувацьких програм.

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

Замість описаного підходу використовується наступний. Створюється спеціальний процес, що називається демон і спеціальна директорія, що називаєтьсяспулінгова директорія. Щоб надрукувати файл, процес генерує весь файл та розміщує його у спулінгову директорію. Тепер задача демона, який є єдиним процесом, що має дозвіл на використання спеціального файлу принтера, роздруковувати файли, які з'являються у директорії. Захистивши спеціальний файл проти використання користувачами, операційна система захистила себе від ситуацій, коли хтось займає принтер на надто довгий період та коли принтер недовантажений.

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

Рисунок 3 підсумовує систему введення-виведення, показуючи рівні та головні функції кожного рівня.

Рівні

Функції введення-виведення

Користувацькі процеси

Виклик функцій введення-виведення; форматування введення-виведення; спулінг

Незалежне від пристрою програмне забезпечення

Іменування, захист, блокування, буферизація, розподілення

Драйвери пристроїв

Встановлення регістрів пристрою; перевірка стану пристрою

Обробники переривань

Розблокування драйверу коли операція введення-виведення закінчена

Апаратне забезпечення

Виконання операції введення-виведення

Рисунок 3. Рівні системи введення-виведення і основні функції кожного рівня.

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

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

Дескриптори об'єктів операційної системи

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

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

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

6)) UNIX® (Ю́нікс) — це операційна система, яка спочатку розроблялася впродовж 19691970-х років групою співробітників підрозділу Bell Labs корпорації AT&T, яка включала Кена ТомпсонаДенніса Рітчіта Дугласа Макілроя. Натепер існує безліч різних UNIX-систем, які, в свою чергу, об'єднуються в родини. В їх розробці в різний час брали участь AT&T, деякі комерційні фірми, а також некомерційні організації.

історія

У 1957 році Bell Labs розпочала створення операційної системи для власних потреб. Під керівництвом Віктора Висоцького (росіянина за походженням) була створена система BESYS. Після цього він керував проектом Multics, а потім став головою інформаційного підрозділу Bell Labs.

У 1964 році з'явились комп'ютери третього покоління, для яких можливості BESYS вже не підходили. Висоцький та його колеги прийняли рішення не розробляти нову власну операційну систему, а підключитися до сумісного проекту General Electric та Массачусетського технологічного інститутуMULTICS. Вагому підтримку проекту надав телекомунікаційний велетень AT&T, але у 1969 році він вийшов з проекту, оскільки останній не приносив жодних фінансових вигід.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]