Системное программное обеспечение

Автор работы: Пользователь скрыл имя, 28 Января 2013 в 15:44, шпаргалка

Описание

Работа содержит ответы на вопросы для экзамена (или зачета) по дисциплине "Системное программное обеспечение"

Работа состоит из  1 файл

ОС Шпоры.docx

— 207.00 Кб (Скачать документ)

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

  Для пользователей это означает, что управление системой теряется на произвольный период времени, который определяется приложением (а не пользователем). Если приложение тратит слишком много времени на выполнение какой-либо работы, например на форматирование диска, пользователь не может переключиться с этой задачи На другую задачу, например на текстовый редактор, в то время как форматирование продолжалось бы в фоновом режиме.

  Поэтому разработчики приложений для операционной среды с невытесняющей многозадачностью вынуждены, возлагая на себя часть функций планировщика, создавать приложения так, чтобы они выполняли свои задачи небольшими частями. Например, программа форматирования может отформатировать одну дорожку дискеты и вернуть управление системе. После выполнения других задач система возвратит управление программе форматирования, чтобы та отформатировала следующую дорожку. Подобный метод разделения времени между задачами работает, но он существенно затрудняет разработку программ и предъявляет повышенные требования к квалификации программиста. Программист должен обеспечить «дружественное» отношение своей программы к другим выполняемым одновременно с ней программам. Для этого в программе должны быть предусмотрены частые передачи управления операционной системе. Крайним проявлением «не дружественности» приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный планирующий механизм имеет возможность снять зависшую задачу с выполнения.

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

  1. Алгоритмы распределения памяти с использованием дискового пространства. Страничное распределение виртуальной памяти.

Уже достаточно давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых  превышал имеющуюся в наличии  свободную память. Решением было разбиение  программы на части, называемые оверлеями. 0-ой оверлей начинал выполняться  первым. Когда он заканчивал свое выполнение, он вызывал другой оверлей. Все оверлеи  хранились на диске и перемещались между памятью и диском средствами операционной системы. Однако разбиение  программы на части и планирование их загрузки в оперативную память должен был осуществлять программист.

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

Таким образом, виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям  писать программы, размер которых превосходит  имеющуюся оперативную память; для  этого виртуальная память решает следующие задачи:

  • размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
  • перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;
  • преобразует виртуальные адреса в физические.

Все эти действия выполняются автоматически, без участия программиста, то есть механизм виртуальной памяти является прозрачным по отношению к пользователю.

Наиболее распространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное распределение памяти, а также свопинг.

Страничное распределение показана схема страничного распределения памяти.  Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами (virtual pages). В общем случае размер виртуального адресного пространства процесса не кратен размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.

  Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками, или кадрами). Размер страницы выбирается равным степени двойки: 512, 1024, 4096 байт и т. д. Это позволяет упростить механизм преобразования адресов.

При создании процесса ОС загружает  в оперативную память несколько  его виртуальных страниц (начальные  страницы кодового сегмента и сегмента данных). Копия всего виртуального адресного пространства процесса находится  на диске.  Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах. Для каждого процесса операционная система создает таблицу страниц — информационную структуру, содержащую записи обо всех виртуальных страницах процесса. 

 Запись таблицы, называемая  дескриптором страницы, включает  следующую информацию:

  • номер физической страницы, в которую загружена данная виртуальная страница;
  • признак присутствия, устанавливаемый в единицу, если виртуальная страница находится в оперативной памяти;
  • признак модификации страницы, который устанавливается в единицу всякий раз, когда производится запись по адресу, относящемуся к данной странице;
  • признак обращения к странице, называемый также битом доступа, который устанавливается в единицу при каждом обращении по адресу, относящемуся к данной странице.
  1. Физическая организация файлов

Важным компонентом физической организации файловой системы является физическая организация файла, то есть способ размещения файла на диске.  Основными критериями эффективности физической организации файлов являются:

· скорость доступа к данным;

· объем адресной информации файла;

· степень фрагментированности дискового пространства;

· максимально возможный размер файла.

Непрерывное размещение — простейший вариант физической организации, при  котором файлу предоставляется  последовательность кластеров диска, образующих непрерывный участок  дисковой памяти. Основным достоинством этого метода является высокая скорость доступа, так как затраты на поиск  и считывание кластеров файла  минимальны. Также минимален объем  адресной информации — достаточно хранить только номер первого  кластера и объем файла. Данная физическая организация максимально возможный  размер файла не ограничивает. Однако этот вариант имеет существенные недостатки, которые затрудняют его  применимость на практике. Какого размера  должна быть непрерывная область, выделяемая файлу, если файл при каждой модификации  может увеличить свой размер? Еще  более серьезной проблемой является фрагментация

 

                                        На 4-5

  1. История возникновения и развития ОС. Особенности современного этапа развития ОС

Появление первых операционных систем

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

  1. Функциональные компоненты операционной системы автономного компьютера: управление процессами, памятью, файлами и внешними устройствами.

Функциональные компоненты операционной системы автономного  компьютера

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

Управление процессами

 Важнейшей частью операционной  системы, непосредственно влияющей  на функционирование вычислительной  машины, является подсистема управления  процессами.

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

  Чтобы процесс мог быть выполнен, операционная система должна назначить ему область оперативной памяти, в которой будут размещены коды и данные процесса, а также предоставить ему необходимое количество процессорного времени. Кроме того, процессу может понадобиться доступ к таким ресурсам, как файлы и устройства ввода-вывода.

  В информационные структуры процесса часто включаются вспомогательные данные, характеризующие историю пребывания процесса в системе (например, какую долю времени процесс потратил на операции ввода-вывода, а какую на вычисления), его текущее состояние (активное или заблокированное), степень привилегированности процесса (значение приоритета). Данные такого рода могут учитываться операционной системой при принятии решения о предоставлении ресурсов процессу.

 В мультипрограммной операционной  системе одновременно может существовать  несколько процессов. Часть процессов  порождается по инициативе пользователей  и их приложений, такие процессы  обычно называют пользовательскими.  Другие процессы, называемые системными, инициализируются самой операционной  системой для выполнения своих  функций. 

 Поскольку процессы часто  одновременно претендуют на одни  и те же ресурсы, то в обязанности  ОС входит поддержание очередей  заявок процессов на ресурсы,  например очереди к процессору, к принтеру, к последовательному  порту. 

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

На протяжении периода существования  процесса его выполнение может быть многократно прервано и продолжено. Для того чтобы возобновить выполнение процесса, необходимо восстановить состояние  его операционной среды. Состояние  операционной среды идентифицируется состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией  о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом  системных вызовов и т. д. Эта  информация называется контекстом прогресса. Говорят, что при смене процесса происходит переключение контекстов.

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

  В операционной системе нет однозначного соответствия между процессами и программами. Один и тот же программный файл может породить несколько параллельно выполняемых процессов, а процесс может в ходе своего выполнения сменить программный файл и начать выполнять другую программу.

Информация о работе Системное программное обеспечение