66534

Управление памятью в ОС UNIX и Windows

Лабораторная работа

Информатика, кибернетика и программирование

Напишите набор программ, удовлетворяющих теоретическому понятию оверлея. Каждый оверлей должен осуществлять какие-либо вычисления, выводя результаты в терминал, далее он передает управление другому оверлею из комплекса. Всего в комплексе должно быть не менее 4 оверлеев.

Русский

2014-08-22

46 KB

1 чел.

Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

—————————

Кафедра информационной безопасности компьютерных систем

ОТЧЕТ

по лабораторной работе №4

«Управление памятью в ОС UNIX и Windows»

по курсу «Операционные системы»

Студент:

Никитин А. С.

гр. 2088/1

Преподаватель:

Степанова Т. В.

Санкт-Петербург — 2011

1. Формулировка задания

Цель работы – изучение аспектов организации работы с внутренней и внешней памятью в ОС семейств Unix и Windows.

2. Использованные теоретические сведения

3. Результаты работы

3.1. Выполнение индивидуального задания

  1.  Напишите набор программ, удовлетворяющих теоретическому понятию оверлея. Каждый оверлей должен осуществлять какие-либо вычисления, выводя результаты в терминал, далее он передает управление другому оверлею из комплекса. Всего в комплексе должно быть не менее 4 оверлеев.
    Все оверлеи почти одинаковы, за исключением последнего, который не загружает новый оверлей, а просто завершает работу.
    #include <stdio.h>

    int main(int argc, char **argv) {
       
    int i;
       
    puts("Overlay #1");
       
    for (i = 0; i < 10; i++) printf("%d ", i); //Оверлеи по очереди //выводят числа от 0 до 39
       
    puts("\b");
       
    execve("overlay2", NULL, NULL); //Запуск следующего оверлея
       
    return 0;
    }
  2.  Напишите программу, которая будет измерять среднее время доступа к внутренней и внешней памяти (чтение данных из оперативной памяти и с внешней памяти, в качестве которой выступает CD-ROM диск). Сравните и обоснуйте полученные результаты.
    #include <stdio.h>
    #
    include <time.h>
    #
    include "windows.h"

    #
    define N 134217728 //Будет производиться чтение 128 Мб из файла

    int main(int argc, char **argv) {
       
    HANDLE file;
       
    char *src, *dest;
       
    long int tm;
       
    int rd;
       
    file = CreateFileA("E:\\Sleep.flac", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //Открытие файла
       
    if (file == INVALID_HANDLE_VALUE) return 0;
       
    puts("File opened");
    //Далее идёт выделение памяти под два буфера, в один из которых будет
    //прочитан файл, а во второй будет скопировано содержимое первого
       
    src = (char *) GlobalAlloc(GPTR, N*sizeof(char));
       
    if (src == NULL) {
           
    CloseHandle(file);
           
    return 0;
       }
       
    dest = (char *) GlobalAlloc(GPTR, N*sizeof(char));
       
    if (dest == NULL) {
           
    CloseHandle(file);
           
    GlobalFree(src);
           
    return 0;
       }
       
    puts("Memory allocated");
       
    tm = clock();
    //Чтение файла
       
    ReadFile(file, (LPVOID) src, N*sizeof(char), (PDWORD) &rd, NULL);
       
    tm = clock() - tm;
       
    printf("File read - %ld ms\n", tm);
       
    CloseHandle(file); //Закрытие файла
       
    tm = clock();
    //Копирование памяти
       
    CopyMemory((PVOID) dest, (PVOID) src, (SIZE_T) N*sizeof(char));
       
    tm = clock() - tm;
       
    printf("Memory copied - %ld ms\n", tm);
       
    GlobalFree(src); //Освобождение памяти
       
    GlobalFree(dest);
       
    return 0;
    }

Чтение с CD

Чтение из памяти

Первый запуск

34485 мс

93 мс

Второй запуск

140 мс

94 мс

После первого запуска программы, данные с CD-диска кешируются, и если сразу запустить программу второй раз, то чтение пройдёт гораздо быстрее.

3.2. Ответы на контрольные вопросы

  1.  Где хранится адрес таблицы сегментов?
    Адрес таблицы сегментов хранится в дескрипторе процесса.
  2.  Предположим, что в адресном пространстве процесса располагаются таблицы используемых процессом сегментов и страниц. Каким образом ядро может выгрузить это пространство из памяти?
    Сначала выгружаются все страницы и сегменты, кроме тех, в которых хранятся таблицы. После этого можно выгрузить таблицы, но в дескрипторе процесса необходим дополнительный параметр, указывающий на факт выгрузки таблиц. После этого, при необходимости доступа к какой-либо странице, ядро сможет сначала загрузить таблицу, а потом необходимую страницу.
  3.  Что следует предпринять программе обработки отказов в том случае, если в системе исчерпаны страницы памяти?
    Необходимо выбрать одну из страниц, и выгрузить её. Как правило это страницы, к которым было меньше всего обращений за какой-то промежуток времени, или к которым дольше всего не было обращений.

4. Выводы

Механизмы, использующиеся для работы с памятью в ОС UNIX и Windows, повышают эффективность работы процессов, а также предоставляют некоторую свободу для программиста в реализации наиболее эффективной, по его мнению, работы с памятью его программы.


Приложение

Исходные тексты программ


 

А также другие работы, которые могут Вас заинтересовать

46070. История развития учения о классификации речевых нарушений 17.5 KB
  История развития учения о классификации речевых нарушений.Куссмауля который подверг критическому анализу сложившиеся ранее представления о видах речевых нарушений систематизировал их упорядочил терминологию. В этой классификации было много общего: клинический подход связь выделенных нарушений с теми или иными нозологическими формами заболеваний а также язык описания в котором применялись термины составленные из латинских и греческих словообразований. Между классификациями прослеживаются и несовпадения обусловленные разными принципами...
46071. Характеристика основных форм речевых нарушений в соответствии с клинико-педагогической классификацией 34.5 KB
  Рассматриваемых в данной классификации можно подразделить на две большие группы в зависимости от того какой вид речи нарушен: устная или письменная. Нарушения устной речи могут быть разделены на 2 типа: фонационного внешнего оформления высказывания которые называют нарушениями произносительной стороны речи; структурносемантического внутреннего оформления высказывания которые называют системными или полиморфными нарушениями речи. Бывает изолированной или входит в состав ряда других нарушений речи. Брадилалия – патологически...
46072. Характеристика основных форм речевых нарушений в соответствии с психолого-педагогической классификацией 25 KB
  Это позволило строить ее на основе лингвистических и психологических критериев среди которых учитываются структурные компоненты речевой системы звуковая сторона грамматический строй речи словарный запас функциональные компоненты речи соотношение видов речевой деятельности устной и письменной. Нарушения речи в данной классификации подразделяются на две группы.Фонетикофонематическое недоразвитие речи – нарушение формирования произносительной системы родного языка у детей с различными речевыми расстройствами вследствие дефектов...
46073. Логопедическое воздействие как педагогический процесс. Принципы и методы логопедического воздействия 28.5 KB
  Логопедическое воздействие как педагогический процесс. Логопедическое воздействие представляет собой педагогический процесс в котором реализуются задачи корригирующего обучения и воспитания. Логопедическое воздействие опирается на общедидактические принципы: научности; воспитывающего характера обучения;систематичности и последовательности; доступности; сознательности; активности; индивидуального подхода и др. Логопедическое воздействие опирается на специальные принципы: этиопатогенетический ;системности и учета структуры речевого...
46074. Дислалия. Сведения из истории изучения нарушений звукопроизношения. Характеристика распространенности и симптоматики 14.5 KB
  Дислалия. Дислалия от греческого дис приставка означающая частичное расстройство и лалио говорю – нарушение звукопроизношения при нормальном слухе и сохранной иннервации речевого аппарата. Впервые в научное обращение термин дислалия ввел профессор Вильнюсского университета врач И.20 века понятие дислалия претерпело существенные изменения.
46075. Дислалия. Классификация нарушений звукопроизношения 25 KB
  К ней относятся дефекты воспроизведения звуков речи фонем при отсутствии органических нарушений в строении артикуляционного аппарата. При функциональной дислалии несформированными оказываются специфические речевые умения произвольно принимать позиции артикуляторных органов необходимые для произношения звуков. Это может быть связано с тем что у ребенка не образовались акустические или артикуляционые образцы отдельных звуков. Фонемы не различаются по своему звучанию что приводит к замене звуков.
46076. Методика логопедического воздействия при функциональной дислалии (В 65) 25 KB
  Основной целью логопедического воздействия при дислалии является формирование умений и навыков правильного воспроизведения звуков речи. Ребенок должен научиться: узнавать звуки речи отличать один от другого по акустическим признакам; отличать нормированное произнесение звука от ненормированного; осуществлять слуховой контроль и оценивать качество произносимого звука; принимать необходимые артикуляционные позиции обеспечивающие нормированный звук; варьировать артикуляционные уклады звуков в зависимости от их сочетаемости с другими в...
46077. Ринолалия. Причины, механизмы, основные формы нарушения 29 KB
  Такое нарушения резонанса происходит в результате неправильного направления голосовой или дыхательной струи вследствие механического дефекта носовой полости носоглотки мягкого и твердого неба или расстройства функции мягкого неба. Назальный носовой оттенок речи связан с наличием широкого сообщения между ротовой и носовой полостью и недостаточным смыканием носоглоточного прохода изза укороченного мягкого неба. Расстройство звукообразования зависит : от нарушения деятельности мышечного аппарата мягкого неба глотки и языка; от...
46078. Система коррекционного воздействия при ринолалии в дооперационный период 29.5 KB
  Коррекция гласных предусматривает продвижение языка к нижним зубам и произнесение их на диафрагмальном выдохе в грудном регистре. Начинают с протяжного произнесения гласных ааа эээ на мягком выдохе в грудном регистре. Постановка гласных начинается с а и э которые к этому времени достаточно отработаны артикуляционными упражнениями. Это обусловлено на изменении силы необходимой для удержания сегментов неба в горизонтальном положении и на возрастании объема глоточной полости при артикуляции гласных из которых у и обладают наиболее...