Файл: Министерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 1268

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание

Введение

Виртуальная среда для выполнения лабораторных работ

Лабораторная работа №1. Основы использования консольного интерфейса ОС GNU/Linux.

Рассматриваемые вопросы:

Методические рекомендации:

Арифметические операторы:

Условный оператор.

Операции сравнения:

Задание на лабораторную работу

Лабораторная работа №2. Обработка текстовых потоков в ОС GNU/Linux

Рассматриваемые вопросы

Методические рекомендации:

Управление вводом-выводом команд (процессов)

0 = stdin

2 = stderr

Работа со строками (внутренние команды bash)

$position.

Работа со строками (внешние команды)

Классы символов POSIX

Задание на лабораторную работу

Лабораторная работа №3. Мониторинг процессов в ОС

Рассматриваемые вопросы

Методические рекомендации:

Идентификация процессов

Получение общих сведений о запущенных процессах

Получение детальных сведений о запущенных процессах

Обработка данных о процессах

Получение данных об оперативной памяти

Задание на лабораторную работу

ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.

Лабораторная работа №4. Управление процессами в ОС

Рассматриваемые вопросы

Методические рекомендации:

Директивы (команды) объединения команд

{

Команды для управления процессами

минута час день_месяца месяц день_недели команда

Организация взаимодействия двух процессов

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

Задание на лабораторную работу

Лабораторная работа №5. Работа с файлово-каталожной системой в ОС GNU/Linux

Рассматриваемые вопросы

Методические рекомендации

Основные команды для работы с файлами и каталогами

./../../home/user/file будет соответствовать пути к файлу в домашнем каталоге, как и описанный выше пример абсолютного пути.Для того, чтобы перейти к корню файловой системы можно использовать команду cd /Для обозначения домашнего каталога активного пользователя можно использовать символ . Тогда запись cd

Задание на лабораторную работу

Лабораторная работа №6. Консольный интерфейс ОС

Рассматриваемые вопросы

Методические рекомендации

Основные команды, необходимые для выполнения лабораторной работы:

if [not] errorlevel число команда [else команда]

if [not] строка1==строка2 команда [else команда]

if [not] exist имя_файла команда [else команда]

for {%переменная | %%переменная} in (множество) do

Задание на лабораторную работу

LAB6.

LAB6.

Рекомендуемая литература

Кафедра информационных систем

ОПЕРАЦИОННЫЕ СИСТЕМЫ

методические указания

с ключом -E).

с Любой неспециальный символ с соответствует самому себе

Указание убрать любое специальное значение символа с

(экранирование)
^ Начало строки

$ Конец строки; выражение "^$" соответствует пустой строке.

. Любой одиночный символ, за исключением символа перевода строки
[...] Любой символ из ...; допустимы диапазоны типа а-z;

возможно объединение диапазонов, например [a-z0-9]

[^...] Любой символ не из ...; допустимы диапазоны

\n Строка, соответствующая n-му выражению \(...\) r* Ноль или более вхождений символа r

r+ Одно или более вхождений символа r r? Нуль или одно вхождение символа r

\<...\> Границы слова

\{ \} Число вхождений предыдущего выражения. Например, выражение

"[0-9]\{5\}" соответствует подстроке из пяти десятичных цифр

r1r2 За r1 следует r2 r1|r2 r1 или r2


  1. Регулярное выражение 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].

Задание на лабораторную работу


    1. Создайте свой каталог в директории /home/user/ Все скрипты и файлы для вывода результатов создавайте внутри этого каталога или его подкаталогов. (mkdir lab2)

    2. Напишите скрипты, решающие следующие задачи:

      1. Создать файл errors.log, в который поместить все строки из всех доступных для чтения файлов директории /var/log/, начинающиеся c последовательности символов ACPI, без указания имени файла, в котором встретилась строка. Вывести на экран те строчки из получившегося файла, которые содержат полные имена каких-либо файлов.

      2. Создать full.log, в который вывести строки файла
/var/log/Xorg.0.log, содержащие предупреждения иинформационные сообщения, заменив маркеры предупреждений иинформационных сообщений на слова Warning: и Information:,чтобы в получившемся файле сначала шли все информационныесообщения,а

потом все предупреждения. Вывести этот файл на экран.


      1. Создать файл emails.lst, в который вывести через запятую все адреса электронной почты, встречающиеся во всех файлах директории
/etc.

      1. Найти в директории /bin все файлы, которые являются сценариями, и вывести на экран полное имя файла с интерпретатором, наиболее часто используемым в этих сценариях (только полное имя файла).

      2. Вывести список пользователей системы с указанием их UID,
отсортировавпоUID.Сведенияопользователейхранятсявфайле/etc/passwd. В каждой строке этого файла первое поле – имяпользователя,третьеполе –UID.Разделитель– двоеточие.

      1. Подсчитать общее количество строк в файлах, находящихся в директории /var/log/ и имеющих расширение log.

      2. Вывести три наиболее часто встречающихся слова из man по команде bash длиной не менее четырех символов.

    1. Предъявите скрипты преподавателю и получите вопрос или задание для защиты лабораторной работы.

    2. После защиты лабораторной работы удалите созданный каталог со всем его содержимым
(rm–Rlab2)

Лабораторная работа №3. Мониторинг процессов в ОС

GNU/Linux

Рассматриваемые вопросы


  1. Получение информации о запущенных процессах

  2. Получение информации об используемых процессами ресурсах

  3. Представление результатов в различном виде

Методические рекомендации:

Процесс–этосовокупностьнабораисполняемыхкоманд,ассоциированныхснимресурсовиконтекставыполненияуправляемаяоперационнойсистемы.Процессможетсодержатьнесколькопотоковисполнения.Потокиявляютсясамостоятельныминаборамиисполняемыхкоманд, но имеют доступ к общим ресурсам своего процесса. Как правило,диспетчирование операционная система выполняет именно на уровне потоков,ноосновнойединицейуправленияявляется все жепроцесс.

Идентификация процессов

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