Всё для Учёбы — студенческий файлообменник
1 монета
doc

Лекции по Операционным системам (Иванько А. Ф.)

Основные сведения об операционных системах.

эволюция операционных систем происходила в несколько временных периодов:

1. 1945 – 1955 характеризуеться процессом в создании цифровых вычислительных машин. Появляются первые ламповые ЭВМ. Программирование на которых представляло собой научно исследовательские задачи. Программирование осуществлялось исключительно на машинном языке. Вопросы вычислительных процессов решались в ручную каждым отдельным программистом непосредственно с пульта управления машин. В качестве системного программного обеспечения фигурировали библиотеки и служебные программы.

2. 1955-1965 Характеризуется тем, что появляется новая элементная база вычислительной техники, появляются полупроводники. Становятся более надежными по сравнению с ЭВМ первого периода, могут работать достаточно долго, появляется возможность решать задачи связанные с непрерывным решением работы. Появляются первые алгоритмические зыки. (Фортран, Аум, Ассемблер) С появление первых алгоритмических языков появляются первые специальные программы (компиляторы и трансляторы). В результате появления социальных программ возрастает стоимость системного времени. Эта проблема требует уменьшения времени между запусками прикладных программ. Появляются первые системы пакетной упаковки, которые позволяют автоматизировать запуск одной программы за другой. Благодаря этому увеличивается коэффицент загрузки процесса, в систему пакетной обработки информации явилась прообразом современных операционных систем. Они стали первыми системными программа предназначенными для управления вычислительных процессов. В ходе реализации систем пакетной обработки разработана формализованный язык управления заданиями с помощью которого программист сообщал вычислительной системе и оператору какую работу он хочет выполнить на вычислительной машине. Совокупность нескольких заданий получает название пакет задание. В то время так пакет заданий представлялся в виде колоды перфокарт.

3. 1965 – 1980-е

Характеризуется развитием новой элементарной базы, происходит переход от полупроводниковых элементов к интегральным схемам, что приводит Характерно создание семейств появляются машины IBM 360 для которой характерно решение многих задач связанных с решением программной совместимости ЭВМ. В свою очередь программная совместимость ЭВМ требует совместимости и их операционных систем. Перед разработчиками системного программного обеспечения возникает проблема совместимости системного программного обеспечения с большими и малыми ЭВМ. Не смотря на недостатки первые операционные системы удовлетворял большинству предоставляемых требованиям. В это время достижением явилась реализация мультипрограмирования. Мультипрограммирование – способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется несколько различных программ. Другое нововведение этого периода - спулинг. Он может быть определен как способ организации вычислительного процесса в соответствии с которым задания считываются с машинных носителей в том темпе, в котором они появлялись помещении вычислительного центра. После обработки процессом очередного задания новое задание с магнитного носителя загружалось в раздел оперативной памяти. Наряду с мультипрограммной реализации систем пакетной обработки появляется новый тип операционных систем – системы разделения времени. Вариант мультипрограммирования в реализованных системах разделения времени ориентирован на создание для каждого пользователя иллюзии единоличного использования вычислительной машины.

4. 1980 – по наши дни

Этот этап связан с появлением микропроцессоров, микропроцессорных секций и больших интегральных схем высокой степени интеграции. В этот период появляются ПК, которые становятся доступными широкому кругу подготовленных неподготовленных пользователей. Доступность ЭВМ требует разработки дружественного программного интерфейса. На рынке операционных систем появляются две доминирующие операционные системы (МС ДОС, Юникс). Операционная система МС ДОС разработала и продолжает разрабатывать значительное количество программных средств и с ней трудно конкурировать. Опрационная система МС ДОС представляет собой однопрограммную однопользовательскую систему, которая широко используется для компьютеров, освоенных на базе микропроцессоров созданных фирм ИНТЕЛ. Мультипрограммная многопользовательская операционная система Юникс доминирует в среде не Юниковских процессоров. Начиная с конца 80- х годов и в 90 годах 20-ого века появляются и начинают развиваться разнообразные компьютерные сети, которые функционируют под управлением сетевых или распределенных операционных систем. В сетевых операционных системах пользователя должны иметь информацию о наличии других компьютеров, должны обладать возможностью для связи с другими ЭВМ, что бы использовать ресурсы компьютеров сети и обмениваться различными файлами Сетевые операционные системы не имеют фундаментальных отличий от операционных систем однопроцессорных компьютеров. Сетевая операционная система обязательно содержит программную поддержку для сетевых интерфейсных устройств, а так же средства для удаленного входа в другие компьютеры сети и так же средства доступа удаленного файла. Операционные систем могут отличаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера. Так же могут отличаться особенностями использованных методов проектирования типами аппаратного платформ. А так же областями использования. От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей операционной системы в целом. Следует учитывать особенности реализации функции операционной системы по управлению процесором периферийными устройствами и локальными устройствами ввода и вывода информации. Зависимость от алгоритмов управления процессором операционные системы разделяют на много задачные, и одно задачные 6 на много пользовательские и на одно пользовательские, на системы много процессорного и одно процессорные, и на системы много нитевые и не.

