Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системне програмне забезпечення.doc
Скачиваний:
9
Добавлен:
27.10.2018
Размер:
614.4 Кб
Скачать

Аппаратная поддержка мультипрограммного режима

Для корректной организации мультипрограммной обработки необходима аппаратная поддержка ЭВМ. Как минимум аппаратура ЭВМ должна поддерживать следующие функции.

  1. Аппарат защиты памяти. Аппаратная возможность ассоциирования некоторых областей ОЗУ с одним из выполняющихся процессов/программ. Настройка аппарата защиты памяти происходит аппаратно, то есть назначение программе/процессу области памяти происходит программно (т.е., в общем случае операционная система устанавливает соответствующую информацию в специальных регистрах), а контроль за доступом – автоматически. При этом при попытке другим процессом/программой обратиться к этим областям ОЗУ происходит прерывание “Защита памяти”

  2. Наличие специального режима работы ЦП (т.н. привилегированный режим, режим супервизора или режим ОС). Суть заключается в следующем: все множество машинных команд разбивается на 2 группы. Первая группа – команды, которые могут исполняться всегда (пользовательские команды). Вторая группа – команды, которые могут исполняться только в том случае, если ЦП работает в режиме ОС. Если ЦП работает в обычном режиме (режиме пользователя), то попытка выполнения специализированной команды вызовет прерывание – "Запрещенная команда”. Какова необходимость наличия такого режима выполнения команд? Простой пример – управление аппаратом защиты памяти. Для корректного функционирования этого аппарата необходимо обеспечить централизованный доступ к командам настройки аппарата защиты памяти. То есть эта возможность должна быть доступна не всем программам.

  3. Необходимо наличие аппарата прерываний. Как минимум в машине должно быть прерывание по таймеру, что позволит избежать “зависания“ всей системы при зацикливании одной из программ.

