Рациональное управление ресурсами компьютера
Основные ресурсы современного компьютера: процессоры, основная память (оперативная память), таймеры, наборы данных, диски, принтеры, сетевые ресурсы и некоторые другие. Ресурсы распределяются между процессами (задачами).
Процесс – это динамический объект, который возникает в ОС после запуска какой-либо программы на выполнение.
Причем, однозначного соответствия между процессом и программой нет – одна программа может породить несколько процессов, а процесс в ходе своего выполнения может сменить программный файл. Задача организации эффективного совместного использования ресурсов несколькими процессами является сложной из-за случайного характера возникновения от них запросов на потребление ресурсов. ОС организует очереди заявок к ресурсам и обслуживает их по определенным алгоритмам.
Функции операционной системы по управлению ресурсами обычно группируются либо в соответствии с типами ресурсов компьютера, которыми управляет ОС, либо в соответствии с задачами, применяемыми ко всем ресурсам. Программные модули ОС, которые выполняют такие группы функций, называют подсистемами.
Подсистема управления процессами.Для каждого вновь создаваемого процесса ОС генерирует системные информационные структуры, которые содержат данные о потребностях процесса в ресурсах компьютера: памяти, процессорного времени и т. д. Таким образом, процесс можно определить как заявку на потребление системных ресурсов.
Основные задачи подсистемы управления процессами:
· защита ресурсов, в первую очередь области оперативной памяти (адресного пространства процесса), выделенных одному процессу, от посягательств на них других процессов;
· организация, при необходимости, совместного использования ресурсов разными процессами;
· восстановление операционной среды возобновляемого процесса – контекста процесса после перерыва в его работе (состояние регистров, программного счетчика и режим работы процессора, указатели открытых файлов, незавершенные операции ввода-вывода и т. п.);
· синхронизация процессов – приостановка их до наступления какого-либо события в системе;
· организация межпроцессного взаимодействия при параллельном выполнении процессов сложного программного комплекса.
Подсистема управления памятью.Процесс может выполняться только в том случае, если его коды находятся в оперативной памяти.
Основные задачи подсистемы управления памятью:
· отслеживание свободной и занятой физической оперативной памяти;
· выделение памяти процессам и освобождение памяти при завершении процессов;
· настройка адресно-зависимых частей кода процесса на конкретную область физической памяти;
· защита от записи или чтения памяти, предназначенной другому процессу;
· вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти недостаточны для размещения в ней всех процессов, и возвращения их в оперативную память, когда подошла очередь предоставления процессу процессорного времени.
Популярный способ управления памятью – применение механизма виртуальной памяти, который позволяет программисту писать программу так, как будто в его распоряжении имеется однородная оперативная память большого объема, превышающая объем имеющейся физической памяти. Объем виртуальной памяти ограничен только размерами адресного пространства процессора.
Подсистема управления файлами и внешними устройствами. Иногда их разделяют на две подсистемы, но современный подход организации работы с устройствами ввода-вывода как с файлами объединяет их.
Файл – это неструктурированная последовательность байтов, имеющая символьное имя и размещенная во внешней памяти.
Следует заметить, что в этом смысле понимается память любого типa (дисковая, электронная и т. д.); она внешняя по отношению к основной памяти, используемой для размещения кодов процессов. Основная память находится только в оперативной памяти компьютера (оперативное запоминающее устройство, ОЗУ). Следует заметить, что каталог – это тоже файл, содержащий данные о входящих в его состав файлах. Поэтому основная часть подсистемы управления файлами и внешними устройствами – это файловая система, которая решает следующие задачи:
· преобразует символьные имена файлов в физические адреса размещения данных этих файлов на диске;
· организует совместный доступ разных процессов к файлам;
· защищает файлы от несанкционированного доступа.
Спектр различных устройств ввода-вывода очень широк. Разные производители реализуют разную логику работы этих устройств. Поэтому необходимы специальные программы – драйверы, которые обеспечивают взаимодействие этих устройств и ОС. Например, для диска – это отображение физических адресов данных на конкретное место поверхности диска с учетом специфики работы механизма управления головками. Кроме этого, выполняется преобразование каждого байта данных в последовательность бит, записываемых на поверхность диска, с определенными физическими параметрами и с применением помехоустойчивого кодирования.
Чем больше драйверов входит в состав операционной системы, тем больше успех ОС у пользователей. Создание драйверов занимаются как разработчики ОС, так и производители внешних устройств. Поэтому ОС должна иметь хорошо определенный интерфейс между драйверами и остальной частью ОС для каждого типа устройств, чтобы разработчики могли разрабатывать драйверы для этой ОС и поставлять в комплекте со своими изделиями.
Подсистема защиты данных и администрирования направлена на защиту данных от:
· сбоев и отказов аппаратуры;
· ошибок программного обеспечения;
· ошибочного или злонамеренного поведения пользователей системы.
Поддержка отказоустойчивости реализуется операционной системой, как правило, на основе резервирования данных и устройств ввода-вывода.
Важная роль отводится администратору сети, который должен правильно назначить права различных пользователей компьютеров системы, политики безопасности и аудита.
Источник
Ресурсы компьютерной системы. Классификация. Распределение и управление ресурсами. Проблемы взаимодействующих процессов
Операционная система не только предоставляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы компьютера.
Вычислительными ресурсами называются возможности, обеспечиваемые компонентами вычислительной системы, расходуемые (занимаемые) в процессе её работы.
Типы вычислительных ресурсов:
· Память (оперативная и виртуальная)
· Место на жёстком диске (постоянная память)
· Пропускная способность сети.
Ресурсы распределяются между процессами. Процесс (задача) программа в стадии выполнения.
Программа — это статический объект, представляющий собой файл с кодами и данными.
Процесс — это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы. Управление ресурсами вычислительной системы с целью наиболее эффективного их использования является назначением операционной системы.
Ресурсы (от франц. ressource — вспомогательное средство)— объём работы или срок эксплуатации, на который рассчитывается машина, здание и т. п. После исчерпания ресурса безопасная работа устройства не гарантируется, ему требуется капитальный ремонт или замена. [1]
Ресурсы персонального компьютера
Ресурсом является любой компонент ЭВМ и предоставляемые им возможности: центральный процессор, оперативная или внешняя память, внешнее устройство, программа и т.д. Ресурсы подразделяются на четыре вида.
Виды ресурсовперсонального компьютера :
Аппаратные ресурсы (Hardware), файловые ресурсы, программные ресурсы (Software), сетевые ресурсы
Аппаратные ресурсы – это системный блок, периферийные устройства, любое оборудование, подключенное к компьютеру .
Файловые ресурсы – это файлы и папки, а также вся файловая система.
Программные ресурсы – это все программы установленные в компьютере . Часто называют программным обеспечением (ПО). Программное обеспечение подразделяется на два вида: системное и прикладное ПО.
Сетевые ресурсы– ресурсы доступные по средствам ЛВС.[1] Как правило, это ресурсы других компьютеров доступные по локальной или глобальной сети.
Компьютерная сеть – аппаратное и программное объединение двух и более компьютеров с выделением сетевых ресурсов . Для связи компьютеров в компьютерную сеть могут быть использованы следующие аппаратные средства:
2. Сетевая карта
3. Сетевой кабель
4. Сетевые коммутаторы
6. Беспроводное оборудование
8. Сетевые экраны
Сетевыми ресурсами могут быть:
· Оборудование (т.е. аппаратные ресурсы другого ПК или сетевые устройства), например сетевой принтер.
· Информация (т.е. файлы и папки другого компьютера), например информация в Интернете, или на сервере.
· Программное обеспечение (установленное на другом компьютере).[2]
Главным элементом компьютера является микропроцессор — электронная схема, выполняющая все вычисления и обработку информации. Когда приходится выполнять много математических вычислений, к основному микропроцессору добавляют математический сопроцессор.
Микропроце́ссор — процессор (устройство, отвечающее за выполнение арифметических, логических операций и операций управления, записанных в машинном коде), реализованный в виде одной микросхемы[1] или комплекта из нескольких специализированных микросхем[2] (в противоположность реализации процессора в виде электрической схемы на элементной базе общего назначения или в виде программной модели). Первые микропроцессоры появились в 1970-х и применялись в электронных калькуляторах, в них использовалась двоично-десятичная арифметика 4-х битных слов. Вскоре их стали встраивать и в другие устройства, например терминалы, принтеры и различную автоматику. Доступные 8-битные микропроцессоры с 16-битной адресацией позволили в середине 1970-х создать первые бытовые микрокомпьютеры. Дополнительные сведения: История вычислительной техники
Долгое время центральные процессоры создавались из отдельных микросхем малой и средней интеграции, содержащих от нескольких единиц до нескольких сотен транзисторов. Разместив целый ЦПУ на одном чипе сверxбольшой интеграции удалось значительно снизить его стоимость. Несмотря на скромное начало, непрерывное увеличение сложности микропроцессоров привело к почти полному устареванию других форм компьютеров, в настоящее время один или несколько микропроцессоров используются в качестве вычислительного элемента во всём, от мельчайших встраиваемых систем и мобильных устройств до огромных мейнфреймов и суперкомпьютеров.
С начала 1970-х широко известно, что рост мощности микропроцессоров следует закону Мура, который утверждает что число транзисторов на интегральной микросхеме удваивается каждые 18 месяцев. В конце 1990-х главным препятствием для разработки новых микропроцессоров стало тепловыделение (TDP) из-за утечек тока и других факторов[3].
Некоторые авторы относят к микропроцессорам только устройства, реализованные строго на одной микросхеме. Такое определение расходится как с академическими источниками[4], так и с коммерческой практикой (например, варианты микропроцессоров Intel и AMD в корпусах типа SECC и подобных, такие как Pentium II — были реализованы на нескольких микросхемах).
В настоящее время, в связи с очень незначительным распространением микропроцессоров, не являющихся процессорами, в бытовой лексике термины «микропроцессор» и «процессор» практически равнозначны.[3]
Одной из важных задач операционной системы является управление имеющимися в ее распоряжении ресурсами (основной памятью, устройствами ввода-вывода, процессором), а также их распределение между разными активными процессами. При разработке стратегии распределения ресурсов необходимо принимать во внимание следующие факторы.
Равноправность. Обычно желательно, чтобы всем процессам, претендующим на какой-то определенный ресурс, предоставлялся к нему одинаковый доступ. В особенности это касается заданий, принадлежащих к одному и тому же классу, т.е. заданий с аналогичными требованиями к ресурсам.
Дифференциация отклика. С другой стороны, может понадобиться, чтобы операционная система по-разному относилась к заданиям различного класса, имеющим различные запросы. Нужно попытаться сделать так, чтобы операционная система выполняла распределение ресурсов в соответствии с целым набором требований. Операционная система должна действовать в зависимости от обстоятельств. Например, если какой-то процесс ожидает доступа к устройству ввода-вывода, операционная система может спланировать выполнение этого процесса так, чтобы как можно скорее освободить устройство для дальнейшего использования другими процессами.
Эффективность. Операционная система должна повышать пропускную способность системы, сводить к минимуму время ее отклика и, если она работает в системе разделения времени, обслуживать максимально возможное количество пользователей. Эти требования несколько противоречат друг другу; насущной проблемой исследования операционных систем является поиск нужного соотношения в каждой конкретной ситуации.
Задача управления ресурсами и их распределения типична для исследований операционных систем; здесь могут применяться математические результаты, полученные в этой области. Кроме того, важно измерять активность системы, что позволяет следить за ее производительностью и вносить коррективы в ее работу.
На рис. 2.11 показаны основные элементы операционной системы, участвующие в планировании процессов и распределении ресурсов в многозадачной среде. Операционная система поддерживает несколько очередей, каждая из которых является просто списком процессов, ожидающих своей очереди на использование какого-то ресурса. В краткосрочную очередь заносятся процессы, которые (или, по крайней мере, основные части которых) находятся в основной памяти и готовы к выполнению. Выбор очередного процесса осуществляется краткосрочным планировщиком, или диспетчером. Общая стратегия состоит в том, чтобы каждому находящемуся в очереди процессу давать доступ по очереди; такой метод называют циклическим (round-robin). Кроме того, процессам можно присваивать различный приоритет.
Передача управления процессу
Рис. 2.11. Ключевые элементы многозадачной операционной системы
В долгосрочной очереди находится список новых процессов, ожидающих возможности использовать процессор. Операционная система переносит их из долгосрочной очереди в краткосрочную. В этот момент процессу необходимо выделить определенную часть основной памяти. Таким образом, операционная система должна следить за тем, чтобы не перегрузить память или процессор, добавляя в систему слишком много процессов. К одному и тому же устройству ввода-вывода могут обращаться несколько процессов, поэтому для каждого устройства создается своя очередь. И здесь операционная система должна решать, какому процессу предоставить освободившееся устройство ввода-вывода в первую очередь.
Во время прерывания управление переходит к обработчику прерываний, который является частью операционной системы. В силу своей функциональности процесс может обратиться к некоторому сервису операционной системы, например к драйверу устройства ввода-вывода. При этом происходит вызов обработчика обращений к сервисам, который становится точкой входа в операционную систему. Независимо от того, произошло ли прерывание или обращение к сервису, после его обработки планировщик выберет из краткосрочной очереди процесс для выполнения.
Далее в этом разделе приводится чисто функциональное описание; эти модули в различных операционных системах имеют разные особенности и устройство.
studopedia.org — Студопедия.Орг — 2014-2021 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.003 с) .
Источник