Определение ОС.

ОС – базовая система управляющая работой компьютера и являющаяся посредником между аппаратурой и программным обеспечением.

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

23.09.09

ИСПОЛЬЗОВАНИЕ СОВРЕМЕННЫХ СРЕДСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

требует создание комфортных условий для работы пользователей, поэтому использование машинных языков является затруднительным, так как требует ввода большого количества команд, каждая из которых может содержать свыше десятка формальных параметров необходимых для выполнения конкретных процедур. Например: при записи информации на магнитный диск, программист может использовать свыше 16 различных команд, каждая из которых требует ввода до 13 формальных параметров, таких как номер сектора на дорожке, номер дорожки и т.д. После завершения операции с диска, контролер возвращает 23 значения, которые содержат информацию отображающую наличие и типы ошибки. ОС предоставляет пользователю простой файловый интерфейс берёт на себя все процедуры, связанные с обработкой прерываний, управления таймерами и оперативной памятью, а так же другие низкоуровневые проблемы. Задача операционной системы является предоставление пользователю виртуальной ЭВМ по технически реальной аппаратуре. ОС представляет некоторый механизм, управляющий различными частями сложной вычислительной системы функции:

-распределение процессора;

-распределение памяти;

-устройств и данных между процессами, конкурирующими с различными ресурсами вычислительной системы.

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

1. планирование ресурсов (кому, когда и в каком кол-ве необходимо выделить тот или иной ресурс вычислительной системы)

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

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

1. Пользовательский режим (User mout). Режим для выполнения пользовательских программ.

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

МУЛЬТИПРОГРАММНЫЕ РЕЖИМЫ.

Мультипрограммирование это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько различных программ. Реализация мультипрограммирования потребовала внесения изменений в аппаратуре компьютера. В процессорах появились два режима работы: привелигированные и пользовательский. В составе микропроцессоров появились специальные регистры предназначение для переключения процессоров с одной задачи на другую. Были созданы специальные средства защиты областей памяти, а так же развито система прерывания. Для повышения эффективности ОС используют такие средства как мультипрограммирование, многозадачность, которые дают возможность вычислительной системы обеспечить выполнение нескольких программ на одном процессоре. Мультипрограммирование позволяет повысить общую пропускную способность системы, обеспечивает возможность интерактивной работы, для нескольких пользователей или предоставляет возможность одному пользователю одновременно работать с несколькими приложениями. По режиму обработки задач различают ОС обеспечивающие однопрограммный и мультипрограммный режимы. Под мультипрограммными режимами понимают способ организации вычислений, когда на однопроцессорной машине создается видимость выполнения нескольких программ, различия между мультипрограммным и мультизадачным режимом заключается в том, что в мультипрограммном режиме обеспечиваются параллельное выполнение нескольких приложений и при этом программист прикладных программ или решающий прикладные задачи не должен заботиться об организации их параллельной работе. Эти функции берёт на себя ОС. Она распределяет между выполняющимися приложениями ресурсы вычислительной системы. Мультизадачный режим предполагает, что забота о параллельном выполнение приложений ложиться непосредственно на прикладных программистов. Современные ОС реализуют как мультипрограммный, так и мультизадачный режим.

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

МНОГОЗАДАЧНЫЙ РЕЖИМ.

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

При вытесняющей многозадачности решение о переключение процессора с одного процесса на другой принимаются ОС, а не самим активным процессом.

30.09.2009 По типу аппаратуры различают:

1. Операционные системы ПК

2. ОС мини ЭВМ 3. ОС меин Фреймов

4. ОС кластеров

