Файл: Министерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 1267
Скачиваний: 2
СОДЕРЖАНИЕ
Виртуальная среда для выполнения лабораторных работ
Лабораторная работа №1. Основы использования консольного интерфейса ОС GNU/Linux.
Задание на лабораторную работу
Лабораторная работа №2. Обработка текстовых потоков в ОС GNU/Linux
Управление вводом-выводом команд (процессов)
Работа со строками (внутренние команды bash)
Работа со строками (внешние команды)
Задание на лабораторную работу
Лабораторная работа №3. Мониторинг процессов в ОС
Получение общих сведений о запущенных процессах
Получение детальных сведений о запущенных процессах
Получение данных об оперативной памяти
Задание на лабораторную работу
ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.
Лабораторная работа №4. Управление процессами в ОС
Директивы (команды) объединения команд
Команды для управления процессами
минута час день_месяца месяц день_недели команда
Организация взаимодействия двух процессов
Задание на лабораторную работу
Лабораторная работа №5. Работа с файлово-каталожной системой в ОС GNU/Linux
Основные команды для работы с файлами и каталогами
Задание на лабораторную работу
Лабораторная работа №6. Консольный интерфейс ОС
Основные команды, необходимые для выполнения лабораторной работы:
if [not] errorlevel число команда [else команда]
if [not] строка1==строка2 команда [else команда]
if [not] exist имя_файла команда [else команда]
for {%переменная | %%переменная} in (множество) do
с ключом -E).
с Любой неспециальный символ с соответствует самому себе
\с Указание убрать любое специальное значение символа с
(экранирование)
^ Начало строки
$ Конец строки; выражение "^$" соответствует пустой строке.
. Любой одиночный символ, за исключением символа перевода строки
[...] Любой символ из ...; допустимы диапазоны типа а-z;
возможно объединение диапазонов, например [a-z0-9]
[^...] Любой символ не из ...; допустимы диапазоны
\n Строка, соответствующая n-му выражению \(...\) r* Ноль или более вхождений символа r
r+ Одно или более вхождений символа r r? Нуль или одно вхождение символа r
\<...\> Границы слова
\{ \} Число вхождений предыдущего выражения. Например, выражение
"[0-9]\{5\}" соответствует подстроке из пяти десятичных цифр
r1r2 За r1 следует r2 r1|r2 r1 или r2
-
Регулярное выражение r; может быть вложенным
Классы символов POSIX
[:class:] альтернативныйспособуказаниядиапазонасимволов.[:alnum:] соответствует алфавитным символам и цифрам. Эквивалентновыражению[A-Za-z0-9].[:alpha:] соответствуетсимволамалфавита.Эквивалентновыражению[A-Za-z].[:blank:] соответствуетсимволупробелаилисимволутабуляции.[:cntrl:] соответствуетуправляющимсимволам[:digit:] соответствует набору десятичных цифр. Эквивалентновыражению[0-9].[:lower:] соответствует набору алфавитных символов в нижнемрегистре.Эквивалентно выражению [a-z].[:space:] соответствует пробельным символам (пробел игоризонтальнаятабуляция).[:upper:] соответствует набору символов алфавита в верхнем регистре.Эквивалентновыражению [A-Z].[:xdigit:] соответствует набору шестнадцатиричных цифр.Эквивалентновыражению [0-9A-Fa-f].Задание на лабораторную работу
-
Создайте свой каталог в директории /home/user/ Все скрипты и файлы для вывода результатов создавайте внутри этого каталога или его подкаталогов. (mkdir lab2) -
Напишите скрипты, решающие следующие задачи:
-
Создать файл errors.log, в который поместить все строки из всех доступных для чтения файлов директории /var/log/, начинающиеся c последовательности символов ACPI, без указания имени файла, в котором встретилась строка. Вывести на экран те строчки из получившегося файла, которые содержат полные имена каких-либо файлов. -
Создать full.log, в который вывести строки файла
потом все предупреждения. Вывести этот файл на экран.
-
Создать файл emails.lst, в который вывести через запятую все адреса электронной почты, встречающиеся во всех файлах директории
-
Найти в директории /bin все файлы, которые являются сценариями, и вывести на экран полное имя файла с интерпретатором, наиболее часто используемым в этих сценариях (только полное имя файла). -
Вывести список пользователей системы с указанием их UID,
-
Подсчитать общее количество строк в файлах, находящихся в директории /var/log/ и имеющих расширение log. -
Вывести три наиболее часто встречающихся слова из man по команде bash длиной не менее четырех символов.
-
Предъявите скрипты преподавателю и получите вопрос или задание для защиты лабораторной работы. -
После защиты лабораторной работы удалите созданный каталог со всем его содержимым
Лабораторная работа №3. Мониторинг процессов в ОС
GNU/LinuxРассматриваемые вопросы
-
Получение информации о запущенных процессах -
Получение информации об используемых процессами ресурсах -
Представление результатов в различном виде
Методические рекомендации:
Процесс–этосовокупностьнабораисполняемыхкоманд,ассоциированныхснимресурсовиконтекставыполненияуправляемаяоперационнойсистемы.Процессможетсодержатьнесколькопотоковисполнения.Потокиявляютсясамостоятельныминаборамиисполняемыхкоманд, но имеют доступ к общим ресурсам своего процесса. Как правило,диспетчирование операционная система выполняет именно на уровне потоков,ноосновнойединицейуправленияявляется все жепроцесс.Идентификация процессов
Cистемаидентифицируетпроцессыпоуникальномуномеру,называемомуидентификаторомпроцессаилиPID(processID).Все процессы, работающие в системе GNU/Linux, организованы в видедерева.Корнемэтогодереваявляетсяinit –процесссистемногоуровня,запускаемый во время загрузки. Для каждого процесса хранится идентификаторегородительскогопроцесса(PPID, Parent Process ID).УпроцессаinitPPID равен0.Получение общих сведений о запущенных процессах
Командаps(сокращениеот processstatus)Запуск ps без аргументов покажет только те процессы, которые былизапущены Вамиипривязаны киспользуемомуВамитерминалу.Часто используемые параметры (указываются без "-"):
a – вывод процессов, запущенные всеми пользователями;
x – вывод процессов без управляющего терминала или с управляющим терминалом, но отличающимся от используемого Вами;
u – вывод для каждого из процессов имя запустившего его пользователя и времени запуска.
Обозначения колонок в типовом выводе команды ps: PID, PPID – идентификатор процесса и его родителя.
%CPU – доля процессорного времени, выделенная процессу.
%MEM – процент используемой оперативной памяти.
VSZ – виртуальный размер процесса.
TTY – управляющий терминал, из которого запущен процесс.
STAT– статус процесса:
START – время запуска процесса.
TIME – время исполнения на процессоре.
Обозначения состояний процессов (в колонке STAT) R – процесс выполняется в данный момент
S – процесс ожидает (т.е. спит менее 20 секунд)
I – процесс бездействует (т.е. спит больше 20 секунд)
D – процесс ожидает ввода/вывода (или другого недолгого события), непрырываемый
Z – zombie-процесс
T – процесс остановлен
Команда pstree
Команда pstree выводит процессы в форме дерева: можно сразу увидеть родительские процессы.
Часто используемые параметры:
-p – вывод PID всех процессов
-u – вывод имени пользователя, запустившего процесс.
Команда top