Скачиваний:
16
Добавлен:
15.06.2014
Размер:
117.97 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра Информационных Интеллектуальных Технологий

Отчет по лабораторной работе №4

Операционные системы традиционных и интеллектуальных компьютеров

Подготовили:

студенты группы 321701

Борисок Валерий

Павленко Дмитрий

Минск-2004

Тема:

Изучение подсистем ОС Linux

Цель:

Ознакомиться с особенностями работы подсистем ОС Linux и изучить основные команды ОС Linux: top, pstree, ldd, killall, bg, fg, nice, jobs, file, less, grep, find, sort, head, tail, tar, gzip, gunzip. Изучить структуру каталога /proc

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

Все команды представляют собой программы, хорошо выполняющие поставленные перед ними задачи, т.е. то, что от них требуется. Дополнительные возможности предоставляет использование различных опций для каждой команды. Дополнительную информацию по опциям команды можно получить, обратившись к соответствующему разделу справки или вызовом имя_программы --help - стандартный формат запроса ключей программы и краткое их пояснение.

  1. Команда top предоставляет возможность наблюдения в реальном времени за деятельностью системы. При помощи этой команды возможно записывать информацию о системе в log файлы. Отслеживать изменение параметров операционной системы. Возможен форматированный вывод. Также предоставляется широкий выбор отслеживаемых величин.

  1. Команда pstree отображает дерево работающих процессов системы. Можно отследить взаимосвязи между некоторыми процессами, отформатировать вывод и задать специальные параметры отображения.

  1. Команда ldd отображает зависимость приложения от разделяемых библиотек операционной системы.

student_2k:~ # ldd /bin/ls

linux-gate.so.1 => (0xffffe000)

librt.so.1 => /lib/tls/librt.so.1 (0x4002f000)

libacl.so.1 => /lib/libacl.so.1 (0x40037000)

libselinux.so.1 => /lib/libselinux.so.1 (0x4003d000)

libc.so.6 => /lib/tls/libc.so.6 (0x4004c000)

libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40161000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

libattr.so.1 => /lib/libattr.so.1 (0x40171000)

4. Команда killall посылает сигнал процессам подходящим под заданное имя. Формат команды killall [-c,--context] [-e,--exact] [-g,--process-group] [-i,--interactive]

[-q,--quiet] [-s,--signal signal] [-v,--verbose] [-w,--wait] [-V,--version] [--] имя

пример:

killall xmms – посылает всем процессам в строковое название которых входит xmms SIGTERM, который приводит к завершению процесса.

  1. Команда bg сообщает некоторому заданию, что необходимо работать в фоновом режиме.

формат: bg [jobspec]

Работа команды bg прекратится, когда jobspec вернёт FALSE

  1. Команда fg сообщает заданию, что необходимо перейти в активный режим. Т.е. для примера с терминалом – выход данных должен происходить на стандартный вывод.

  1. Команда nice запускает приложение с заданным приоритетом. Необходимо для обеспечения наибольшей производительности данного приложения.

пример student_2k# nice -n 19 xmms -p &

таким образом был запущен процесс с самым низким приоритетом 34

  1. Команда jobs оторажает информацию о текущих задачах. Пример:

student_2k# jobs

[1]+ Running nice -n 19 xmms -p &

  1. Команда file в совокупности с некоторыми своими ключами выводит информацию о заданном файле, его тип.

пример:

student_2k# file /usr/src/linux/ -i

/usr/src/linux/: application/x-not-regular-file

получили mime-type файла, представляющего директорию

  1. Команда less и more программы, обеспечивающие интерактивный просмотр вывода, с возможностью разбиения на страницы.

  1. Команда grep ищет в наборе файлов текстовые строки с заданным шаблоном строки поиска, если строка будет обнаружена – она будет выведена на стандартный вывод.

пример:

student_2k# ps aux | grep xmms

student_2k 12394 0.5 7.0 47600 18192 pts/75 RN 00:38 0:04 xmms -p &

student_2k 12521 0.0 0.2 1740 668 pts/75 R+ 00:51 0:00 grep xmms

  1. Команда find ведёт поиск файла с заданным шаблоном имени в иерархии каталогов, при этом предоставляя фоматированный вывод и возможность использования регулярных выражений.

