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

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

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

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

Добавлен: 11.01.2024

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

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

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

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

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

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

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. Напишите скрипты, решающие следующие задачи: