Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мет_лаб__ОС_Засов_Тарабардин

.pdf
Скачиваний:
16
Добавлен:
09.04.2015
Размер:
623.82 Кб
Скачать

Министерство транспорта Российской Федерации Федеральное агентство железнодорожного транспорта

Государственное образовательное учреждение высшего профессионального образования

САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

Кафедра « Мехатроника в автоматизированных производствах»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению лабораторных работ по дисциплине

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

для студентов специальности 230102 « Автоматизированные системы обработки информации и управления»

очной и заочной форм обучения

Составители: В.А. Засов М.А. Тарабардин

Самара

2009

УДК 004.72 (75)

Методические указания к выполнению лабораторных работ по дисциплине « Операционные системы» для студентов специальности 230102 « Автоматизированные системы обработки информации и управления» очной и заочной форм обучения/составители: В.А. Засов, М.А. Тарабардин. – Самара :

СамГУПС, 2008. – 48 с.

Утверждены на заседании кафедры « Мехатроника в автоматизированных производствах» 29 апреля 2008 г., протокол № 9.

Печатаются по решению редакционно-издательского совета Самарского государственного университета путей сообщения.

В методических указаниях даются краткие сведения о способах управления работой операционных систем семейства Windows. Рассматриваются различные оснастки операционной системы и утилиты сторонних производителей, команды операционной системы, счётчики производительности, а так же средства хранения данных в операционной системе.

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

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

Составители: Валерий Анатольевич Засов Михаил Анатольевич Тарабардин

Рецензенты: к.т.н., заведующий кафедрой « Информатика», профессор СамГУПС С.А. Юшков; к.т.н., доцент кафедры « Мехатроника в автоматизированных

производствах» СамГУПС А.В. Авсиевич.

Редактор И.М. Егорова. Компьютерная верстка

Подписано в печать _______ Формат 60х90 1/16. Бумага писчая. Печать оперативная. Усл. п.л.____. Тираж 100 экз. Заказ ______

©Самарский государственный университет путей сообщения, 2008

ВВЕДЕНИЕ

Методические указания для выполнения лабораторных работ по дисциплине « Операционные системы» посвящены изучению структуры операционной системы Windows, обеспечивающей стабильную работу операционной системы и приложений. Показано взаимодействие операционной системы с аппаратной частью компьютера: процессором, памятью и дисками. В работах производится знакомство с оснастками Windows для мониторинга состояния и управления работой указанных компонентов. Рассмотрены составляющие и параметры приложений, работающих под управлением операционной системы: процессы, потоки, приоритеты, а так же оснастки и утилиты, для мониторинга и управления влиянием их на производительность вычислительной системы.

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

ЛАБОРАТОРНАЯ РАБОТА №1 ЗАГРУЗКА ОПЕРАЦИОННОЙ СИСТЕМЫ И ПРОСМОТР СВЕДЕНИЙ

Цель работы: изучение средств операционной системы Windows, управляющих её загрузкой, а так же утилит для просмотра системной информации.

Краткие теоретические сведения

Загрузчиком для операционных систем Windows NT и более поздних (2000/XP/Server 2003, за исключением Vista) является NTLDR (аббревиатура от NT Loader). NTLDR может быть запущен как с переносного устройства (такого как, например, CD-ROM или флэш-накопителя USB), так и с жесткого диска. Для запуска NTLDR требуется, как минимум, наличие следующих двух файлов на активном разделе жёсткого диска: NTLDR, который собственно и содержит код загрузчика, и boot.ini, в котором записаны команды для формирования меню выбора системы и параметры для её запуска. Чтобы загружать операционные системы на базе Windows NT, необходимо также наличие файла ntdetect.com.

При загрузке NTLDR выполняет следующие шаги:

-переводит процессор в « плоский» 32битный режим работы (32-bit flat memory mode);

-организует доступ к текущей файловой системе (FAT или NTFS);

-читает файл boot.ini и выводит пользователю соответствующее меню для выбора запускаемой ОС:

-если была выбрана не-NT система (например Windows 98), тогда загружается файл bootsect.dos, являющийся полноценной загрузочной записью,

иуправление передаётся ему;

-если же была выбрана система на базе Windows NT, то запускается программа ntdetect.com, которая собирает информацию о составе оборудования. Эта информация затем передаётся в ядро операционной системы, ntoskrnl.exe, и происходит запуск операционной системы.