5. ОС сетей ЭВМ Под кластерами понимаются вычислительные системы, состоящие из группы компьютеров ориентированных на решение общих задач. Специфика аппаратных средств, как правило, всегда отражается в особенностях ОС, например ОС меид Фреймов являються более функциональными и сложными чем ОС ПК. В ОС больших ЭВМ функции по планированию потоков выполняемых задач реализуются путём сложных приоритетных которые требуют большей вычислительной мощности, чем ОС ПК. Сетевые операционных системы для поддержки функций передачи сообщений содержит специальные программные компоненты, реализующие коммуникационные протоколы и обеспечивающие много уровневую организацию среды передачи данных. Многопроцессорные системы требуют от ОС специальной организации с помощью, которой сама ОС, а так же приложения которые поддерживаются ОС могли выполняться параллельно отдельными процессорами системы. Параллельная работа отдельных компонентов ОС создаёт дополнительные проблемы т.к. сложно обеспечить доступ отдельных выполняемых процессов в системных таблицах, сложно ислюбчить эффект гона и другие не желательные последствия асинхронного выполнения работы. Особенно сложно обеспечить функционирование ОС кластеров. Кластер – слабо связанная совокупность нескольких вычислительных систем работающих совместно для выполнения общих приложений и представляющейся пользователю единой вычислительной системой. Для функционирования кластерных систем на ряду со специальной аппаратурой необходимо программная поддержка со стороны ОС, которая сводиться к синхронизации доступа к разделяемым ресурсам обнаружению отказов и динамической реконфигурации системы. Несмотря на зависимость ОС от аппаратных платформ существуют ОС разработанные таким образом, что они могут быть легко перенесены с одного типа компьютера на другой, такие ОС называются мобильными. Ярким представителем таких систем является операционная система ЮНИКС. В мобильных операционных система аппаратно зависимые места тщательно локализуют таким образом, что бы при переносе ОС на новую аппаратную платформу переписывать только локализованные модули. Много задачные ОС в соответствие с использованием при их разработке критериев эффективности, подразделяются на 3-и группы:

1. Система пакетной обработки

2. Система разделения времени

3. Система реального времени

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

7.10.2009

Основные принципы построения систем:

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

14.10.2009 Понятие, классификация и свойства ресурса.

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

Классификация ресурсов.

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

Состояние процесса.

Процесс имеет несколько состояний:

1) в активном состоянии процесс может участвовать в конкуренции за рессурс вычислительной системы.

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

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

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

Независимые процессы, такой процесс не зависит от процесса родителя и исполняется независимо от него.

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

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

Потоки в разных ОС

В системе Windows 2000/XP кажыдй поток содержит индификатор потока, отельные стеки для пользовательских и системных процедур, область памяти ля локальных данных потока. Кроме этого каждый поток содержит набор регистров. Потоки в ОС Windows называются триадами. В ОС Linux потоки называются такс. Каждый поток создается системным вызовом. Этот системный вызов позволяет подчиненной задаче использовать обшее адресное пространство с родительской задачей.

Функциональные компоненты ОС

Одной из основных подсистем мультипрограммной ОС влияющей на функционированние ЭВМ является подсистема управления процессами и потоками которая занимается их созданием и уничтожением, поддерживает взаимодействие между ними, а так же распредиляет процессорное время между несколькими одновременно сушествуюшими в системе процессами и потоками. Эта подсистема управления процессами и потоками, отвечает за обеспечение процессов необходимыми ресурсами. ОС при этом поддерживает в памятиспециальный информационные структуры, которые записывают какие ресурсы выделеныкаждому процессу. ОС при этом может назначить процессу ресурсы в единоличное пользование или в совместное пользование с другими процессами. Ресурсы могут быть отданы процессу на время его жизни или только на определенный период. При выполнении этих функций подсистема управления процессами взаимодействует с другими подсистемами ОС, например с файловой, ввода/вывода, управления памятью и т.д. Если в системе одновременно выполняется несколько независимых задач, то могут возникать различные проблемы в процессе работы ОС. Например потоки могут выполняться асинхронно, с другой стороны у них может возникнуть необходимость во взаимодействии, например при обмене данными. Необходимо учитовать скорости потоков для предотврашения эффекта гонок, то есть когда несколько потоков пытаются изменить один и тот же файл. Поэтому синхронизация потоков является одной из важных функций подсистемы управления процессами и потоками. Каждый раз когда процесс завершается ОС предпринимает шаги, чтобы стереть следы прибывания процесса в системе. То есть она закрывает все файлы с которым работал процесс, освобожадает области оперативной памяти отведенные под данные и системные структуры процесса,. Кроме этого выполняется корекция различных очередей в ОС и в списках ресурсов в которых имелись ссылки на завершившийся процесс

