78514

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

Доклад

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

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

Русский

2015-02-07

38 KB

0 чел.

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

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

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

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

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


 

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

37560. Философия в Беларуси: основные идеи и этапы развития 164.5 KB
  Философия в Беларуси: основные идеи и этапы развития Формирование условий подготовивших возможность возникновения философии Беларуси следует связать с принятием христианства во времена Киевской Руси. Становление же профессиональной философской деятельности в Беларуси произошло в период Возрождения; оно связано с именем белорусского первопечатника и гуманиста Франциска Скорины. Вместе с тем своеобразие социальноэкономического и общественнополитического развития Беларуси отложило свой отпечаток на развитие национальной духовной традиции...
37561. Философия как мировоззренческая концепция 280 KB
  Понятие человека сущность человека. Чем солиднее запас знаний в ту или иную эпоху у того или иного народа или отдельного человека тем более серьезную опору может получить соответствующее мировоззрение. Мировоззрение комплексная форма сознания объемлющая самые разные пласты человеческого опыта способно раздвигать узкие рамки повседневности конкретного места и времени соотносить данного человека с другими людьми включая и тех что жили раньше будут жить потом. В мифологии отсутствовали отчётливые разграничения мира и человека...
37562. ИЗУЧЕНИЕ ПРОБЛЕМ ФИЛОСОФИИ ИСТОРИИ в курсах «Философии» и «Культурологии» 212.5 KB
  ИЗУЧЕНИЕ ПРОБЛЕМ ФИЛОСОФИИ ИСТОРИИ в курсах Философии и Культурологии Учебнометодическое пособие для студентовзаочников Петрозаводск 2001 Учебнометодическое пособие Изучение проблем философии истории в курсах Философии и Культурологии рассмотрено и одобрено на заседаниях секции гуманитарных дисциплин 25 мая 2001 года и научнометодического совета Карельского филиала СЗАГС 29 мая 2001 года. 3 Распределение материала философии истории по курсам Философии и Культурологии . Содержание...
37563. СПЕЦПИТАННЯ ФІЛОСОФІЇ 953.5 KB
  Основні фції: 1 синтез знань і створення єдиної картини світу відповідної певному рівню розвитку науки культури та історичного досвіду; 2 обгрунтування виправдання і аналіз світогляду; 3 розробка загальної методології пізнання і діяльності людини в навколишньому світі.У цих рядках чудово те що походження пам'яті связиввется в них з походженням таких безперечно історичних прийомів поведінки як рахунок і писемність; ми побачимо дійсно що пам'ять сучасної людини є таким же продуктом його культурного соціального розвитку як і його мова...
37564. ОСНОВЫ ФИЛОСОФИИ НАУКИ 2.68 MB
  Фатхи ОСНОВЫФИЛОСОФИИ НАУКИ Учебное пособие для аспирантов OCR: В. К 55 Основы философии науки: Учебное пособие для аспирантов. Основное внимание уделено философскому анализу науки как специфической системы знания формы духовного производства и социального института. Рассмотрены общие закономерности развития науки ее генезис и история структура уровни и методология научного исследования актуальные проблемы философии науки роль науки в жизни человека и общества перспективы ее развития и ряд других проблем.