
- •Число: 4.9.12. Лекция номер 1. Вычислительные процессы.
- •Формальное определение процесса.
- •Реализация процесса.
- •11.09.12 Лекция номер 2. Вычислительный процесс. Простейшие модели вычислительных процессов. Отношения между элементами вп.
- •Простейшие модели вп.
- •Автоматы с магазинной памятью.
- •13.09.12 Лекция 3.
- •Разновидности вп.
- •Какая-то тема.
- •18.09.12. Лекция 4. Состав ядра ос.
- •25.09.12. Лекция 5. Архитектура памяти.
- •Виртуальная память.
- •Флаги защиты для страниц.
- •26.9.12 Лекция 6. Страничная сегментная адресация. Продолжение.
- •Некоторые особенности 64-х разрядных систем.
- •27.9.12 Лекция 7. Продолжение и изучение виртуальной памяти.
- •2.10 Лекция номер 8 Потоки.
- •9.10 Лекция номер 9.
- •Алгоритмы диспетчирезации.
- •Методы планирования мультипрограммных систем.
- •16.10.12. Лекция номер 10. Продолжение темы диспетчирезаии.
- •Пояснение к выполнению курсовой работы.
- •Алгоритмы планирования.
- •Приоритеты потока.
- •Системы реального времени.
- •22.11.12 Следующая.
- •Синхронизирующие примитивные системы.
- •Сети Петри.
- •Очереди сообщений.
- •Продолжении лекции.
- •Файлы проецируемые в памяти.
- •Системы ввода вывода.
25.09.12. Лекция 5. Архитектура памяти.
Архитектура памяти это механизм разделения доступной памяти, собственным прикладным программам и процессам и процедура формирования адреса выделяемой ячейки. Классическим способом адресации называется сегментная фрагментация. Адрес ячейки памяти при сегментной адрессации формируется из двух состовляющих [Адрес ЯП]=[Адрес сегмента]:[смещение от начального сегмента].
Весь объем оперативной памяти разделяется на множество сегментов-изолированных друг от друга областей, поскольку адресация выполняется в каждом сегменте отдельно, оперативная память разделяется как бы на множество изолированных друг от друга адресных пространств, каждый процесс выполняется в изолированном адресном пространстве - своем сегменте. Сегменты бываеют четырех видов:
Кодовые сегменты, содержат код исполняемой программы, эти сегменты не принято изменять во время запуска программ.
Сегменты инициализированных данных, в них заносятся данные инициализированные при запуске программы, т.е данные которым уже присвоены значения(константы, даные связанные уже в блоки данных, присвоение значений переменных).
Сегмент стека.
Сегменты не иницыализированных данных в него попадают данные не имеющие начальные значения.
Исполняемый модуль программы всегда содержит образ всех сегментов и не обязан содержать сегмент не иницыализированных данных. Различные модели памяти имеют различное количество сегментов кода и сегментов данных при этом, в одних моделях хватает коротких 16-ти битных указателей, в других моделях необходимо 32-х и 64-х битная адресация(такие указатели называют дальними). Определение модели памяти поддерживается на уровне компилятора.
Виды моделей памяти:
TINY в ней данные и код находятся в одном сегменте, используются только короткие указатели, а исполняемый модуль имеет только com формат.
SMALL сегменты кода их данных разделены, их всего два используются короткие указатели.
COMPACT 1 сегмент кода/много сегментов данных, первая модель в которой могут быть использованы дальние указатели.
MEDIUM 1 сегмент данных/много сегментов кода, так же могут быть использованы дальние указатели.
LARGE много сегментов кода и много сегментов данных, используются дальние указатели.
HUGE много сегментов кода и много сегментов данных, принудительно все указатели переводятся в дальние.
Виртуальная память.
Каждый процесс получает в свою собственность 4гб виртуального адресного пространства, внутри своего экземпляра процесс оперирует виртуальными адресами, для трансляции виртуальных адресов в физические используется таблица отображения. Виртуальная память отличается от обычной оперативной, тем что ее редко используемые участки могут находится на диске и подгружатся в реальную оперативную память по мере необходимости, такая организация позволяет снять ограничения накладываемые объемом физической памяти установленной на ЭВМ.
Для реализации виртуальной памяти используют например динамическую переадресацию, вначале по номеру в таблице сегментов отыскивается сегмент, таблица сегментов содержит начальный адрес таблицы страниц, вторая часть адреса используется для ориентировки на этой страницы. Страничная адресация используется и как отдельный вид организации памяти для систем работающих в защищенном режиме. Механизм такой организации называется пэйджинг, в этом случае страница вытесняется на диск и затем в нужное время загружаются с диска в память такой механизм (особенно в маломощных компьютерах) работает заметно медленнее для поьзователя.
Еще одним механизмом управления виртуальной памяти является механизм своппинга, с его помощью происходит управление ВП за три основных этапа:
Управление пространством на устройстве куда выгружаются страницы.
Контроль выгрузки областей памяти на устройство выгрузки.
Подкачка фрагментов в основную память.
Этот механизм может использовать как отдельные файлы своп файлы, так и области на диске которые он бронирует.
Защита памяти осуществляется путем блокировки доступа к памяти других процессов, плюс блокировка памяти ядра системы, обычно это делается при помощи механизма называемого "ключ-замок" каждой страницы сопоставляется четырех битовый замок, который устанавливается привилегированной командой на данную страницу и открыть(получить доступ) его можно только так называемым ключем-имеющимся в процессоре четырех битовым регистромкоторый так же может быть установлен только привелигированной командой, при обращении к странице происходит сопоставление замка и ключа и в случае совпадения команда получит доступ к этой странице. В многозадачных системах открыло проблему распределения памяти, прикладные программы при обращении к памяти имеют тенденцию локализовано занимать некоторые ее области, в то время как другие остаются не занятыми с ростом возможности аппаратного обеспечения эта проблема увеличивается.