Файл: Реферат Машиннозависимые свойства ос шишков И. О. НиколаевскнаАмуре 2022 Содержание.docx
Добавлен: 08.11.2023
Просмотров: 75
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Основными задачами подсистемы управления памятью (УП) являются:
-
Эффективное размещение процессов в ОП. -
Защита памяти процессов.
Основная цель УП - обеспечить максимальный уровень мультипрограммирования и тем самым максимальную загрузку ЦП.
Современные ЭВМ имеют 3-х уровневую, иерархическую организацию запоминающих устройств (ЗУ) (внутренние регистры процессора, различные типы сверхоперативной и оперативной памяти, диски, ленты), отличающихся средним временем доступа и стоимостью хранения данных в расчете на один бит. Пользователю хотелось бы иметь и недорогую и быструю память. Кэш-память представляет некоторое компромиссное решение этой проблемы.
Кэш-память - это способ организации совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который позволяет уменьшить среднее время доступа к данным за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из "медленного" ЗУ. [2, c. 85]
-
Управление виртуальной памятью
Виртуальная память — метод управления памятью компьютера, позволяющий выполнять программы, требующие больше оперативной памяти, чем имеется в компьютере, путём автоматического перемещения частей программы между основной памятью и вторичным хранилищем (например, жёстким диском). [1, c. 23]
Применение виртуальной памяти позволяет:
-
освободить программиста от необходимости вручную управлять загрузкой частей программы в память и согласовывать использование памяти с другими программами -
предоставлять программам больше памяти, чем физически установлено в системе -
в многозадачных системах изолировать выполняющиеся программы друг от друга, путём назначения им непересекающихся адресных пространств [7]
Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает. В данном случае в распоряжение прикладного программиста предоставляется виртуальная оперативная память, размер которой намного превосходит всю имеющуюся в системе реальную оперативную память.
Понятно, однако, что работа такой «оперативной памяти» происходит значительно медленнее. [4]
Виртуализация оперативной памяти осуществляется совокупностью программных модулей ОС и аппаратных схем процессора и включает решение следующих задач:
-
размещение данных в запоминающих устройствах разного типа, например, часть кодов программы — в оперативной памяти, а часть — на диске; -
выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно; -
перемещение по мере необходимости данных между памятью и диском; -
преобразование виртуальных адресов в физические. [3, c. 47]
Заключение
Из выше написанного, можно подвести итог, что машинно-зависимые свойства ОС, одна и та же операционная система не может без каких-либо изменений устанавливаться на компьютерах, отличающихся типом процессора и способом организации всей аппаратуры. В модулях ядра ОС не могут не отразиться такие особенности аппаратной платформы, как количество типов прерываний и формат таблицы ссылок на процедуры обработки прерываний, состав регистров общего назначения и системных регистров, состояние которых нужно сохранять в контексте процесса, особенности подключения внешних устройств и многие другие.
Однако опыт разработки операционных систем показывает: ядро можно спроектировать таким образом, что только часть модулей будут машинно-зависимыми, а остальные не будут зависеть от особенностей аппаратной платформы. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, естественно примыкающий к слою аппаратуры. Такая локализация машинно-зависимых модулей существенно упрощает перенос операционной системы на другую аппаратную платформу. Ведь объем машинно-зависимых компонентов ОС зависит от того, насколько велики отличия в аппаратных платформах, для которых разрабатывается ОС. Например, ОС, построенная на 32-битовых адресах, для переноса на машину с 16-битовыми адресами должна быть практически переписана заново.
Одно из наиболее очевидных отличий - несовпадение системы команд процессоров - преодолевается достаточно просто. Операционная система программируется на языке высокого уровня, а затем соответствующим компилятором вырабатывается код для конкретного типа процессора. Однако во многих случаях различия в организации аппаратуры компьютера лежат гораздо глубже и преодолеть их таким образом не удается. Например, однопроцессорный и двухпроцессорный компьютеры требуют применения в ОС совершенно разных алгоритмов распределения процессорного времени. Аналогично отсутствие аппаратной поддержки виртуальной памяти приводит к принципиальному различию в реализации подсистемы управления памятью. В таких случаях не обойтись без внесения в код операционной системы специфики аппаратной платформы, для которой эта ОС предназначается.
Для уменьшения количества машинно-зависимых модулей производители операционных систем обычно ограничивают универсальность машинно-независимых модулей. Это означает, что их независимость носит условный характер и распространяется только на несколько типов процессоров и созданных на основе этих процессоров аппаратных платформ. По этому пути пошли, например, разработчики ОС Windows NT, ограничив количество типов процессоров для своей системы четырьмя и поставляя различные варианты кодов ядра для однопроцессорных и многопроцессорных компьютеров.
Особое место среди модулей ядра занимают низкоуровневые драйверы внешних устройств. С одной стороны, эти драйверы, как и высокоуровневые драйверы, входят в состав менеджера ввода-вывода, то есть принадлежат слою ядра, занимающему достаточно высокое место в иерархии слоев. С другой стороны, низкоуровневые драйверы отражают все особенности управляемых внешних устройств, поэтому их можно отнести и к слою машинно-зависимых модулей. Такая двойственность низкоуровневых драйверов еще раз подтверждает схематичность модели ядра со строгой иерархией слоев.
Список использованных источников
-
Операционные системы Востокин С.В., Самарский университет, 2018, 130 стр., -
Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., -
Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., -
Машино-зависимые свойства ОС - https://infopedia.su/15x7f61.html -
(Учебные материалы онлайн) Машино-зависимые свойства ОС - https://studwood.net/1656932/informatika/mashinno_zavisimye_svoystva_operatsionnyh_sistem -
The Presentation Машино-зависимые свойства ОС - https://thepresentation.ru/informatika/mashinno-zavisimye-i-mashinno-nezavisimye-svoystva -
Общее описание операционной системы. Основные функции ОС и методы ее построения. - http://andrey-2119163.narod.ru/oper_sys/lection_00.htm