Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ЛаБОРАТОРНАЯ работа 1 вводная



Теория

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

Многозадачная ОС создает виртуальную машину – абстракцию. В этом случае несколько программ должны одновременно находиться в оперативной памяти, а устройство управления периодически переключается с выполнения инструкций одной программы на выполнения инструкций другой. На аппаратном уровне это не имеет значения, что выполняются инструкции разных программ. Для устройства управления такое переключение это просто выполнение инструкции перехода. Однако с точки зрения пользователей это означает, что компьютер выполняет одну программу некоторое время, а потом переключается на выполнение другой (процессор это разделяемый ресурс). ОС реализует этот мультипрограммный подход, давая программистам возможность загружать программы в память, обеспечивая их выполнение, приостанавливая выполнение и т.д. Построение такого программного окружения это результат определенной стратегии, которая называется software abstractions. Так ядро создает абстракции объектов потоков на базе архитектуры фон Неймана. Исполнительная система использует абстракции ядра для создания модели процесса, в котором может исполняться поток. Поток не может выполнять программу, которая не находится в адресном пространстве его процесса, а потоки других процессов не могут выполняться в его адресном пространстве. В этом упражнение вы познакомитесь с процессами и потоками.

Task Manager (TASKMGR.EXE)

Для запуска щелкнуть правой кнопкой мыши на панели задач (в той области, которая не занята кнопками приложений), а затем выбрать в появившемся контекстном меню элемент Task Manager. Появится окно Windows NT Task Manager. По умолчанию, в окне Task Manager открыта вкладка Applications. Имеются еще вкладки Processes и Performance.

Вкладка Applications (Приложения)

В Applications отображается список работающих в системе приложений. Эта вкладка используется главным образом для того, чтобы закрывать зависшие приложения ( End Task ). Можно переключиться на выделенное приложение ( Switch On ) или запустить новое приложение ( New Task ).

Вкладка Processes(Процессы)

На этой вкладке приведен перечень всех процессов, выполняемых в системе. Это более длинный и подробный список, нежели приведенный на вкладке Applications. Здесь указывается имя процесса, идентификатор процесса, процессорное время (в процентах от общего времени) и объем памяти, используемый каждым процессом. Используя эту информацию, вы можете выявить “пожирателей” памяти. Task Manager помогает справиться со случайными проблемами, вызванными одним или несколькими невидимыми – и зависшими – экземплярами приложения (часто Microsoft Internet Explorer). Если пользователь жалуется, что программа не запускается, сколько бы он не щелкал на элементе или пиктограмме меню Start, проверьте информацию в Task Manager/Processes и поищите соответствующий exe-файл. Если найдете, остановите программу и все копии кнопкой End Process, и пользователь наверняка сможет работать дальше.

Вкладка Performance (Производительность)

Эта вкладка содержит сведения о памяти, а также графическое представление информации об использовании ресурсов процессора и памяти. Почти такие же сведения предоставляют объекты Processor и Memory в Performance Monitor, но гораздо проще посмотреть их графическое отображение здесь. Эта графическая информация позволяет сразу же увидеть, вызвана ли избыточная активность диска пробуксовкой виртуальной памяти (счетчик Commit Change Total почти достиг предельного значения, а степень использования центрального процессора неизменно высока). В этом случае необходимо изменить параметры виртуальной памяти. Кроме того, Task Manager может помочь вам обнаружить пожирателя ресурсов процессора. Если пользователь жалуется, что его система, работает слишком медленно, сначала посмотрите на вкладку Performance.

Process Viewer (PVIEW.EXE)

Process Viewer это часть окружения Visual C++. Вы можете вызвать его, набрав полное путевое имя, где у вас находится PVIEW.EXE в cmd.exe или вызвать его из “Start/Programs/Visual C++” меню. Process Viewer это графическое приложение Windows, которое выводит информацию о состоянии системы. Например, имя вашего компьютера. Кроме того, оно выводит список активных процессов, это теже самые процессы, которые Task Manager отображает в окне Processes. Дополнительно выводится информация, какое время процесс выполняется в режиме ядра, а какое время в пользовательском режиме. Первая строка “_Total” это суммарное время.

Process Viewer выводит информацию, которая используется при планировании и диспетчеризации потоков. В поле “Priority” выводится класс приоритета процесса, а в поле “Thread Priority” приоритет потока. Выбрав для просмотра процесс, вы получите список всех его потоков. Далее выбрав поток можно получить детальную информацию о нем (стартовый адрес, сколько раз происходило переключение контекста, динамический приоритет).

Process Viewer дает снимок состояния системы при запуске, и вы должны использовать Refresh для получения нового состояния.

Некоторые системные процессы

В Windows на каждой машине выполняется множество различных процессов. Рассмотрим некоторые из них.

System Idle Process. В этом процессе существует только один поток. Он присутствует в каждой системе. Выполняется в случае, если больше ничто не выполняется. Этот поток процесса называют еще потоком процесса “обнуления страниц”.

System. Процесс System служит носителем особых потоков, работающих только в режиме ядра, - системных потоков режима ядра (kernel-mode system threads), которые выполняют различные функции ОС. Этот процесс используется различными частями NTOSKRNL или драйверами. В этом процессе запущено много потоков.

Session Manager (SMSS.EXE). Этот процесс инициализирует различные части исполнительной системы и подсистемы Win32. А после завершения инициализации обеспечивает взаимодействие между приложениями и отладчиком.

Win 32 Subsystem (CSRSS.EXE). Подсистема Win32 управляет дисплеем и клавиатурой, а также выполняет другую работу по поддержке Win32 API.

Windows Logon (WINLOGIN.EXE). Когда пользователь собирается начать или закончить работу в системе, этот процесс позволяет это сделать. В результате успешной регистрации пользователя этот процесс создает процесс USERINIT.EXE. Этот процесс, в свою очередь, запускает другой процесс EXPLORER.EXE для управления взаимодействием между пользователем и компьютером. После этого USERINIT.EXE заканчивается.

Local Security Authority Server (LSASS.EXE). Во время аутентификации пользователя процесс WINLOGIN взаимодействует с сервером LSA или с LSASS процессом. Он выполняет пользовательскую часть процедуры аутентификации для доступа к объектам, взаимодействуя с Executive Security Reference Monitor.

Services (SERVICES.EXE). Система предоставляет сервисы, которые могут быть драйверами или некоторыми системными процессами. Примерами сервисов являются части ОС, которые управляют спулингом при печати или сетевыми возможностями. SERVICES создают другие процессы в зависимости от того, как сконфигурирована система.

Чему нужно научиться

У вас должно появиться интуитивное представление о том, что такое процессы и потоки.

Задание

1. Проверьте, что все приложения закрыты

2. Запустите cmd.exe (“Start/Programs/Command prompt”)

3. Наберите команду hostname, чтобы узнать имя вашего компьютера

4. Наберите winmsd.exe (Windows NT Diagnostics) или “Start/Programs/Administrative Tools/ Windows NT Diagnostics”.

· Определите версию системы

· Какой тип CPU используется

· Сколько физической памяти

· Сколько памяти используется ядром

· Сколько сервисов запущено

5. Закройте winmsd.exe.

6. Запустите pview.exe

· Сколько процессов запущено

· Запущен ли процесс Idle

· Сколько времени процесс Idle проводит в режиме ядра, а сколько в пользовательском режиме

· Какой класс приоритета у процесса Idle

· Какой приоритет у потока процесса Idle

· Какой динамический приоритет у потока процесса Idle

· Найдите в списке процесс pview

· Какой класс приоритета у процесса pview

· Сколько потоков запущено в процессе pview

· Какой приоритет у потоков процесса pview

· Какой динамический приоритет у каждого потока процесса pview

· Есть ли процессы в которых запущено больше чем два потока

7. Запустите Task Manager

· Какие приложения запущены

· Посмотрите на вкладку Processes (Task Manager) поле PID (идентификатор процесса) и на номер в скобках в pview. Есть ли между ними связь

· Сколько описателей открыто в системе

· Сколько описателей открыто в системе

· Сколько процессов существует в системе

· Сколько потоков существует в системе


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 843; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.02 с.)
Главная | Случайная страница | Обратная связь