╔--------------═══════════---------------╗
║ Amiga:Вопросы и ответы. ║
╚--------------═══════════---------------╝
(C)WIZARD/FLASH
==========================================
Какие на Амиге операционные системы?
==========================================
Кроме "зашитого" в ПЗУ ядра
AmigaOS, есть Amix (UNIX System V),
NetBSD, Linux, Minix, OS/9, етс ... OS/9
- очень "продвинутая" мультиюзерская
операционная система. Она является ярким
представителем ОС реального времени, но
ее стоимость довольно велика -
Амиговская версия стоит около 600 USD и
достаточно прожорлива к аппаратуре. Amix
- это выпускавшаяся еще Commodore его
лицензионная версия UNIX System V,
существовали даже специальные UNIX Амиги
А30OOUX, уже поставлявшиеся с UNIX.
Достаточно много Амиговских серверов в
Интернете стоит не под AmigaOS, а под
NetBSD. C другой стороны, в отличие от
РС - AmigaOS является стандартом
де-факто, и конкуренция между различными
операционными системами отсутствует.
Каждая система используется для своих
нужд.
==========================================
Каков "Мультитаскинг" на Амиге ?
==========================================
В AmigaOS реализована вытесняющая
приоритетная многозадачность. Каждая
задача может находиться в трех
состояниях: ожидания, готовности к
выполнению и выполнения (очевидно, в
третьем состоянии на однопроцессорной
машине в данный момент времени может
находиться только одна задача). Задача,
переходящая из состояния ожидания в
состояние готовности, ставится в очередь
на выполнение, которая сортируется по
приоритетам задач, то есть имеющая самый
большой приоритет задача получит
управление первой. Задача, находящаяся в
состоянии выполнения, может быть
выведена из него в трех случаях: если
она "добровольно" перешла в состояние
ожидания, если из состояния ожидания
вышла задача с большим приоритетом, и
если выполняющаяся задача превысила
выделенный ей квант времени. В последнем
случае управление передается задаче с
равным ей приоритетом, находящейся в
очереди на выполнение. Пользовательские
задачи обычно имеют нулевой приоритет, и
в случае их одновременной работы они
выполняются параллельно. Системные
задачи, обслуживающие внешние
устройства, имеют больший приоритет, и
за счет очень малых накладных расходов
на переключение контекста получают
управление при внешних событиях в
реальном времени. Благодаря пакету
Executive в AmigaOS реализуется
динамическая установка приоритетов
задач. Это позволяет разделить задачи на
интерактивные и вычислительные. Первые -
это обычно обслуживание ввода-вывода:
драйвера устройств, коммуникационные
программы, редакторы текстов и т.п., то
есть задачи, которые тратят наибольшее
время на ожидание и практически не
потребляют процессорной мощности. Вторые
- все основное время работы используют
процессорную мощность полностью: это
архиваторы, пакеты рендеринга и т.п.
Executive "наблюдает" за затратами
времени каждой задачи и раз в секунду
делает вывод, какой задаче какой
приоритет поставить. В результате этого
приоритет интерактивных задач
повышается, и они работают без
"торможения", связанного с параллельным
выполнением вычислительных задач.
Существует ошибочное мнение, что это
приведет к "торможению" вычислительных
задач, но на простейшем примере -
набивка 1 килобайта текста в текстовом
редакторе - можно убедиться, что это не
так: независимо от приоритета редактора
на одинаковое количество действий будет
затрачено одинаковое время, и
вычислительная задача будет работать с
одной и той же эффективностью. А
редактор при большем приоритете будет
работать в условиях сильной загрузки
процессора заметно быстрее.
Other articles: