Регистрация в система (init, getty, login, командный интерпретатор).


Технологическая карта (план) урока № 33
Группа Дата
2 осн ВТ-1 03.12
Дисциплина: Операционные системы и ППП.
Раздел №4 Операционная система UNIX/LunixТема курса: 4.4 Средства системного администрирования ОС UNIX/Linux
Тема урока: Регистрация в система (init, getty, login, командный интерпретатор).
Тип урока: комбинированный
Вид урока: Лекция, урок игра
Требования предъявляемые к уровню подготовленности обучающихся
Базовые компетенции БК 1. Соблюдать технику безопасности и правила пожарной безопасности;
БК 2. Уметь проявлять способности к непрерывному самообразованию и модернизации профессиональной квалификации;
Профессиональные компетенции ПК 1. Вводить, обрабатывать, хранить выводить информацию с использованием ЭВМ;
ПК 2. Знать и использовать аппаратное и программное обеспечения ЭВМ.
Цели урока обучающая Регистрация в система (init, getty, login, командный интерпретатор).
воспитательная Воспитывать такие качества как аккуратность, привитие интереса к изучаемому предмету, сознательное отношение к учебе.
развивающая Развитие интеллектуального мышления, умения анализировать, логический излагать свои мысли.
Межпредметные связи
Обеспечивающие Информатика
Тема курса 4.3 Текстовый редактор UNIX/Linux
Обеспечиваемые Операционные системы и СП
Тема курса 4.4 Средства системного администрирования ОС UNIX/LinuxОборудование урока
Наглядные пособия Опорный конспект
Раздаточный материал Технические средства обучения ПК
Литература: основная Информационные технологии для экономистов О.В.Максимова
Дополнительная Г.А.Джапарова
Содержание урока
№ эле-ментаЭлементы урока, учебные вопросы,
формы и методы обучения Дополнения, изменения
1. Организационный момент. (2 мин)
-Приветствие
-Проверка готовности учащихся и аудитории к уроку
-Проверка посещаемости и заполнение журнала
-Постановка целей и задач урока 2 Проверка домашнего задания (20 мин)
Индивидуальный опрос:
1.Создание файла командой cat Если не задан входной файл, то будет предполагаться стан-
дартный ввод (клавиатура). Одновременно перенаправим вывод вновый (создаваемый) файл
$cat > newfile.
Здесь стандартный ввод буферизован: накопление 512 (обыч-но) знаков и потом ввод.
Небуферизованный (лучше, на случай сбоев) ввод:
с ключом -u (unbuffered):
$ cat -u > people
Mary 101
Sally 113
Jana 121
^d [для конца текста(EOF)]
$
2.Фильтры
Так называются команды, которые могут вводить со стан-
дартного ввода и выводить на стандартный вывод. Большинство
команд является фильтрами.
Есть исключения: ls не может работать со стандартным вво-
дом. Или: lpr не может работать со стандартным выводом.
3.Параллельный стандартный вывод и перенаправление вывода
-------------------
--->╨cтандартный вывод╨
--------- --------- ╨ -------------------
Схема такова: ╨ вывод ╨->╨команда╨-->╨ ╨ ╨ ╨ tee ╨ ╨ ------
--------- --------- ---------->╨файл╨
------
Пример:
$ ls -l | tee dircontsна экран, то есть дублирование
стандартный вывод вывода в файл
4.Обработка команд в режиме заднего плана (background)
Обычно команды выполняются в режиме переднего плана
(foreground), т.е. "пока вы ждете". Однако, если во времявыполнения некоторой команды вы хотите выполнять другие ко-
манды, то эту (первую) команду можно выполнить в режиме
background:
$ nroff doc &
2042
$.
Об этом говорит завершающий знак &.
Система UNIX создает процесс, который выполняется незави-
симо от командного интерпретатора. Ответ 2042 - это иденти-
фикатор этого процесса (PID).
Лучше перенаправлять стандартный вывод процесса заднего
плана в файл (из-за опасности совмещения вывода "переднего"и "заднего" плана на экране).
$ nroff doc > doc.format &
2042
$
или:
$ nroff doc | lpr &
2042
$
Чтобы выяснить состояние процесса заднего плана, надо ис-
пользовать команду ps (process status):
$ ps PID TTY TIME CMD
2036 02 0:05 sh (login - процесс терм.2)
2042 02 0:02 nroff doc (background)
2043 02 0:01 ps (cat pS)
2050 08 0:03 sh (login - процесс терм.8).
Это показывает, что nroff еще не закончилась. Ключи l и a
в команде ps могут дать больше информации об активных про-
цессах:
-l - информация о родителе, адрес, приоритет и т.д.
-a - о всех процессах системы.
5.Выполнение процессов с низким приоритетом
1) $ nice nroff doc > doc.fmt &
2099
$
Задается выполнение процесса с меньшим приоритетом. На-
чальное значение nice равно 20; параметр добавления
в команде nice по умолчанию
равен 10; итого nice = 30. Приоритет тем выше, чем меньше
nice.
Или:
$ nice -5 nroff doc > doc.fmt &
Здесь параметр добавления задан явно, nice будет равен
25, то есть приоритет будет на 5 единиц выше, чем по умолча-
нию.
2) nohup (no hang up) - нечувствительность к разъединению
телефонной линии, на которой "висит" standard output)
$ nohup nroff doc &
2176
$ Sending output to nohup.out (замена standard output
при разрыве линии)
3) совместное использование:
$ nice nohup nroff doc > doc.fmt &
6.Останов процесса
$ kill 2042 (убить процесс с PID = 2042)
или
$ kill - 9 2042 (сигнал номер 9 безусловного останова; надругие сигналы из интервала (1,15), посылаемые системой за-
даче, можно блокировать, написав соответствующую реакцию).
7.Перестановка части текста (cut-paste)
Часть текста сохраняется в буфере редактора, затем встав-
ляется в другое место или в несколько мест (если вставкаповторяется). Буфера могут быть именованными и один - ано-
нимный. При выполнении команд ndd (где n - число) удаляемыеn строк попадают на некоторое время в неименованный буфер.
Содержание буфера можно вставить:
- после текущей строчки командой p (put);
- перед текущей строчкой командой P (Put).
Следует помнить, что в анонимном буфере хранится послед-
ний уничтоженный текст, предыдущие - безвозвратно теряются!
(команды с (change) - тоже уничтожают буфер). 3 Объяснение нового материала (40 мин)
Тема урока: Регистрация в система (init, getty, login, командный интерпретатор). Процесс init
Файл /etc/inittab4. Закрепление нового материала. (10 мин)
1.Процесс init
После включения питания компьютера и завершения тестирования аппаратной части BIOS считывает из первого сектора загрузочного диска короткую программу-загрузчик. Эта программа загружает в память ядро системы, которое хранится в файле vmlinuz-x.y.z-a в каталоге /boot (x.y.z - это номер версии ядра, у меня 2.0.36, а число a не знаю что означает). Ядро включает в себя драйверы аппаратных устройств, конфигурацию ядра можно менять (только не в процессе загрузки, этот вопрос будет рассмотрен отдельно).
2.Процесс init ?
это программа, которая ответственна за продолжение процедуры загрузки, и перевод системы от начального состояния, возникающего после загрузки ядра, в стандартное состояние обработки запросов многих пользователей. Init выполняет еще массу различных операций, необходимых для дальнейшей работы системы: проверку и монтирование файловых систем, запуск различных служб (демонов), запуск процедур логирования, оболочек пользователей на различных терминалах и т.д.
3.Точный список операций зависит от чего?
так называемого уровня выполнения (run level). Уровень выполнения определяет перечень действий, выполняемых процессом init, и состояние системы после загрузки, то есть конфигурацию запущенных процессов. Уровень выполнения идентифицируется числом.
4. В ОС Linux существует 8 уровней выполнения. Назовите их:
0 - остановка системы ; 1 - однопользовательский режим (для специальных случаев администрирования); 2 - многопользовательский режим без NFS (то же, что и 3, если компьютер         не работает с сетью); 3 - полный многопользовательский режим; 4 - использование не регламентировано; 5 - обычно X11; 6 - перезагрузка системы; S или s - примерно то же, что и однопользовательский режим, но S и s используются в основном в скриптах.
Не существует единого мнения о том, как использовать уровни со 2 по 5. Некоторые системные администраторы используют разные уровни для того, чтобы задать разные варианты работы, например, на одном уровне запускается графический режим, на другом работают в сети и т.д. Вы можете сами решить, как использовать разные уровни для создания разных вариантов загрузки. Но для начала проще всего воспользоваться тем способом определения разных уровней, который Ваш Linux создал при установке.
5. Файл /etc/inittabПервым делом после старта init  считывает свой конфигурационный файл /etc/inittab. Этот файл состоит из отдельных строк. Если строка начинается со знака '#' или пуста, то она игнорируется. Все остальные строки состоят из 4 полей, разделенных двоеточиями:
    id:runlevels:action:process
где
id -  идентификатор строки. Выбирается произвольно, но в файле не может быть двух строк с одинаковыми идентификаторами.
runlevels - уровни выполнения, на которых эта строка будет задействована. Уровни задаются цифрами (без разделителей).
process - команда, которая должна быть запущена.
action - действие. В этом поле стоит ключевое слово, которое определяет, что должен делать демон init, пока выполняется (или после того, как будет выполнена) команда, заданная следующим полем (process): ожидать завершения процесса (wait), выполнять процесс только один раз (once), перезапустить процесс в случае его "смерти" (respawn) или же игнорировать данный элемент (off). Имеется несколько ключевых слов, определяющих действия в особых обстоятельствах. Самое важное из них - sysinit; это ключевое слово обозначает действия, выполняемые в процессе загрузки системы. 5. Подведение итогов урока. (6 мин) 6 Задание на дом: (2 мин)
Олифер В.Г.,. Сетевые ОС, стр. 88-89 Преподаватель __________ Ж.Ж. Амежанов
Задачи урока:
Обучающие: обеспечить углубление, обобщение и систематизацию материала темы; создать условия усвоения знаний и умений.
Развивающие: способствовать формированию умения использовать приемы: обобщения, сравнения, выделения главного переноса знаний в новую ситуацию, развитие физического кругозора, мышления и речи, внимания и памяти.
Воспитательные: содействовать воспитанию интереса к операционным системе, активности, организованности, умению общаться с окружающими.
Тип урока: урок-игра
Начало игры.
Преподователь. Здравствуйте, уважаемые студенты. Добрый день!
Мы рады приветствовать всех, кто пришел сегодня принять участие в увлекательной игре «Умники и умницы». Но вопросы, конечно же, будут из области информатики – науки 21 века.
Сегодня играть будут 2 команды. Команда девушек и юношей 2 основной ВТ-1. Давайте с ними познакомимся. Команды прошу пройти на сцену.
Представление команд.
Я считаю, что нашим участникам просто повезло, ведь не каждый день нам приходится играть в игру «Умники и умницы» да еще и по операционным системам. Просто какой-то счастливый случай. Я предлагаю нашим участникам начать игру.
Для этой игры нам понадобится жюри. Членами жюри сегодня являются:
Представление жюри.
Я желаю успехов каждой команде и объявляю начало 1 тура. Он называется «Дальше, дальше, дальше...»
Сейчас я буду задавать вопросы, а вы должны быстро давать на них ответы. Если вы не знаете, то должны сказать «дальше».
(Зачитываются вопросы 1 девушкам, 2 юношам)
I.
1) Наука о законах, методах и способах накопления, обработки и передачи информации. (Информатика)2) Организованная последовательность действий. (Алгоритм)3) Устройство ввода информации. (Клавиатура)4) Набор символов алфавита русского языка. (Кириллица)5) Сколько байт в одном килобайте. (1024)6) Устройство ввода в ЭВМ информации непосредственно с листа. (Сканер)7) Способ записи чисел с помощью заданного набора специальных знаков. (Система счисления)8) Минимальная единица измерения кол-ва информации. (Бит)9) Величина, изменяющая значение счетчика цикла. (Шаг)10) Перечень файлов. (Каталог)11) Пересылка данных с носителя данных в основную память. (Загрузка)
II.
1) Универсальное электронное устройство обработки информации. (ЭВМ)2) Специальный индикатор , указывающий позицию на экране. (Курсор)3) Алгоритм, записанный на языке программирования. (Программа)4) Центральное устройство компьютера. (Процессор, системный блок)5) Разделитель целой и дробной части числа в языке программирования. (Точка)6) Порядковый номер символа в машинном алфавите. (Код)7) Сколько бит в одном байте. (8)8) Поименованная область внешней памяти. (Файл)9) Программы для подключения внешней памяти. (Драйверы)10) Алгоритмы изображения в виде графических обозначений, соединенных стрелками. (Блок-схема)11) Небольшая программа, которая может приписывать себя к другим программам. (Вирус)
Преподователь. Просим жюри объявить общий счет.
Жюри подводит итоги этого тура, за каждый верный ответ команда получает 1 очко.
Второй турначнем с улыбки, так как называется он «Заморочки из бочки».
Сейчас вы по очереди будете доставать бочонки с номерами вопросов.
Заморочки1. Волк, коза и капуста2. Ассоциации3. Переливашка4. Где золотой ключик?5. Конкурс капитанов 6. Частушки7. Ты мне – я тебе8. Склейка слов
1. Волк, коза и капуста
Один человек должен был перевести через реку волка, козу и капусту.Но его лодка была такая маленькая, что он при каждом переезде мог взятьс собой или одно животное или капусту.Между тем волка нельзя было оставлять на берегу одного с козой, т.к. он мог ее съесть. Нельзя было так же допустить, чтобы коза оставалась одна с капустой, т.к. она могла ее съесть, как при этих условиях перевести все на другой берег?Составьте алгоритм переправы на другой берег.
2. Ассоциации
Какие ассоциации возникают у вас, когда вы слышите слово?
1 команда: монитор2 команда: программирование
3. ПереливашкаИмеются 2 кувшина ёмкостью 3 л. и 8 л. Составьте алгоритм, выполняя который, можно набрать из речки 7 л. воды. (Разрешается пользоваться только этими кувшинами)
4. Золотой ключик
Рассказывают, что черепаха Тортилла отдала золотой ключик Буратино не так просто, а вынесла 3 коробочки: красную, жёлтую и зелёную. На красной коробочке было написано: «Здесь золотой ключик», на жёлтой – «Зелёная коробочка пуста», а на зелёной – «Здесь сидит змея».  Все надписи неверны. Где золотой ключик? (Ответ – в зелёной)
5. Конкурс капитанов
Различные команды при использовании клавиши Windows:
нажатие обычной клавиши без модификаторов — для примера Delete;
Ctrl + клавиша — Ctrl+DeleteAlt + клавиша — Alt+DeleteShift + клавиша — ⇧ Shift+DeleteCtrl + Shift + клавиша — Ctrl+⇧ Shift+DeleteCtrl + Alt + клавиша — Ctrl+Alt+DeleteAlt + Shift + клавиша — Alt+⇧ Shift+DeleteCtrl + Alt + Shift + клавиша — Ctrl+Alt+⇧ Shift+Delete6. Ты мне – я тебе
Команды обмениваются заранее подготовленными вопросами (3 вопроса).
8. Склейка слов
С помощью ЭВМ можно решать различные задачи, в том числе и обработка текстов. Соедините слова 1 столбика со словами 2 столбика так, чтобы получились другие слова.
пар – кондиск – азияком – осакипа – усгимн – оводбой – потпол – ракбал – костьприз – рис
Преподватель.
Игра со зрителями – участники команды должны рассказать об устройстве компьютера.
Сейчас вам снова нужно быстро отвечать на вопросы.
Вопросы первой команде. 1. Магнитный диск для хранения информации в персональном компьютере. (Винчестер)2. Вспомогательный алгоритм, записанный на языке понятном ЭВМ. (Подпрограмма)3. Что означается в блок-схемах в виде ромба. (Условие)4. Разметка диска на дорожки. (Форматирование)5. Величина, которая в процессе исполнения программы меняет значения. (Переменная)6. Манипулятор ручного управления курсором. (Мышь)
Вопросы второй команде.
1. Элемент клавиатуры. (Клавиша)2. Печатающее устройство. (Принтер)3. Отражение предметного мира с помощью звуков и сигналов. (Информация)4. Совокупность программ для функционирования аппаратуры компьютера и других программ. (Операционная система) 5. Устройство для работы с магнитными дисками. (Дисковод) 6. Величина, которая в процессе исполнения программы не меняет своего значения. (Постоянная)
1 Ведущий. Слово предоставляется жюри.
(Объявление счета)
2 Ведущий. Мы благодарим наших великолепных участников за игру.
(Награждение команд).
Вместе. Будьте счастливы! До свидания!
-43235-22694б00б
-1497684445000
Дисциплина: Операционные системы и ППП.
Раздел №4 Операционная система UNIX/LunixТема курса: 4.4 Средства системного администрирования ОС UNIX/Linux
Тема урока: Регистрация в система (init, getty, login, командный интерпретатор).
Процесс init
После включения питания компьютера и завершения тестирования аппаратной части BIOS считывает из первого сектора загрузочного диска короткую программу-загрузчик. Эта программа загружает в память ядро системы, которое хранится в файле vmlinuz-x.y.z-a в каталоге /boot (x.y.z - это номер версии ядра, у меня 2.0.36, а число a не знаю что означает). Ядро включает в себя драйверы аппаратных устройств, конфигурацию ядра можно менять (только не в процессе загрузки, этот вопрос будет рассмотрен отдельно).
Сразу после загрузки ядро монтирует корневую файловую систему и запускает процесс init. Процесс init - это программа, которая ответственна за продолжение процедуры загрузки, и перевод системы от начального состояния, возникающего после загрузки ядра, в стандартное состояние обработки запросов многих пользователей. Init выполняет еще массу различных операций, необходимых для дальнейшей работы системы: проверку и монтирование файловых систем, запуск различных служб (демонов), запуск процедур логирования, оболочек пользователей на различных терминалах и т.д.
Точный список этих операций зависит от так называемого уровня выполнения (run level). Уровень выполнения определяет перечень действий, выполняемых процессом init, и состояние системы после загрузки, то есть конфигурацию запущенных процессов. Уровень выполнения идентифицируется числом. В ОС Linux существует 8 уровней выполнения:
0 - остановка системы ; 1 - однопользовательский режим (для специальных случаев администрирования); 2 - многопользовательский режим без NFS (то же, что и 3, если компьютер         не работает с сетью); 3 - полный многопользовательский режим; 4 - использование не регламентировано; 5 - обычно X11; 6 - перезагрузка системы; S или s - примерно то же, что и однопользовательский режим, но S и s используются в основном в скриптах.
Не существует единого мнения о том, как использовать уровни со 2 по 5. Некоторые системные администраторы используют разные уровни для того, чтобы задать разные варианты работы, например, на одном уровне запускается графический режим, на другом работают в сети и т.д. Вы можете сами решить, как использовать разные уровни для создания разных вариантов загрузки. Но для начала проще всего воспользоваться тем способом определения разных уровней, который Ваш Linux создал при установке. 2. Файл /etc/inittabПервым делом после старта init  считывает свой конфигурационный файл /etc/inittab. Этот файл состоит из отдельных строк. Если строка начинается со знака '#' или пуста, то она игнорируется. Все остальные строки состоят из 4 полей, разделенных двоеточиями:
    id:runlevels:action:process
