Amiga News #00
11 февраля 1998 |
|
╔--------------═══════════---------------╗ ║ 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:
|
|
|
|
Similar articles:
В этот день... 21 November