21.10.2009

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

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

Подсистемы управления памятью

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

1)отслеживание состояния этого ресурса.

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

3) Настройка адресов программы или процесса на конкретную область физической памяти не занятую другими заданиями. Память распределяется между прикладными программами и системными средствами (модулями) .

На разных этапах жизненного цикла программного обеспечения для переменных и кодов требуются три типа адресов:

1)Символьные

2) Виртуальные, переменные в процессе выполнения программы

3)Физические, адреса ячеек памяти

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

Подсистемное управление файлами, устройствами ввода вывода. Организация программного обеспечения ввода вывода состоит в разбиении его на несколько уровней, при чем нижние уровни обеспечивают экранированние особенности апарратуры от верхних, а они в свою очередь обеспечивают удобный интерфейс для пользователя. Ключевым принципом является независимость от устройств. Вид программы не должен зависить от того,читает ли она данные с гибкого диска или с жесткого. Независимость от устройств требует единообразия именования устройств. Другим важным вопросом для программного обеспечения ввода вывода является обработка ошибок. Если контролер обнаруживает ошибку чтения, то он должен попытаться ее скоректировать, если же это ему не удается, то исправлением ошибок должен заниматься драйвер устройства. Второй вопрос, это использывание блокируюших(синхронных) или неблокируюших(асинхронных) передатчиков. Большинство операций ввода вывода выполняються асинхронно. То есть процессор ... ОС выполняет операции ввода вывода асинхронно, но для пользовательских программ преставляет их в синхронной форме. Это объясняется тем что часть устройств являются раздиляемыми, а другие устройства являються выделенными. Например, диски это раздиляемые устройства, так как одновременный доступ нескольких пользователей к диску не представляет собой проблемы. Принтеры это выделенные устройства, потому как нельзя смешивать строчки при печати которые печататься различными пользователями. Для решения этих проблем программное обеспечение ввода вывода раздиляют на 4 слоя. А именно обработка прерываний, драйверы устройств, слой независимый от устройств, пользовательский слой программного обеспечения. Ввод вывод файлов отображеемых в памяти позволяет трактовать файловый ввод вывод, как обычное обрашение к памяти путем отображения блока на диске в страницу памяти. Первоначально файл читается с использованием запроса страниц по требованию. Часть файла размером с одну страницу читается из файла в физическую страницу(фрейм) последующие чтения из файла и запись в файл трактуется как обычное обрашение к памяти. Средства зашиты данных и администрирование Безопастность данных вычислительной системы обеспечивается средствами отказа устойчивости, направлена на зашиту от сбоев и ошибок програмного обеспечения и зашиты от несанкционированного доступа. Функции зашиты ОС тсно связаны с функциями администрирования именно администратор опредиляет права пользователей при их обрашении к ресурсам системы. Администратор может урезать возможности пользовательского интерфейса, убрав из меню ОС некоторые пункты. Отказ от устойчивой релизуется ОС как правило на основе резервирования. Очень часто функции ОС входит поддержание нескольких копий данных на разных дисках или дисковых накопителях. Особым случаетм отказа обеспечения устойчивости является использование нескольких процессоров (мультипроцессирование) при котором система прекрашает работу при отказе одного из процессоров, но сменьшей производительностью. Интерфейс прикладного програмирования Предназначен для использования прикладными программами системных ресурсов и реализованный системой функцийю. Aplication Program Interface (AP) АР описывает сосовкупность функции пренадлежаших ядру или настройкам ОС. АР составляет набор функций представляемый системой програмирования разработчику прикладной программы и ориентированна на организацию взаимодействия результируюшей прикладной программы с целевой вычислительной системой. В своюочердь целевая вычислительная система предсталяет собой совокупность программных и аппаратных средств в окружении которых выполняется результируюшая программа. Сама результируюшая программа пораждается систмой программирования на основании кода исходной программы созданного разработчиком, а также объектных модулей и библиотек входяших в состав системы программирования. АР используется не только прикладными но и многими системными программными, как в составе ОС так и в составе системы програмирования. Функции АР позволяют разработчику строить результирующую прикладную программу так, чтобы использывать средства целевой вычислителительной системы для выполнения типовых операций. Но при этом разработчик программы избавлен от необходимости создавать исходный код для выполнения этих операций. Программные интерфейсы Ар включает не только функции но и соглашения об их использовании, которые регламентируются ОС, архитектурой целевой вычислительной системы и системой программировани. Сушествует несколько вариантов реализации АР. 1) Реализация АР на уровне ОС 2)Реализация АР на уровне системы программирования 3) Реализация на уровне внешней библиотеки процедур и функций Возможности АР оценивают со следующих позиций, а именно: эфективность выполнения функций АР включает скорость выполнения функций и объем вычислительных ресурсов потребных для их выполнения. Затем определяется зависимость прекладной программы от архитектуры вычислительной системы и от широты предоставляемых возможностей. Концепция назначения и типы прерывания

