66534

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

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

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

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

Русский

2014-08-22

46 KB

2 чел.

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

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

—————————

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

ОТЧЕТ

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


Приложение

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


 

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

30234. Информационные ресурсы общества 25.5 KB
  Информационный кризис начала 70х годов ХХ века проявился в снижении эффективности информационного обмена: резко возрос объем публикуемых данных; между группами разных специалистов стало трудно общаться; возрос объем неопубликованной информации; выросла проблема межязыкового обмена в мире. информационного âвзрываâ лавинообразного роста объемов социоинформации сопровождающегося информационным âголодомâ физиологическими ограничениями человека в восприятии и переработке информации и трудностями в выделении нужной информации из...
30235. Понятие и структура оборотных фондов предприятий СКСиТ 89 KB
  Понятие об оборотных средствах их классификация. ОБОРОТНЫЕ СРЕДСТВА Текущие активы денежные средства вложенные в оборотные производственные фонды и фонды обращения. Состав оборотных средств: денежные средства наиболее ликвидная часть оборотных активов. Это денежные средства в кассе и денежные средства в банках в т.
30236. Расчет себестоимости туристского продукта и услуг социально-культурного сервиса 50.5 KB
  Но если цена продукции зависит от ситуации которая складывается на рынке то затраты на ее производство непосредственно зависят от финансовохозяйственной деятельности самого предприятия. Следовательно совокупные затраты предприятия представляют собой издержки производства и издержки обращения и они лежат в основе определения себестоимости продукции работ услуг. При определении себестоимости общего объема выпуска продукции все затраты группируются по принципу однородности по следующим элементам: материальные затраты за вычетом...
30237. Понятие и виды цен. Методы ценообразования и ценовая политика на предприятиях СКСиТ 146 KB
  Только после этого можно определять цели в соответствии с которыми устанавливаются цены. Сущность цены. Кривая спроса показывает что спрос потребителей на туристские услуги увеличивается по мере снижения цены на них. Производители напротив увеличивают предложение по мере роста цены.
30238. Налогообложение в СКСиТ 61.5 KB
  Предприятий для которых туризм представляет собой основной вид деятельности. принадлежность к группе малых предприятий регламентируется среднегодовой численностью персонала для различных видов деятельности в пределах 30100 человек. По общероссийскому классификатору отраслей народного хозяйства ОКОНХ основные предприятия туристской сферы относятся к отрасли Здравоохранение физкультура и социальное обеспечение по Общероссийскому классификатору услуг населения ОКУН большинство видов деятельности туристских организаций относится к...
30239. Оценка эффективности деятельности предприятий СКСиТ 85.5 KB
  Оценка эффективности деятельности предприятий СКСиТ. Понятие эффективности Для того чтобы предприятие могло сформировать основные направления своего развития и выработать соответствующую экономическую стратегию необходимо сформулировать критерии к которым оно должно стремиться и соответствующие показатели характеризующие выполнение этих критериев. В общем виде показатель экономической эффективности функционирования предприятия определяется в виде отношения результата к затратам необходимым для достижения этого результата. E = F R...
30240. Прогнозирование и планирование деятельности предприятий СКСиТ 66.84 KB
  Туристским организациям как национальным государственным так и частным постоянно требуются статистические данные для выявления тенденций на рынке туризма. Статистика туризма показывает где и на что туристы тратят деньги. Таким образом статистика туризма может предоставить информацию жизненно необходимую для многих видов коммерческой деятельности. Такие сведения представляют несомненную ценность для тех кто занимается планированием развитием и практической реализацией как международного так и внутреннего туризма.
30241. Назначение, состав, этапы разработки бизнес-плана предприятий СКСиТ 55 KB
  Назначение состав этапы разработки бизнесплана предприятий СКСиТ. Значение бизнесплана. Бизнесплан это документ описывающий все основные аспекты будущего коммерческого предприятия анализирующий проблемы с которыми может столкнуться фирма и способы их решения. Бизнесплан позволяет: всесторонне обосновать тот или иной проект или мероприятие; разработать стратегию и тактику поведения для достижения цели; определить финансовые результаты о реализации проекта.