пример:

student_2k# find /work/ -iname prg_11_2.asm

/work/asm/prg_11_2.asm

таким образом по заданному шаблону имени был получен список файлов под него подпадающий.

  1. Команда sort печатает сортированное слияние всех заданных файлов на стандартный вывод.

Пример:

student_2k# find /work/teach/asm/jurov/ | grep ".exe" | sort

/work/teach/asm/jurov/prg_10_0.exe

/work/teach/asm/jurov/prg_10_1.exe

/work/teach/asm/jurov/prg_10_2.exe

/work/teach/asm/jurov/prg_10_4.exe

/work/teach/asm/jurov/prg_10_5.exe

/work/teach/asm/jurov/prg_11_1.exe

/work/teach/asm/jurov/prg_11_2.exe

/work/teach/asm/jurov/prg_11_3.exe

/work/teach/asm/jurov/prg_11_4.exe

  1. Команда head и tail печатают заданное число строк с начала и конца списка строк на стандартный вывод.

Пример:

student_2k# find /work/teach/asm/jurov/ | grep ".exe" | sort | tail -2

/work/teach/asm/jurov/prg_9_4.exe

/work/teach/asm/jurov/prg_9_5.exe

печатает две последние строки списка

и соответственно

student_2k# find /work/teach/asm/jurov/ | grep ".exe" | sort | head -2

/work/teach/asm/jurov/prg_10_0.exe

/work/teach/asm/jurov/prg_10_1.exe

2 строки от начала списка. Также возможны комбинации ключей.

  1. Команды tar, gzip, gunzip предназначены для архивирования и разархивирования файлов. Одним из наиболее популярных вариантов архивирования является формат .tar.gz tar - делает копию содержимого каталогов, с учётом ссылок и атрибутов( к примеру прав доступа). gzip – сжимает tar файл.

примеры:

# tar czf arch.tar.gz ./;ls -la

итого 24

drwxr-xr-x 3 root root 4096 2004-11-06 01:12 .

drwxr-xr-x 7 root root 4096 2004-08-30 20:40 ..

-rw-r--r-- 1 root root 8289 2004-11-06 01:12 arch.tar.gz

drwxr-xr-x 2 root root 4096 2004-09-13 22:10 jurov

создали архивную копию текущего каталога, поместив её в этот же каталог.

Ответы на контрольные вопросы:

  1. Как найти информацию в файле

Для этого необходимо воспользоваться командой grep с заданным шаблоном поиска подстроки в входном файле.

  1. Как найти файл с определёнными атрибутами

Ключи команды find позволяют найти файл с любыми заданными атрибутами.

Можно и комбинацией ls -R | grep шаблон

  1. Как изменить приоритет процесса

для этих целей можно воспользоваться командой nice

  1. Как узнать параметры запущенной программы

пример: student_2k# pstree -a | grep xmms

| | | `-xmms -p

  1. Как выполнить программу в фоновом режиме

использовать ключ & после имени процесса или вызывать задачу командой bg

  1. Как узнать сколько памяти занимает процесс.

Воспользоваться командами ps или top

  1. Как запаковывать и распаковывать файлы

tar x – распаковка

tar c – запаковка

gzip – программа сжатия

gunzip – программа разархивирования.

Файловая система /proc представляет собой интерфейс к нескольким структурам данных ядра, которые работают также как и файловая система. Вместо того, чтобы каждый искать путь к местонахождению какой-либо системной информации все приложения читают файлы и каталоги из /proc.

На данной файловой системе размещена информация о всех процессах и вся системная информация, которую в дальнейшем используют другие программы.

Все каталоги с численными именами соответствуют процессам.

Выводы:

Операционная система Linux предоставляет широкий арсенал программ-команд, комбинируя их и создавая конвейерные запросы возможно достижение большинства пользовательских запросов. В ходе лабораторной работы были изучены такие команды, как:

top, pstree, ldd, killall, bg, fg, nice, jobs, file, less, grep, find, sort, head, tail, tar, gzip, gunzip

Вся системная информация хранится на файловой системе /proc, которая по сути является виртуальной файловой системой специального типа.

Соседние файлы в папке Лаба 4 Изучение подсистем ОС Linux