Компания ALT Linux
Опубликован: 14.12.2004 | Доступ: свободный | Студентов: 12240 / 1446 | Оценка: 4.19 / 3.84 | Длительность: 18:18:00
ISBN: 978-5-9556-0019-1
Лекция 4:

Операционная среда

< Лекция 3 || Лекция 4: 123 || Лекция 5 >

Управление доступом

Разделение ресурсов, помимо всего прочего, предполагает ограничение доступа к ним. Некоторым задачам можно пользоваться, скажем, этим файлом, а некоторым - нельзя. Еще нужно ограничивать максимальный объем ресурса, доступного каждой задаче. Особенно аккуратно надо ограничивать потребление оперативной памяти: задача, захватившая ее всю, может помешать работе других задач и системы. Такое разделение и ограничение должно быть достаточно гибким и настраиваемым, чтобы не создавать сложности на пустом месте: если необходимо, чтобы конкретная задача заняла, вопреки общему правилу, весь ресурс, значит, должна быть возможность ей это разрешить. Разделение ресурсов - очень непростое дело, здесь не проходит тактика "отнять и поделить", то есть раздать поровну всем нуждающимся задачам, потому что в результате получится, что каждой задаче достанется ничтожно малая часть, с которой она ничего поделать не сможет, а система тем временем будет простаивать.

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

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

Интерфейс

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

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

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

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

Таким образом, вырисовывается приблизительная архитектура ОС:

  • менеджер ресурсов ( унификация, разделение и учет);
  • планировщик задач (это тоже менеджер ресурсов, но он обособлен, потому что обособлено понятие задачи );
  • системное наполнение (функциональность, используемая системой);
  • пользовательское наполнение (то, что может понадобиться пользователю);
  • интерфейс (диалог с пользователем).

Системное и пользовательское наполнение, естественно, пересекаются, но смысл разделения понятен: инструментальная область и прикладная область.

< Лекция 3 || Лекция 4: 123 || Лекция 5 >
Andranik Avakian
Andranik Avakian

41. УК РФ и Комментарии (ст. 273)

М. 2000 г. Издательство: ALT Linux, Институт Логики

Уголовный Кодекс РФ и комментарии к нему?

По ссылке открывается сайт документации Linux, раздел Linux Installation and Getting Started

Сергей Петровский
Сергей Петровский

У Вас написано:

ls -dt1 `grep -il отчет *` | head -1

если знания по шелу мне не изменяют, то должно быть:

ls -dt | `grep -il отчет *` | head -1