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

15. Характеристика режимів роботи операційних систем.

Все операционные системы способны обеспечивать как пакетный, так и диалоговый режим работы с пользователем, также эти режимы можно назвать однозадачным и многозадачным. В пакетном режиме операционная система автоматически исполняет заданную последовательность команд. Суть диалогового режима состоит в том, что операционная система находится в ожидании команды пользователя, получив ее, приступает к исполнению, исполнив команду, возвращает отклик и ждет очередной команды. Диалоговый режим работы основан на использовании прерываний процессора и прерываний BIOS (которые, в свою очередь, также основаны на использовании прерываний процессора) Опираясь на эти аппаратные прерывания, операционная система создает свой комплекс системных прерываний. Способность операционной системы прервать текущую работу и отреагировать на события, вызванные пользователем с помощью управляющих устройств, называется диалоговым режимом работы.

16. Характеристика та функції однозадачного режиму роботи операційних систем .

Однозадачные операционные системы позволяют в каждый момент времени решать только одну задачу. Такие системы обычно позволяют запустить одну программу в основном режиме. В зависимости от количества одновременно обрабатываемых задач и числа пользователей, которых могут обслуживать ОС, различают два основных класса однозадачных операционных систем:

1.      однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;

2.      однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную как правило, на вывод информации на печать.

Процессор выполняет команды, последовательно выбирая их одну за другой из памяти в порядке возрастания адресов. Программист может нарушить этот порядок, вставив в программу команду условного или безусловного перехода, команду вызова функции или цикла (bne, call, jmp, loop). Однозадачные операционные системы передают все ресурсы вычислительной системы одному исполняемому приложению и не допускают ни параллельного выполнения другого приложения  (полная многозадачность), ни его приостановки и запуска другого приложения  (вытесняющая многозадачность). В то же время параллельно с однозадачными операционными системами возможна работа специальных программ называемых резидентами. Такие программы не опираются  на операционную систему, а непосредственно работают с процессором, используя его систему прерываний. Если система обнаруживает, что есть прерывание, то она запоминает в стеке контекст выполняемой программы: адрес текущей команды, ' содержимое регистров АУ, и переходит в режим обработки прерывания, то есть переключается на выполнение другой программы, вызвавшей прерывание. В системе команд существуют также особые, привилегированные инструкции, которые невозможно прервать. Они называются atomic instructions, (вы помните, что атом переводится как неделимый) и используются системой при выполнении критических для целостности системы процедур.

В оперативной памяти (RAM), даже в случае однозадачной ОС (операционная система), могут одновременно находиться несколько программ:

резидентная часть операционной системы;

резидентные программы, которые запускает система или пользователь;

прикладная программа, выполняемая в данный момент.

Системный модуль, который подготавливает запуск прикладной программы, с тем чтобы вернуть управление обратно после ее завершения, называется program prefix segment. Он, так же как и модуль завершения программы пользователя, занимает определенное время и другие ресурсы системы. Если в процессе выполнения пользовательской прбграмме нужно выполнить какое-либо стандартное действие, например вывести строку символов на принтер, она может обратиться к стандартной подпрограмме, входящей в состав операционной системы. Такие стандартные действия, реализованные в ОС в виде отдельных процедур, принято называть системными сервисами. Обратите внимание на тот факт, что прикладная программа сама определяет момент предоставления ей системного сервиса. Программа при завершении, как вы знаете, может вернуть системе некий код (успех или неудача). Как программа может узнать о наступлении какого-либо события, внешнего по отношению к ней, например такого, как нажатие пользователем клавиши клавиатуры? Существуют два способа: по опросу готовности и с помощью механизма аппаратных прерываний. Клавиатура является устройством, о котором можно программно, анализируя содержимое программно-доступного регистра состояния клавиатуры, узнать, готово ли оно к обмену, то есть нажата ли клавиша. В результате какого-либо события: нажатия клавиши клавиатуры, движения мыши, срабатывания таймера, вырабатывается сигнал. По этому сигналу процессор прерывает выполнение текущей программы, запоминает состояние (контекст) прерванной программы и передает управление программе-обработчику возникшей ситуации.

Аппаратные прерывания могут возникать в произвольные моменты времени, и они прозрачны для прикладной программы, то есть она не знает, что была прервана в ответ на какое-то событие. Почему необходимо запоминать контекст прерванной программы и не нужно этого делать при вызове внешней функции? В последнем случае контекст не нарушается, так как программист проектирует вызов функции и сам управляет последовательностью действий, например передачей аргументов. В случае прерывания контекст выполняемой программы нарушается и уже сама система должна сделать все, чтобы восстановить текущее состояние прерванной программы, так как прерывание не было запланировано — не входило в намерения программиста. Обработчик аппаратного прерывания от клавиатуры преобразует код нажатия клавиши в код, понятный прикладной программе (ASCII), и помещает его в буфер. Прикладная программа не реагирует на нажатие клавиши и не замечает вызова обработчика, но когда у нее возникает желание выяснить, нажимал ли пользователь какие-нибудь клавиши, она вызывает системную функцию. Последняя анализирует буфер и, если он не пуст, возвращает код нажатой клавиши или признак того, что буфер пуст.

16-18. Існує кілька схем класифікації операційних систем. Нижче наведена класифікація по деяких ознаках з погляду користувача. Реалізація багатозадачності По числу одночасно виконуваних завдань операційні системи можна розділити на два класи: • багатозадачні (Unix, OS/2, Windows); • однозадачні (наприклад, MS-DOS). Багатозадачна ОС, вирішуючи проблеми розподілу ресурсів і конкуренції, повністю реалізує мультипрограмний режим відповідно до вимог роздягнула "Основні поняття, концепції ОС". Багатозадачний режим, що втілює в собі ідею поділу часу, називається що витісняє (preemptive). Кожній програмі виділяється квант процесорного часу, після закінчення якого керування передається іншій програмі. Говорять, що перша програма буде витиснута. У режимі, що витісняє, працюють користувальницькі програми більшості комерційних ОС. У деяких ОС (Windows 3.11, наприклад) користувальницька програма може монополізувати процесор, тобто працювати в режимі, що не витісняє. Як правило, у більшості систем не підлягає витисненню код властиво ОС. Відповідальні програми, зокрема завдання реального часу, також не витісняються. Більш докладно про це розказано в лекції, присвяченої плануванню роботи процесора. По наведених прикладах можна судити про приблизність класифікації. Так, в ОС MS-DOS можна організувати запуск дочірнього завдання й наявність у пам'яті двох і більше завдань одночасно. Однак ця ОС традиційно вважається однозадачною, головним чином через відсутність захисних механізмів і комунікаційних можливостей. Підтримка багатокористувацького режиму По числу одночасно працюючих користувачів ОС можна розділити на: • однокористувацькі (MS-DOS, Windows 3.x); • багатокористувацькі (Windows NT, Unix). Найбільш істотна відмінність між цими ОС полягає в наявності в багатокористувацьких системах механізмів захисту персональних даних кожного користувача. Операційною системою називають спеціалізований комплекс програм, які управляють роботою апаратних та прикладних програмних ресурсів комп’ютера самостійно або за вимогами користувача.

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

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