Для управления автозапускаемыми программами и загрузкой Windows служит утилита MSConfig (Настройка системы). Данная программа позволяет настроить параметры автозагрузки, т.е. указать, какие программы или службы должны запускаться при входе пользователя в Windows. Списки автозапускаемых программ и драйверов формируются на основе данных, записанных в файлы system.ini, win.ini, системный реестр, а так же в папку Автозагрузка. Запустить утилиту можно с помощью вызова команды msconfig.exe.

Для просмотра сведений о системе используется утилита DXDIAG. Здесь отображаются данные об имени компьютера, версии операционной системе, модели компьютера и процессора, объёме памяти, версии DirectX, параметрах и драйверах устройств. Запустить утилиту можно с помощью вызова команды dxdiag.exe.

Оборудование для выполнения работы

Работа выполняется на персональных компьютерах с операционной системой Windows NT/2000\XP.

Порядок выполнения работы

1. Загрузка операционной системы. Работа с файлом boot.ini.

1)Включите компьютер и войдите в систему.

2)Зайдите на диск С: и откройте файл boot.ini. Если он не отображается в окне проводника, то откройте файл из командной строки или настройте вид папки так, чтобы отображались защищённые системные файлы.

3)В текстовом редакторе измените параметры загрузки. На рис. 1. показано содержимое файла. Последняя запись в данном файле показывает, откуда должна загружаться операционная система, и как должен быть обозначен соответствующий пункт меню выбора операционной системы. Параметр default указывает, какая операционная система будет загружена по умолчанию по истечении времени, указанного в качестве параметра timeout (в секундах). Скопируйте последнюю строку и в значении параметра измените текст (вместо

«Microsoft Windows XP Home Edition» напишите «My Operation System»). В

качестве параметра timeout установите 20 секунд.

Рис. 1. Содержимое файла boot.ini

4)Перезагрузите компьютер. Пронаблюдайте, как изменилось меню загрузки.

5)Верните файл boot.ini в исходное состояние.

2.Настройка параметров автозапуска. Работа с утилитой MSConfig. 1) Запустите утилиту MSConfig.

2) Перейдите на вкладку « Автозагрузка».

3) Снимите флажки с автозапускаемых программ.

4) Перезагрузите Windows и пронаблюдайте за изменением списка загруженных программ.

3.Просмотр сведений о системе. Работа с утилитой DXDiag.

1)Запустите утилиту DXDiag.

2)С помощью неё определите тип процессора, размер оперативной памяти, версию операционной системы.

3)Просмотрите параметры драйверов устройств.

4)Сделайте выводы о проделанной работе.

Содержание отчёта

1.Титульный лист работы.

2.Формулировка цели и задач работы.

3.Список используемых программ.

4.Результаты выполнения задач с помощью рассмотренных утилит.

5.Краткие выводы по проделанной работе.

Контрольные вопросы

1.Что является загрузчиком Windows NT?

2.Каково назначение файла boot.ini?

3.Для чего предназначена утилита DXDIAG?

4.Какая утилита служит для управления параметрами автозагрузки?

ЛАБОРАТОРНАЯ РАБОТА №2 ИЗУЧЕНИЕ ДИСПЕТЧЕРОВ ПРОЦЕССОВ

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

Краткие теоретические сведения

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

- структура данных, содержащая всю информацию о процессе, в том числе список открытых дескрипторов различных системных ресурсов, уникальный идентификатор процесса, различную статистическую информацию и т.д.;

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

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

Каждый процесс указывает на свой родительский процесс-создатель. Однако если родитель существует, эта информация не обновляется. Поэтому есть вероятность, что некий процесс указывает на уже несуществующего родителя [1].

Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows использует два режима доступа к процессору (даже если он поддерживает более двух режимов): пользовательский (user mode) и ядра (kernel mode). Код приложений работает в пользовательском режиме, тогда когда код операционной системы (например, системные сервисы и драйверы устройств) – в режиме ядра. В режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора. Предоставляя операционной системе более высокий уровень привилегий, чем прикладным программам, процессор позволяет разработчикам операционных систем реализовать такие архитектуры, которые не дают возможности сбойным приложениям нарушать стабильность работы всей системы.

