Алгоритмы управления памятью в oc windows и unix реферат

Обновлено: 02.07.2024

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

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

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

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

Ядро системы имеет собственные области памяти. При выполнении системных вызовов ядро работает в контексте вызвавшего процесса, т.е. оно имеет доступ как к собственной памяти, так и к областям памяти процесса.

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

[1] Как вспоминает один из разработчиков первого советского компьютера МЭСМ (Малая(!) Электронная Счетная Машина), когда этого монстра включали, то приходилось в январе месяце открывать все окна, чтобы удержать температуру в машинном зале в пределах 30°.

[3] Вспомните, как поступает Windows при очередной загрузке после некорректного выключения компьютера.

[4] Теоретически можно задать число копий FAT, отличное от двух. Это число хранится как один из параметров в BOOT-секторе. На практике всегда используются две копии FAT.

[5] Как вы думаете, в чем разница между перемещением файла в пределах одного диска и перемещением с диска на диск?

[7] Налицо некоторый разнобой в общепринятой терминологии: в системе с невытесняющей диспетчеризацией вытеснение процесса все-таки возможно, но только по инициативе самого процесса.

[9] Но к экзамену вспомнить!

[10] Одно и то же расширение EXE означает различные форматы программ для MS-DOS и для Windows разных версий. Каждый из этих форматов имеет собственную сигнатуру. Например, для EXE-файлов современной Windows используется сигнатура 'PE'.

[12] Опыт подсказывает, что как только компьютеры с памятью в несколько гигабайт станут обычными, появятся и программы, способные найти более или менее полезное употребление всей этой памяти.

УПРАВЛЕНИЕ ПАМЯТЬЮ В ОС UNIX И WINDOWS

Описание: Напишите программу, которая будет сравнивать среднее время доступа к жесткому диску с включенным кэшированием записи и без него. Сравните и обоснуйте полученные результаты. Операционная система - Windows.

Дата добавления: 2014-07-24

Размер файла: 93.5 KB

Работу скачали: 23 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск

Министерство образования и науки Российской Федерации

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

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

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

студент гр. 2088/4 А.А.Чернышев

Руководитель А.С. Коноплев

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

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

1) Напишите программу, которая будет сравнивать среднее время доступа к жесткому диску с включенным кэшированием записи и без него. Сравните и обоснуйте полученные результаты. Операционная система - Windows .

//========Измерение среднего времени записи на HDD========//

double start, end;

unsigned long offs=0;

char * buf = new char [2*1024*1024];

f=CreateFile( "D:\\qwe.bak" ,GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN, NULL);

if (f==0) printf( "Error!" );

printf( "HDD av. write access time is %.3f s \n" ,( double )(end-start)/CLOCKS_PER_SEC);

Для разработки этой программы были изучены аспекты работы с дескриптором HANDLE .

В процессе разработки возникли трудности с флагами FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH , поэтому было решено отключать кэширование через Диспетчер устройств -> Дисковые устройства -> -> Свойства -> политика -> “Разрешить кэширование”. Для того чтобы отключить кэширование таким способом требуется перезагрузка. В итоге получили такие результаты: для записи 2 Mb

С Кэшированием потребовалось:


Без кэширования потребовалось:


По полученным результатам, мы вполне можем судить о том, что за счет включенного кэширование заметно уменьшается время доступа к жесткому диску, и как следствие вырастает производительность компьютера.

2) Напишите программу, которая будет измерять среднее время доступа к внутренней и внешней памяти (чтение данных из оперативной памяти и с внешней памяти, в качестве которой выступает дискета 3.5). Сравните и обоснуйте полученные результаты. Операционная система - Unix . Ввиду отсутствия Floppy -дисковода, было решено замерять время чтения данных с жесткого диска.

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.



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

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

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

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

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

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

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

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

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

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

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

Диплом на заказ

Узнать стоимость написания работы -->

Основные задачи управления памятью. Классификация методов распределения памяти. Распределение памяти фиксированными и динамическими разделами. Страничный и сегментный способ распределения виртуальной памяти. Подсистема управления памятью в ОС MS-DOS.

Подобные документы

Типы адресов. Методы распределения памяти без использования дискового пространства. Распределение памяти перемещаемыми и динамическими разделами. Страничное распределение памяти. Распределение памяти сегментами. Принцип кэширования данных. Кэш-память.

