Главная страница
Навигация по странице:

  • Практическое занятие № 6 УПРАВЛЕНИЕ ПРОЦЕССАМИ

  • 6.1. Наблюдение за процессами

  • 6.2. Способы управления процессами

  • 6.2.1. Задание переменных среды

  • 6.2.2. Запуск процессов в фоновом режиме

  • 6.2.3. Планирование процесса (назначение приоритета)

  • Пример

  • 6.2.5. Планирование работ

  • Практическое занятие 7 УСТАНОВКА И УДАЛЕНИЕ UNIX, СИСТЕМНОГО И ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 7.1 Инсталляция операционной системы Solaris

  • 7.1.1. Тип устанавливаемой системы

  • 7.1.2. Методы установки системы

  • 7.1.3. Способы установки системы

  • 7.1.5. Установка системы на жесткий диск

  • 1 этап. Определение конфигурации системы

  • Практикум_OC_Linux. Ос unixлабораторный практикум


    Скачать 0.57 Mb.
    НазваниеОс unixлабораторный практикум
    Дата25.09.2022
    Размер0.57 Mb.
    Формат файлаpdf
    Имя файлаПрактикум_OC_Linux.pdf
    ТипПрактикум
    #695123
    страница5 из 6
    1   2   3   4   5   6
    Пример: создание резервной копии файловой системы
    /dev/dsk/c0t0d0s7 на внешнем сервере 192.168.12.1 в каталоге
    /space/tmp и восстановление данных с резервной копии
    - проверяем ФС на наличие ошибок umount /dev/dsk/c0t0d0s7
    fsck /dev/rdsk/c0t0d0s7
    - создаем резервную копию на удаленном сервере mkdir /export/test mount –F nfs 192.168.12.1:/space/tmp /ex- port/test ufsdump 0f /export/test/mydump
    - создаем новую ФС в разделе /dev/dsk/c0t0d0s7
    newfs /dev/dsk/c0t0d0s7
    fsck /dev/dsk/c0t0d0s7
    -подключаем новую ФС
    mount -F /dev/dsk/c0t0d0s7 /export/home
    - восстанавливаем данные cd /export/home ufsrestore rvf /export/test/mydump
    52

    Упражнения
    1. Определите, какие файловые системы в данный момент подклю- чены.
    2. Определите, сколько свободного места находится в файловой си- стеме /. Сколько места занимает каталог /var ?
    3. Создайте каталог /work_new. Подключите в данный каталог файловую систему …(спросить преподавателя)
    4. С какими параметрами подключилась файловая система? Сколь- ко места на подключенной файловой системе?
    5. Отключите файловую систему. Удалите каталог /work_new.
    6. Разбейте оставшееся свободное место на диске на 2 части. На одной из них создайте файловую систему с параметрами по умол- чанию.
    7. Смонтируйте новую файловую систему. Убедитесь в возможно- сти чтения и записи. Размонтируйте файловую систему. Смонти- руйте ее в непустой каталог. Размонтируйте. Оцените доступность данных.
    8. Перезагрузите систему. Определите, какие системы в настоящий момент смонтированы. Сравните с файлом автоматического монти- рования.
    9. Как сделать, чтобы созданная Вами система монтировалась при старте? Укажите два способа решения задачи.
    10. Определите, с какими опциями смонтированы файловые систе- мы.
    11. Cмонтируйте файловую систему с опцией remount и опцией ro.
    Как проверить, что изменения вступили в силу?
    12. Смонтируйте файловую систему с различными опциями, запре- щающими запись, исполнение SUID программ и т.п. Убедитесь в том, что опции «работают».
    13. Удалите созданную Вами файловую систему. Создайте на ее месте другую с параметрами, отличными от параметров по умол- чанию.
    53

    14. Создайте файловую систему с малым количеством индексных дескрипторов. Добейтесь переполнения таблицы дескрипторов.
    15. Попытайтесь демонтировать «занятую» файловую систему.
    Смоделируйте состояние занятости по разным причинам и опреде- лите причины невозможности нормального размонтирования.
    16. Обеспечьте автоматическое монтирование файловой системы при загрузке системы.
    17. С использованием сетевой файловой системы экспортируйте несколько каталогов системы.
    18. Смонтируйте экспортируемые каталоги соседних машин. Авто- матически монтируйте их при старте системы. Рассмотрите несколько вариантов опций монтирования.
    19. Определите заполненность файловых систем.
    20. Выведите на экран статистику по заполненности каталогов в файловых системах.
    21. Выведите на экран список смонтированных в данный момент файловых систем. Создайте файл автоматического монтирования по слепку на данный момент.
    22. Проверьте файловые системы на ошибки.
    23. Создайте область виртуальной памяти в виде файла и в виде устройства (на оставшемся свободном месте) с автоматическим включением их при старте системы.
    24. Установите файловые квоты пользователям. Перестройте ин- формацию о квотах на основе уже созданных файлов.
    25. Установите квоты в нескольких файловых системах одновре- менно.
    26. Определите состояние квот пользователей от имени пользова- теля и суперпользователя.
    27. Установите все виды квот. Проверьте, как система реагирует на их превышение. Исследуйте превышение мягкой квоты.
    54

    28. Создайте пользователя и назначьте квоты по образцу. Затем запросите информацию о квотах для данного пользователя. Изме- ните квоты пользователя.
    29. Создайте полную резервную копию домашних каталогов поль- зователей. Внесите изменения от имени различных пользователей.
    Создайте инкрементные копии.
    30. Удалите содержимое домашних каталогов и восстановите его из резервных копий. Обратите внимание на изменения, вносимые при восстановлении из инкрементных копий. Проверьте, сохрани- лись ли права доступа к файлам и их владельцы, включая ACL.
    31. Осуществите резервное копирование домашних каталогов. За- тем удалите пользователя. Восстановите данные. Что случилось с файлами удаленного пользователя?
    32. Восстановите из резервных копий данные только одного поль- зователя.
    33. С использованием tar создайте архив домашних каталогов.
    Восстановите данные пользователей (всех, одного выбранного, отдельные файлы). Сохранились ли права доступа, ACL?
    34. Разделите полученный архив на несколько частей. Соедините их. Проверьте целостность архива.
    35. Перенесите домашние каталоги в другую файловую систему так, чтобы для пользователей ничего не изменилось.
    55

    Практическое занятие № 6
    УПРАВЛЕНИЕ ПРОЦЕССАМИ
    Процессы в UNIX играют ключевую роль. ОС представляет со- бой многозадачную среду, в которой одновременно выполняется несколько программ. Каждая программа может запускать и завер- шать множество процессов в течение своего исполнения. От опти- мального планирования процессов и числа одновременно выпол- няющихся процессов зависит загрузка процессора, что в итоге влияет на производительность системы в целом.
    6.1. Наблюдение за процессами
    Команды, позволяющие осуществлять наблюдение за процесса- ми, приведены в табл.6.1.
    Таблица 6.1
    ps
    Информация об активных процессах pgrep
    Поиск процессов по заданному шаблону, выводит список PID и командную строку, запустившую про- цесс (исполняемый файл)
    prstat
    Информация о системных процессах time timex
    Определение времени работы запущенного процесса
    6.2. Способы управления процессами
    Управление процессами можно осуществлять путем задания переменных среды (окружения), запуска процесса в фоновом или активной режиме, планирования работ в системе, а также задавая приоритет выполнения процесса (для фоновых процессов). Управ- ление процессами также осуществляется посредством передачи сигналов.
    6.2.1. Задание переменных среды
    Переменные среды (окружения) определяют среду выполнения процесса. Экспорт переменной в среду осуществляется командой
    56
    export. Просмотр переменных среды и их значений – команда env.
    6.2.2. Запуск процессов в фоновом режиме
    Для запуска процесса в фоновом режиме нужно поставить зна- чок & в конце командной строки. При завершении сеанса пользователя, запустившего фоновый процесс с помощью &, последний также завершается.
    Запуск процесса с помощью команды nohup позволяет
    “защитить” фоновый процесс от выхода пользователя из системы.
    6.2.3. Планирование процесса (назначение приоритета)
    Приоритет процесса – целочисленное значение, которое дина- мически вычисляется и обновляется на основе некоторых различ- ных факторов. Чем меньше уровень приоритетности, тем процесс предпочтительнее. Процессы с одинаковым уровнем приоритетно- сти помещаются в очередь выполнения для данного значения при- оритета. При освобождении ЦП планировщик выбирает процессы из начала непустой очереди с меньшим значением уровня приори- тета.
    Процесс в UNIX имеет два ассоциированных с ним значения приоритета – запрошенный приоритет относительно других про- цессов (NI) и приоритет, присваиваемый процессу ОС (PRI). Про- цессу по умолчанию присваивается NI, равный NI его родитель- ского процесса. Доступны значения приоритетов от –20 (самый высокий) до +20 (самый низкий). Процессы пользователя могут иметь приоритет от 0 до +20. Команды, позволяющие задавать приоритет процесса, приведены в табл.6.2.
    Таблица 6.2
    nice
    Запуск процесса с заданным приоритетом renice
    Изменение приоритета процесса priocntl
    Изменение приоритета процесса
    Примеры
    Повышение приоритета процесса
    nice -5 my_command
    57

    Изменение приоритета процесса
    renice -n 5 -p 8200
    priocntl -s -p -5 -i pid 8200 для процесса 8200
    priocntl -e -c TS -p -10 myfavoriteprogram запуск
    программы на выполнение
    6.2.4. Сигналы
    Сигналы являются простейшей формой межпроцессного взаимо- действия. Сигнал может быть отправлен процессу либо ядром, либо другим процессом с помощью системного вызова kill().
    Символьные имена сигналов и их расшифровку можно найти в файле . Для отправки сигналов используются ко- манды kill, pkill.
    Пример
    pkill -9 my_prog
    Если сигнал не задан, то по умолчанию посылается SIGTERM.
    Пример
    my_program &
    kill $! (переменная $! содержит PID последнего
    запущенного процесса,
    по умолчанию посылается SIGTERM)
    При получении сигнала процесс может действовать тремя способа- ми:
    - проигнорировать сигнал (trap “ “ сигнал)
    - выполнить действия по умолчанию (trap сигнал)
    - перехватить и обработать сигнал (trap команда сигнал)
    Сигналы SIGKILL, SIGSTOP нельзя ни перехватить, ни проигно- рировать.
    6.2.5. Планирование работ
    Неинтерактивный запуск процессов осуществляется сервисом cron и командами at, batch.
    58

    Для запуска по заданному расписанию используется сервис cron. Демон cron планирует системные события в соответствии с командами, заданными в файле crontab. Для доступа к файлу конфигурации используется программа crontab.
    Формат файла crontab :
    минута час день_месяца месяц день_недели команда
    Пример
    0 1 5,20 * * BackUpProcess > /dev/console
    Сервисом cron могут пользоваться только указанные в файле cron.allow или не указанные в cron.deny пользователи.
    Для однократного запуска программы в указанное время слу- жит команда at, причем право её использования определяют файлы at.allow и at.deny (аналогично cron).
    Пример
    at 07:45am today who>/tmp/log at 5pm today + 4 days команды
    ^D
    Команду batch следует использовать, если требуется запустить программу когда-либо позднее в так называемом пакетном режиме.
    Пример
    batch mylongcalculation
    ^D
    59

    Упражнения
    1. Запустите терминал. Определите PID процесса, который ассоци- ируется с запущенным терминалом.
    2. Запустите другой терминал. Остановите первый запущенный терминал, послав ему сигнал STOP.
    3. Убедитесь, что первый терминал действительно остановлен.
    4. Сделайте так, чтобы остановленный терминал продолжил свою работу (пошлите ему сигнал CONT).
    5. Напишите shell-программу, выполняющую бесконечный цикл, одну итерацию в секунду. Запустите ее в фоновом режиме. Остано- вите программу.
    6. Напишите программу, которая выдает в бесконечном цикле со- общение, заданное как аргумент. Как остановить такую програм- му?
    7. Запустите программу из предыдущей задачи с пониженным при- оритетом. Как повысить ее приоритет? Как запустить несколько та- ких программ одной командной строкой? Как переключаться меж- ду ними? Остановите запущенные Вами программы.
    8. Запустите вновь программу из задачи 5 в фоновом режиме и за- вершите сеанс. Вновь зарегистрируйтесь. Работает ли Ваша про- грамма? Сделайте так, чтобы запущенная Вами в фоновом режиме программа продолжала работать после Вашего выхода из системы.
    9. Напишите программу, которая сообщает имя переданного ей сигнала и записывает его в файл с указанием времени события.
    10. Напишите программу manager, которая запускает две другие написанные Вами программы с разными приоритетами. Эти про- граммы должны периодически добавлять в файлы некоторую ин- формацию разного объема. При превышении заданного объема од- ним из файлов manager прекращает выполнение обеих программ и выводит имя той из них, которая создала больший файл.
    11. Напишите программу-диспетчер, которая запускала бы две дру- гие shell-программы, каждая из которых выводила бы в цикле со- общение о своей работе. Цель программы-диспетчера – обеспечить
    60
    псевдопараллельную работу этих программ, поочередно выделяя квант времени для каждой, но так, чтобы в каждый момент време- ни работала бы только одна программа.
    12.* Установите в качестве первичного приглашения идущие часы, меняющие свои показания каждые 10 секунд.
    13. Напишите программу-будильник, которая работает в фоновом режиме и в указанное время напоминает пользователю о важном деле.
    14. Напишите программу, которая, работая в фоновом режиме, в указанное время отключает пользователя от системы.
    15. Напишите shell-программу, которая в фоновом режиме запус- кает другую shell-программу, указанную ей в качестве аргумента, и печатает сообщение:
    «имя запущенной программы» already started
    и ждет завершения программы, после чего сообщает:
    «имя запущенной программы» finished
    16. Запустите какую-либо программу и определить время её вы- полнения. Определите время выполнения с учетом порожденных ею процессов.
    17. Наделите правом устанавливать периодические процессы неко- торых пользователей. Наделите таким правом всех, в том числе вновь создаваемых, за исключением нескольких.
    18. Установите от имени обычного пользователя «хронометр», ко- торый будет выдавать пользователю сообщение каждые 20 минут в рабочие дни.
    19. Создайте систему оповещения, сообщающую, что до конца ра- бочего дня осталось столько-то времени.
    20. Запустите процесс с приоритетом по умолчанию и определите время его выполнения. Затем запустите его с пониженным, повы- шенным приоритетом и вновь определите время его работы. Объ- ясните результат.
    61

    21. Какой процесс следует уничтожить, чтобы остановить систему? Какой еще сигнал можно послать процессу для останова.
    Проверьте экспериментально.
    22. Запустите программу в пакетном режиме. Определите, когда она была выполнена.
    23. Запустите программу в заданное время. Проверьте, выпол- нилась ли она.
    24. Сформируйте задание на запуск программы в заданное время.
    Можно ли отменить задание?
    62

    Практическое занятие 7
    УСТАНОВКА И УДАЛЕНИЕ UNIX, СИСТЕМНОГО И
    ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
    7.1 Инсталляция операционной системы Solaris
    7.1.1. Тип устанавливаемой системы
    На этапе установки системы важно определить ту роль, кото- рую будет выполнять система в процессе своей работы. Условно можно выделить два типа установки Unix-системы – серверный тип (server) и автономный тип (standalone). Серверный тип установки подразумевает, что система будет предоставлять свои ресурсы через сеть. Автономная система содержит все свои дан- ные на локальных дисках и не зависит от других систем. Мы рассмотрим вариант установки автономной системы.
    7.1.2. Методы установки системы
    Методы инсталляции операционной системы приведены в табл.7.1.
    Таблица 7.1
    Интерактивная установ- ка
    Пошаговая установка ОС в интерактив- ном режиме
    WebStart
    Пошаговая установка ОС с помощью
    “виртуального ассистента”
    JumpStart
    Автоматизированная установка ОС на новую систему
    Пользовательский
    JumpStart
    Автоматизированная установка ОС на несколько одинаковых новых систем
    7.1.3. Способы установки системы
    Операционная система может быть установлена как с локально- го CD/DVD-привода, так и по сети.
    7.1.4. Выбор устанавливаемой конфигурации
    Определившись с тем, как будет устанавливаться ОС, следует продумать, в каком объеме будет устанавливаться операционная
    63
    система. Практически во всех современных дистрибутивах ОС
    Unix существует возможность выбора типовых вариантов установ- ки и предусмотрена возможность “ручного” выбора устанавливае- мых пакетов.
    Группы файлов объединяются в пакеты (пример – пакет доку- ментации). Пакеты объединяются в программные кластеры (при- мер – графический пользовательский интерфейс Gnome). Про- граммные кластеры объединяются в кластеры конфигурации, кото- рые образуют типовые конфигурации. В ОС Solaris существует пять основных типовых вариантов установки (табл.7.2), причем каждый последующий включает в себя предыдущие.
    Таблица 7.2
    Core
    Набор минимального комплекта ПО для работы и загрузки системы, применим для автономных си- стем, но неприменим для серверов. Нет GUI и man
    End User
    Core+GUI
    Developer
    END USER + компилятор и man
    Entire Dis- tribution
    Developer + дополнительное ПО. Является полным вариантом установки ОС
    Entire Dis- tribution
    Plus OEM
    Entire Distribution + дополнительные драйверы устройств
    В зависимости от выбора варианта установки изменяются тре- бования к ресурсам, необходимым для установки ОС. Минималь- ные ресурсы для ОС Solaris 9 приведены в табл.7.3.
    Таблица 7.3
    Процессор
    SPARC, Intel
    Жесткий диск
    1Gb (рекомендуется 2.5Gb для поддержки про- граммного обеспечения, области swap и прочих накладных расходов)
    Память
    64Mb
    CDROM или доступ по сети к компьютеру Jump-
    Start
    64

    7.1.5. Установка системы на жесткий диск
    Для установки системы с локального CDROM нужно загрузить- ся с него, далее следовать указаниям графического интерфейса.
    Программа Solaris Install позволяет возвращаться к предшествую- щим экранам и не производит никаких действий по установке до тех пор, пока не дойдет до конца -- не сообщит о том, что готова начать процесс установки ОС и не получит подтверждение со сто- роны пользователя (confirm). Процесс инсталляции по шагам:
    1 этап. Определение конфигурации системы
    Выбор типа инсталляции
    Interactive
    Выбор типа оконной системы
    VMWare (если используется одноименная виртуальная машина)
    Выбор языка установки
    English 0
    Поддержка работы в сети
    Networked
    Использование протокола динамиче- ской настройки хостов DHCP (авто- матическая генерация IP-адреса)
    Yes
    Поддержка Internet-протокола IPv6
    No
    Поддержка службы защиты Kerberos
    Security
    No
    Поддержка службы имен
    None
    Часовой пояс
    Offset from GMT +3
    (Москва)
    Дата и время
    Корректируем(+4
    часа от GMT)
    Пароль суперпользователя
    1   2   3   4   5   6


    написать администратору сайта