Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11_МУ к лабам ОС.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
272.9 Кб
Скачать

Лабораторная работа №1 Установка операционных систем

Цель работы: получение навыков практической установки операционных систем

Поясняющая информация

Для установки Windows

Сначала нужно разбить и отформатировать диск.

Если до этого был установлен Linux нужно выполнить команду “fdisk/mbr” для того,чтобы восстановить главную загрузочную запись.

Для этого нужно воспользоваться программами и командами

  • fdisk – разбивка диска

  • format – форматирование диска

  • cd – переход в нужный каталог

  • disk: - выбор диска

  • winnt.exe –запуск установки Windows

Для установки Linux

Самое главное ничего не пропустить.

Практические задания

Задание 1

  1. Установить операционную систему Linux. СО следующими параметрами:

- разбить диск с разделами (не удаляйте первые два существующие раздела FAT и NTFS !!!)

swap - 150Mb

/boot -100Mb (файловая система EXT2)

/-2Gb (файловая система EXT3)

- установить графическую оболочку KDE

- установить пакеты mc.squid. apache.mysq|

Задание 2

  1. Установить операционную систему Windows (не забудьте запустить smartdrv.exe!!!). Со следующими параметрами:

- разбить диск с разделами (не удаляйте первые два существующие раздела FAT и NTFS !!!)

e:- 1Gb (файловая система NTFS)

f:- 1Gb (файловая система FAT32)

j:- 1Gb (файловая система NTFS)

К сдаче лабораторной предоставляются: работоспособная система.

Лабораторная работа №2 Управление процессами

Цель работы: получение практических навыков управления процессами и самостоятельной работы с документацией команд.

Теоретический материал

Понятие процесса является одним из основных в современных операционных системах. С точки зрения операционной системы, процесс - единица работы, заявка на потребление системных ресурсов.

Если говорить о соотношении между процессом и программой, то справедливы следующие два утверждения:

  • программа - это часть состояния процесса. С этой точки зрения процесс - нечто большее, чем просто программа;

  • программа может вызывать более чем один процесс для выполнения работы. С этой точки зрения программа - нечто большее, чем процесс.

Процессы образуют иерархию в операционной системе. Соответственно, будем называть порожденные процессы - потомками данного процесса, а родителя порожденного процесса - предком.

Отметим основные состояния процесса (рисунок 1):

Рисунок 1 - Основные состояния процесса

  • на процессоре - активное состояние, в котором процесс обладает всеми необходимыми ресурсами, в том числе самим процессором;

  • готовность - процесс находится в очереди на выполнение;

  • ожидание - процесс ожидает завершение события (например, освобождения ресурса);

остановлен - процесс остановлен, как правило, в отладочном режиме;

создание - выполнение действий, необходимых для создания процесса;

завершение - выполнение действий, связанных с успешным завершением процесса;

зомби - процесс закончен, но предок не принял его завершения.

При создании процесса должны быть выполнены следующие действия:

присвоение процессу уникального номера (ID);

добавление процесса в список процессов, известных системе;

определение начального приоритета;

формирование блока управления процессом;

выделение необходимых ресурсов.

Поток (нить) управления (thread) - исполнение команд программы в естественном порядке. Процессы делятся на традиционные (имеющие один поток управления) и многопоточные (многонитевые).

Многопоточность в рамках одного процесса имеет существенные преимущества. Переключение контекста между двумя потоками в одном процессе значительно проще, чем переключение контекста между двумя процессами. Все данные, за исключением стека исполнения и содержимого регистров процессора, разделяются между потоками. Таким образом, Многопоточность предоставляет эффективный параллелизм.

Многие ОС, ориентированные на рабочие станции и персональные компьютеры, начиная с середины 80-х годов XX века, включают поддержку многопоточности. Впервые стандарт на потоки появился в 1995 году. Это был стандарт IEEE POSIX 1003.1с-1995.

Сигналы (signals) - программное средство, с помощью которого может быть прервано функционирование процесса в операционной системе Unix. Механизм сигналов позволяет процессам реагировать на различные события, которые могут произойти в ходе функционирования процесса внутри него самого или во внешнем мире.

Каждому сигналу ставится в соответствие:

  • номер сигнала;

  • символическая константа, используемая для осмысленной идентификации сигнала;

  • принадлежность к одному из пяти классов сигналов;

реакция процесса на сигнал:

  • вызов обработчика сигнала;

завершение процесса (возможно, с порождением дампа памяти);

игнорирование сигнала;

  • приостановка исполнения.

Следующие три ситуации приводят к генерации сигналов операционной системой:

  • ядро отправляет процессу сигнал при нажатии пользователем определенной комбинации клавиш на клавиатуре;

  • возникновение аппаратных особых ситуаций приводит к посылке уведомления ядру операционной системы, которое отправляет сигнал процессу, находящемуся в стадии выполнения;

  • определенное программное состояние системы может вызвать отправку сигнала.

Поясняющая информация

Команды POSIX для работы с процессами (должны быть во всех операционных системах)

atзапускает программы в определенное время

crontabфайл содержащий таблицу расписаний запуска заданий

kill прекращение выполнение процесса по PID процесса

niceзадает приоритет процесса перед его запуском

renice изменят приоритет работающего процесса

psвыводит информацию о работающих процессах

fg перевод процесса из фоновых режима

bg продолжение выполнения фонового процесса, если он приостановлен нажатием <Ctrl+Z>

Команды LINUX для работы с процессами:

atзапускает программы в определенное время

atqвыводит список заданий, поставленных в очередь командой at

atrm удаление заданий из очередь командой atъ

/etc/crontabфайл содержащий таблицу расписаний запуска заданий

kill прекращение выполнение процесса по PID процесса

killall - прекращение выполнение процесса по имена процесса

niceзадает приоритет процесса перед его запуском

renice изменят приоритет работающего процесса

psвыводит информацию о работающих процессах

topвыводит динамическую информацию о процессах

fg перевод процесса из фоновых режима

bg продолжение выполнения фонового процесса, если он приостановлен нажатием <Ctrl+Z>

ipcs взаимодействие процессов (разделяемая память, семафоры, сообщения)

Для получения более подробной информации, можно использовать help (например: ps-help). Или документацию (например: man ps. для выхода нажмите q).

Запуск фонового процесса осуществляется так: ps-x &

При загрузке системы, необходимые процессы, загружается в фоновый режим их называет «демонами». Они находится в каталоге /etc/rc.d/init.d/

Некоторые комбинации клавиш:

<Ctrl+Z> - приостановить выполнение задания

<Ctrl+С> - завершить выполнение задания

Связывание процессов с помощью каналов. Запуск нескольких команд с передачей выходного потока следующей программе “‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌׀‌” означает передачу выходного потока от первой программы ко второй

ps –ax | more

запускается команда ps –ax и передает выходной поток программ more которая запускается на выполнение.

Перенаправление ввода/вывода. Запуск команды с записью выходного потока в файл

ps –ax > test.txt

ps –ax > test.txt – добавить в конец файла

Группы команд

command-1:command-2:command-3

{command-1:command-2} > test.txt

Команды Windows для работы с процессами:

Большую часть информации о процессах можно получить через диспетчер задач

at – запуск программ в заданное время

schtasks – настраивает выполнение команд по расписанию

start – запускает определенную программу или команду в отдельном окне

taskkill – завершает процесс

tasklist – выводит информацию о работающих процессах

Для получения более подробной информации можно использовать центр справки и поддержки или команду help (например: help at)

command.com – запуск командной оболочки MS-DOS

cmd.exe – запуск командной оболочки Windows

Практические задания

Задание 1

  1. Запустите Linux.

  2. Составьте справочник для выше приведенных команд (на русском языке). Расписав какие параметры для чего нужны.

  3. Поработайте с этими командами: запуская, запуская по времени, меняя приоритеты, уничтожая процессы.

  4. Что нужно уметь:

- задавать задание на запуск процессов в определенное время и с определенным приоритетом, показывать этот список, удалять из списка

- конфигурировать файл /etc/crontab

- посылать сигнал на прекращение процесса по ID по имени

- запускать процесс с конкретным приоритетом

- изменять приоритет конкретного процесса

- выводить информацию о работающих процессах

- запускать процессов фоновом режиме, выводить из него

- передавать выходной поток другой программе

- записывать выходной поток процесса в файл

Задание 2

  1. Запустите Windows

  2. Составьте справочник для выше приведенных команд (на русском языке). Расписав какие параметры для чего нужны

  3. Поработайте с этими командами: запуская, запуская по времени, меняя приоритеты, уничтожая процессы.

  4. Разберитесь как работать с диспетчером задач, и то что означает информация в столбцах (кроме информации о памяти)

  5. Что нужно уметь (с командной строки):

- задавать задание на запуск процессов в определенное время и с определенным приоритетом, показывать этот список, удалять из списка, изменять задания

- запускает определенную программу или команду в отдельном окне

- завершать процесс

- выводить (и понимать) информацию (исключая память и ввод/вывод) о работающих процессах и потоках

К сдаче лабораторной предоставляются: справочник команд управления процессами и умение работать с этими командами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]