Процессы инертны. Отвечают же за исполнение кода, содержащегося в адресном пространстве процесса, потоки. Поток (thread) - некая сущность внутри процесса, получающая процессорное время для выполнения. В каждом процессе есть минимум один поток. Этот первичный поток создается системой автоматически при создании процесса. Далее этот поток может породить другие потоки, те в свою очередь новые и т.д. Таким образом, один процесс может владеть несколькими потоками, и тогда они одновременно исполняют код в адресном пространстве процесса. Каждый поток имеет:

-уникальный идентификатор потока;

-содержимое набора регистров процессора, отражающих состояние процессора;

-два стека, один из которых используется потоком при выполнении в режиме ядра, а другой - в пользовательском режиме;

-закрытую область памяти, называемую локальной памятью потока (thread local storage, TLS) и используемую подсистемами, run-time библиотеками и DLL.

Создание Win32 процесса осуществляется вызовом одной из таких функций,

как CreateProcess, CreateProcessAsUser (для Win NT/2000) и

CreateProcessWithLogonW (начиная с Win2000) и происходит в несколько этапов:

-открывается файл образа (EXE), который будет выполняться в процессе. Если исполняемый файл не является Win32 приложением, то ищется образ поддержки (support image) для запуска этой программы. Например, если исполняется файл с расширением .bat, запускается cmd.exe и т.п.;

-создается объект Win32 "процесс";

-создается первичный поток (стек, контекст и объект "поток");

-подсистема Win32 уведомляется о создании нового процесса и потока;

-начинается выполнение первичного потока;

-в контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы.

Процесс завершается если:

-входная функция первичного потока возвратила управление;

-один из потоков процесса вызвал функцию ExitProcess;

-поток другого процесса вызвал функцию TerminateProcess;

Когда процесс завершается, все User- и GDI-объекты, созданные процессом, уничтожаются, объекты ядра закрываются (если их не использует другой процесс), адресное пространство процесса уничтожается [1,2].

Для просмотра и модификации процессов, потоков и информации, связанной с ними, существует множество утилит. Самая простая и известная – это диспетчер задач Windows. Диспетчер задач можно запустить нажатием клавиш

Ctrl+Shift+Esc, выбрать из меню окна безопасности Windows Ctrl+Alt+Delete или просто выполнить команду taskmgr.exe.

Диспетчер задач в Windows2000 имеет 3 закладки – это просмотр выполняемых программ (открытых окон), просмотр выполняемых процессов и инспектор быстродействия системы.

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

На вкладке « Приложения» отображается список видимых окон верхнего уровня всех объектов « рабочий стол». Колонка « Состояние» даёт представление о том, находится ли поток – владелец окна в состоянии ожидания т.н. Windowsсообщения. « Выполняется» означает, что поток ожидает ввода в окно, а « Не отвечает» - что не ожидает (т.е. занят либо ждёт завершения операции вводавывода или освобождения какого-либо синхронизирующего объекта). Данная вкладка позволяет идентифицировать процесс, которому принадлежит поток, владеющий каким-либо окном задачи. Для этого необходимо выбрать приложение и в меню выбрать пункт « Перейти к процессам». Кроме этого, имеется возможность завершить задачу (как и процесс), переключиться на задачу, запустить новое приложение. На закладке « Быстродействие», можно отслеживать степень загрузки процессора и памяти.

Более широкие возможности предоставляет утилита Process Explorer. Она в целом похожи на стандартный диспетчер задач и имеет следующие возможности:

-выводить полное имя (вместе с путём) выполняемого образа;

-выводить маркер защиты процесса;

-производить выделение изменений в списке процессов и потоков;

-выводить список сервисов внутри процессов – хостов сервисов с выводом отображаемого имени и описания;

-отображать процессы, которые являются частью задания и детальные сведения о заданиях;

-отображать время запуска процессов и потоков;

-выводить полный список файлов, отображённых в память (а не только dllмодулей);

-приостанавливать процесс;

-принудительно завершать индивидуальные потоки;

-выявлять процессы, использующие наибольшую долю процессорного времени за определённый период;

-отображать дерево процессов с возможностью свёртывания отдельных частей этого дерева;

-показывать список dll и файлов, отображаемых в память конкретным процессом;

