Компьютерная память,управление памятью. Мультипроцессорные вычислительные системы.

Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 21:53, реферат

Описание работы

Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.

Содержание работы

Введение
1. Физическая организация памяти компьютера
2. Логическая память
3. Функции системы управления памятью
4. Простейшие схемы управления памятью
5. Динамическое распределение. Свопинг
6. Страничная память
7. Мультипроцессорные вычислительные системы
Заключение
Литература

Файлы: 1 файл

Документ Microsoft Word.doc

— 91.00 Кб (Скачать файл)

ЮЖНО-КАЗАХСТАНСКАЯ  ГОСУДАРСТВЕННАЯ

ФАРМАЦЕВТИЧЕСКАЯ  АКАДЕМИЯ

 

 

 

КАФЕДРА  МЕДИЦИНСКОЙ БИОФИЗИКИ, ИНФОРМАТИКИ И МАТЕМАТИКИ

РЕФЕРАТ

                                                                    На тему

«Память компьютера, управление памятью. Мультипроцессорные системы»

 

 

 

 

 

                                                                                              

 

 

 

                                                                              

                                                                                        Выполнила: Тулейбай А.К.

                                                                                        Принял : Халметов З.С.

 

 

 

 

Шымкент 2012-2013г.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

План

 

Введение

  1. Физическая организация памяти компьютера
  2. Логическая память
  3. Функции системы управления памятью
  4. Простейшие схемы управления памятью
  5. Динамическое распределение. Свопинг
  6. Страничная память
  1. Мультипроцессорные вычислительные системы

Заключение

Литература


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.

Часть ОС, которая  отвечает за управление памятью, называется менеджером памяти.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Физическая организация памяти компьютера

память  компьютер свопинг вычислительный система

Запоминающие  устройства компьютера разделяют, как  минимум, на два уровня:основную (главную, оперативную, физическую) и вторичную (внешнюю) память.

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

Вторичную память (это главным образом диски) также  можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти, она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти.

Эту схему можно  дополнить еще несколькими промежуточными уровнями, как показано на рис. 1. Разновидности памяти могут быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.

 

Рис. 1. Иерархия памяти

Многоуровневую  схему используют следующим образом. Информация, которая находится в  памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.

Локальность

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

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

Свойство локальности (соседние в пространстве и времени  объекты характеризуются похожими свойствами) присуще не только функционированию ОС, но и природе вообще. В случае ОС свойство локальности объяснимо, если учесть, как пишутся программы и как хранятся данные, то есть обычно в течение какого-то отрезка времени ограниченный фрагмент кода работает с ограниченным набором данных. Эту часть кода и данных удается разместить в памяти с быстрым доступом. В результате реальное время доступа к памяти определяется временем доступа к верхним уровням, что и обусловливает эффективность использования иерархическойсхемы. Надо сказать, что описываемая организация вычислительной системы во многом имитирует деятельность человеческого мозга при переработке информации. Действительно, решая конкретную проблему, человек работает с небольшим объемом информации, храня не относящиеся к делу сведения в своей памяти или во внешней памяти (например, в книгах).

Кэш процессора обычно является частью аппаратуры, поэтому менеджер памяти ОС занимается распределением информации главным образом в основной и внешней памяти компьютера. В некоторых схемах потоки между оперативной и внешней памятью регулируются программистом (см. например, далее оверлейные структуры), однако это связано с затратами времени программиста, так что подобную деятельность стараются возложить на ОС.

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

 

  1. Логическая память

 

Аппаратная  организация памяти в виде линейного  набора ячеек не соответствует представлениям программиста о том, как организовано хранение программ и данных. Большинство программ представляет собой набор модулей, созданных независимо друг от друга. Иногда все модули, входящие в состав процесса, располагаются в памяти один за другим, образуя линейное пространство адресов. Однако чаще модули помещаются в разные области памяти и используются по-разному.

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

