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

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

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

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

Добавлен: 11.01.2024

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

Скачиваний: 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.

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

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

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

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



top – программа, используемая для наблюдения за процессами в режиме реального времени. Полностью управляется с клавиатуры. Вы можете получить справку, нажав на клавишу h. Наиболее полезные команды для мониторинга процессов:
Shift+M эта команда используется для сортировки процессов по объему занятой ими памяти (поле %MEM);

Shift+P эта команда используется для сортировки процессов по занятому ими процессорному времени (поле %CPU). Это метод сортировки по умолчанию;

U – эта команда используется для вывода процессов заданного пользователя. top спросит у вас его имя. Вам необходимо ввести имя пользователя, а не его UID. Если вы не введете никакого имени, будут показаны все процессы;

i по умолчанию выводятся все процессы, даже спящие. Эта команда обеспечивает вывод информации только о работающих в данный момент процессах (процессы, у которых поле STAT имеет значение R, Running). Повторное использование этой команды вернет Вас назад к списку всех процессов.

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



/proc псевдо-файловая система, которая используется в качестве интерфейса к структурам данных в ядре. Большинство расположенных в ней файлов доступны только для чтения, но некоторые файлы позволяют изменять переменные ядра.
Каждому запущенному процессу соответствует подкаталог с именем, соответствующим идентификатору этого процесса (его PID). Каждый из этих подкаталогов содержит следующие псевдо-файлы и каталоги (указаны наиболее часто использующиеся для мониторинга процессов).

Внимание! Часть из этих файлов доступна только в директориях процессов, запущенных от имени данного пользователя или при обращении от имени root.

cmdline файл, содержащий полную командную строку запуска процесса.
cwd ссылка на текущий рабочий каталог процесса.

environ файл, содержащий окружение процесса. Записи в файле разделяются нулевыми символами, и в конце файла также может быть нулевой символ.

exe символьная ссылка, содержащая фактическое полное имя выполняемого файла.
fd подкаталог, содержащий одну запись на каждый файл, который в данный момент открыт процессом. Имя каждой такой записи соответствует номеру файлового дескриптора и является символьной ссылкой на реальный файл. Так, 0 – это стандартный ввод, 1 – стандартный вывод, 2 – стандартный вывод ошибок и т. д.
maps файл, содержащий адреса областей памяти, которые используются программой в данный момент

, и права доступа к ним. Формат файла следующий:


address

perms offset

dev

inode

pathname

08048000-08056000

r-xp 00000000

/usr/sbin/gpm'>03:0c

64593

/usr/sbin/gpm

08056000-08058000

rw-p 0000d000

03:0c

64593

/usr/sbin/gpm

08058000-0805b000

rwxp

00000000

00:00

0

40000000-40013000

r-xp

00000000

03:0c

4165 /lib/ld-2.2.so

bffff000-c0000000

rwxp

00000000

00:00

0

где address -- адресное пространство, занятое процессом; perms --

права доступа к нему:
r = можно читать

w = можно писать

x = можно выполнять

s = можно использовать несколькими процессами совместно

p = личная (копирование при записи);

offset -- смещение в файле, dev -- устройство (старший номер : младший номер); inode -- индексный дескриптор на данном устройстве: 0 означает, что с данной областью памяти не ассоциированы индексные дескрипторы;

stat детальная информация о процессе в виде набора полей;

status предоставляет бóльшую часть информации из stat в более лёгком для прочтения формате.

sched – предоставляет информацию о процессе, использующуюся
планировщиком задач.
statm предоставляет информацию о состоянии памяти в страницах как единицах измерения. Список полей в файле:
size общий размер программы resident размер резидентной части share разделяемые страницы trs текст (код)

drs данные/стек

lrs библиотека

dt "дикие" (dirty) страницы

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



Обработка данных о процессах проводится, как правило, в рамках организации конвейера команд обработки текстовых потоков и (или) через циклическую обработку строк файлов. Советуем применять команды, изученные в рамках второй лабораторной работы – grep, sed, awk, tr, sort, uniq, wc, paste, а также функции для работы со строками.

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



free - возвращает информацию о свободной и используемой памяти в системе, как физической, так и виртуальной (в разделе подкачки на жестком диске).
Поля вывода команды:
total общее количество доступной физической памяти. Некоторая область оперативной памяти может быть зарезервирована ядром, поэтому показатель total может быть меньше реального объема оперативной памяти.
used объем используемой памяти (used=total-free).

free - свободная память.

shared - память, распределенная между процессами.

buffers - память используемая в буферах.

cached - память используемая для кэширования.

-/+ buffers/cache - использованная память без учета буферов и кэшей/свободная память с учётом буферов и КЭШей.
swap - использование раздела подкачки.


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





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

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