рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Сегментный способ организации виртуальной памяти.

Сегментный способ организации виртуальной памяти. - раздел Образование, Занятие №1 Введение Первым Среди Виртуальных Методов Распределения Памяти Был Сегментн...

Первым среди виртуальных методов распределения памяти был сегментный. Для этого метода программу необходимо разбивать на части и уже каждой такой части выделять физическую память. Естественным способом разбиения программы на части является разбиение ее на логические элементы — так называемые сегменты. В принципе, каждый программный модуль (или их совокупность, если мы того пожелаем) может быть воспринят как отдельный сегмент, и вся программа тогда будет представлять собой множество сегментов. Каждый сегмент размещается в памяти как до определенной степени самостоятельная единица. Логически обращение к элементам программы в этом случае будет состоять из имени сегмента и смещения относительно начала этого сегмента. Физически имя (или порядковый номер) сегмента будет соответствовать некоторому адресу, с которого этот сегмент начинается при его размещении в памяти, и смещение должно прибавляться к этому базовому адресу.

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

Таким образом, виртуальный адрес для этого способа будет состоять из двух полей — номера сегмента и смещения относительно начала сегмента. Соответствующая иллюстрация приведена на рис. для случая обращения к ячейке, виртуальный адрес которой равен сегменту с номером 11 со смещением от начала этого сегмента, равным 612. Как мы видим, операционная система разместила данный сегмент в памяти, начиная с ячейки с номером 19700.

Итак, каждый сегмент, размещаемый в памяти, имеет соответствующую информационную структуру, часто называемую дескриптором сегмента. Именно операционная система строит для каждого исполняемого процесса соответствующую табли­цу дескрипторов сегментов, и при размещении каждого из сегментов в оперативной или внешней памяти отмечает в дескрипторе текущее местоположение сегмента. Если сегмент задачи в данный момент находится в оперативной памяти, то об этом делается пометка в дескрипторе. Как правило, для этого используется бит присутствия (от слова «present»), В этом случае в поле адреса диспетчер памяти записывает адрес физической памяти, с которого сегмент начинается, а в поле дли­ны сегмента (limit) указывается количество адресуемых ячеек памяти. Это поле используется не только для того, чтобы размещать сегменты без наложения друг на друга, но и для того, чтобы контролировать, не обращается ли код исполняющейся задачи за пределы текущего сегмента. В случае превышения длины сегмента вследствие ошибок программирования мы можем говорить о нарушении адресации и с помощью введения специальных аппаратных средств генерировать сигналы прерывания, которые позволят фиксировать (обнаруживать) такого рода ошибки.

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

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

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

Очевидно, однако, что увеличивать количество задач можно только до определенного предела, ибо если в памяти не будет хватать места для часто используемых сегментов, то производительность системы резко упадет. Ведь сегмент, находящийся вне оперативной памяти, для участия в вычислениях дол­жен быть перемещен в оперативную память. При этом если в памяти есть свобод­ное пространство, то необходимо всего лишь найти нужный сегмент во внешней памяти и загрузить его в оперативную память. А если свободного места нет, при­дется принять решение — на место какого из присутствующих сегментов будет загружаться требуемый. Перемещение сегментов из оперативной памяти на жесткий диск и обратно часто называют свопингом сегментов.

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

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

§ правило FIFO (First In First Out — первый пришедший первым и выбывает);

§ правило LRU (Least Recently Used — дольше других неиспользуемый);

§ правило LFU (Least Frequently Used — реже других используемый);

§ случайный (random) выбор сегмента.

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

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

У сегментного способа распределения памяти есть недостатки. Прежде всего, для доступа к искомой ячейке памяти приходится тратить много времени. Мы должны сначала найти и прочитать дескриптор сегмента, а уже потом, используя полученные данные о местонахождении нужного нам сегмента, вычислить конечный физический адрес. Для того чтобы уменьшить эти потери, используется кэширование — те дескрипторы, с которыми мы имеем дело в дан­ный момент, могут быть размещены в сверхоперативной памяти (специальных регистрах, размещаемых в процессоре).

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

Примером использования сегментного способа организации виртуальной памяти является операционная система OS/2 первого поколения, которая была создана для персональных компьютеров на базе процессора i80286. В этой операционной системе в полной мере использованы аппаратные средства микропроцессора, который специально проектировался для поддержки сегментного способа распределения памяти.

– Конец работы –

Эта тема принадлежит разделу:

Занятие №1 Введение

Задачей предмета является изучение операционных систем предназначенных для управления аппаратными средствами вычислительных... Операционная система ОС обязательная часть системного программного... Этапы развития операционных систем ПК Появление первых операционных...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Появление первых операционных систем
Идея компьютера была предложена английским математиком Чарльзом Бебиджем (Charles Babage) в середине девятнадцатого века. Конечно, никакой речи об операционной системе для этого "компьютера&qu

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

Операционные системы и глобальные сети
В начале 70-х годов появились первые сетевые операционные системы, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хране

Операционные системы мини-компьютеров и первые локальные сети
К середине 70-х годов наряду с мэйнфреймами широкое распространение получили мини-компьютеры, такие как PDP-11, Nova, HP. Мини-компьютеры первыми использовали преимущества больших интегральных схем

