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

Вытесняющая и невытесняющая многозадачность.

  • невытесняющая многозадачность (NetWare, Windows 3 .х);

  • вытесняющая многозадачность (Windows NT, ОS/2, Unix).

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

Системы разделения времени призваны исправить изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Критерием эффективности систем разделения времени является удобство и эффективность работы пользователя.

Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария. Критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата. Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью.

16. Одна из важнейших функций операционной системы состоит в управлении всеми устройствами ввода-вывода компьютера. ОС должна давать этим устройствам команды, перехватывать прерывания и обрабатывать ошибки. Она должна также обеспечить простой и удобный интерфейс между устройствами и остальной частью системы.

УСТРОЙСТВА ВВОДА - широкий класс технических средств, предназначенных для ввода данных в ЭВМ. К устройствам этого вида относятся: клавиатура, графические планшеты, сенсорные экраны, координатные или манипуляторные устройства ("мышь", "Джойстик", "Трекбол", "Педаль", "Игровые манипуляторы"), сканеры, устройства считывания (магнитного, оптического и электрического) меток и штрихового кода, устройства речевого ввода и др.

УСТРОЙСТВА ВЫВОДА - широкий класс технических средств, предназначенных для вывода данных из ПК в необходимой для пользователя форме. К ним относятся устройства визуального отображения (например мониторы), вывода на твердые носители (например, принтеры, плоттеры, устройства записи на микрофильм/микрофишу), синтезаторы речи, акустические динамики (громкоговорители) и др.

Каждое устройство ввода-вывода вычислительной системы — диск, принтер, терминал и т.п. — снабжено специализированным блоком управления, называемым контроллером. Контроллер взаимодействует с драйвером — системным программным модулем, предназначенным для управления данным устройством. Контроллер периодически принимает от драйвера выводимую на устройство информацию, а также команды управления, которые говорят о том, что с этой информацией нужно сделать (например, вывести в виде текста в определенную область терминала или записать в определенный сектор диска). Под управлением контроллера устройство может некоторое время выполнять свои операции автономно, не требуя внимания со стороны центрального процессора. Это время зависит от многих факторов — объема выводимой информации, степени интеллектуальности управляющего устройством контроллера, быстродействия устройства и т. п. Даже самый примитивный контроллер, выполняющий простые функции, обычно тратит довольно много времени на самостоятельную реализацию подобной функции после получения очередной команды от процессора. Это же справедливо и для сложных контроллеров, так как скорость работы любого устройства ввода-вывода, даже самого скоростного, обычно существенно ниже скорости работы процессора.

Первоначально термин «драйвер» применялся в достаточно узком смысле: под драйвером понимался программный модуль, который:

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

  • непосредственно управляет внешним устройством, взаимодействуя с его контроллером с помощью команд ввода-вывода компьютера;

  • обрабатывает прерывания от контроллера устройства;

  • предоставляет прикладному программисту удобный логический интерфейс работы с устройством, экранируя от него низкоуровневые детали управления устройством и организации его данных;

  • взаимодействует с другими модулями ядра ОС с помощью строго оговоренного интерфейса и т.д.

по мере развития операционных систем и усложнения структуры подсистемы ввода-вывода, наряду с традиционными драйверами в операционных системах появились так называемые высокоуровневые драйверы, которые располагаются в общей модели подсистемы ввода-вывода над традиционными драйверами.

Высокоуровневые драйверы оформляются по тем же правилам и придерживаются тех же внутренних интерфейсов, что и аппаратные драйверы. Единственным отличием является то, что высокоуровневые драйверы, как правило, не вызываются по прерываниям, так как взаимодействуют с управляемым устройством через посредничество аппаратных драйверов.

Достоинством подсистемы ввода-вывода операционной системы является разнообразие устройств, поддерживаемых данной ОС. Для создания драйверов необходимо наличие удобного и открытого интерфейса между драйверами и другими компонентами ОС. Драйвер взаимодействует, с одной стороны, с модулями ядра ОС, а с другой стороны – с контроллерами внешних устройств. проблемой работы с устройствами ввода-вывода является проблема включения драйвера в состав работающей ОС – динамическая загрузка/выгрузка драйверов. Способность системы автоматически загружать и выгружать из оперативной памяти требуемый драйвер повышает универсальность ОС. Альтернативой динамической загрузке драйверов при изменении текущей конфигурации внешних устройств является повторная компиляция кода ядра с требуемым набором драйверов. Пример – некоторые версии UNIX.