Система прирываний позволяет ОС реагировать на разнообразные внешние события, на различные события которые возникают в асинхронном вычислительном процессе, а именно на сигналы готовности ввода вывода информации, а также на сигналы об аварийном состояниии аппаратуры. В зависимости от источника прерывание делится на 3 класса: 1) Внешние прерывание связанное с сигналами от внешних переферийных устройств 2) Внутренние прерывания возникаюшие от ошибок в вычислительном процессе 3) Это программные прерывания, которые представлют собой возможность изменения хода вычислительного процесса и вызова дополнительных процедур ОС Механизм прерываний обязательно поддерживается аппаратными средствами вычислительной системы, а так же програмными средствами самой ОС. В настояшее время используются два способа выполнения прерываний: 1) Векторный способ, характеризуется тем что в момент передачи процесса выдается номер вызываемой процедуры в соответствии с которым осушествляется обработка прерываний 2) Опрашиваемый способ, характеризуется тем что процессор вынужден последовательно опрашивать потенциальные источники запроса прерывания. Для нормализации процесса обработки прерываний все источники прерываний распредиляются по нескольким приорететным уровняма роль арбитра выполняет диспетчер прерываний ОС. Системные вызовы с помошью которых осушествляет обслуживание программного обеспечения реализуються на основе механизма программных прерываний. Системные вызовы могут выполняться синхронно, когда поток преостанавливается до завершения системного вызова или системные вызовы могут выполняться асинхронно когда поток продолжает работать параллельно с системной процедурой реализуюшей вызов. Для синхронизации процессов и потоков в ОС используют специальные средства а именно критические секции, симофоры, мьютексы, такмеры и события. В своюочередь отцутствие синхронизации приводит к таким нежелательным последствиям как гонки и тупики. Основные функции прерывания 1) Функция прерывания передает управление подпрограмме обработке прерываний через вектор прерываний который содержит адреса всех программ обработки прерываний 2) В архитектуре обработки прерываний должно быть предусмотрено сохранение адреса прерванной команды 3) Входяшие прерывания задерживаются если в данный момент обрабатывается другое прерывание для предотврашения потери прерывания 4) Ловушка - это программа сгененрированная прерыванием, которая либо вызывается ошибкой либо выполняется по запросу пользователя.

25.11.09