Развитие операционных систем в 80-е годы
К наиболее важным событиям этого десятилетия можно отнести разработку стека ТСР/IP, становление Интернета, стандартизацию технологий локальных сетей, появление персональных компьютеров и ОС для них

Единицы работы вычислительных систем
Основными единицами работы ВС являются: - задание; - пункт задания; - задача. Задание представляет собой совокупность действий, которые должна произвести

WIMP – интерфейс
Вторым этапом в развитии графического интерфейса стал "чистый" интерфейс WIMP, Этот подвид интерфейса характеризуется следующими особенностями. 1. Вся работа с программами, ф

Речевая технология
С середины 90-х годов, после появления недорогих звуковых карт и широкого распространения технологий распознавания речи, появился так называемый "речевая технология" SILK - интерфейс

Биометрическая технология
Эта технология возникла в конце 90-х годов XX века и на момент написания книги еще разрабатывается. Для управления компьютером используется выражение лица человека, направление его взгляда, ра

Семантический (общественный) интерфейс
Этот вид интерфейса возник в конце 70-х годов XX века, с развитием искусственного интеллекта. Его трудно назвать самостоятельным видом интерфейса - он включает в себя и интерфейс командной стр

Типы интерфейсов
Интерфейсы пользователя бывают двух типов: 1) процедурно-ориентированные: -примитивные -меню -со свободной навигацией 2) объектно-ориентированные:

МЕТОДЫ И СРЕДСТВА РАЗРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
  Интерфейс имеет важное значение для любой программной системы и является неотъем-лемой ее составляющей, ориентированной, прежде всего, на конечного пользователя. Имен-но через и

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

Одноранговые сетевые ОС и ОС с выделенными серверами
В зависимости от того, как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые (рисунок 1.4). Посл

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

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

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

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

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

Утилиты используются для
§ Мониторинга показателей датчиков и производительности оборудования — мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков; § Управления параметрами оборудова

Типы утилит
§ Дисковые утилиты - Дефрагментаторы Дефрагмента́ция — процесс обновления и оптимизации логической структуры раздела диска

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

Загружаемые драйверы устройств.
1. ANSI.SYS – расширенное управление клавиатурой и дисплеем. Обеспечивает дополнительные функции управления дисплеем: - возможность чтения текущего положения курсора.

Управление вводом-выводом.
Ввод и вывод — это процессы, осуществляющие пересылку входных и выходных данных. MS-DOS предусматривает достаточно сложное программное обеспечение для управления этими процессами по желанию пользов

Основные составные части MS-DOS.
MS-DOS состоит из следующих компонент: • блок начальной загрузки; • модуль взаимодействия с BIOS (io.sys для версии 5.0 и выше); • модуль обработки прерываний (msdos.sys

Начальная загрузка MS-DOS.
При включении ПК вначале выполняются программы BIOS. После тестирования и других действий процедура POST (Power On Self Testing — самотестирование после включения питания — из модуля B

Файловые системы MS-DOS.
Одно из основных понятий файловой системы MS-DOS — логический диск. В некотором приближении можно считать, что это отдельный магнитный диск. Каждый логический диск имеет свое уникальное имя.

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

Доступ к памяти.
Доступ к ячейкам памяти осуществляется посредством соединения содержимого регистра сегмента с содержимым того или другого регистра. Таким образом определяется адрес требуемого участка памяти. Напри

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

Стандартное форматирование гибкого диска
1. В контекстном меню выбрать пункт Форматировать. Откроется диалоговая панель Форматирование. С помощью переключателя Способ форматирования выбрать пунктПолное.

Нестандартное форматирование гибкого диска
1. Ввести команду [Программы-Сеанс MS-DOS]. Появится окно приложения Сеанс MS-DOS. 2. Ввести команду нестандартного форматирования гибкого диска А:, на котором будет 79 дорожек и 19 сектор

Дефрагментация диска
1. Для запуска программы Дефрагментация диска, необходимо из Главного меню ввести команду [Стандартные-Служебные-Дефрагментация диска]. 2. Диалоговая панель Выбор диска позво

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

Файловая система FAT
Файловая система FAT (File Allocation Table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются; § непосредственно адресуемые участки логич

Команды DOS для работы с каталогами
Смена текущего каталога Формат команды: cd [дисковод:][путь] Примеры: cd - переход в корневой каталог текущего д

Удаление каталога со всем содержимым
Формат команды: deltree [/y] имя-файла-или-каталога Команда deltree может удалять как каталоги, так и файлы. В имени файла-или-каталога

Команды DOS для работы с файлами
Создание текстовых файлов Формат команды: copy con имя-файла Ctrl+Z, F6 - признак конца файла. Enter

Команды DOS для работы с дисками
Смена текущего дисковода Формат команды: Имя-дисковода: Примеры: С: - установить текущим диск с:; a:

Программы и команды DOS общесистемного назначения
Вывод информации о дате и установка даты в компьютере Формат команды: date Примеры: date Запрос: Введите нову

Драйверы MS-DOS.
Два важнейших компонента электронного оборудования компьютера — центральный процессор и память. Остальные компоненты (дисководы, клавиатура, дисплеи, принтеры и т. д.) являются внешними по отношени

Загружаемые драйверы устройств.
1. ANSI.SYS – расширенное управление клавиатурой и дисплеем. Обеспечивает дополнительные функции управления дисплеем: - возможность чтения текущего положения курсора.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги