Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
January 13 2026 10:47:40   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 36105
Учимся удалять!... 32977
Примеры, синони... 24199
Декартовы коорд... 23573
Просмотр готовы... 23533
FAST (методика ... 22258
содержание - се... 21601
Просмотр готовы... 20509
Работа с инстру... 16005
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
10.3.7 Вход в систему
Как показано в главе 7, процесс начальной загрузки, имеющий номер 1, выполняет бесконечный цикл чтения из файла "/etc/inittab" инструкций о том, что нужно делать, если загружаемая система определена как "однопользовательская" или "многопользовательская". В многопользовательском режиме самой первой обязанностью процесса начальной загрузки является предоставление пользователям возможности регистрироваться в системе с терминалов (Рисунок 10.19). Он порождает процессы, именуемые getty-процессами (от "get tty" — получить терминал), и следит за тем, какой из процессов открывает какой терминал; каждый getty-процесс устанавливает свою группу процессов, используя вызов системной функции setpgrp, открывает отдельную терминальную линию и обычно приостанавливается во время выполнения функции open до тех пор, пока машина не получит аппаратную связь с терминалом. Когда функция open возвращает управление, getty-процесс исполняет программу login (регистрации в системе), которая требует от пользователей, чтобы они идентифицировали себя указанием регистрационного имени и пароля. Если пользователь зарегистрировался успешно, программа login наконец запускает командный процессор shell и пользователь приступает к работе. Этот вызов shell'а именуется "login shell" (регистрационный shell, регистрационный интерпретатор команд). Процесс, связанный с shell'ом, имеет тот же идентификатор, что и начальный getty-процесс, поэтому login shell является процессом, возглавляющим группу процессов. Если пользователь не смог успешно зарегистрироваться, программа регистрации завершается через определенный промежуток времени, закрывая открытую терминальную линию, а процесс начальной загрузки порождает для этой линии следующий getty-процесс. Процесс начальной загрузки делает паузу до получения сигнала об окончании порожденного ранее процесса. После возобновления работы он выясняет, был ли прекративший существование процесс регистрационным shell'ом и если это так, порождает еще один getty-процесс, открывающий терминал, вместо прекратившего существование.
алгоритм login /* процедура регистрации */
{
исполняется getty-процесс: установить группу процессов (вызов функции setpgrp);
открыть терминальную линию; /* приостанов до завершения открытия */
if (открытие завершилось успешно) {
исполнить программу регистрации: запросить имя пользователя;
отключить эхо-сопровождение, запросить пароль;
if (регистрация прошла успешно) { /* найден соответствующий пароль в /etc/passwd */
перевести терминал в канонический режим (ioctl);
исполнить shell;
}
в противном случае считать количество попыток регистрации, пытаться зарегистрироваться снова до достижения определенной точки;
}
}
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Идентификация атри...
3. Выделение в орг...
Глава 3. Компьютер...
Глава 5. ЕИН
Функциональный пример
Анализ результатов...
5.13 DUР
10.1.1 Конфигураци...
4.12.3.5 Система с...
Стоимость эксплуат...
Разделение отношен...
продолжение...
10.1.2.4 Стратегич...
7.4 ОЖИДАНИЕ ЗАВЕР...
Как рассуждает ре...
Теоретические опас...
Рекурсивная связь
9.6. Межгрупповая ...
3.7 УПРАЖНЕНИЯ
Присвоение наимено...
Группа 3 — програм...
ГЛАВА 1. ОБЩИЙ ОБ...
4.5 СУПЕРБЛОК
2.4 УПРАВЛЕНИЕ СИС...
ГЛАВА 6. СТРУКТУРА...
Запись трека (Trac...
Инвертированный си...
7.3.5. Жизненные ц...
Принцип 3. Обращай...
Что сделал Аристо...
Реализация в базе ...
Выполняемые операции
Запуск программы [...
7.11 УПРАЖНЕНИЯ
Опции для работы с...
4.1 Структура и ха...
2.4.7.2 Обнаружени...
Вывод на семантич...
Теперь о картах и ...
Носимые аппараты
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009