Основные модули ОС: -Управление процессами -Управление основной памятью -управление файлами -управление системой ввода вывода -управление внешней памятью -Модуль поддержки сетей -система зашиты -система поддержки командного интерпретатора. Такие как загрузчик, драйвер ввода вывода, файлы конфигурации ОС. Для управления ходом выполнения приложений ОС должна иметь по отношению к приложениям определенные привилегии в противном случае некорректно работающее приложение может вмешаться в работу ОС и повредить часть ее кодов.ОС должна обладать исключительными полномочиями для того чтобы играть роль арбитра в споре приложений за ресурсы компьютера. Ни одно из приложений не должно иметь возможностей без ведома ОС получать дополнительную область памяти, занимать процессом дольше разрешенного времени, а также непосредственно управлять совместно используемыми внешними устройствами. Обеспечить привилегии ОС не возможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы, а именно пользовательский и привилегированный режим работы( режим ядра или режимом супервизора). Подразумевается что вся ОС или некоторые ее части работают в привилегированном режиме, а приложения работают в пользовательском режиме. Так как ядро выполняет основные функции ОС то чаше всего именно ядро ОС работает в привилегированном режиме. Приложения ставятся в подчиненное положение за счет запрета выполнения в пользвательском режиме некоторых критичных команд связанных с переключение процессора с задачи на задачу, управлением устройствами ввода вывода, доступом к механизмам распределения и защиты памяти. Выполнение некоторых инструкций в пользовательском режиме безусловно, а некоторые другие инструкции могут выполняться толь ко при определенных условиях. Условия разрешения выполнения критичных инструкция находится под полным контроле ОС и этот контроль обеспечивается за счет инструкций безусловно запряженных для пользовательского режима. Кроме того в привилегированном режиме обеспечивается защита тех областей памяти которые выделены различным приложениям от несанкционированного проникновения других приложений и пользователя. Между количеством уровнем привилегий реализуемых аппаратурой и количеством уровней привилегий реализуемой ОС нет прямого соответствия, но если аппаратура поддерживает хотя бы 2 уровня привилегий то на этой базе можно создать программно развитую систему защиты областей памяти и других ресурсов. Для повышения устойчивости ОС обеспечивается работа в привилегированном режиме за счет уменьшения выполнения системных вызовов. Системный вызов привилегированного ядра и возврат в исходное состояние выполняется медленнее, чем переключение и вызов процедуры или стандартной программы, чем вызов процедуры без смены режима. Архитектура ОС основанная на привилегированном ядре является классической, ее используют такие ОС как Unix OS2 Window NT. XP и т.д. В ряде случаев разработчики ОС отступают от классической архитектуры и организуют работу ядра и приложений в одном и том же режиме. Например, ОС NET2 компании NOVEL эта ОС использует привилегированный режим работы процессоров Intel Pentium для работы ядра, так и для работы специфических приложений. У этой ОС отсутствует система аппаратной зашиты памяти от работы некорректных приложений, но вместе с тем у этой ОС есть преимущество, которое заключается в повышение скорости обработки информации за счет отсутствий переключений с одного режима работы на другой. Есть и несколько другая архитектура, когда существует двойное ядро, когда ядро ОС может состоять из нескольких модулей, которые работают в привилегированном режиме. ОС MS DOS состоит из двух модулей. Вычислительную систему ОС работающую на основе ядра можн рассматривать как систему состоящую из трех иерархически расположенных слоев: Нижний слой представляет собой аппаратуру компьютера Промежуточный слой, ядро работающее в привилегированном режиме Верхний слой это утилиты обрабатывающие программы и приложения Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа, в соответствии с которым определяется иерархия слоев ядра ОС. Каждый слой обслуживает вышележаший по иерархии слой выполняет для него некоторый набор системных функции которые образуют межслойный интерфейс следующий слой строит свои функции более слжные, более мощные, которые в свою очередь оказываются примитивами для создания еше более сложных функций вышележашего по иерархии слоя. Между слоями ядра устанавливаются строгие правила взаимодействия, а внутри каждого слоя правила взаимодействия могут быть произвольными. Отдельный модуль ОС может выполнять свою работу самостоятельно, может обрашаться к другому модулю своего слоя, либо может обращаться к нижележашему слою через межслойный интерфейс

2.12.09 Многослойная структура ОС Ядро ОС может состоять из следующих слоев: 1) Средства аппаратной поддержки ОС. Часть функций ОС может выполняться аппаратными средствами, при этом к ОС относятся не все аппаратные средства а только средства аапаратной поддержки ОС которые непосредственно участвуют в организации вычислительных процессов. А именно средства поддержки привилегированного режима, система прерываний, средства зашиты областей памяти. 2) Машинно зависимые компоненты ОС. Этот слой образует программные модули, в которых отражается специфика аппаратной платформы компьютера. 3) Базовые механизмы ядра. Выполняет наиболее примитивные операции ядра, такие как программное переключение процессов, деспетчерезация прерываний, перемешение страниц из оперативной памяти на диск и т.д. 4) Менеджеры ресурсов. Этот слой состоит из стационарных модулей реализуюшими основые задачи по управлению основными ресурсами. В этом слое работают деспетчеры процесооров, ввода вывода, менеджеры файловой системы и управлению памятью. 5) Интерфейс системных вызовов. Этот слой взаимодействует вместе с приложениями и образует прикладной программный интерфейс.

Показать полностью…
Похожие документы в приложении