Некоторые проблемы

  1. Вложенные обращения к подпрограммам. В вызываемую подпрограмму нужно передать параметры. Возникает проблема сохранения регистров. Требуются лишние затраты времени.

  2. Накладные расходы при смене обрабатываемой программы:

  • необходимость включения режима блокировки прерываний;

  • программное сохранение / восстановление содержимого регистров при обработке прерываний;

  • Перемещаемость программы по ОЗУ. Сложно перемещать программу по оперативной памяти так, чтоб не было привязки программы к определенному диапазону адресов. Программу с внутренней адресацией надо положить на физическую память.

  • Фрагментация памяти. Суть этой проблемы следующая. При размещении новых программ/процессов в ОЗУ ЭВМ (для их мультипрограммной обработки) образуются свободные фрагменты ОЗУ между программами/процессами. Суммарный объем свободных фрагментов может быть достаточно большим, но, в то же время, размер самого большого свободного фрагмента недостаточно для размещения в нем новой программы/процесса. В этой ситуации возможна деградация системы – в системе имеются незанятые ресурсы ОЗУ, но они не могут быть использованы. Путь решения этой проблемы – использование более развитых механизмов организации ОЗУ и виртуальной памяти, позволяющие отображать виртуальное адресное пространство программы/процесса не в одну непрерывную область физической памяти, а в некоторую совокупность областей.

    1. Класифікація операційних систем.

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

      тестування працездатності обчислювальної системи і її налагодження при початковому включенні;

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

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

    Операційні системи класифікуються по таких характеристиках:

      Кількості одночасно працюючих користувачів – однокористувацькі та багатокористувацькі. Багатокористувацькі на відміну вид однокористувацьких підтримують одночасну роботу декількох користувачів з різними терміналами.

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

    Кількості підтримуючих процесорів – однопроцесорні та багатопроцесорні. Багатопроцесорні операційні системи підтримують режим розподілених ресурсів декількох процесорів для розв’язання одної задачі.

    Розрядності коду – 8-ми розрядні, 16-ти розрядні, 32-ох розрядні та 64-ох розрядні (вважається, що розрядність операційної системи не може перевищувати розрядність процесора).

    Типу інтерфейсу – командні (з текстовим інтерфейсом) і об’єктно-орієнтовані (з графічним інтерфейсом).

      Типу доступу користувача до ЕОМ: з пакетною обробкою, з розділенням часу, реального часу. Режим реального часу забезпечує імітацію одноосібного обслуговування користувача в темпі розвитку реального процесу.

      Типу використання ресурсів – мережні та локальні. Мережні операційні системи служать для забезпечення обслуговування користувачів локальних обчислювальних мереж.

    На сьогодні найпоширенішими операційними системами для персональних комп’ютерів, робочих станцій і серверів є наступні: UNIX, MS DOS, OS/2, WINDOWS, LINUX, MAC, VAX/VMS.

    1. Основні види ресурсів.

    Різні операційні системи, до яких відносять OC MS-DOS, OC Windows, OC Linux, OC Unix та багато інших не таких популярних, використовують ті чи інші можливості обслуговування компонентів комп’тера і організації діалогу з користувачем. До числа основних характеристик операційних систем відносяться: розрядність, підтримка багатопроцесорності, багатозадачності, підтримка багатокористу-вацького режиму.

    Розрядність операційної системи показує, яка розрядність внутрішньої шини даних центрального процесора здатна підтримувати операційна система. Розрядність операційної системи говорить про те, з якими програмами вона буде працювати. Всі сучасні операційні системи підтримують 32-розрядний інтерфейс прикладних програм. Розрядність коду інтерфейсу прикладних програм має безпосереднє відношення до адресного простору ОЗУ. Адресний простір пам’яті – це є область адресів підсистеми пам’яті, яка розпреділяється між окремими програмними модулями операційної системи і даними. Адресний простір розприділяється також між відеопам’яттю, пам’яттю BIOS, бдоком інформації захищеного режиму роботи. Операційна система може підтримувати два режими роботи центрального процесора – реальний і захищений. В реальному режимі роботи, який є характерний для операційної системи MS DOS, всі програми і дані розміщуються в одній області оперативної пам’яті. Таким чином кожний користувач може ввійти в любу системну програму і нехотячи її зіпсувати. 32-розрядні операційні системи, як правило можуть підтримувати захищений режим роботи, який дозволяє зберігати програми і дані окремо в залежності від їх важливості в системі. Найбільш важливі і цінні програми і дані ядра операційної системи. Вони зберігаються в одній області пам’яті, яка має найвищіправа доступу. Системні програми і дані мають меншу цінність і на ієрархічній драбині розміщуються нижче, ніж програми ядра. Вони розміщені в другій області пам’яті. Найнижчою степінню значимостідля системи володіють програми і дані користувачів, вони також розташовуються в окремій області пам’яті.

    Всього існує чотири кольца захищеності системи від несинкціонованого доступу до привілейованих програм і даних. Всі програми і дані захищені також установками атрибутів.

    Багатозадачність. Робота з додатками складає важливу частину роботи операційної системи. Це явно, якщо згадати, що основна функція операційної системи складається із забезпечення інтерфейсу, додатку з апаратними програмними засобами обчислювальної системи, а також з користувачем. З точки зору керування виконання додатку, розрізняють однозадачні і багатозадачні операційні системи. Однозадачні операційні системи (нааприклад DOS) передають всі ресурси обчислювальної системи одному виконуваному додатку і не допускають ні паралельного виконання іншого додатку (повна багатозадачність), ні зупинки і запуску іншого додатку (витісняючи багатозадачність). В цей же час паралельно з однозадачними операційними системами можлива робота спеціальних програм, які називають резидентними. Такі програми не опираються на операційну систему, а небезпосередньо працюють з процесором, використовуючи його систему переривань.

    Більшість сучасних операційних систем – багатозадачні. Вони керують розприділенням ресурсів обчислювалбної системи між задачами і забезпечують:

    - можливість одночасної чи послідовної роботи декількох додатків;

    - можливість обміну між додатками;

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

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

    Переносимість операційної системи – це можливість операційної системи працювати на комп’ютерах, які базуються на центральних процесорах з різною архітектурою.

    Функції операційної системи. Оболонка, її характеристика.

    Рівень ядра ОС UNIX зображений безпосередньо під рівнем прикладних програм користувача. Виконуючи різні елементарні операції по запитах користувацьких процесів, ядро забезпечує функціонування інтерфейса користувача. Серед ф-цій ядра відмітимо:

    q Управління виконанням процесів посередництвом їх створення, завершення до призупинки і організації взаємодії між ними.

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

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

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

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

    q Управління доступом процесів до периферійних пристроїв: клавіатура, дисководи, сіткове обладнання.

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