Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5ZTMNyz0U3.file-1.doc
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
291.84 Кб
Скачать
    1. 3.4. Отчет по лабораторной работе

Отчет по лабораторной работе должен содержать:

– тексты полученных заданий с номером варианта;

– тексты программ с комментариями (в комментариях отобразить изменения содержимого регистров и флагов по ходу выполнения программы).

Кроме отчета и демонстрации работающих программ студент отвечает на вопросы по теоретической части, относящейся к данной лабораторной работе.

4. Лабораторная работа № 6

ПОЛУЧЕНИЕ ОСНОВНЫХ СВЕДЕНИЙ О ЗАПУЩЕННЫХ В СИСТЕМЕ ПРОЦЕССАХ

    1. 4.1. Общие методические указания по выполнению лабораторной работы

Цели работы.

Подготовительная часть:

– изучить принципы получения информации о текущих процессах операционной системы;

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

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

Среда выполнения:

Delphi.

    1. 4.2. Теоретические сведения

4.2.1. Общие сведения о процессах и потоках

Процессом обычно называют экземпляр выполняемой программы.

Процесс в Windows состоит из следующих компонентов:

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

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

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

Процессы рассматриваются операционной системой как заявки или контейнеры для всех видов ресурсов, кроме одного – процессорного времени. Этот важнейший ресурс распределяется операционной системой между другими единицами работы – потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.

Каждый процесс начинается с одного потока, но новые потоки могут создаваться (порождаться) процессом динамически.

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

4.2.2. Описание свойств и методов компонента StringGrid

Компонент StringGrid представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редактируемыми.

Таблица делится на две части – фиксированную и рабочую. Фиксированная служит для показа заголовков столбцов/рядов и для ручного управления их размерами. Обычно фиксированная часть занимает крайний левый столбец и самый верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных столбцов и рядов (если эти свойства имеют 0, таблица не содержит фиксированной зоны). Рабочая часть – эта остальная часть таблицы. Она может содержать произвольное количество столбцов и рядов, более того, эти величины могут изменяться программно. Рабочая часть может не умещаться целиком в пределах окна компонента, в этом случае в него автоматически помещаются нужные полосы прокрутки.

Основные свойства компонента StringGrid, определяющие отображаемый текст приведены в таблице 6.

Таблица 6

Основные свойства компонента TStringGrid

Cells[ACol, ARow: Integer]: string

Строка, содержащаяся в ячейке с индексами столбца и строки ACol и ARow.

Cols[Index: Integer]: TStrings

Список строк, содержащихся в столбце с индексом Index.

Rows[Index: Integer]: TStrings

Список строк, содержащихся в строке с индексом Index.

Вывод данных в таблицу осуществляется следующим образом:

StringGrid.Cells[a,b] := 'XXX';

где a – это индекс столбца, b – индекс строки (нумерация начинается с нуля).

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows — число фиксированных, не прокручиваемых столбцов и строк. Цвет фона фиксированных ячеек определяется свойством FixedColor. Свойства LeftCol и TopRow определяют соответственно индексы первого видимого на экране в данный момент прокручиваемого столбца и первой видимой прокручиваемой строки.

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

Свойство Options является множеством, определяющим многие свойства таблицы: наличие разделительных вертикальных и горизонтальных линий в фиксированных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goColSizing и goRowSizing), перемещать столбцы и строки (goColMoving и goRowMoving) и многое другое. Важным элементом в свойстве Options является goEditing — возможность редактировать содержимое таблицы.

Среди множества событий компонента StringGrid следует отметить событие OnSelectСell, возникающее в момент выбора пользователем ячейки. В обработчик этого события передаются целые параметры ACol и ARow — столбец и строка выделенной ячейки, и булев параметр CanSelect — допустимость выбора. Параметр CanSelect можно использовать для запрета выделения ячейки, задав его значение false. А параметры ACol и ARow могут использоваться для какой-то реакции программы на выделение пользователя.

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