78514

Операционные системы: концепции и механизмы управления процессами и ресурсами

Доклад

Информатика, кибернетика и программирование

Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти выделение памяти процессам и освобождение памяти при завершении процессов вытеснение процессов из оперативной памяти на диск когда размеры основной памяти не достаточны для размещения в ней всех процессов и возвращение их в оперативную память когда в ней освобождается место а также настройка адресов программы на конкретную область физической памяти. Так как во время трансляции в общем случае не известно в какое место оперативной памяти будет загружена...

Русский

2015-02-07

38 KB

0 чел.

11. Операционные системы: концепции и механизмы управления процессами и ресурсами

Управление локальными ресурсами.

Важнейшей функцией операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам могут быть отнесены: процессоры, память, внешние устройства, данные и программы. Располагающая одними и теми же ресурсами, но управляемая различными ОС, вычислительная система может работать с разной степенью эффективности. Поэтому знание внутренних механизмов операционной системы позволяет косвенно судить о ее эксплуатационных возможностях и характеристиках. Управление памятью. Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти. Типы адресов. Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса. Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере. Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык. Так как во время трансляции в общем случае не известно, в какое место оперативной памяти будет загружена программа, то транслятор присваивает переменным и командам виртуальные адреса, обычно считая по умолчанию, что программа будет размещена, начиная с нулевого адреса. Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное пространство. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре компьютера, и, как правило, не совпадает с объемом физической памяти, имеющимся в компьютере. Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды. Переход от виртуальных адресов к физическим может осуществляться двумя способами. В первом случае замену виртуальных адресов на физические делает специальная системная программа - перемещающий загрузчик. Перемещающий загрузчик на основании имеющихся у него исходных данных о начальном адресе физической памяти, в которую предстоит загружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку программы, совмещая ее с заменой виртуальных адресов физическими. Второй способ заключается в том, что программа загружается в память в неизмененном виде в виртуальных адресах, при этом операционная система фиксирует смещение действительного расположения программного кода относительно виртуального адресного пространства. Во время выполнения программы при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический. Второй способ является более гибким, он допускает перемещение программы во время ее выполнения, в то время как перемещающий загрузчик жестко привязывает программу к первоначально выделенному ей участку памяти. Вместе с тем использование перемещающего загрузчика уменьшает накладные расходы, так как преобразование каждого виртуального адреса происходит только один раз во время загрузки, а во втором случае - каждый раз при обращении по данному адресу. В некоторых случаях (обычно в специализированных системах), когда заранее точно известно, в какой области оперативной памяти будет выполняться программа, транслятор выдает исполняемый код сразу в физических адресах.

Распределение памяти фиксированными разделами. Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу. При очевидном преимуществе - простоте реализации - данный метод имеет существенный недостаток - жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов независимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого. Распределение памяти разделами переменной величины. В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. Задачами ОС при реализации данного метода управления памятью является: ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти; при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи; загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей; после завершения задачи корректировка таблиц свободных и занятых областей. Программный код не перемещается во время выполнения, то есть может быть проведена единовременная настройка адресов посредством использования перемещающего загрузчика. По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток - фрагментация памяти. Фрагментация - это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти. Перемещаемые разделы. Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область. В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется "сжатием". Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом.

Методы распределения памяти с использованием дискового пространства. Понятие виртуальной памяти. Развитие методов организации вычислительного процесса в этом направлении привело к появлению метода, известного под названием виртуальная память. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает. Так, например, пользователю может быть предоставлена виртуальная оперативная память, размер которой превосходит всю имеющуюся в системе реальную оперативную память. Пользователь пишет программы так, как будто в его распоряжении имеется однородная оперативная память большого объема, но в действительности все данные, используемые программой, хранятся на одном или нескольких разнородных запоминающих устройствах, обычно на дисках, и при необходимости частями отображаются в реальную память. Таким образом, виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи: размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске; Перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память; Преобразует виртуальные адреса в физические. Все эти действия выполняются автоматически, без участия программиста, то есть механизм виртуальной памяти является прозрачным по отношению к пользователю.


 

А также другие работы, которые могут Вас заинтересовать

72621. Понятие, виды и формы недобросовестной конкуренции. Недобросовестная конкуренция как правонарушение. Запрет на недобросовестную конкуренцию 19.06 KB
  Следовательно свобода экономической деятельности хозяйствующих субъектов не должна приводить к недобросовестной конкуренции. Недобросовестная конкуренция любые действия хозяйствующих субъектов группы лиц которые направлены на получение преимуществ при осуществлении предпринимательской...
72622. Порядок предоставления государственной или муниципальной помощи 19.87 KB
  Государственные или муниципальные преференции могут быть предоставлены на основании правовых актов федерального органа исполнительной власти органа государственной власти субъекта Российской Федерации органа местного самоуправления иных осуществляющих функции указанных органов органа...
72623. Антиконкурентная деятельность властных органов 17.47 KB
  Запрет на ограничивающие конкуренцию акты и действия бездействие федеральных органов исполнительной власти органов государственной власти субъектов Российской Федерации органов местного самоуправления иных осуществляющих функции указанных органов или организаций...
72624. Правовой механизм государственного контроля в сфере естественных монополий. Методы регулирования деятельности субъектов монополий 21.44 KB
  В целях проведения эффективной государственной политики в сферах деятельности субъектов естественных монополий органы регулирования естественных монополий осуществляют государственный контроль надзор за действиями которые совершаются с участием или в отношении субъектов...
72625. Права и обязанности органов регулирования деятельности субъектов монополий по рассмотрению дел о нарушениях законодательства о монополиях 16.59 KB
  В соответствии с постановлением Правительства РФ от 30 июня 2004 г. N 332 Федеральная служба по тарифам является федеральным органом исполнительной власти по регулированию естественных монополий, осуществляющим функции по определению (установлению) цен (тарифов) и осуществлению контроля по вопросам...
72626. Субъекты монополий и особенности регулирования их деятельности. Орган регулирования деятельности субъектов монополий в РФ: история их становления и правовое положение 26.94 KB
  Исключительность таких субъектов может носить как экономический например в сфере естественной монополии так и юридический характер например временная или государственная монополия. Некоторые права которыми обладает субъект монополии действуют лишь в течение определенного времени и носят срочный...
72627. Допустимость действий (бездействия), соглашений, согласованных действий, сделок, иных действий 16.08 KB
  В силу ст. 13 Закона о защите конкуренции некоторые виды деяний запрещенные ст. 10 того же закона могут быть признаны допустимыми, если они не создают возможность для отдельных лиц устранить конкуренцию на соответствующем товарном рынке, не налагают на их участников или третьих лиц ограничения...
72629. Спецификация оператора FORMAT 13.95 KB
  Спецификация I используется для ввода-вывода информации целого типа. Поэтому переменная, которой присваивается считанная величина, обязательно должна быть целого типа (начинаться с букв I, J, K, L, M, N или должна быть описана при помощи оператора INTEGER). В противном случае при трансляции будет обнаружена ошибка.