где
id -  идентификатор строки. Выбирается произвольно, но в файле не может быть двух строк с одинаковыми идентификаторами.
runlevels - уровни выполнения, на которых эта строка будет задействована. Уровни задаются цифрами (без разделителей).
process - команда, которая должна быть запущена.
action - действие. В этом поле стоит ключевое слово, которое определяет, что должен делать демон init, пока выполняется (или после того, как будет выполнена) команда, заданная следующим полем (process): ожидать завершения процесса (wait), выполнять процесс только один раз (once), перезапустить процесс в случае его "смерти" (respawn) или же игнорировать данный элемент (off). Имеется несколько ключевых слов, определяющих действия в особых обстоятельствах. Самое важное из них - sysinit; это ключевое слово обозначает действия, выполняемые в процессе загрузки системы. Другие слова на особые случаи:
powerwait     Позволяет init-у остановить систему, когда пропало питание. Использование     этого слова предполагает, что имеется UPS и программное обеспечение, которое     отслеживает состояние UPS и информирует init о том, что питание отключилось.
ctrlaltdel     Разрешает init перезагрузить систему, когда пользователь нажимает комбинацию     control-alt-del на клавиатуре. Обратите внимание на то, что системный     администратор может определить действия по  C-A-D, например игнорировать     нажатие этой комбинации (что вполне разумно в системе, где много пользователей).
Далее init выполняет команды, указанные в строке с ключевым словом sysinit. В стандартной конфигурации здесь выполняется скрипт rc.sysinit из каталога /etc/rc.d. После этого процесс init просматривает файл /etc/inittab и выполняет скрипты, соответствующие однопользовательскому уровню (0 во втором поле строки), всем уровням (строки с пустым вторым полем) и уровню, заданному по умолчанию. В одной из строк, соответствующей уровню по умолчанию, вызывается скрипт rc из каталога /etc/rc.d. Этот скрипт один и тот же для всех уровней (то есть обязательно вызывается, на какой бы уровень выполнения не загружалась система), только в зависимости от уровня выполнения ему передается соответствующее значение параметра вызова, так что, например, для 3-го уровня вызов скрипта осуществляется строкой типа         l3:3:wait:/etc/rc.d/rc 3 Функции, выполняемые скриптами rc.sysinit и rc мы подробно рассмотрим в следующем подразделе, а сейчас вернемся к краткому обзору действий процесса init.
Следующая важная функция, которую выполняет этот процесс (на уровнях со 2 по 5) - запуск 6 виртуальных консолей (процессов getty), чтобы предоставить пользователям возможность регистрироваться в системе с терминалов. Для этого init порождает процессы, именуемые getty-процессами (от "get tty" - получить терминал), и следит за тем, какой из процессов открывает какой терминал; каждый getty-процесс устанавливает свою группу процессов, используя вызов системной функции setpgrp, открывает отдельную терминальную линию и обычно приостанавливается во время выполнения функции open до тех пор, пока машина не получит аппаратную связь с терминалом. Когда функция open возвращает управление, getty-процесс исполняет программу login (регистрации в системе), которая требует от пользователей, чтобы они идентифицировали себя указанием регистрационного имени и пароля. Если пользователь зарегистрировался успешно, программа login наконец запускает командный процессор shell и пользователь приступает к работе. Этот вызов shell'а именуется "login shell" (регистрационный shell, регистрационный интерпретатор команд). Процесс, связанный с shell'ом, имеет тот же идентификатор, что и начальный getty-процесс, поэтому login shell является процессом, возглавляющим группу процессов. Если пользователь не смог успешно зарегистрироваться, программа регистрации завершается через определенный промежуток времени, закрывая открытую терминальную линию, а процесс начальной загрузки порождает для этой линии следующий getty-процесс. Процесс начальной загрузки делает паузу до получения сигнала об окончании порожденного ранее процесса. После возобновления работы он выясняет, был ли прекративший существование процесс регистрационным shell'ом и если это так, порождает еще один getty-процесс, открывающий терминал, вместо прекратившего существование.
После завершения загрузки init продолжает работать в фоновом режиме, отслеживая изменения в состоянии системы. Например, если будет подана команда telinit, позволяющая изменить уровень выполнения, процесс init обеспечит выполнение команд, заданных для нового уровня файлом /etc/inittab. Таким образом, процесс начальной загрузки init  выполняет бесконечный цикл чтения из файла /etc/inittab инструкций о том, что нужно делать, причем этот набор инструкций различен для разных уровней выполнения.
Интерфейс командной строки — разновидность текстового интерфейса между человеком и компьютером.
Оболочка операционной системы — интерпретатор команд операционной системы.