Оперативная память является одним из важнейших элементов компьютера. Именно из нее процессор берет программы и исходные данные для обработки, в нее он записывает полученные результаты. Название «оперативная» эта память получила потому, что она работает очень быстро, так что процессору практически не приходится ждать при чтении данных из памяти или записи в память.
Однако содержащиеся в ней данные сохраняются только пока компьютер включен. При выключении компьютера содержимое оперативной памяти стирается. Часто для оперативной памяти используют обозначение RAM (Random Access Memory, то есть память с произвольным доступом).
Важнейшая характеристика оперативной памяти.
Основная характеристика памяти — это ее объем или емкость, т.е. общее число доступных байтов. (16 Мб, 32 Мб, 64 Мб, 128 Мб, 512 Мб)
- Где должна находится программа чтобы компьютер мог сразу ее выполнить? В ОП (оперативной памяти)
- В чем измеряется объем оперативной памяти? (байтах, Кбайтах, Мбайтах, Тбайтах)
- Какой объем оперативной памяти должны иметь современные массовые персональные компьютеры? (более 16 Мбайт см. выше)
Процессор компьютера предназначен:
Процессор компьютера предназначен для обработки информации. (для выполнения обработки данных в соответствии с программой)
Почему размер байта 8 бит. Машина Тьюринга. Принцип выполнения программы
Основная характеристика процессора — это: быстродействие
Основной характеристикой процессора является его быстродействие, т.е. количество выполняемых в секунду операций. Процессоры, используемые в ПК семейства IBM, обеспечивают выполнение нескольких миллионов операций в секунду, причем этот показатель постоянно растет.
Внешняя память компьютера предназначена:
Внешняя память (ВЗУ) предназначена для длительного хранения информации (программ и документов, и целостность её содержимого) не зависит от того, включен или выключен компьютер
В отличие от оперативной памяти, внешняя память не имеет прямой связи с процессором
В состав внешней памяти компьютера входят: накопитель на жёстком магнитном диске, накопители на гибких магнитных дисках, накопители на компакт-дисках, флэшки.
- Какое устройство НЕ ИСПОЛЬЗУЕТСЯ для долговременного хранения информации: (процессор)
- Наиболее распространенным типом внешней памяти являются: винчестер – жесткий магнитный диск.
- Перечислите устройства ввода информации.
Сканер, Видео- и Веб-камера, Цифровой фотоаппарат, Микрофон, Цифровой диктофон, Клавиатура, Мышь, Трекбол, Трекпоинт, Тачпад, Джойстик, Roller Mouse, Графический планшет, Световое перо, Аналоговый джойстик, Клавиатура
Тачскрин, Игровые устройства ввода, Джойстик, Педаль, Геймпад, Руль, Рычаг для симуляторов полёта (штурвал, Ручка управления самолётом), Танцевальная платформа
- Основная характеристика сканера:
Разрешение характеризует величину самых мелких деталей изображения, передаваемых при сканировании без искажений. Измеряется обычно в dpi — числе отдельно видимых точек на дюйм изображения (dot per inch). Существует несколько видов разрешения, указываемого производителем сканеров.
Операционные системы, урок 7: Организация памяти. Виртуальная память.
- Основная характеристика монитора — это:
В мониторах ПК используется растровый способ вывода, когда любое изображение представляется в виде отдельных
маленьких точек — пикселов. Количество пикселов определяет разрешающую способность экрана. В настоящее время наиболее распространенными являются мониторы, имеющие разрешающую способность 800 на 600 или 1024 на 768 точек, соответственно по горизонтали и вертикали
- Модем — это устройство:
Модемы – это устройство, которое применяется для связи компьютеров (одно из их периферийных устройств), позволяющее одному из них связываться с другим (также оборудованным модемом) через телефонную сеть (телефонный модем) или кабельную сеть (кабельный модем). Также модемы ранее применялись в сотовых телефонах (пока не были вытеснены цифровыми способами передачи данных). Они служат посредниками между компьютером и телефонной линией и необходимы для преобразования цифрового представления информации в непрерывный сигнал и обратно. Отсюда происходит и название этих устройств: модем — это сокращение от модулятор/демодулятор.
- Основная характеристика модема:
Основная характеристика модема — пропускная способность, т.е. количество битов, передаваемых за 1 секунду. Современные модемы обеспечивают пропускную способность около 30 тысяч бит/секунду (30 тыс. бод).
- Какие из следующих параметров являются важнейшими для компьютера в целом:
A. объем основной (оперативной) памяти
C. быстродействие процессора
D. объем дисковой памяти
комп. единица хранения информации на постоянных запоминающих устройствах, обладающая именем и записанная в установленном формате
- Любая информация хранится во внешней памяти в виде:файла
- Файл может содержать:
B. текстовую информацию
C. графическую информацию
D. закодированное представление готовой к выполнению программы
E. звуковую информацию
- Расширение .EXE в имени файла используется для обозначения:
файлов, содержащих закодированное представление готовых к выполнению программ
- Какой файл надо выбрать для запуска некоторой программы? С расширением .exe
- Дерево каталогов на дисковом устройстве — это: разветвляющийся набор каталогов, связанных по принципу «каталог-подкаталоги-подподкаталоги-. «
- Если каталог DIR содержит в себе подкаталог SUBDIR, а тот, в свою очередь, содержит подкаталог SUBSUBDR, то это записывается следующим образом:
- Понятие «путь к файлу в дереве каталогов» обозначает: последовательность каталогов и подкаталогов, проходимых начиная с главного.
- Укажите правильный формат полного имени файла :
набор файлов и подкаталогов, объединенных по какому-либо признаку.
- Выберите правильную запись полного имени файла:
- Могут ли два файла иметь одинаковые имена?
Да, если они находятся в разных подкаталогах
- Выберите правильный набор основных операций с каталогами:
создание, просмотр, копирование, удаление
- Выберите правильный набор основных операций с файлами:
создание, копирование, об’единение, переименование, удаление
- Операции копирования и удаления НЕЛЬЗЯ применить:
к группе файлов в разных каталогах
- Материнская плата, устройства внешней памяти, коммуникационные порты являются основными составляющими:
Системного блока
- Основные составляющие материнской платы:
Материнская плата – основная плата персонального компьютера. На ней размещаются:
процессор – основная микросхема, выполняющая большинство математических и логических операций;
микропроцессорный комплект (чипсет) – набор микросхем, управляющих работой внутренних устройств компьютера и определяющих функциональные основные возможности материнской платы;
шины – наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера;
оперативная память (оперативное запоминающее устройство ОЗУ) – набор микросхем, предназначенных для временного хранения данных, когда компьютер включен;
постоянное запоминающее устройство (ПЗУ) – микросхема, предназначенная для длительного хранения данных и даже при выключенном компьютере;
разъёмы для подключения дополнительных устройств (слоты).
- Программа, которая проверяет состав и работоспособность устройств, загружает операционную систему в ОП, обеспечивает возможность дальнейшей работы с мышью, клавиатурой, жестким диском находится :в BIOS (базовая система ввода-вывода).
в общем случае — часть памяти для хранения промежуточных результатов вычислений, часто используемых данных, и просто тех данных, которые с высокой вероятностью понадобятся в ближайшее время.
Кеш-память процессора — часть микросхемы процессора, выполняющая функции хранения данных. За счет того, что она встроена в сам процессор, она обладает большей скоростью доступа.
Источник: studfile.net
Основополагающие принципы устройства ЭВМ
Принцип — основное, исходное положение какой-нибудь теории, учения, науки и пр.
Принципы Неймана-Лебедева — базовые принципы построения ЭВМ, сформулированные в середине прошлого века, не утратили свою актуальность и в наши дни.
Джон фон Нейман (1903-1957) — американский учёный, сделавший важный вклад в развитие целого ряда областей математики и физики. В 1946 г., анализируя сильные и слабые стороны ЭНИАКа, совместно с коллегами пришёл к идее нового типа организации ЭВМ.
Сергей Алексеевич Лебедев (1902-1974) — академик, основоположник вычислительной техники в СССР, главный конструктор первой отечественной электронной вычислительной машины МЭСМ, автор проектов компьютеров серии БЭСМ (Большая Электронная Счётная Машина), разработчик принципиальных положений суперкомпьютера «Эльбрус». В 1996 году посмертно награждён медалью «Пионер компьютерной техники» — самой престижной наградой международного компьютерного сообщества.
Рассмотрим сущность основных принципов Неймана-Лебедева:
1) состав основных компонентов вычислительной машины;
2) принцип двоичного кодирования;
3) принцип однородности памяти;
4) принцип адресности памяти;
5) принцип иерархической организации памяти;
6) принцип программного управления.
Первый принцип определяет состав основных компонентов вычислительной машины.
Любое устройство, способное производить автоматические вычисления, должно иметь определённый набор компонентов: блок обработки данных, блок управления, блок памяти и блоки ввода/вывода информации.
Функциональная схема такого компьютера, отражающая программное управление работой и взаимодействием его основных узлов, представлена на рисунке 2.5.
Рис. 2.5. Функциональная схема компьютеров первых поколений
Его информационным центром является процессор:
• все информационные потоки (тонкие стрелки на рисунке) проходят через процессор;
• управление всеми процессами (толстые стрелки на рисунке) также осуществляется процессором.
Такие блоки есть и у современных компьютеров. Это:
• процессор, состоящий из арифметико-логического устройства (АЛУ), выполняющего обработку данных, и устройства управления (УУ), обеспечивающего выполнение программы и организующего согласованное взаимодействие всех узлов компьютера;
• память, предназначенная для хранения исходных данных, промежуточных величин и результатов обработки информации, а также самой программы обработки информации. Различают память внутреннюю и внешнюю. Основная часть внутренней памяти используется для временного хранения программ и данных в процессе обработки. Такой вид памяти принято называть оперативным запоминающим устройством (ОЗУ). Ещё одним видом внутренней памяти является постоянное запоминающее устройство (ПЗУ), содержащее программу начальной загрузки компьютера. Внешняя или долговременная память предназначена для длительного хранения программ и данных в периоды между сеансами обработки;
• устройства ввода, преобразующие входную информацию в форму, доступную компьютеру;
• устройства вывода, преобразующие результаты работы компьютера в форму, доступную для восприятия человеком.
Вместе с тем в архитектуре современных компьютеров и компьютеров первых поколений есть существенные отличия. О них будет сказано чуть ниже.
Рассмотрим суть принципа двоичного кодирования информации.
Вся информация, предназначенная для обработки на компьютере (числа, тексты, звуки, графика, видео), а также программы её обработки представляются в виде двоичного кода — последовательностей 0 и 1.
Все современные компьютеры хранят и обрабатывают информацию в двоичном коде. Выбор двоичной системы счисления обусловлен рядом важных обстоятельств: простотой выполнения арифметических операций в двоичной системе счисления, её «согласованностью» с булевой логикой, простотой технической реализации двоичного элемента памяти (триггера).
Несмотря на всеобщее признание, использование в компьютерной технике классической двоичной системы счисления не лишено недостатков. В первую очередь это проблема представления отрицательных чисел, а также нулевая избыточность (т. е. отсутствие избыточности) двоичного представления. Пути преодоления указанных проблем были найдены уже на этапе зарождения компьютерной техники.
В 1958 г. в Московском государственном университете им. М. В. Ломоносова под руководством И. П. Брусенцова был создан троичный компьютер «Сетунь» (рис. 2.6). В нём применялась уравновешенная троичная система счисления, использование которой впервые в истории позволило представлять одинаково просто как положительные, так и отрицательные числа.
Итак, благодаря двоичному кодированию, данные и программы по форме представления становятся одинаковыми, а следовательно, их можно хранить в единой памяти.
Рис. 2.6. ЭВМ «Сетунь»
Команды программ и данные хранятся в одной и той же памяти, и внешне в памяти они неразличимы. Распознать команды и данные можно только по способу использования. Это утверждение называют принципом однородности памяти.
Так как представленные в памяти команды и данные внешне неразличимы, то одно и то же значение в ячейке памяти может использоваться и как данные, и как команда в зависимости лишь от способа обращения к нему. Так, если к двоичной последовательности обращаются как к числу, то в ней выделяют поле (область) знака и поле значащих разрядов. Если к двоичной последовательности обращаются как к команде, то в ней выделяют поле кода операции и поле адресов операндов.
Однородность памяти позволяет производить операции не только над данными, но и над командами. Взяв в качестве данных для некоторой программы команды другой программы, в результате её исполнения можно получить команды третьей программы. Данная возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Структурно оперативная память компьютера состоит из отдельных битов — однородных элементов, обладающих двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Для записи или считывания группы соседних битов объединяются в ячейки памяти, каждая из которых имеет свой номер (адрес).
Команды и данные размещаются в единой памяти, состоящей из ячеек, имеющих свои номера (адреса). Это принцип адресности памяти.
Очень важно, что информация может считываться из ячеек и записываться в них в произвольном порядке, т. е. процессору в произвольный момент доступна любая ячейка памяти. Организованную таким образом память принято называть памятью с произвольным доступом.
Разрядность ячеек памяти (количество битов в ячейке) у компьютеров разных поколений была различной. Основой оперативной памяти современных компьютеров является восьмибитная ячейка. Ячейка такой разрядности может быть использована для работы с одним символом. Для хранения чисел используется несколько последовательных ячеек (четыре — в случае 32-битного числа).
На современных компьютерах может одновременно извлекаться из памяти и одновременно обрабатываться до 64 разрядов (т. е. до восьми байтовых (восьмибитных) ячеек). Это возможно благодаря реализации на них принципа параллельной обработки данных — одновременного (параллельного) выполнения нескольких действий.
Можно выделить два основных требования, предъявляемых к памяти компьютера:
1) объём памяти должен быть как можно больше;
2) время доступа к памяти должно быть как можно меньше.
Создать запоминающее устройство, одновременно удовлетворяющее двум этим требованиям, затруднительно. Действительно, в памяти большого объёма требуемые данные искать сложнее, в результате чего их чтение замедляется. Для ускорения чтения нужно использовать более сложные технические решения, что неизбежно приводит к повышению стоимости всего компьютера. Решение проблемы — использование нескольких различных видов памяти, связанных друг с другом. В этом и состоит суть принципа иерархической организации памяти.
Трудности физической реализации запоминающего устройства высокого быстродействия и большого объёма требуют иерархической организации памяти.
В современных компьютерах используются устройства памяти нескольких уровней, различающиеся по своим основным характеристикам: времени доступа, сложности, объёму и стоимости. При этом более высокий уровень памяти меньше по объёму, быстрее и имеет большую стоимость в пересчёте на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне.
Большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещён в более быструю, но дорогостоящую и поэтому небольшую память. Использование более быстрой памяти увеличивает производительность вычислительного комплекса.
Главное отличие компьютеров от всех других технических устройств — это программное управление их работой.
Принцип программного управления определяет общий механизм автоматического выполнения программы.
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности команд. Команды представляют собой закодированные управляющие слова, в которых указывается:
• какое выполнить действие;
• из каких ячеек считать операнды (данные, участвующие в операции);
• в какую ячейку записать результат операции.
Команды, входящие в программу, выполняются процессором автоматически в определённой последовательности. При этом выполняется следующий цикл действий:
1) чтение команды из памяти и её расшифровка;
2) формирование адреса очередной команды;
3) выполнение команды.
Этот цикл повторяется до достижения команды, означающей окончание выполнения программы, решающей некоторую конкретную задачу. В современных компьютерах по завершении работы программы управление передаётся операционной системе.
7.2. Архитектура персонального компьютера
Современные персональные компьютеры различаются по своим размерам, конструкции, разновидностям используемых микросхем и модулей памяти, другим характеристикам. В то же время все они имеют единое функциональное устройство, единую архитектуру — основные узлы и способы взаимодействия между ними (рис. 2.7).
Архитектура — это наиболее общие принципы построения компьютера, отражающие программное управление работой и взаимодействием его основных функциональных узлов.
На рисунке 2.7 изображены хорошо известные вам узлы современного компьютера:
процессор,
внутренняя память,
устройства ввода,
устройства вывода и внешняя память.
Рис. 2.7. Функциональная схема компьютера (К — контроллер)
Обмен данными между устройствами компьютера осуществляется с помощью магистрали.
Магистраль (шина) — устройство для обмена данными между устройствами компьютера.Магистраль состоит из трёх линий связи:
• шины адреса, используемой для указания физического адреса, к которому устройство может обратиться для проведения операции чтения или записи;
• шины данных, предназначенной для передачи данных между узлами компьютера;
• шины управления, по которой передаются сигналы, управляющие обменом информацией между устройствами и синхронизирующие этот обмен.
В компьютерах, имевших классическую фон-неймановскую архитектуру, процессор контролировал все процессы ввода/вывода. При этом быстродействующий процессор затрачивал много времени на ожидание результатов работы от значительно более медленных внешних устройств. Для повышения эффективности работы процессора были созданы специальные электронные схемы, предназначенные для обслуживания устройств ввода/вывода или внешней памяти.
Контроллер — это специальный микропроцессор, предназначенный для управления внешними устройствами: накопителями, мониторами, принтерами и т. д.
Благодаря контроллерам данные по магистрали могут передаваться между внешними устройствами и внутренней памятью напрямую, минуя процессор. Это приводит к существенному снижению нагрузки на центральный процессор и повышает эффективность работы всей вычислительной системы.
Современные компьютеры обладают магистрально-модульной архитектурой, главное достоинство которой заключается в возможности легко изменить конфигурацию компьютера путём подключения к шине новых или замены старых внешних устройств.
Если спецификация на шину (детальное описание всех её параметров) является открытой (опубликованной), то производители могут разработать и предложить пользователям разнообразные дополнительные устройства для компьютеров с такой шиной. Подобный подход называют принципом открытой архитектуры. Благодаря ему пользователь может собрать именно такую компьютерную систему, которая ему нужна.
7.3. Перспективные направления развития компьютеров
Мир современных компьютеров необычайно разнообразен. Кроме микропроцессоров, встраиваемых во всевозможные устройства, и разных типов персональных компьютеров существуют значительно более мощные вычислительные системы.
Это серверы в глобальной компьютерной сети, управляющие её работой и хранящие огромные объёмы информации.
Это многопроцессорные системы параллельной обработки данных, обеспечивающие:
• сокращение времени решения вычислительно сложных задач;
• сокращение времени обработки больших объёмов данных;
• решение задач реального времени;
• создание систем высокой надёжности.
Время однопроцессорных вычислительных систем прошло. Не только суперкомпьютеры, но и современные персональные компьютеры, ноутбуки, игровые приставки основаны на многопроцессорных, многоядерных и других технологиях, предполагающих одновременное выполнение множества инструкций.
В наши дни электронная техника уже подошла к предельным значениям своих технических характеристик, которые определяются физическими законами. Поэтому идёт поиск неэлектронных средств хранения и обработки данных, ведутся работы по созданию квантовых и биологических компьютеров, проводятся исследования в области нанотехнологий.
САМОЕ ГЛАВНОЕ
К основополагающим принципам построения компьютеров (принципам Неймана-Лебедева) можно отнести следующие:
1) состав основных компонентов вычислительной машины;
2) принцип двоичного кодирования;
3) принцип однородности памяти;
4) принцип адресности памяти;
5) принцип иерархической организации памяти;
6) принцип программного управления.
Архитектура — это наиболее общие принципы построения компьютера, отражающие программное управление работой и взаимодействием его основных функциональных узлов.
Классическая архитектура компьютеров первых поколений предполагала осуществление взаимодействия всех устройств через процессор и наличие неизменного набора внешних устройств.
Современные персональные компьютеры обладают открытой магистрально-модульной архитектурой — устройства взаимодействуют через шину, что способствует оптимизации процессов обмена информацией внутри компьютера. Второе преимущество современной архитектуры — возможность легко изменить конфигурацию компьютера путём подключения к шине новых или замены старых внешних устройств.
Источник: murnik.ru
Организация памяти компьютера. Простейшие схемы управления памятью
Аннотация: В настоящей лекции рассматриваются простейшие способы управления памятью в ОС. Физическая память компьютера имеет иерархическую структуру. Программа представляет собой набор сегментов в логическом адресном пространстве. ОС осуществляет связывание логических и физических адресных пространств.
Введение
Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ , в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти . Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память ( storage , memory ) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.
Часть ОС, которая отвечает за управление памятью , называется менеджером памяти.
Физическая организация памяти компьютера
Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную , физическую ) и вторичную (внешнюю) память.
Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор извлекает команду из основной памяти , декодирует и выполняет ее. Для выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти . Обычно основная память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении питания.
Вторичную память (это главным образом диски) также можно рассматривать как одномерное линейное адресное пространство , состоящее из последовательности байтов. В отличие от оперативной памяти , она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти .
Эту схему можно дополнить еще несколькими промежуточными уровнями, как показано на рис. 8.1. Разновидности памяти могут быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.
Рис. 8.1. Иерархия памяти
Многоуровневую схему используют следующим образом. Информация, которая находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.
Локальность
Оказывается, при таком способе организации по мере снижения скорости доступа к уровню памяти снижается также и частота обращений к нему.
Ключевую роль здесь играет свойство реальных программ, в течение ограниченного отрезка времени способных работать с небольшим набором адресов памяти. Это эмпирически наблюдаемое свойство известно как принцип локальности или локализации обращений.
Свойство локальности (соседние в пространстве и времени объекты характеризуются похожими свойствами) присуще не только функционированию ОС, но и природе вообще. В случае ОС свойство локальности объяснимо, если учесть, как пишутся программы и как хранятся данные, то есть обычно в течение какого-то отрезка времени ограниченный фрагмент кода работает с ограниченным набором данных.
Эту часть кода и данных удается разместить в памяти с быстрым доступом. В результате реальное время доступа к памяти определяется временем доступа к верхним уровням, что и обусловливает эффективность использования иерархической схемы. Надо сказать, что описываемая организация вычислительной системы во многом имитирует деятельность человеческого мозга при переработке информации. Действительно, решая конкретную проблему, человек работает с небольшим объемом информации, храня не относящиеся к делу сведения в своей памяти или во внешней памяти (например, в книгах).
Кэш процессора обычно является частью аппаратуры, поэтому менеджер памяти ОС занимается распределением информации главным образом в основной и внешней памяти компьютера. В некоторых схемах потоки между оперативной и внешней памятью регулируются программистом (см. например, далее оверлейные структуры ), однако это связано с затратами времени программиста, так что подобную деятельность стараются возложить на ОС.
Адреса в основной памяти , характеризующие реальное расположение данных в физической памяти , называются физическими адресами. Набор физических адресов, с которым работает программа, называют физическим адресным пространством .
Логическая память
Аппаратная организация памяти в виде линейного набора ячеек не соответствует представлениям программиста о том, как организовано хранение программ и данных. Большинство программ представляет собой набор модулей, созданных независимо друг от друга. Иногда все модули, входящие в состав процесса, располагаются в памяти один за другим, образуя линейное пространство адресов. Однако чаще модули помещаются в разные области памяти и используются по-разному.
Схема управления памятью, поддерживающая этот взгляд пользователя на то, как хранятся программы и данные, называется сегментацией. Сегмент – область памяти определенного назначения, внутри которой поддерживается линейная адресация. Сегменты содержат процедуры, массивы, стек или скалярные величины , но обычно не содержат информацию смешанного типа.
По-видимому, вначале сегменты памяти появились в связи с необходимостью обобществления процессами фрагментов программного кода (текстовый редактор, тригонометрические библиотеки и т. д.), без чего каждый процесс должен был хранить в своем адресном пространстве дублирующую информацию. Эти отдельные участки памяти, хранящие информацию, которую система отображает в память нескольких процессов, получили название сегментов . Память, таким образом, перестала быть линейной и превратилась в двумерную. Адрес состоит из двух компонентов: номер сегмента , смещение внутри сегмента . Далее оказалось удобным размещать в разных сегментах различные компоненты процесса (код программы, данные, стек и т. д.). Попутно выяснилось, что можно контролировать характер работы с конкретным сегментом , приписав ему атрибуты, например права доступа или типы операций, которые разрешается производить с данными, хранящимися в сегменте .
Рис. 8.2. Расположение сегментов процессов в памяти компьютера
Некоторые сегменты , описывающие адресное пространство процесса, показаны на рис. 8.2. Более подробная информация о типах сегментов имеется в лекции 10.
Большинство современных ОС поддерживают сегментную организацию памяти. В некоторых архитектурах (Intel, например) сегментация поддерживается оборудованием.
Адреса, к которым обращается процесс, таким образом, отличаются от адресов, реально существующих в оперативной памяти . В каждом конкретном случае используемые программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символические. Компилятор связывает эти символические адреса с перемещаемыми адресами (такими, как n байт от начала модуля). Подобный адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством .
Связывание адресов
Итак логические и физические адресные пространства ни по организации, ни по размеру не соответствуют друг другу. Максимальный размер логического адресного пространства обычно определяется разрядностью процессора (например, 2 32 ) и в современных системах значительно превышает размер физического адресного пространства . Следовательно, процессор и ОС должны быть способны отобразить ссылки в коде программы в реальные физические адреса, соответствующие текущему расположению программы в основной памяти . Такое отображение адресов называют трансляцией (привязкой) адреса или связыванием адресов (см. рис. 8.3).
Связывание логического адреса, порожденного оператором программы, с физическим должно быть осуществлено до начала выполнения оператора или в момент его выполнения. Таким образом, привязка инструкций и данных к памяти в принципе может быть сделана на следующих шагах [Silberschatz, 2002].
- Этап компиляции ( Compile time ). Когда на стадии компиляции известно точное место размещения процесса в памяти, тогда непосредственно генерируются физические адреса. При изменении стартового адреса программы необходимо перекомпилировать ее код. В качестве примера можно привести .com программы MS-DOS, которые связывают ее с физическими адресами на стадии компиляции.
- Этап загрузки ( Load time ). Если информация о размещении программы на стадии компиляции отсутствует, компилятор генерирует перемещаемый код. В этом случае окончательное связывание откладывается до момента загрузки. Если стартовый адрес меняется, нужно всего лишь перезагрузить код с учетом измененной величины.
- Этап выполнения ( Execution time ). Если процесс может быть перемещен во время выполнения из одной области памяти в другую, связывание откладывается до стадии выполнения. Здесь желательно наличие специализированного оборудования, например регистров перемещения. Их значение прибавляется к каждому адресу, сгенерированному процессом. Большинство современных ОС осуществляет трансляцию адресов на этапе выполнения, используя для этого специальный аппаратный механизм (см. лекцию 9).
Источник: intuit.ru