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

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

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

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

Добавлен: 11.01.2024

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

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

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

СОДЕРЖАНИЕ

Содержание

Введение

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

Лабораторная работа №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 –R lab2)

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


GNU/Linux

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





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

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

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



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



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

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


Cистема идентифицирует процессы по уникальному номеру, называемому идентификатором процесса или PID (process ID).

Все процессы, работающие в системе GNU/Linux, организованы в виде дерева. Корнем этого дерева является init процесс системного уровня, запускаемый во время загрузки. Для каждого процесса хранится идентификатор его родительского процесса (PPID, Parent Process ID). У процесса init PPID равен 0.

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


Командаps (сокращение от process status)

Запуск 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