-показывать активность потоков в каком-либо процессе;

-отображать лимиты памяти режима ядра и др.

Утилита Unlocker предназначена для обратной задачи. Она позволяет выявить процесс, которым данный файл отображён в память. Так, например, если Вы хотите удалить файл, а он занят процессом, то для удаления нужно завершить процесс. Зачастую пользователь не знает, каким именно процессом занят файл. Данная утилита позволяет легко определить имя данного процесса.

Оборудование для выполнения работы

Работа выполняется на персональных компьютерах с операционной системой Windows NT/2000\XP.

Порядок выполнения работы

1. Работа с диспетчером задач Windows.

1)Запустите несколько программ, например, командную строку (cmd.exe),

калькулятор (calc.exe) и проводник (explorer.exe).

2)Теперь запустите диспетчер задач одним из известных Вам способом.

3)Вы увидите список запущенных программ (рис. 1).

Рис. 1. Отображение списка открытых окон

4) Попробуйте запустить отсюда новую программу, например, iexplore.exe. Она должна появиться в окне диспетчера.

5)Увеличьте время обновления списка задач и запустите ещё одну программу, например, regedit.exe. Теперь её дескриптор появится в списке спустя некоторое время.

6)Переключитесь на окно любой из выбранных задач.

7)Посмотрите, каким процессом выполняется каждая задача, используя контекстное меню.

8)Попробуйте завершить процесс и посмотрите, что произойдёт с задачей.

9)Попробуйте завершить процесс, запущенный от имени system.

10)Измените параметры отображения информации о процессе. Активируйте значения « Количество чтений» и « Количество записей».

11)Посмотрите графики занятости процессора и памяти. В окне проводника запустите поиск файлов и снова посмотрите на графики.

12)Сделайте выводы о проделанной работе.

2. Работа с утилитой Process Explorer.

1)Запустите снова несколько приложений.

2)Запустите программу Process Explorer.

3)Вы увидите дерево процессов (рис. 2). Некоторые процессы отображаются розовым цветом, некоторые синим. Почему?

4)Проследите, какие параметры процесса отображаются.

5)Измените эти параметры. Добавьте отображение пользователя, запустившего процесс.

6)Запустите программу cmd.exe, а из неё - mspaint.exe. Вы увидите, что последняя является дочерней ветвью cmd.exe. Попробуйте завершить дерево процессов cmd.exe.

Рис. 2. Главное окно утилиты Process Explorer

7) Выберите какой-либо процесс и посмотрите список библиотек и файлов, которые он отображает в память.

8) Посмотрите всю информацию о процессе: путь к образу, объём занимаемой памяти, время работы в пользовательском режиме и режиме ядра,

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

9) Проведите сравнительный анализ диспетчера задач Windows и утилиты

Process Explorer и сделайте выводы.

3. Работа с утилитой Unlocker.

1) Откройте какой-нибудь файл так, чтобы он был отображён в память,

например, C:\winnt\media\notify.wav с помощью проигрывателя Windows.

2)Когда файл открыт, попробуйте удалить его. Система выдаст сообщение, что файл занят и не может быть удалён.

3)Щёлкните правой кнопкой мыши и в меню выберите пункт «Unlocker».

4)Программа покажет список процессов (рис. 3), которыми занят файл.

5)Завершите все перечисленные процессы. Теперь файл без проблем удалится.

6)Посмотрите список процессов, занимающих модули kernel32.dll и user32.dll.

7)Сделайте выводы.

Рис. 3. Утилита Unlocker: список процессов, блокирующих файл

Содержание отчёта

1.Титульный лист работы.

2.Формулировка цели и задач работы.

3.Список используемых программ.

4.Результаты выполнения действий над процессами.

5.Краткие выводы по проделанной работе.

Контрольные вопросы

1.Что такое программа (задача) и процесс? В чём их отличие?

2.Что такое файл образа процесса?

3.Назовите два режима доступа операционной системы к процессору. В чём их различие? Для чего нужна такая архитектура?

4.Что такое поток? В чём его отличие от процесса?

5.Что такое дерево процесса? Как идентифицируются процессы?

6.Из каких компонентов состоит процесс Windows?

7.Из каких компонентов состоит поток Windows?

8.Какими системными функциями создаётся процесс?