реферат, добавлен 05.02.2009

Понятие и значение оперативной памяти в функционировании компьютерной системы. Функции ОС по управлению оперативной памятью. Представление потоков и визуальное пространство, алгоритмы распределения памяти. Схема с фиксированными и переменными разделами.

презентация, добавлен 03.06.2012

Стратегии управления памятью. Преимущества и недостатки разделов памяти с фиксированными и изменяющимися границами. Технология перемещаемых разделов памяти как оптимальная. Защита памяти операционной системой с помощью граничных регистров и по ключу.

лекция, добавлен 08.09.2013

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

лекция, добавлен 09.10.2013

Сегментный способ организации виртуальной памяти, его использование в операционной системе для ПК OS/2. Страничный и сегментно-страничной механизм распределения памяти, их реализация, достоинства и недостатки при создании систем программирования.

реферат, добавлен 20.11.2009

Основные задачи подсистемы управления памятью. Физическая организация, классификация и иерархия памяти компьютера. Режимы работы процессора. Проблема передачи физического адреса. Операционные системы и схемы управления реальной памятью; фрагментация.

курс лекций, добавлен 18.10.2013

Типы памяти: динамическая оперативная, синхронизируемая с шиной памяти, с удвоенной скоростью передачи данных. Принципы управления и распределения оперативной памяти. Алгоритмы динамического упpавления памятью. Основная концепция виртуальной памяти.

курсовая работа, добавлен 18.04.2014

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

реферат, добавлен 03.10.2010

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

лекция, добавлен 09.10.2013

Физическая организация памяти компьютера: логическая и страничная память. Функции системы управления памятью. Особенности динамического распределения и понятие свопинга. Простейшие схемы управления памятью. Виды мультипроцессорных вычислительных систем.

Алгоритм планирования использования процессорного времени, рассмотренный в предыдущей главе, в сильной степени зависит от выбранной стратегии управления памятью. Процесс может выполняться, если он хотя бы частично присутствует в основной памяти; ЦП не может исполнять процесс, полностью выгруженный во внешнюю память. Тем не менее, основная память — чересчур дефицитный ресурс, который зачастую не может вместить все активные процессы в системе. Если, например, в системе имеется основная память объемом 8 Мбайт, то девять процессов размером по 1 Мбайту каждый уже не смогут в ней одновременно помещаться. Какие процессы в таком случае следует размещать в памяти (хотя бы частично), а какие нет, решает подсистема управления памятью, она же управляет участками виртуального адресного пространства процесса, не резидентными в памяти. Она следит за объемом доступного пространства основной памяти и имеет право периодически переписывать процессы на устройство внешней памяти, именуемое устройством выгрузки, освобождая в основной памяти дополнительное место. Позднее ядро может вновь поместить данные с устройства выгрузки в основную память.

В ранних версиях системы UNIX процессы переносились между основной памятью и устройством выгрузки целиком и, за исключением разделяемой области команд, отдельные независимые части процесса не могли быть объектами перемещения. Такая стратегия управления памятью называется свопингом (подкачкой). Такую стратегию имело смысл реализовывать на машине типа PDP-11, где максимальный размер процесса составлял 64 Кбайта. При использовании этой стратегии размер процесса ограничивается объемом физической памяти, доступной в системе. Система BSD (версия 4.0) явилась главным полигоном для применения другой стратегии, стратегии "подкачки по обращению" (demand paging), в соответствии с которой основная память обменивается с внешней не процессами, а страницами памяти; эта стратегия поддерживается и в последних редакциях версии V системы UNIX. Держать в основной памяти весь выполняемый процесс нет необходимости, и ядро загружает в память только отдельные страницы по запросу выполняющегося процесса, ссылающегося на них. Преимущество стратегии подкачки по обращению состоит в том, что благодаря ей отображение виртуального адресного пространства процесса на физическую память машины становится более гибким: допускается превышение размером процесса объема доступной физической памяти и одновременное размещение в основной памяти большего числа процессов. Преимущество стратегии свопинга состоит в простоте реализации и облегчении "надстроечной" части системы. Обе стратегии управления памятью рассматриваются в настоящей главе.

