Набор компонентов, установив которые можно работать -- ос. Лнукс -- не только ядро, но и усилия сообщества(дистрибутив), у которого отличительные черты -- наличие большого количества сущностей в репозитории и хранилище. Эти свойства -- следствия свободного лицензирования.
Выполнение действий из ком строки, модификация системы -- модификация текстовых файлов и выполнение команд из ком строки. Запуск сценариев, старт системы -- тоже запуск сценариев. Еще поговорили про фс.
Осталось 2 темы, по каждой не на целую лекцию. 1. инварианты абстрактного и прикладного уровня. 2. выбор дистрибутива
Каталог /dev
монтируется как виртуальная фс
Udev файлы выглядят примерно так -- что делать, если появилось устройство такого вот класса. (создать файл в дев, выполнить какой-то скрипт).
Вторая часть рассказа о прикладных особенностях линукс.
DBUS
Собственно то, куда удев посылает информацию о изменениях в вашем компьютере. Есть несколько примеров межпроцессного взаимодействия -- сигналы, шмем, очереди сообщений, семафоры.
Типичный пример -- гном и кде, где особенно велика потребность в типизированной шине данных.
Кто-то, кто следит за нажатием кнопки плей на клавиатуре, и должна быть подсистема, которая мы занималась перебросом сообщений от того места, откуда они вышли до того, куда они предназначены. Поток с типизированными входами и выходами.
Есть несколько шин -- рутовая(изменение прав доступа, монтирование) Несколько пользователей должны работать одновременно спокойно, поэтому на каждый сеанс заводится собственная пользоватедьская шина.
Сначала заводятся сервисы -- те, кто будет обрабатывать. Именуются по доменному принципу.
Эти сервисы регистрируют объекты -- штуки, которые его будут вызывать (активности). Объекты указываются путем в фс.
Клиентская часть -- те, кто посылают сообщения, а не принимают. Пресловутый удев -- клиентская часть.
Объекты это то, чем они обмениваются.
Принцип в основе дбаса -- слишком общая система неудобно, давайте все описывать и публиковать.
Объекты это те самые обработчики, а у них есть интерфейсы.
Есть адресные сообщения, с меткой к какому объекту обращаетесь.
Еще есть сигналы -- тип сообщения один ко многим. На шину помещаются данные опр типа, а потом все кто в них заинтересован их читают.
Есть еще понятие прокси, которое позволяет делать промежуточную обработку.
Рассказ про дбас, чтобы показать, что самозарождения жизни не бывает, и что если при вставлении флешки что-то запучтилось, то это что-то жестко прописано.
qdbus -- query dbus.
dbus sender
Кому принадлежит устройство, если пользователей несколько? Года три назад в процессе авторизации писался модуль обеспечивающий то, что устройства в дев принадлежат последнему залогинившемуся. Появились поделки с собственным мозгом, которые старались решить, кому какие права.
Был разработан отдельный механизм Pol Kit. У нас есть дбас. У нас есть программа (механизм), которая хочет решить -- данному пользователю давать этот доступ или нет.
Первый начал клиент. Клиент говорит -- хочу диск. Механизм говорит -- сейчас спрошу у агента. Агент говорит -- введите пароль, ключ, все равно что.
Дбас -- шина в форме шара, через которую они все обшаются.
Все это общение описывается в специальных политиках -- у кого просить пароль, у кого что.
Задача о предоставлении доступа начинает решаться динамически, после авторизации, а не быть жестко защитой.
После внедрения полкита стала возможна более менее нормальная равноправная работа нескольких пользователей на одном железе.
Если логинился второй пользователь, то, в динамике надо было давать права новому пользователю и запрещать тому, которые сейчас не у консоли лезть в железо.
Три года назад это все не работало как надо.
Это подспудно работает, но пользователь его видит слабо. Результатами работы полкита пользователь пользуется постоянно.
Управляется это все (и полкит и удев) большим сводом правил.
Несмотря на прикладные свойства дбаса, он все больще завоевывает позиции в ос и так, наверно, будет продолжаться.
Еще про одну вещь, коротко. В области сети.
Лектор намеренно опускает информацию целого курса "тцп ип в линукс". Что такое сеть с тз незнающего человека? Запускаешь броузер, там группы компьютеров, компьютеры, ресурсы, в них можно тыкать.
Представление не о семейства протоколов, а ровно об одном(двух) протоколах, которые позволяют броузить ресурсы.
То есть, для того чтобы идея о браузинге ресурсов работала необходима на всех участниках поддержка некоторого протокола. цивс? AVAHI. авахи - инструмент публикации и просмотра информации о сервисах.
Авахи рассылает сообщения, какие сервисы есть на компьютере. Другие ждут и парсят эти сообщения. Сервисы не специфицированы авахи и могут быть кем угодно.
Само наличие работающего авахи не приведет к реакции на нажатия кнопочки в браузере. Для этого нужно указать какие обработчики соотв какому сервису, и это внутрь авахи не зашито совсем.
Пока что он не дает возможности организовывать самонастраивающиеся системы, как это сделано в макоси. Хотя с макосовским бонжуром-зероконфом он совместим.
То есть, одно дело браузер и публикатор, а другое дело -- как этим сервисом воспользоваться