20.3.5. Конструкция системы управления задачами была плохо реализована

20.3.5. Конструкция системы управления задачами была плохо реализована

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

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

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

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

Широко распространенная программа с открытым исходным кодом, которая называется screen(1), решает некоторые из этих проблем118. Однако поскольку пользователь должен ее вызвать явно, не гарантируется, что ее возможности будут присутствовать в каждом терминальном сеансе. Кроме того, код уровня ядра, который перекрывает ее в функциональной части, не был удален.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

СОФТЕРРА: Длинные руки: Корпоративные системы удаленного управления. Часть 2

Из книги Журнал «Компьютерра» № 47-48 от 19 декабря 2006 года автора Журнал «Компьютерра»

СОФТЕРРА: Длинные руки: Корпоративные системы удаленного управления. Часть 2 Автор: Ралько, АндрейПродолжим начатую в предыдущем номере тему удаленного управления компьютером через сеть. Все продукты этого класса очевидным образом можно разделить на две группы: в первую


ПРИЛОЖЕНИЕ С (справочное) Образец плана документирования. Документация пользователя для системы ABC — административного управления магнитными лентами

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


5.2. Связь между задачами

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ автора Автор неизвестен

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


Системы управления контентом[12]

Из книги Продвижение бизнеса в Интернет. Все о PR и рекламе в сети автора Гуров Филипп

Системы управления контентом[12] Сайты, предполагающие регулярное размещение информации, как правило, имеют систему управления контентом (англ. Content management system, CMS). Благодаря ей можно минимально использовать помощь внешних технических специалистов.Среди наиболее важных


1. Системы управления базами данных

Из книги Базы данных: конспект лекций автора Автор неизвестен

1. Системы управления базами данных Системы управления базами данных (СУБД) – это специализированные программные продукты, позволяющие:1) постоянно хранить сколь угодно большие (но не бесконечные) объемы данных;2) извлекать и изменять эти хранящиеся данные в том или ином


20.3.5. Конструкция системы управления задачами была плохо реализована

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


12.3. Системы управления базами данных

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

12.3. Системы управления базами данных Система управления базами данных (СУБД) – это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.Различают 2 класса


Архитектура системы управления памятью в Win32 и Win64

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Архитектура системы управления памятью в Win32 и Win64 Win32 (в данном случае различия между Win32 и Win64 становятся существенными) — это API 32-разрядных ОС семейства Windows. "32-разрядность" проявляет себя при адресации памяти тем, что указатели (LPSTR, LPDWORD и так далее) являются 4-байтовыми


Пример: простое управление задачами

Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале Вивек

Пример: простое управление задачами Оболочки UNIX предоставляют команды, позволяющие выполнять процессы в фоновом режиме и получать их текущее состояние. В этом разделе разрабатывается простой "процессор задач" ("job shell") с аналогичным набором команд, перечень которых


Создание системы управления архивами

Из книги Интернет-маркетинг. Полный сборник практических инструментов автора Вирин Федор Юрьевич

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


4.5. Системы управления рекламой: что это такое?

Из книги В начале была командная строка... (In The Beginning Was The Command Line) автора Стивенсон Нил

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


В начале была командная строка...

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

В начале была командная строка... ***Предисловие технического редактора: по нашим компьютерным меркам данное эссе было опубликовано давным-давно, в 1999 году — в то время, когда все знали, что такое MS-DOS, когда одними из основных операционок были Windows 95, MacOS версии 9, Linux 2.2, когда


Чем была AtheOS

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.


«Корпоративные» системы управления исходным кодом

Из книги автора

«Корпоративные» системы управления исходным кодом Вполне возможно, что ваша фирма уже вложила целое состояние в «корпоративную» систему управления исходным кодом. В таком случае примите мои соболезнования. Вероятно, по политическим соображениям вы не сможете просто