Глава 3 Управление памятью на уровне пользователя

Глава 3 Управление памятью на уровне пользователя Без памяти для хранения данных программа не может выполнить никакую работу (Или, скорее, невозможно выполнить никакую полезную работу.) Реальные программы не могут позволить себе полагаться на буферы и массивы структур

ГЛАВА 5 Управление памятью, отображение файлов и библиотеки DLL

ГЛАВА 5 Управление памятью, отображение файлов и библиотеки DLL Управление динамической памятью в той или иной форме требуется в большинстве программ. Необходимость в этом возникает всякий раз, когда требуется создавать структуры данных, размер которых не может быть

Архитектура системы управления памятью в Win32 и Win64

Архитектура системы управления памятью в Win32 и Win64 Win32 (в данном случае различия между Win32 и Win64 становятся существенными) — это API 32-разрядных ОС семейства Windows. "32-разрядность" проявляет себя при адресации памяти тем, что указатели (LPSTR, LPDWORD и так далее) являются 4-байтовыми

Обзор методов управления памятью

Обзор методов управления памятью Обо всех деталях отображения виртуальных адресов на физические адреса (virtual to physical memory mapping), механизмах страничной подкачки (page swapping) и замещения страниц по запросу (demand paging) и прочих моментах заботится ОС. Эти вопросы подробно обсуждаются

Глава 11 Управление памятью

Глава 11 Управление памятью Выделить память внутри ядра не так просто, как вне ядра. Это связано со многими факторами. Главным образом, причина в том, что в ядре не доступны те элементы роскоши, которыми можно пользоваться в пространстве пользователя, В отличие от

ГЛАВА 20. Web-формы и элементы управления

ГЛАВА 20. Web-формы и элементы управления В предыдущих главах мы проделали большую работу. Во-первых, реализовали подгрузку фрагментов содержимого Web-страницы вместо загрузки целых Web-страниц. Во-вторых, сделали часть содержимого Web-страниц, а именно полосу навигации,

Глава 7 Панель управления

Глава 7 Панель управления Рассмотрим содержимое папки Панель управления, в которой собраны основные функциональные средства по настройке параметров компьютера и операционной системы. С помощью команд Панели управления можно быстро настроить вид и поведение Windows Vista в

Принципы управления памятью

Принципы управления памятью Одной из основных функций операционной системы является эффективное управление памятью. Оперативная память, или основная память, или память с произвольным доступом (Random Access Memory, RAM) является достаточно дорогостоящим ресурсом. Время доступа к

Глава 19 Сокеты управления ключами

Глава 19 Сокеты управления ключами 19.1. Введение С появлением архитектуры безопасности IP (IPSec, см. RFC 2401 [64]) возникла потребность в стандартном механизме управления индивидуальными ключами шифрования и авторизации. Документ RFC 2367 [73] предлагает универсальный интерфейс

Глава 7 Алгоритмы

Глава 7 Алгоритмы 7.0. Введение Эта глава рассказывает, как работать со стандартными алгоритмами и как использовать их для стандартных контейнеров. Эти алгоритмы первоначально являлись частью того, что часто называется Standard Template Library (STL — стандартная библиотека шаблонов)

Примитивы управления памятью (Memory Handling Primitives)

Примитивы управления памятью (Memory Handling Primitives) Чтобы получать типичный указатель на неинициализированный буфер памяти данного размера, определена следующая функция:template ‹class T›inline T* allocate(ptrdiff_t n, Т*); // n ›= 0Размер (в байтах) распределённого буфера - не меньше n*sizeof(T).Для

Глава 6. Рандомизированные алгоритмы.

Глава 6. Рандомизированные алгоритмы. Возможно, у кого-то из вас, кто просто листал эту книгу и случайно наткнулся на данную главу, возник вопрос, что же такое рандомизированные алгоритмы! Это алгоритмы, работающие случайным образом? Ничего подобного. Здесь термин

Глава 3 Элементы управления

Проблема управления памятью в ОО-модели

Проблема управления памятью в ОО-модели Подводя итог предшествующего анализа, определим оригиналы и соответственно достижимые объекты:Определение: начальные, достижимые и недостижимые объектыВ каждый момент времени выполнения системы множество оригиналов

Читайте также: