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

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

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

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

Добавлен: 11.01.2024

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

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

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

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

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

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


    1. Посчитать количество процессов, запущенных пользователем user, и вывести в файл пары
PID:командадлятакихпроцессов.

    1. Вывести на экран PID процесса, запущенного последним (с последним временем запуска).

    2. Вывести в файл список PID всех процессов, которые были запущены командами, расположенными в /sbin/

    3. Для каждого процесса посчитать разность резидентной и разделяемой части памяти процесса (в страницах). Вывести в файл строки вида PID:разность, отсортированные по убыванию этой разности.

    4. Для всех зарегистрированных в данный момент в системе процессов выведите в один файл строки

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

Значения PPid и Pid возьмите из файлов status, значениеavg_atomизфайловsched,которыенаходятсявдиректорияхсназваниями,соответствующимиPIDпроцессовв/proc.Отсортируйте эти строки по идентификаторам родительскихпроцессов.

    1. В полученном на предыдущем шаге файле после каждой группы записей с одинаковым идентификатором родительского процесса вставить строку вида Average_Sleeping_Children_of_ParentID=N is M,
гдеN=PPIDM–среднее,посчитанноеизSleepAVGдляданногопроцесса.

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

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

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

GNU/Linux

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


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

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

  3. Планирование времени запуска процессов

  4. Передача данных и управления между процессами

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

Основными задачами управления процессами в ОС GNU/Linux являетсяуправлениеприоритетамипроцессов,планированиезапускапроцессовпорасписанию иорганизацияобмена даннымимеждупроцессами,напримерспомощью сигналов. Для автоматизации управления системные администраторы

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

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

Командныйинтерпретаторbash поддерживаетследующиедирективыобъединениякоманд:команда1|команда2–перенаправлениестандартного вывода,команда1;команда2–последовательноевыполнениекоманд,команда1&&команда2–выполнениекомандыприуспешномзавершениипредыдущей,команда1||команда2–выполнениекомандыпринеудачномзавершениипредыдущей,команда1$(команда2)–передачарезультатовработыкоманды2вкачествеаргументовзапускакоманды1,команда1>файл– направлениестандартноговыводавфайл(содержимоесуществующегофайлаудаляется),команда1>>файл – направление стандартного вывода в файл (потокдописываетсяв конецфайла).

{

команда1команда2} –объединениекомандпоследиректив||,&&иливтелецикловифункций.команда1& –запуск команды в фоновом режиме(стандартный входистандартный выход не связаны с консолью, из которой запускается процесс;управлениепроцессомвозможновобщемслучаетолькоспомощьюсигналов).

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

(с подробным описанием возможностей и синтаксисом команд можноознакомитьсявдокументации,доступнойпокомандеmanкоманда)kill – передает сигнал процессу. Сигнал может передаваться в виде егономера или символьного обозначения. По умолчанию (без указания сигнала)передает сигнал завершения процесса. Идентификация процесса для командыkill производитсяпоPID.Переченьсистемныхсигналов,доступныхвGNU/Linux,суказаниемихномеровисимвольныхобозначенийможнополучитьспомощьюкомандыkill –l;killall –работаетаналогичнокомандеkill,нодляидентификациипроцессаиспользуетего символьноеимя, ане PID;pidof–определяетPIDпроцессапоегоимени;pgrep–определяетPIDпроцессовсзаданнымихарактеристиками(например,запущенныеконкретнымпользователем);pkill –позволяетотправитьсигналгруппепроцессовсзаданными
характеристиками;nice –запускаетпроцесссзаданнымзначениемприоритета.Уменьшениезначения(повышениеприоритетавыполнения)можетбытьинициированотолько пользователемroot;renice –изменяетзначенияприоритетадлязапущенногопроцесса.Уменьшениезначения(повышениеприоритетавыполнения)можетбытьинициированотолько пользователемroot;at–осуществляетоднократныйотсроченныйзапусккоманды.cron –демон,которыйзанимаетсяпланированиемивыполнениемкоманд,запускаемыхпоопределеннымдатамивопределенноевремя.Команды, выполняемые периодически, указываются в файле /etc/crontab(нечерезкомандуcron,апутемвнесениястроквфайлcrontabилисиспользованием одноименной команды crontab). Команды, которые должныбытьзапущенылишьоднажды,добавляютсяприпомощиat. Синтаксисстрокивcrontabподробноописанздесь:Каждая команда в файле crontab занимает одну строку и состоит из шестиполей: