Образец. 33425_Образец_оформления. Содержание 3 Алгоритмы планирования 12
Скачать 1.18 Mb.
|
Процессор может выполнять только инструкции, находящиеся в оперативной памяти. Память распределяется как между модулями прикладных программ, так и между модулями самой операционной системы. Функции ОС по управлению памятью в мультипрограммной системе: отслеживание свободной и занятой памяти; выделение памяти процессам и ее освобождение при завершении процесса; вытеснение процессов из оперативной памяти на диск при нехватке оперативной памяти и возвращение в оперативную память при освобождении места в ней (механизм виртуальной памяти); настройка адресов программы на конкретную область физической памяти; динамическое выделение памяти процессам (выделение памяти по запросу приложения во время его выполнения); выделяются свободные участки, расположенные произвольным образом, что приводит к фрагментации памяти; дефрагментация освобожденной динамической памяти; выделение памяти для создания служебных структур ОС (дескрипторы процессов и потоков, таблицы распределения ресурсов, буферы, синхронизирующие объекты и т.д.; защита памяти – выполняемый процесс не должен записывать или читать данные из памяти, назначенной другому процессу. Преобразование адресов в процессе обработки программы. Для идентификации переменных и команд на разных этапах обработки программы операционной системой используются символьные имена, преобразуемые в виртуальные адреса и в итоге – в физические адреса (рисунок 1). Рисунок 1 – Типы адресов Совпадение виртуальных адресов переменных и команд различных программ не приводит к конфликтам, так как в случае, когда эти переменные или команды одновременно присутствуют в памяти, операционная система отображает совпадающие виртуальные адреса на разные физические (если эти переменные или команды не должны разделяться соответствующими процессами) адреса. Образ процесса – термин, обозначающий содержимое назначенного процессу виртуального адресного пространства, т.е. коды команд и данные (исходные, промежуточные и результаты). Способы структуризации виртуального адресного пространства в ОС. Структура адреса, или модель адресации определяется в совокупности компилятором, операционной системой и аппаратным обеспечением. Компилятор должен обеспечить простоту работы с адресом, но с минимальным разрывом между программистом и ОС. Поэтому в языке программирования отображается та модель, которая используется в ОС. Эта модель, в свою очередь, определяется заложенной в ОС идеей адресации с учетом необходимости реализации этой идеи на конкретной аппаратной платформе. Таким образом, ОС «сверху» должна обеспечить достаточно простую модель адресации для компилятора, а «снизу» уметь преобразовать эту модель в модель, навязанную аппаратурой. Рассмотрим две наиболее характерных модели структуризации адресного пространства – плоскую и двухуровневую модель «сегмент–смещение». Эти модели представлены на рисунке 2. Рисунок 2 – Типы виртуальных адресных пространств: плоское (а), сегментированное (б) Под первичной или основной памятью подразумевается набор адресуемых ячеек, доступных программам, написанным на машинном языке. В основной памяти находятся программы и данные, доступ к которым осуществляется с помощью механизма формирования адресов. Элементарные схемы взаимодействия процессора с памятью изображены на рисунок 3. Промежуточная память – кэш–память – невелика по объему, но значительно быстрее основной. Такая память тоже доступна процессору, но необязательно доступна программам системы. Ведь если бы кэш–память была доступна всем программам, она ничем бы не отличалась от основной. Малая память обычно называется кэш–памятью или скрытым буфером, если она полностью скрыта. При этом адресация ячеек кэш–памяти и управление перемещениями информации между ней и основной памятью полностью возлагаются на логику системы. M M M P M’ P M’ M” CM M’”” M а б в Рисунок 3 – Структуры микропрограммной памяти: а – процессор (Р) и основная память (М); б – процессор, основная память и кэш–память (М’); в – процессор, основная память, кэш–память и микропроцессор с собственной микропрограммной памятью (М”), микропамятью (СМ) для хранения операндов микрокоманд и собственной кэш–памятью (М”’) |