- •Методические указания
- •050704 - Вычислительная техника и программное обеспечение
- •Содержание
- •Введение
- •Лабораторная работа №1 Установка операционных систем
- •Практические задания
- •Лабораторная работа №2 Управление процессами
- •Лабораторная работа 3 Управление памятью. Распределение памяти. Способы защиты памяти
- •Практические задания
- •Лабораторная работа №6. Управление пользователями и группами. Установка лимитов и квот
- •Практические задания
- •Лабораторная работа 7. Резервное храненние данных. Програмированных командных файлов
- •Практические задания
- •Литература
Лабораторная работа №1 Установка операционных систем
Цель работы: получение навыков практической установки операционных систем
Поясняющая информация
Для установки Windows
Сначала нужно разбить и отформатировать диск.
Если до этого был установлен Linux нужно выполнить команду “fdisk/mbr” для того,чтобы восстановить главную загрузочную запись.
Для этого нужно воспользоваться программами и командами
fdisk – разбивка диска
format – форматирование диска
cd – переход в нужный каталог
disk: - выбор диска
winnt.exe –запуск установки Windows
Для установки Linux
Самое главное ничего не пропустить.
Практические задания
Задание 1
Установить операционную систему Linux. СО следующими параметрами:
- разбить диск с разделами (не удаляйте первые два существующие раздела FAT и NTFS !!!)
swap - 150Mb
/boot -100Mb (файловая система EXT2)
/-2Gb (файловая система EXT3)
- установить графическую оболочку KDE
- установить пакеты mc.squid. apache.mysq|
Задание 2
Установить операционную систему 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
Запустите Linux.
Составьте справочник для выше приведенных команд (на русском языке). Расписав какие параметры для чего нужны.
Поработайте с этими командами: запуская, запуская по времени, меняя приоритеты, уничтожая процессы.
Что нужно уметь:
- задавать задание на запуск процессов в определенное время и с определенным приоритетом, показывать этот список, удалять из списка
- конфигурировать файл /etc/crontab
- посылать сигнал на прекращение процесса по ID по имени
- запускать процесс с конкретным приоритетом
- изменять приоритет конкретного процесса
- выводить информацию о работающих процессах
- запускать процессов фоновом режиме, выводить из него
- передавать выходной поток другой программе
- записывать выходной поток процесса в файл
Задание 2
Запустите Windows
Составьте справочник для выше приведенных команд (на русском языке). Расписав какие параметры для чего нужны
Поработайте с этими командами: запуская, запуская по времени, меняя приоритеты, уничтожая процессы.
Разберитесь как работать с диспетчером задач, и то что означает информация в столбцах (кроме информации о памяти)
Что нужно уметь (с командной строки):
- задавать задание на запуск процессов в определенное время и с определенным приоритетом, показывать этот список, удалять из списка, изменять задания
- запускает определенную программу или команду в отдельном окне
- завершать процесс
- выводить (и понимать) информацию (исключая память и ввод/вывод) о работающих процессах и потоках
К сдаче лабораторной предоставляются: справочник команд управления процессами и умение работать с этими командами.
