Память является одним из наиболее востребованных системных ресурсов. От эффективности управления памятью существенно зависит работа всей вычислительной системы. Любая программа может выполняться только если ее код и данные размещены в оперативной памяти компьютера.
В многозадачной системе память не может вместить все запущенные программы одновременно, поэтому операционная система должна динамически перераспределять память между конкурирующими процессами. От того, насколько эффективно выполняется такое перераспределение, зависит быстродействие системы. При ошибках распределения памяти, например, если перекрылись участки памяти, распределенные различным процессам, возникают трудно обнаружимые ошибки.
Отметим также, что защита данных пользовательских и системных программ в современных операционных системах реализуется на основе контролируемого доступа к участкам памяти.
Таким образом, подсистема управления памятью в составе операционной системы является одним из фундаментальных системных механизмов, жизненно важных как для самой операционной системы, так и для всех выполняемых программ.
Урок 39. Иерархия памяти
Если рассматривать память в рамках виртуальной машины, абстрагируясь от деталей реализации, можно выделить два основных требования, предъявляемых к ней:
- объем памяти – характеристика, определяющая сколько единиц информации может одновременно хранить данная память.
- среднее время доступа – характеристика, определяющая сколько в среднем времени затрачивается на выполнение одной операцию чтения или записи.
Очевидно, что чем больше объем памяти и меньше среднее время доступа к ней, тем быстрее будут выполняться программы. К сожалению, стоимость памяти очень быстро растет с ростом ее производительности, поэтому объем быстродействующей памяти реальной машины всегда ограничен.
Для того, чтобы в условиях дефицита быстродействующей памяти сохранить высокий уровень производительности, в современных компьютноах используется иерархическая модель памяти, рассмотрим ее.
3.1 Иерархическая модель памяти
Основная идея иерархической модели памяти состоит в следующем. Память системы разделяется на уровни иерархии, представленные запоминающими устройствами различного типа – с разным объемом и временем доступа. При этом, чем меньше быстродействие устройства памяти, тем больше должен быть его объем.
На верхнем уровне иерархии находится наиболее быстродействующее устройство памяти, на нижнем – наименее быстродействующее, но зато с наибольшим объемом.
Для всей иерархической структуры памяти соблюдается следующее правило: при переходе от вышележащего уровня к нижележащему быстродействие памяти уменьшается, а ее объем увеличивается.
Процессор непосредственно взаимодействует с верхним, наиболее быстрым уровнем памяти. Верхний уровень пытается самостоятельно обслужить запросы процессора на ввод-вывод данных, но если вдруг требуемых данных на верхнем уровне памяти не оказалось, то подсистема управления памятью обращается к нижележащему уровню памяти, и т.д., пока требуемые данные не будут обнаружены, или пока не будет получен отказ от самого нижнего уровня в иерархии памяти.
Лекция 3. Работа с памятью, выполнение программ (Программирование на C++, часть 1)
Все современные компьютеры реализуют многоуровневую модель памяти, включающую, как минимум, три уровня иерархии, как показано на рис. 21.
Рис.21. Иерархия памяти в современном компьютере
На верхнем уровне иерархии находится процессорный кэш– наиболее быстрая, но и наиболее дорогая память, ее объем в системе минимален, порядка сотен или тысяч килобайт. Для ускорения работы, процессорный кэш часто располагается непосредственно в корпусе процессора (или даже на общем кристалле с вычислительным ядром). В зависимости от типа процессора, в нем может быть представлено несколько уровней кэша.
Основная (или оперативная) память представляет средний уровень иерархии памяти в системе. Сейчас это электронная память с довольно высоким быстродействием. Ее объем в современных настольных компьютерах обычно составляет до нескольких гигабайт, что примерно в тысячу раз превосходит объем кэша, но при этом ОЗУ в несколько раз уступает кэшу по быстродействию.
Нижний уровень иерархии – вторичная память, представлен дисковым накопителем. Его объем составляет десятки и сотни гигабайт, что в сотни и тысячи раз больше ОЗУ. Но так как диск это электромеханическое, а не чисто электронное устройство, его производительность многократно, в тысячи раз, уступает производительности ОЗУ. Дисковый накопитель используется для долговременного хранения больших объемов данных, потребности в которых в данный момент нет.
За взаимодействие этих уровней памяти и за передачу данных между ними отвечает программно-аппаратная подсистема управления памятью, представляющая собой сочетание аппаратных средств в составе процессора и программного кода в составе операционной системы. В дальнейшем мы детально изучим этот механизм, а пока оценим производительность, достигаемую при иерархической организации памяти.
Источник: studfile.net
На каком уровне иерархии памяти находится программа в процессе выполнения?
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, процесс находится в состоянии готовность, если:
Для некоторого процесса, запущенного в вычислительной системе со страничной организацией памяти с использованием LRU алгоритма замещения страниц, выделение процессу 4 кадров памяти приводит к 11 page faults, а выделение 6 кадров памяти – к 9 page faults (вначале все кадры свободны). Какой вариант количества page faults для того же процесса и того же количества кадров может быть получен при использовании OPT алгоритма замещения страниц?
Известно, что для доступа к памяти через таблицу страниц необходимо 80 нс, а для доступа через ассоциативную память – 10 нс. Частота попаданий в ассоциативную память при обращении к данным (hit ratio) соcтавляет 90%. Чему равно среднее время обращения к памяти?
Источник: bazaintuit.ru
Учебные программы по дисциплинам программы профессиональной переподготовки (стр. 7 из 46)
Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании вытесняющего приоритетного планирования? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь. Наивысшим приоритетом является приоритет 0.
10. Что нужно сделать, чтобы обнаружить тупик?
· нарушить 4-е условие возникновения тупиков
· проверить наличие в системе первых трех условий возникновения тупиков и проверить выполнение четвертого условия
· проверить выполнение в системе всех четырех условий возникновения тупиков и нарушить условие 4
11. Как можно вывести систему из тупиковой ситуации?
· завершить выполнение одного из процессов
· нарушить одно из условий возникновения тупика
· организовать в системе средства отката и перезапуска с контрольной точки
12. Какая из операционных систем больше подвержена тупикам?
· система пакетной обработки
· система жесткого реального времени
· система с разделением времени
13. В чем состоит преимущество схемы виртуальной памяти по сравнению с организацией структур с перекрытием?
· возможность выполнения программ большего размера
· возможность выполнения программ, размер которых превышает размер оперативной памяти
· экономия времени программиста при размещении в памяти больших программ
14. Чем запись в таблице страниц в схеме виртуальной памяти отличается от соответствующей записи в случае простой страничной организации?
· наличием номера страничного кадра
· наличием бита присутствия
· наличием атрибутов защиты страницы
15. Какая из схем управления памятью пригодна для организации виртуальной памяти?
· как сегментная, так и страничная схемы
16. Предположим, что один из файлов в ОС Unix жестко связан с двумя различными каталогами, принадлежащими различным пользователям. Что произойдет, если один из пользователей удалит файл?
· файл автоматически удалится из каталога второго пользователя
· система отменит операцию удаления файла
17. Могут ли два процесса в ОС Unix одновременно держать открытым один и тот же файл?
· могут, если один из процессов заблокировал файл при помощи системного вызова fcntl
18. Для чего применяется журнализация в файловых системах?
· для протоколирования действий пользователей
· для повышения отказоустойчивости системы
· для того чтобы иметь возможность отменять ошибочные изменения данных в файлах пользователей
19. Когда процесс, находящийся в состоянии «закончил исполнение», может окончательно покинуть систему?
· по прошествии определенного интервала времени
· только при перезагрузке операционной системы
· после завершения процесса-родителя
20. Какие из перечисленных ниже компонентов входят в системный контекст процесса?
— состояние, в котором находится процесс
— программный счетчик процесса
— информация об устройствах ввода-вывода, связанных с процессом
— содержимое регистров процессора
— код и данные, находящиеся в адресном пространстве процесса
21. При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, принято решение ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых состояний процессов появится в системе?
22. Для решения проблемы информационной безопасности необходимо:
· применение законодательных мер
· применение программно-технических мер
· сочетание законодательных, организационных и программно-технических мер
23. Конфиденциальная система обеспечивает:
· секретность данных пользователей
· гарантию того, что авторизованным пользователям всегда будет доступна информация, которая им необходима
· уверенность в том, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен
24. Какую информацию принято скрывать, когда применяются криптографические методы защиты?
· ключ, при помощи которого шифруется текст
· алгоритм, которым шифруется текст
· ключ и алгоритм вместе
25. Какие операционные системы позволяют взаимодействовать удаленным процессам и имеют сходное строение с автономными вычислительными системами?
· сетевые операционные системы
· распределенные операционные системы
· операционные системы, поддерживающие работу многопроцессорных вычислительных систем
26. Пусть у нас есть локальная вычислительная сеть, достаточно долгое время работающая с неизменной топологией и без сбоев. Какие алгоритмы маршрутизации гарантируют доставку пакетов данных по кратчайшему пути?
· алгоритмы фиксированной маршрутизации
· векторно-дистанционные алгоритмы с метрикой количества переходов между компонентами сети
· алгоритмы случайной маршрутизации
27. Какой уровень эталонной модели OSI/ISO отвечает за создание контрольных точек при общении удаленных процессов?
28. На каком уровне иерархии памяти находится программа в процессе выполнения?
· на магнитном диске
· в оперативной памяти
· разные компоненты программы могут находиться на различных уровнях
29. Чем обусловлена эффективность иерархической схемы памяти?
· скоростью обмена с оперативной памятью
· принципом локализации обращений
· количеством уровней в иерархии
30. Что понимается под термином «внешняя фрагментация»?
· потеря части памяти, не выделенной ни одному процессу
· потеря части памяти в схеме с переменными разделами
· наличие фрагментов памяти, внешних по отношению к процессу
31. Какая техническая база характерна для первого периода вычислительной техники (1945-1955 гг.)?
32. Что было прообразом современных ОС?
· компиляторы с символических языков
· библиотеки математических и служебных программ
· системы пакетной обработки
33. При доступе к файлу в распределенной ОС пользователь должен знать:
· только имя файла
· точное физическое расположение файла на диске
· имя файла, компьютер, на котором находится файл, и сетевой способ доступа к информации в файле
34. Какой из вариантов адресации может использоваться для организации передачи информации через pipe?
· симметричная прямая адресация
· асимметричная прямая адресация
35. Какие процессы могут обмениваться информацией через FIFO?
· только процесс, создавший FIFO, и его процесс-ребенок
· только процессы, имеющие общего родителя, создавшего FIFO
· произвольные процессы в системе
36. В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, процесс находится в состоянии «готовность», если:
· хотя бы одна нить процесса находится в состоянии «готовность»
· хотя бы одна нить исполнения находится в состоянии «готовность», и нет ни одной нити в состоянии «ожидание»
· хотя бы одна нить процесса находится в состоянии «готовность», и нет ни одной нити в состоянии «исполнение».
37. Для проверки системы на наличие в ней уязвимых с точки зрения безопасности мест обычно осуществляют ее сканирование. Какие аспекты системы такое сканирование обычно не затрагивает?
· долго выполняющиеся программы
· изменения в файлах пользователей, обнаруженные с помощью контрольных сумм
38. Какой метод используется для хранения элементов матрицы доступа в ОС Unix?
· списки прав доступа
· комбинация списков прав доступа и перечней возможностей
39. Средства авторизации:
· контролируют процесс доступа в систему
· контролируют доступ легальных пользователей к ресурсам системы
· обеспечивают защиту системы от вирусов
Источник: smekni.com