По-видимому, вначале сегменты памяти появились в связи с необходимостью обобществления процессами фрагментов программного кода (текстовый редактор, тригонометрические библиотеки и т. д.), без чего каждый процесс должен был хранить в своем адресном пространстве дублирующую информацию. Эти отдельные участки памяти, хранящие информацию, которую система отображает в память нескольких процессов, получили название сегментов. Память, таким образом, перестала быть линейной и превратилась в двумерную. Адрес состоит из двух компонентов: номер сегмента, смещение внутри сегмента. Далее оказалось удобным размещать в разных сегментах различные компоненты процесса (код программы, данные, стек и т. д.). Попутно выяснилось, что можно контролировать характер работы с конкретным сегментом, приписав ему атрибуты, например права доступа или типы операций, которые разрешается производить с данными, хранящимися всегменте.

 

Рис. 2. Расположение сегментов процессов в памяти компьютера

 

Некоторые сегменты, описывающие адресное пространство процесса, показаны на рис. 2. Более подробная информация о типах сегментов имеется в лекции 10.

Большинство современных  ОС поддерживают сегментную организацию памяти. В некоторых архитектурах (Intel, например) сегментация поддерживается оборудованием.

Адреса, к которым  обращается процесс, таким образом, отличаются от адресов, реально существующих в оперативной памяти. В каждом конкретном случае используемые программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символические. Компилятор связывает эти символические адреса с перемещаемыми адресами (такими, как n байт от начала модуля). Подобный адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством.

 

  1. Функции системы управления памятью

 

Чтобы обеспечить эффективный контроль использования  памяти, ОС должна выполнять следующие  функции:

  • отображение адресного пространства процесса на конкретные области физической памяти;
  • распределение памяти между конкурирующими процессами;
  • контроль доступа к адресным пространствам процессов;
  • выгрузка процессов (целиком или частично) во внешнюю память, когда воперативной памяти недостаточно места;
  • учет свободной и занятой памяти.

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

 

  1. Простейшие схемы управления памятью

 

Первые ОС применяли очень  простые методы управления памятью. Вначале каждый процесс пользователя должен был полностью поместиться  в основной памяти, занимать непрерывную область памяти, а система принимала к обслуживанию дополнительные пользовательские процессы до тех пор, пока все они одновременно помещались в основной памяти. Затем появился "простой свопинг" (система по-прежнему размещает каждый процесс в основной памяти целиком, но иногда на основании некоторого критерия целиком сбрасывает образ некоторого процесса изосновной памяти во внешнюю и заменяет его в основной памяти образом другого процесса). Такого рода схемы имеют не только историческую ценность. В настоящее время они применяются в учебных и научно-исследовательских модельных ОС, а также в ОС для встроенных (embedded) компьютеров.

Схема с фиксированными разделами

Самым простым способом управления оперативной памятью является ее предварительное (обычно на этапе генерации или в момент загрузки системы) разбиение на несколько разделов фиксированной величины. Поступающие процессы помещаются в тот или иной раздел. При этом происходит условное разбиение физического адресного пространства. Связывание логических и физических адресов процесса происходит на этапе его загрузки в конкретный раздел, иногда – на этапе компиляции.

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

Эта схема была реализована в IBM OS/360 (MFT), DEC RSX-11 и  ряде других систем.

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

Очевидный недостаток этой схемы – число одновременно выполняемых процессов ограничено числом разделов.

 

 

Рис. 3. Схема с фиксированными разделами: (a) – с общей очередью процессов, (b) – с отдельными очередями процессов

 

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

 

  1. Динамическое распределение. Свопинг

 

Имея дело с  пакетными системами, можно обходиться фиксированными разделами и не использовать ничего более сложного. В системах с разделением времени возможна ситуация, когда память не в состоянии содержать все пользовательские процессы. Приходится прибегать к свопингу (swapping) – перемещению процессов из главной памяти на диск и обратно целиком. Частичная выгрузка процессов на диск осуществляется в системах со страничной организацией (paging) и будет рассмотрена ниже.

Выгруженный процесс  может быть возвращен в то же самое адресное пространствоили в другое. Это ограничение диктуется методом связывания. Для схемы связыванияна этапе выполнения можно загрузить процесс в другое место памяти.

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

Информация о работе Компьютерная память,управление памятью. Мультипроцессорные вычислительные системы.