Главная страница
Навигация по странице:

  • ЛАБОРАТОРНАЯ РАБОТА №5 МОНИТОРИНГ ПРОИЗВОДИТЕЛЬНОСТИ ОС WINDOWS Цель работы

  • 1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 1.1 Мониторинг производительности ОС с помощью системного монитора

  • Счетчики производительности.

  • ЛАБОРАТОРНАЯ РАБОТА №6 ФАЙЛОВЫЕ СИСТЕМЫ ОС LINUX Цель работы

  • 1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Файл

  • Система файлов: каталоги

  • Допустимые имена файлов и каталогов Linux всегда различает

  • 1.2 Размещение компонентов системы: стандарт FHS

  • Пример 1. Стандартные каталоги в / . Использование утилиты ls

  • ЛАБОРАТОРНЫЕ РАБОТЫ ОС (Для допуска необходимо сделать 1 или 6 л. Практикум по дисциплине Операционные системы (ОС). Цели лабораторных занятий это формирование у будущих бакалавров направлений подготовки 09. 03. 01


    Скачать 2.71 Mb.
    НазваниеПрактикум по дисциплине Операционные системы (ОС). Цели лабораторных занятий это формирование у будущих бакалавров направлений подготовки 09. 03. 01
    Дата15.10.2022
    Размер2.71 Mb.
    Формат файлаpdf
    Имя файлаЛАБОРАТОРНЫЕ РАБОТЫ ОС (Для допуска необходимо сделать 1 или 6 л.pdf
    ТипПрактикум
    #735270
    страница10 из 21
    1   ...   6   7   8   9   10   11   12   13   ...   21

    uses Arrays;
    procedure ParallelMult(a,b,c: array [,] of
    real
    ; n: integer
    );
    begin
    {$omp parallel for }
    for var i:=
    0
    to n-
    1
    do
    for var j:=
    0
    to n-
    1
    do
    begin
    c[i,j]:=
    0
    ;
    for var l:=
    0
    to n-
    1
    do
    c[i,j]:=c[i,j]+a[i,l]*b[l,j];
    end;
    end;
    procedure Mult(a,b,c: array [,] of
    real
    ; n: integer
    );
    begin
    for var i:=
    0
    to n-
    1
    do
    for var j:=
    0
    to n-
    1
    do
    begin
    c[i,j]:=
    0
    ;
    for var l:=
    0
    to n-
    1
    do
    c[i,j]:=c[i,j]+a[i,l]*b[l,j];
    end;
    end;
    const n =
    300
    ;
    begin
    var a := Arrays.CreateRandomRealMatrix(n,n);
    var b := Arrays.CreateRandomRealMatrix(n,n);
    var c := new
    real
    [n,n];
    ParallelMult(a,b,c,n); writeln(
    'Параллельное перемножение матриц:
    '
    ,Milliseconds,
    ' миллисекунд'
    );

    98
    var d := Milliseconds;
    Mult(a,b,c,n); writeln(
    'Последовательное перемножение матриц: '
    ,Milliseconds-d,
    ' миллисекунд'
    );
    end.
    При отсутствии на ПК платформы PascalABC.Net для выполнения работы используется файл multMatrix.exe из каталога лабораторной работы.
    Таблица 1.
    Индивидуальные задания для бригад
    №№ бригад
    Алгоритм
    1
    Быстрая сортировка QuickSort
    2
    Ханойские башни Hanoi
    3
    Нахождение суммы простых чисел SumOfPrime
    4
    Сложение матриц
    5
    Сортировка методом пузырька
    3 ОТЧЕТ О РАБОТЕ
    Готовится в письменном виде один на бригаду. Содержание отчета:
    1. Таблицы, содержащие результаты выполнения п. 2 (времена выполнения программ на одном, двух и более ядрах ЦП)
    2. Результаты обработки данных построенных в п.1 таблиц – теоретическая и эмпирическая оценки выигрыша в производительности.
    3. Оценки трудоемкости исследованных алгоритмов.
    4. Вывод
    4 КОНТРОЛЬНЫЕ ВОПРОСЫ
    1. Симметричная и асимметричная архитектуры аппаратных и программных средств.
    2. Достоинства симметричной архитектуры.
    3. Понятие SMP
    4. Закон Амдала
    5. Трудоемкость алгоритма
    6. Трудоемкость алгоритмов умножения матриц, сложения матриц и сортировки массива методом пузырька.
    7. Трудоемкость алгоритма быстрой сортировки

    99
    ЛАБОРАТОРНАЯ РАБОТА №5 МОНИТОРИНГ
    ПРОИЗВОДИТЕЛЬНОСТИ ОС WINDOWS
    Цель работы: практическое знакомство с методикой использования системного монитора (монитора производительности) perfmon для поиска узких мест в вычислительной системе
    1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    1.1 Мониторинг производительности ОС с помощью системного
    монитора
    Цель мониторинга работы ОС – поиск узких мест в системе, обусловленных нехваткой ресурсов – аппаратных или информационных. В качестве исходных данных для анализа узких мест могут использоваться данные, получаемые со счетчиков производительности.
    Счетчики производительности. Семейство операционных систем
    MS Windows получает информацию о производительности от аппаратных и программных компонентов компьютера. Системные компоненты
    (драйверы режима ядра) в ходе своей работы генерируют данные о производительности.
    Такие компоненты называются
    объектами
    производительности. В ОС имеется ряд объектов производительности, обычно соответствующих аппаратным компонентам, таким как память, процессоры, внешние устройства и т. д.
    Каждый объект производительности предоставляет счетчики, которые собирают данные производительности (performance counters). Счетчик производительности представляет собой механизм, с помощью которого в
    MS Windows производится сбор сведений о производительности различных системных ресурсов.
    В
    MS
    Windows имеется предопределенный набор счетчиков производительности, с которыми можно взаимодействовать — некоторые из этих счетчиков присутствуют на всех компьютерах с установленной ОС Windows, а некоторые относятся к определенным приложениям и имеются только на некоторых компьютерах. Каждый счетчик относится к определенной области функций системы. В качестве примера можно привести счетчики, следящие за загрузкой процессора, использованием памяти и количеством полученных или переданных по сети байтов. Экземпляр компонента

    100
    PerformanceCounter можно использовать для непосредственного подключения к существующим счетчикам производительности и для динамического взаимодействия с данными этих счетчиков.
    Счетчик производительности следит за поведением объектов производительности компьютера. Эти объекты включают в себя физические компоненты, такие как процессоры, диски, память и системные объекты, такие как процессы, потоки и задания. Системные счетчики, относящиеся к одному и тому же объекту производительности, группируются в категории, отражающие их общую направленность. При создании экземпляра компонента PerformanceCounter сначала указывается категория, с которой будет взаимодействовать компонент, затем внутри этой категории выбирается счетчик, с которым будет осуществляться взаимодействие.
    Примером категории счетчиков производительности в Windows является категория «Память». Системные счетчики в этой категории отслеживают такие данные, как количество доступных и кэшируемых байтов. Чтобы узнать в приложении количество кэшируемых байтов, нужно создать экземпляр компонента PerformanceCounter и связать его с категорией «Память», а затем выбрать в этой категории соответствующий счетчик (в данном случае счетчик кэшируемых байтов).
    Некоторые объекты (такие как Память и Сервер) имеют только один экземпляр, другие объекты производительности могут иметь множество экземпляров. Если объект имеет множество экземпляров, то можно добавить счетчики для отслеживания статистики по каждому экземпляру или для всех экземпляров одновременно.
    Например, если в системе установлены несколько процессоров, или процессор имеет несколько ядер, то объект Процессор будет иметь множество экземпляров. В случае, если объект поддерживает множество экземпляров, то при объединении экземпляров в группу появятся родительский экземпляр и дочерние экземпляры, которые будут принадлежать данному родительскому экземпляру.
    В счетчиках производительности сохраняются данные о различных частях системы. Эти значения не запоминаются как записи, но они сохраняются, пока для заданной категории дескриптор остается открытым в памяти. Процесс извлечения данных из счетчика производительности называется получением выборки данных. При получении выборки

    101 происходит извлечение непосредственного или рассчитанного значения счетчика.
    В зависимости от определения счетчика это значение может соответствовать текущему использованию ресурса (мгновенное значение) или может быть средним значением двух измерений за период времени между выборками. Например, при извлечении значения счетчика потоков из категории Process для конкретного процесса извлекается число потоков на момент последнего измерения. Полученная величина является мгновенным значением. Тем не менее, при извлечении значения счетчика
    Pages/Sec категории Memory извлекается значение в секундах, которое вычисляется на основе среднего числа страниц, полученных между двумя последними выборками.
    Использование ресурсов может сильно изменяться в зависимости от работы в различное время дня. Поэтому счетчики производительности, отражающие процент использования ресурсов за интервал, являются более информативным средством измерения, чем вычисление среднего на основе мгновенных значений счетчиков. Средние значения могут включать в себя данные, соответствующие запуску службы или другим событиям, что на короткий период приведет к выходу значений далеко за пределы диапазона, и, следовательно, к искажению результатов.
    Для работы со счетчиками производительности используется встроенная в ОС Windows программа Perfomance Monitor (perfmon.exe).
    Она не представлена в Главном меню, но ее всегда можно запустить посредством команды “Выполнить”, далее в строке набрать perfmon.exe. В
    ОС MS Vista используется меню Поиск, в строке поиска вводится имя запускаемого приложения. Для добавления счетчиков необходимо вызвать правой кнопкой мыши контекстное меню на поле графиков (рис. 1), выбрать объект, счетчик, экземпляры счетчика и нажать кнопку
    “Добавить”.

    102
    Рисунок 1. Внешний вид программы Perfomance Monitor в MS
    Windows 7
    В качестве примера рассмотрим последовательность действий при построения графика зависимости размера ошибок страницы/c страниц процесса Блокнот (Notepad) от времени.
    1. Запустить Блокнот.
    2. Запустить системный монитор perfmon.
    3. Используя кнопку Удалить (рис.1), очистить окно вывода и перечень выводимых графиков.
    4. Правой кнопкой мыши вызвать контекстное меню, выбрать Пункт
    Добавить счетчики.
    5. В окне Добавить счетчики (рис.2) выбрать из списка Объект категорию Процесс, далее из списка процессов выбрать процесс notepad, выбрать счетчик Ошибок страницы/c из списка счетчиков – рис. 2.
    6. Нажать кнопки Добавить и ОК
    Примечание. Для просмотра пояснений о том, какие данные предоставляет конкретный счетчик, используется кнопка Объяснение в диалоговом окне Добавить счетчики (рис. 2).
    Удалить

    103
    Рисунок 2. Добавление нового счетчика
    Управление формой представления графиков производится с помощью окна свойств, которое открывается с помощью кнопки Свойства.
    Диапазон значений вертикальной шкалы задается в окне Свойства: системный монитор см. рис. 3.
    Рис. 3-Окно Свойства: системный монитор, закладка График
    Свойства

    104
    В окне Свойства необходимо задать максимальное и минимальное значения вертикальной шкалы и нажать кнопку Применить.
    На рис. 4 показан полученный график изменения Ошибок страницы/c программы notepad в процессе создания текстового файла.
    Рис. 4 График изменения Ошибок страницы/c процесса notepad при создании файла
    2 МЕТОДИКА ВЫПОЛНЕНИЯ
    1. Построить графики изменения количества потоков приложений Notepad и Open Office при создании документа, содержащего текст из одного слова.
    2. Для приложения Калькулятор построить 2-3 наиболее динамично изменяющихся графика изменения текущего приоритета потоков при вычислении значения арифметического выражения, перемещении калькулятора по экрану, перемещении курсора мыши по экрану в области окна калькулятора.
    3. Для приложения Open Office построить график изменения объема используемого файла подкачки при последовательном открытии 3-4 файлов увеличивающегося размера.
    4. Выполнить индивидуальные задания для бригад согласно (табл. 1).

    105
    Таблица 1.
    Индивидуальные задания для бригад
    №№ бригад
    Задание
    1, 3
    Для программы Проводник построить графики изменения количества потоков в процессе запуска приложения
    2, 4
    Показать характер изменения во времени общего количества выполняющихся с системе потоков
    5, 7, 8
    Для каждого ядра процессора выяснить, в каком режиме ядро работает больше времени
    – пользовательском или системном
    6, 9, 10
    Для каждого ядра процессора выяснить, сколько процентов времени ядро выполняет обработку прерываний.
    3 ОТЧЕТ О РАБОТЕ
    Готовится в письменном виде с помощью текстового процессора.
    Содержание отчета:
    1. Результаты, полученные при выполнении заданий 1 - 3.
    2. Результаты, полученные при выполнении индивидуальных заданий.
    3. Выводы по работе.
    4 КОНТРОЛЬНЫЕ ВОПРОСЫ
    1. Назначение счетчиков производительности.
    2. Категории и экземпляры счетчиков.
    3. Управление параметрами создаваемых графиков (масштаб, цвет и толщина линий).
    4. Влияние активности окна приложения на текущий приоритет его потоков.

    106
    ЛАБОРАТОРНАЯ РАБОТА №6 ФАЙЛОВЫЕ СИСТЕМЫ ОС LINUX
    Цель работы – практическое знакомство с организацией данных основной файловой системы ОС Linux и используемыми утилитами.
    1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    Файл
    Данные, хранящиеся на любом носителе, образуют файл Linux.
    Более того, многие устройства, подключенные к компьютеру (начиная с клавиатуры и заканчивая любыми внешними устройствами), Linux представляет как файлы (так называемые специальные файлы). В Linux определено несколько различных типов файлов. В основном пользователь имеет дело с файлами трех типов: обычными файлами, предназначенными для хранения данных, каталогами и файлами-ссылками.
    Система файлов: каталоги
    Файловая система имеет иерархическую структуру. Linux может работать с различными типами файловых систем. В этой работе будут описаны возможности файловой системы Ext3fs. В файловой системe
    Ext3fs каждый каталог - это отдельный файл особого типа ("d", от англ.
    "directory"), отличающийся от обычного файлас данными: в нем могут содержаться только ссылки на другие файлыикаталоги.
    Допустимые имена файлов и каталогов
    Linux всегда различает заглавные и строчные буквы в именах файлов и каталогов, поэтому "student", "Student" и "STUDENT" будут тремя разными именами.
    Есть несколько символов, допустимых в именах файлов и каталогов, которые нужно использовать с осторожностью. Это спецсимволы "*", "\",
    "&", "<", ">", ";", "(", ")", "|", а также символы пробела и табуляции.
    Кодировки и раcширения
    В Linux в именах файлов и каталогов допустимо использовать не только символы латинского алфавита, но и любые символы любого языка.
    В файловой системеLinux нет никаких предписаний по поводу расширения: в имени файла может быть любое количество точек (в том числе ни одной), а после последней точки может стоять любое количество символов. Хотя расширения не обязательны, они широко используются: расширение позволяет программе, не открывая файл, только по его имени определить, какого типа данные в нем содержатся. Определить тип содержимого файла можно и на основании самих данных (сигнатур).
    Многие форматы предусматривают указание в начале файла, как следует интерпретировать дальнейшую информацию.

    107
    В Linux есть утилита file, которая предназначена для определения типа содержащихся в файле данных. Эта утилита никогда не доверяет расширению файла (если оно присутствует), а анализирует сами данные. file различает не только разные данные, но и разные типы файлов.
    1.1 Дерево каталогов
    В большинстве современных файловых систем используется иерархическая модель организации данных: существует один каталог, объединяющий все данные в файловой системе - это "корень" всей
    файловой системы, корневой каталог. Корневой каталог может содержать любые объекты файловой системы, и в частности, подкаталоги.
    Подкаталоги также могут содержать любые объекты файловой системы и
    подкаталоги и т. д. Таким образом, все, что записано на диске - файлы,
    каталоги и специальные файлы - обязательно "принадлежит" корневому
    каталогу: либо непосредственно (содержится в нем), либо на некотором уровне вложенности.
    Структуру файловой системы можно представить наглядно в виде дерева, "корнем" которого является корневой каталог, а в вершинах расположены все остальные каталоги. На рис. 1 изображено дерево
    каталогов, курсивом обозначены имена файлов, прямым начертанием - имена каталогов.
    Рис. 1. Дерево каталогов в ext3fs
    В любой файловой системе Linux всегда есть только один корневой
    каталог, который называется "/". Пользователь Linux всегда работает с единым деревом каталогов, даже если разные данные расположены на разных носителях: жестких или сетевых дисках, съемных дисках, CD-ROM и т. п.
    Такое представление отличается от технологии, применяемой в
    Windows, где для каждого устройства, на котором есть файловая система, используется свой корневой каталог, обозначенный литерой, например "a",
    "c", "d" и т. д. Для того чтобы отключать и подключать файловые системы на разных устройствах в состав одного общего дерева, используются процедуры монтирования и размонтирования. После того, как файловые

    108 системы на разных носителях подключены к общему дереву, содержащиеся на них данные доступны так, как если бы все они составляли единую файловую систему: пользователь может даже не знать, на каком устройстве какие файлы хранятся.
    Положение любого каталога в дереве каталогов описывается при помощи полного пути. Полный путь всегда начинается от корневого каталога и состоит из перечисления всех вершин, встретившихся при движении по ветвям дерева до искомого каталога включительно.
    Названия соседних вершин разделяются символом "/" ("слэш"). В Linux
    полный путь, например, до каталога "methody" в файловой системе, приведенной на рис.
    1, записывается следующим образом
    /home/methody.
    1.2 Размещение компонентов системы: стандарт FHS
    Фрагмент дерева каталогов типичной файловой системы Linux приведен на рис. 1. Утилита ls выведет список всего, что в этом каталоге содержится.
    Пример 1. Стандартные каталоги в / . Использование утилиты ls
    [student@localhost

    ]$ ls / bin dev home lost+fount misc net proc tmp var boot etc lib sbin usr
    В примере 1 утилита ls вывела список подкаталогов корневого каталога. Этот список будет примерно таким же в любом дистрибутиве
    Linux. В корневом каталоге Linux-системы обычно находятся только подкаталоги со стандартными именами. Более того, не только имена, но и
    тип данных, которые могут попасть в тот или иной каталог, также регламентированы стандартом
    Filesystem
    1   ...   6   7   8   9   10   11   12   13   ...   21


    написать администратору сайта