Скачать 0.73 Mb.
|
1. Понятие и структура ОС. Эволюция вычислительных и ОС. Основные функции ОС Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. ОС - базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. Понятия ОС. Существуют различные точки зрения: ОС как виртуальная машина ОС как менеджер ресурсов ОС как защитник пользователей и программ ОС как постоянно функционирующее ядро Эволюция вычислительных систем Первый период (1945–1955 гг.) Ламповые машины. Операционных систем нет. Созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (1945 г.). Характеризуется тем, что:
В целом период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования. В конце периода появляется первое системное ПО. Второй период (1955 г.– нач. 60-х) Компьютеры на основе транзисторов. Пакетные ОС Появляется новая техническая база – полупроводниковые элементы, что привело к:
Все это способствовало:
Появляется прообраз современных ОС - первые системы пакетной обработки, которые просто автоматизируют запуск одной программы из пакета за другой, увеличивая коэффициент загрузки процессора. Минусы:
Третий период (нач. 60-х – 1970 г.) Компьютеры на основе интегральных микросхем. Первые многозадачные ОС В технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что привело к еще большему:
Повышению эффективности использования процессорного времени мешает низкая скорость работы механических устройств ввода-вывода (1200 перфокарт/мин.) В пакетные системы вводится прием «spooling» или «подкачки-откачки» данных, что позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания. При обработке пакета заданий на носителях непрямого доступа появилась возможность выбора очередного выполняемого задания. В пакетных системах начинается развитие функций планирования. Дальнейшее повышение эффективности использования процессора достигается за счет идеи мультипрограммирования - пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, а выполняет другую программу. После окончании операции ввода-вывода, процессор возвращается к выполнению предыдущей программы. Четвертый период (с 1970 – 80 гг.) Персональные компьютеры. Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). Компьютер с достаточно развитой архитектурой стал доступен отдельному человеку. Период характеризуется тем, что:
Появляется:
Пятый период (с 1980 г. по н.в.) Уменьшается стоимость компьютеров и увеличивается стоимость труда программиста. Благодаря широкому распространению вычислительных сетей и средств оперативной обработки (работающих в режиме on-line), пользователи получают доступ к территориально распределенным компьютерам. В середине 80-х стали бурно развиваться сети компьютеров работающих под управлением сетевых и распределенных ОС. Сетевые (классические) ОС характеризуются:
Распределенные ОС:
Функции ОС Все функции ОС можно условно разделить на две различные группы – интерфейсные и внутренние. Интерфейсные функции ОС:
Внутренние функции ОС:
2. Классификация ОС. Архитектурные особенности ОС ОС – это программа, которую можно реализовать с использованием процедур и функций. Если при этом составные части реализованы не в виде отдельных модулей или подсистем, а объединены в виде одной программы, то такая архитектура построения ОС называется монолитным ядром. Архитектурные особенности ОС Монолитное ядро Характеризуется тем, что: каждая процедура может вызвать каждую все процедуры работают в привилегированном режиме все части монолитного ядра работают в одном адресном пространстве ядро «совпадает» со всей ОС сборка ядра осуществляется отдельно для каждого компьютера при установке при добавлении, исключении отдельных компонент требуется перекомпиляция старейший способ организации ОС Пример систем с монолитным ядром - большинство Unix-подобных систем. Многоуровневые системы. Всю вычислительную систему можно разбить на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1. Виртуальные машины Виртуальная машина реализует для пользователя имитацию hardware в вычислительной системе. При обращении к «виртуальному hardware» на уровне привилегированных команд в действительности происходит системный вызов реальной ОС, которая и производит все необходимые действия. Системный вызов – обращение прикладной программы к ядру ОС для выполнения какой-либо операции. Обычно выглядит как вызов подпрограммы или функции из системной библиотеки. Однако системный вызов как частный случай вызова такой функции или подпрограммы следует отличать от более общего обращения к системной библиотеке, поскольку последнее может и не требовать выполнения привилегированных операций. Микроядерная архитектура При разработке ОС существует тенденция, состоящая в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. При этом построение ядра ОС в микроядерной архитектуре осуществляется так, что большинство составляющих ОС являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра – микроядро, работающее в привилегированном режиме и обеспечивающее взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Характеризуется(+): высокой степенью модульности ядра, что существенно упрощает добавление и отладку компонентов (не требуется перезапуск всей ОС). возможностью без прерывания работы, загружать и выгружать новые драйверы, файловые системы и т. д. возможностью отладки компонентов ядра с помощью обычных программных средств повышенной надежностью системы Характеризуется: (-) дополнительными накладными расходами, связанными с передачей сообщений усложнение процесса проектирования при попытке снижения возможных накладных расходов Смешанные системы В большинстве случаев современные ОС используют различные комбинации рассмотренных подходов. Например, ядро ОС Linux представляет собой монолитную систему с элементами микроядерной архитектуры. Совместно элементы микроядерной архитектуры и элементы монолитного ядра используются в ядре Windows NT: Классификация ОС. Особенности алгоритмов управления ресурсами В зависимости от особенностей использованного алгоритма управления процессором, ОС делят на: многозадачные и однозадачные многопользовательские и однопользовательские поддерживающие многонитевую обработку / не поддерживающие на многопроцессорные и однопроцессорные Поддержка многозадачности Однозадачные ОС (MS-DOS, MSX): выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные ОС (OC EC, OS/2, UNIX, Windows 95), кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства. Поддержка многопользовательского режима Однопользовательские: MS-DOS, Windows 3.x, ранние версии OS/2; Многопользовательские: UNIX, Windows NT. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. (!) Не всякая многозадачная система является многопользовательской, и не всякая однопользовательская - однозадачной. Вытесняющая и невытесняющая многозадачность Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare, Windows 3.x) - механизм планирования процессов целиком сосредоточен в ОС; вытесняющая многозадачность (Windows NT, OS/2, UNIX) - механизм планирования процессов распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается ОС, а не самим активным процессом. 3. Мультипрограммирование. Особенности реализации мультипрограммирования в системах пакетной обработки, разделения времени, реального времени, с мультипроцессорной обработкой Для повышения эффективности использования процессора была применена идея мультипрограммирования – пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, а выполняет другую программу. После окончания операции ввода-вывода, процессор возвращается к выполнению предыдущей программы. Мультипрограммирование, или многозадачность – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера, оперативную и внешнюю память, устройства ввода-вывода, данные. Мультипрограммирование требует революции в строении вычислительной системы: 1) Реализация защитных механизмов. Программы не должны иметь самостоятельного доступа к распределению ресурсов, а должно быть обеспечено изолирование конкурирующих пользовательских программ друг от друга, а ОС – от программ пользователей. Появляются привилегированные (с доступом к оборудованию и ресурсам) и непривилегированные («пользовательские») команды и режимы работы ОС. 2) Наличие прерываний. Внешние прерывания оповещают ОС о том, что произошло асинхронное событие, например, завершилась операция ввода-вывода. Внутренние прерывания возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС, например деление на ноль. 3) Развитие параллелизма в архитектуре. Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций. Не менее важна в организации мультипрограммирования роль ОС, реализующей: организацию интерфейса между прикладной программой и ОС при помощи системных вызовов организацию очереди из заданий в памяти и планирование выделение процессора одному из заданий переключение заданий требует сохранения содержимого регистров и структур данных, необходимых для выполнения задания стратегии управления памятью, включая упорядочение процессов размещения, замещения и выборки информации из памяти организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей обеспечение средствами коммуникации программ для санкционированного обмена данными и синхронизации. Мультипрограммирование призвано повысить эффективность использования вычислительной системы, однако эффективность может пониматься по-разному. Наиболее характерными критериями эффективности вычислительных систем являются: – пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени; – удобство работы пользователей, заключающееся, в частности, в том, что они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине; – реактивность системы – способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата. В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, системы разделения времени и системы реального времени. Мультипрограммирование в системах пакетной обработки. Цель мультипрограммирования – минимизация простоев всех устройств компьютера (прежде всего центрального процессора). Такие простои могут возникать из-за приостановки задачи по ее внутренним причинам, связанным, например, с ожиданием ввода данных для обработки. Естественное решением проблемы – переключение процессора на выполнение другой задачи, у которой есть данные для обработки – пакетные системы. Критерий эффективности систем пакетной обработки – максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание. Следовательно, в вычислительных системах, работающих под управлением пакетных ОС, невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным. Взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок повышает эффективность функционирования аппаратуры, но снижает эффективность работы пользователя. Мультипрограммирование в системах разделения времени. Повышение удобства и эффективности работы пользователя является целью систем разделения времени. Пользователям (или одному пользователю) предоставляется возможность интерактивной работы сразу с несколькими приложениями. Для этого каждое приложение должно регулярно получать возможность «общения» с пользователем. Эта проблема решается так, что ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда они добровольно освободят процессор. Всем приложениям попеременно выделяется квант процессорного времени, таким образом пользователи, получают возможность поддерживать с ними диалог. Данные системы исправляют недостаток систем пакетной обработки – изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю предоставляется терминал, для диалога с программой. Т.к. каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Недостаток систем разделения времени – меньшая пропускная способность, чем у систем пакетной обработки, т.к. на выполнение принимается каждая запущенная пользователем задача; меньшая производительность из-за возросших накладных расходов вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерий эффективности систем разделения времени – удобство и эффективность работы пользователя. Мультипрограммное выполнение интерактивных приложений повышает и пропускную способность компьютера (хоть и не в такой степени, как пакетные системы). Аппаратура загружается лучше, т.к., пока одно приложение ждет сообщения пользователя, другие приложения могут обрабатываться процессором. Мультипрограммирование в системах реального времени. Системы реального времени – предназначены для управления компьютером различными техническими объектами (станком) или технологическими процессами (доменным процессом). В данном случае существует предельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа. Иначе, может произойти авария: например, спутник выйдет из зоны видимости. Критерий эффективности здесь – способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время – время реакции системы, а соответствующее свойство системы – реактивность. Требования ко времени реакции зависят от специфики управляемого процесса. Контроллер робота может требовать от встроенного компьютера ответ в течение менее 1 мс, в то время как при моделировании полета может быть приемлем ответ в 40 мс. В системах реального времени мультипрограммная смесь (множество одновременно выполняемых задач) представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ. Способность аппаратуры компьютера и ОС к быстрому ответу зависит в основном от скорости переключения с одной задачи на другую и, в частности, от скорости обработки сигналов прерывания. Если при возникновении прерывания процессор должен опросить сотни потенциальных источников прерывания, то реакция системы будет слишком медленной. Время обработки прерывания в системах реального времени часто определяет требования к классу процессора даже при небольшой его загрузке. При проектировании программ под системы реального времени закладывается некоторый «запас» вычислительной мощности на случай пиковой нагрузки. Например, в системе управления атомной электростанцией в случае возникновения крупной аварии атомного реактора многие аварийные датчики сработают одновременно и создадут коррелированную нагрузку. Если система не спроектирована для поддержки пиковой нагрузки, то система не справится с работой именно тогда, когда она нужна в наибольшей степени. Мультипроцессорная обработка – способ организации» вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы. Не следует путать мультипроцессорную обработку с мультипрограммной обработкой. В мультипрограммных системах ведется обработка нескольких программ, но при этом в процессоре в каждый момент времени выполняется только одна программа. А в мультипроцессорных системах несколько задач выполняются действительно одновременно, т.к. имеется несколько процессоров. Хотя и на каждом из процессоров может попеременно выполняться некоторый закрепленный за данным процессором набор задач. Недостатки такой организации системы: – усложнение всех алгоритмов управления ресурсами (например, планирование процессов не для одного, а для нескольких процессоров) – возрастание числа конфликтов по обращению к устройствам ввода-вывода, данным, общей памяти и совместно используемым программам. Проблемы решаются ОС путем синхронизации процессов, ведения очередей и планирования ресурсов и сама ОС должна быть спроектирована так, чтобы уменьшить существующие взаимозависимости между собственными компонентами. Примеры ОС с мультипроцессорной – Sun Solaris 2.x, IBM OS/2, Microsoft Windows NT и т.д. Различают симметричную и ассиметричную архитектуру таких систем. Симметричная архитектура – однородность всех процессоров и единообразие включения процессоров в общую схему мультипроцессорной системы, разделение одной большой памяти между всеми процессорами. Черты: возможность наращивания числа процессоров ограничена, т.к. все они пользуются одной и той же оперативной памятью и, следовательно, должны располагаться в одном корпусе – масштабируемость по вертикали до 4 или 8 процессоров; процессоры очень быстро обмениваются данными. Асимметричная архитектура – разные процессоры могут отличаться как своими характеристиками (производительностью, надежностью и т.д.), так и функциональной ролью, которая поручается им в системе. Одни процессоры – основные вычислители, другие – управляют подсистемой ввода-вывода, третьи – еще для каких-то особых целей. Т.к. здесь требование единого корпуса отсутствует, система может состоять из нескольких устройств, каждое из которых содержит один или несколько процессоров – масштабирование по горизонтали. Каждое такое устройство – кластером, а система – кластерная. По способу организации вычислительного процесса мультипроцессорные системы делятся также на симметричные и ассиметричные. Асимметричное мультипроцессирование – наиболее простой способ организации вычислительного процесса в системах с несколькими процессорами, его называют также «ведущий-ведомый». Принцип «ведущий-ведомый» предполагает выделение одного из процессоров в качестве «ведущего», на котором работает операционная система и который управляет всеми остальными «ведомыми» процессорами. Ведущий процессор распределяет задачи и ресурсы, а ведомые процессоры работают только как обрабатывающие устройства и никаких действий по организации работы вычислительной системы не выполняют. Такая организация не намного сложнее ОС однопроцессорной системы. Асимметричная организация вычислительного процесса может быть реализована как для симметричной мультипроцессорной архитектуры, так и для несимметричной. Симметричное мультипроцессирование – способ организации вычислительного процесса, который может быть реализован в системах только с симметричной мультипроцессорной архитектурой. При такой организации для всех процессоров существует общая операционная система. Все процессоры равноправно участвуют и в управлении вычислительным процессом, и в выполнении прикладных задач. Операционная система полностью децентрализована – модули ОС выполняются на любом доступном процессоре. Как только процессор завершает выполнение очередной задачи, он передает управление планировщику задач, который выбирает из общей для всех процессоров системной очереди задачу, которая будет выполняться на данном процессоре следующей. Все ресурсы выделяются для каждой выполняемой задачи по мере возникновения в них потребностей и никак не закрепляются за процессором. Все процессоры работают с одной и той же динамически выравниваемой нагрузкой. Одна задача может решаться сразу несколькими процессорами, если она допускает такое распараллеливание, например, путем представления в виде нескольких потоков. Большой плюс: в случае отказа одного из процессоров симметричные системы, как правило, сравнительно просто реконфигурируются. Симметричная и асимметричная организация вычислительного процесса в мультипроцессорной системе определяется типом операционной системы. Так, в симметричных архитектурах вычислительный процесс может быть организован как симметричным образом, так и асимметричным. Однако асимметричная архитектура непременно влечет за собой и асимметричный способ организации вычислений. 4. Роль прерываний при мультипрограммировании. Мультипрограммирование, или многозадачность (multitasking), — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Прерывание – это способ переключения процессора на выполнение потока команд, отличного от того который выполнялся, с последующим возвратом. Различают следующие типы прерываний: внешние (аппаратные), внутренние (исключения -exception), программные Внешние прерывания происходят асинхронно, т.е. происходят в случайный момент времени в процессе выполнения программы (например, от внешних устройств), внутренние – синхронно, т.е. возникают по конкретной причине и можно предугадать возникновение такого прерывания (например, при делении на ноль). Программные прерывания не являются "истинными" прерываниями. Они возникают при выполнении определенной команды процессора и применяются в том случае, когда необходимо выполнить некоторые привилегированные действия (например обратится к порту компьютера). При мультипрограммировании, аппарат прерываний крайне важен. Поскольку мультипрограммирование задумывалось как увеличение производительности компьютера при тех же аппаратных затратах. Где пока один процесс простаивает в ожидании какой-либо операции, другой выполняет свои действия. То единственным способом информировать процессор о каких-либо произошедших событиях – оказывается аппарат прерываний, который, в принципе, и придумывался для этих целей. Когда процессор был освобождён от рутинных операций ввода-вывода, тогда и появилась возможность выполнять другую программу, во время ввода информации первой. Этот эволюционный момент потребовал развития железа и софта. |
15 руководство пользователя Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом... |
Инструкция (типовая) по охране труда при Реактивы химические – это чистые вещества, их растворы, смеси или композиции строго регламентируемого состава, применяемые для научных... |
||
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
||
Руководство пользователя следует изучить перед установкой оборудования,... Это руководство содержит информацию о правилах установки и эксплуатации оборудования |
Регулирование криптовалют, токенов блокчейн и первичного предложения монет (ico) Наиболее перспективной технологией является блокчейн, которая представляет собой технологию распределённой базы данных и обеспечивает... |
||
Компьютер и дети. Компьютер друг или враг? Показать возможность использования компьютера в учебной деятельности и в домашних условиях |
Инструкция по подключению к программе Teamspeak Это бесплатная программа, не требующая регистрации или чего-либо еще, очень экономная в плане трафика. Программа представлена в разных... |
||
Руководство пользователя Артикул: 12313 Версия 0 Оптима окажется для вас многофункциональным полезным оборудованием и в будущем. Ваша отопительная установка отличается современным... |
1. Программное обеспечение компьютера – это А вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера |
||
Инструкция по эксплуатации Razer Kabuto Спасибо, что выбрали товар... Самое интересное, что Razer Kabuto еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно... |
Программа для родителей и педагогов, которая называется «Из детства в отрочество» Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество» |
||
Руководство пользователя Содержание Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии... |
Краткое руководство пользователя собрания Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать... |
||
Программа «Вольный стиль» Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств... |
Руководство Пользователя, Обновления для драйвера и по Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта... |
Поиск |