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, повышают эффективность работы процессов, а также предоставляют некоторую свободу для программиста в реализации наиболее эффективной, по его мнению, работы с памятью его программы.


Приложение

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


 

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

81660. Різноманітність тварин в природі. Я і Україна (природознавство) 553.5 KB
  Удосконалювати навички роботи в малих групах формувати уміння порівнювати тварингрупувати їх. Виховна: виховувати любов до природи дбайливе ставлення до тварин. На нас чекають цікаві пригодиви дізнаєтесь які є групи тварин.
81661. Русская литерная критика эпохи предромантизма:полемика о «старом» и «новом» слоге; дискуссии о принципах перевода «Иллиады» Гомера; дискуссии о новых поэтических жанрах 31.86 KB
  Начав перевод Илиады поэт вскоре убедился что традиционный александрийский стих не передаст стих Гомера. В результате напряженных творческих исканий он понял Гомера как народного поэта Древней Греции как поэта общественнонациональной темы. Следовательно чтобы понять и почувствовать Гомера не надо ориентироваться на современный изящный вкус Переводчику Гомера должно отречься от раболепства перед вкусом гостиных перед сей прихотливой утонченностью и изнеженностью обществ.
81662. Становление русской романтической критики в тв-ве В.А.Жуковского, К.Н.Батюшкова. Типологический анализ 1й из статей Жуковского 32.99 KB
  Типологический анализ 1й из статей Жуковского. Создание новой школы в русской поэзии и соответствующей запросам этой школы новой критики связано с именем Василия Андреевича Жуковского 1783 I8S2. Статьи Жуковского его размышления об искусстве в письмах и дневниках многочисленные эстетические конспекты являющиеся важным свидетельством активного самообразования и самоопределения богатейший материал для осмысления вклада поэта в русскую критику. Обращает на себя внимание тесная сращенность критической и поэтической мысли Жуковского...
81663. Литературная критика русского гражданственного романтизма: представители, принципы, проблематика, жанровое своеобразие статей. Роль декабристских альманахов в развитии русской романтической критики 28.98 KB
  Роль декабристских альманахов в развитии русской романтической критики. Обращавшиеся к характеристике данного периода и данного круга имен исследователи истории отечественной критики предлагали разные дефиниции: литературная критика декабристов критика революционноромантического направления критика гражданского романтизма критика гражданственного романтизма и т. Сами критики ни революционными романтиками ни тем более декабристами себя не называли. и во многом определивших темы и проблематику критики гражданственного романтизма...
81664. Типологический анализ статей А.А.Бестужева или В.К. Кюхельбекера. Жанровое и стилевое своеобразие статей 35.18 KB
  Если в статье Взгляд на нынешнее состояние русской словесности 1817 своем первом критическом выступлении в печати Кюхельбекер приветствовал обновление русской поэзии произошедшее благодаря деятельности Жуковского и воспринимал привнесенный им в литературу германический дух свободный и независимый как близкий нашему национальному духу то в статье О направлении нашей поэзия особенно лирической в последнее десятилетие 1824 он подвергал резкой критике школу Жуковского и в особенности ее подражателей за мелкость тем...
81665. Особенности развития русской литературной критики 1830-х гг. Романтическая критика на страницах ж-ла Н.А.Полевого «Московский телеграф» 35.24 KB
  Полевого создавал атмосферу новизны непрестанного поиска. Полевого; с романтических повестей Вечера на хуторе близ Диканьки начинает писательское поприще И. Полевого ярко раскрылись и в его рецензии на книгу АГалича Опыт науки изящного 1826. Полевого О романах Виктора Гюго и вообще о новейших романах 1832 обнаруживала ориентацию автора на романтизм в его французской разновидности.
81666. Философская критика (Д.В.Веневитинов, И.В.Киреевский и др.). Литературно-критическая и журналистская деятельность Надеждина 37.23 KB
  Манна философская предоснова восприятия искусства строго говоря присущая любой художественной теории в том числе классицизму романтизму и т. здесь уже ощущается недостаточной и уступает место целенаправленному включению искусства в философское наукоучение. Высокую оценку Галича получали идеи натурфилософии Шеллинга понимание природы как целесообразного целого где происходит взаимодействие противоположно направленных сил и основные положения шеллинговой философии искусства: представление о самоценности искусства об идеале как...
81667. А.С. Пушкин как литературный критик. Проблематика его литературно-критических статей и заметок; жанровое, стилевое своеобразие. Типологический анализ одной из работ 35.6 KB
  Его статьи и художественные произведения становились итогом долгих и основательных раздумий о самых разнообразных теоретических проблемах художественного творчества о предмете и назначении искусства о взаимосвязи писателя и общества об историзме и народности литературы роли критики в развитии эстетического вкуса читателей путях становления русского литературного языка и т. В многообразном по своему составу литературнокритическом наследии Пушкина есть и опыты больших историколитературных обобщений незавершенная статья О ничтожестве...
81668. Творчество А. С. Пушкина в критике разных эпох. Сравнительный типологический анализ статей В. Г. Белинского (8-я, 9-я, из цикла «Сочинения Александра Пушкина»), Д. И. Писарева («Пушкин и Белинский»), Д. С. Мережковского («Пушкин») 39.06 KB
  Пушкина в критике разных эпох. Белинского 8я 9я из цикла Сочинения Александра Пушкина Д. Вообще творчеству Пушкина Белинский посвящает огромное количество критических статей и сочинений. Обратимся к 89 статьям сочинения Александра Пушкина.