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

Шпаргалка «Экзаменационная» по Операционным системам (Шурыгин В. Н.)

1.История развития операционных систем.

1614 г. – логарифмическая линейка.

1642 г. – мех. цифровая машина для складывания одноразрядных чисел. (Паскаль)

1673 г. – мех. цифровая машина – 4 арифметических действия и извлечение корня. (Лейбниц)

1820 г. – изобретение арифмометра.

Первая половина XXв. – различные счётные устройства с одной главной особенностью

1949 г. – первый ламповый компьютер, 20 тыс. операций в секунду. 1 поколение.

1955 г. – переход на полупроводниковый элемент. Машины 2 поколения.

1960 г. – микросхемы малой степени интеграции. 3 поколение.

1964 г. – средняя степень интеграции.

Конец 60-х – мини ЭВМ.

1971 г. – появление микропроцессора.

Середина 70-х – машины 4 поколения (сотни миллионов операций).

До 1955 г. – ЭВМ не имели ОС, единственное подобие ОС – служебные программы, используемые для загрузки исполняемых программ, а также библиотеки наборы подпрограмм.

Монитор – служебная программа.

1955 – 1965 г. – использование больших ВМ, использование простых пакетных ОС, для машин 2 поколения. (управление вводом-выводом, заданиями). Чтение с перфокарт.

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

1965 – 1975 г. – практически основной период развития ЭВМ:

-мультипрограммирование

-мультипроцессирование

-поддержка многотерминального режима(многопользовательского)

-виртуальная память

-файловая система

-разграничение доступа

-сетевая работа

Мультипрограммирование – способ организации вычислительного процесса, при котором попеременно выполняется несколько задач. Пока одна задача выполняет операцию ввода-вывода – процессор не простаивает как раньше, а выполняет другую задачу. Для реализации такого механизма – была создана система распределения памяти, предусматривавшая, что каждая задача загружается в свою область памяти.

Общие критерии эффективности мультипрограммирования:

· пропускная способность;

· удобство работы пользователей;

· реактивность системы (заданные интервалы времени).

В зависимости от критерия различают:

· системы пакетной обработки;

· разделения времени;

· системы реального времени.

Мультипрограммирование в системах пакетной обработки

Главная цель: минимизация простоев всех устройств компьютера. Это, как правило, задачи вычислительного характера. Оператор формирует пакет заданий и вводит его тем или иным способом во внешнюю память. В этом режиме невозможно гарантировать выполнение задачи в течении определенного времени. Мультипрограммирование организованно за счет параллельной работы канала или контроллера и процессора. Переключение процессора с одной задачи на другую - инициатива самой задачи. В подобных системах пользователь отстраняется от вычислительного процесса. Примерами ОС пакетной обработки являются ОС для мэйнфреймов IBM 360/370/390.

Мультипрограммирование в системах разделения времени

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

Мультипрограммирование организуется путем выделения каждой задаче некоторого, достаточно небольшого отрезка времени - кванта. Задача принудительно приостанавливаются по завершению кванта и в соответствии с заложенным алгоритмом, выбирается на выполнение новая задача. Системы разделения времени имеют меньшую пропускную способность по сравнению с системами пакетной обработки при прочих равных условиях. Это обусловлено потерей времени на переключение процессора с задачи на задачу. ОС MS Windows 98/NT/2000/XP, Unix являются примерами систем разделения времени.

ПРОБЛЕМА БЕЗОПАСНОСТИ: многозадачный режим с разделением времени потребовал много мер по защите кодов и данных одной программы от порчи со стороны другой программы. Для этого в процессоре были созданы 2 режима работы - привилегированный и пользовательский, а также регистры(элементы памяти внутри процессора) для быстрого переключения с одной программы на другую. Также система формирования и обработки прерываний.

ПРИВИЛЕГИРОВАННЫЙ(работают модули ОС):процессор может выполнять все программы для которых спроектирован, в т.ч. команды позволяющие осуществить распределение ресурсов компьютера по задачам и его защиту (память, устройства ввода-вывода)

ПОЛЬЗОВАТЕЛЬСКИЙ(модули прикладных программ):некоторые команды процессора недоступны.

Важная особенность-наличие развитой системы прерывания:

-аппаратные

-программные 2.Признаки классификации операционных систем:

I.Классификация по назначению:

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

ОС 390 для IBM

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

Файловый сервер, сервер БД, веб - сервер. Серверные ОС:Unix;Windows2000,2003;Linux;MacOS

Сервер - должна быть установлена серверная ОС + прикладная программа.

Сервер БД – установить систему управления БД.

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

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

4.Распределенные ОС – такая ОС для пользователя выглядит как обычная ОС(однопроцессорная), при этом эта ОС – управляет множеством процессоров на множестве компьютеров, при этом местоположение программ и файлов данных “прозрачны” для пользователя, т.к. работа с ними в независимости от их местоположения реализуется на уровне ОС.

Распределённая ОС – автоматически и динамически(ситуация меняется)распределяет загрузку по различным машинам сети и заставляет весь набор сетевых машин работать как один виртуальный процессор. Такой набор машин ещё называют КЛАСТЕРОМ.

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

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

5.ОС для ПК – одна из главных задач – представление удобного интерфейса.

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

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

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

II.Классификация по режиму обработки задач:

1.Однопрограммные(однопроцессорные) ОС.

MS DOS 2.Мультипроцессорные ОС – множество программ.

Практически все современные ОС.

III.Классификация по способу взаимодействия с пользователем:

1.Диалоговые:

1.однопользовательские (MS DOS). 2.многопользовательские (Linux, Unix)

2.системы пакетной обработки Функции и показатели функционирования операционных систем.

ОС предназначены для управления ресурсами вычислительной системы, при этом по отношению к каждому из ресурсов ОС выполняет функции:

отслеживает состояние ресурса

определяет и ведет

а) учет потребителей ресурсов

б) их запросы на ресурсы по времени и объему памяти,

т.е. осуществляет планирование распределения ресурсов с предотвращением конфликтных ситуаций

3) осуществляет выделение ресурса потребителя

4) освобождает ресурс после его использования

Показатели функционирования:

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

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

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

Уровень (коэффициент) мультипрограммирования. Количество одновременно выполняемых процессов

Показатель безопасности. Характеризует способность защищать данные в ОС от несанкционированного доступа, от сбоев в аппаратуре и ошибок в ПО.

Структурная организация операционной системы.

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

макроядерной (монолитного ядра) структуры

в виде иерархической структуры

в виде микроядерной структуры

// все три вида структур будут рассмотрены подробнее в след. вопросах

5 .Архитектура в виде ядра и вспомогательных модулей

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

ядро — модули, выполняющие основные функции ОС;

модули, выполняющие вспомогательные функции ОС.

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

Вопрос №6Иерархическая структура операционной системы.

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

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

Модернизация такой ОС заключается в модернизации функций каких-либо слоёв без изменения межслойных интерфейсов.

Распределение функций:

1й слой (самый внутренний) – средства аппаратной поддержки (технические устройства).

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

2й слой – машинно-зависимый модуль ОС.

Машинно-зависимые модули – программные модули, цель которых – экранировать зависимость всех остальных слоёв ядра от аппаратной части. Пишутся на машинно-зависимом языке.

3й слой – базовые механизмы ядра.

Базовые механизмы ядра предназначены для выполнения базовых операций в ходе управления вычислительными ресурсами:

- переключение контекстов;

- диспетчеризация прерываний;

- перемещение страниц из оперативной памяти на магнитный диск и обратно;

- управление оперативной и встроенной памятью.

4й слой – диспетчеры ресурсов.

Эти программные модули решают стратегические задачи управления ресурсами:

- выделение процессорного времени;

- выделение оперативной памяти;

- распределение устройств ввода-вывода и др. задачи.

Именно модули этого слоя ведут учёт, диспетчеризацию и выделение потокам основных вычислительных ресурсов.

5й слой – интерфейс системных вызовов (API).

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

Преимущество иерархической структуры: удобство модификации.

Недостаток иерархической структуры: сложность согласования слоёв ОС.

7. Микроядерная структура операционной системы.

Строение:

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

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

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

Достоинства микроядерной структуры:

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

Малое число аппаратно зависимых программных составляющих, сосредоточенных в микроядре, повышает переносимость операционной системы.

Малый объём ядра повышает надёжность операционной системы, т. к. мал объём кода.

Повышается степень конфигурируемости операционной системы (могут запускаться не все серверы\модули операционной системы).

Архитектурная приспособленность к выполнению распределённых вычислений.

8. Планирование и диспетчеризация потоков.

Процесс – это заявка на работу.

Поток – это последовательность выполняемых команд.

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

Оформление приложения в виде нескольких потоков ведёт к повышению производительности вычислительной системы.

Создание процесса означает создания т. н. описание процесса (дескрипта).

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

Переход от одного потока к другому осуществляется в результате выполнения операционной системой задач планирования и диспетчеризации.

Планирование сводится к решению двух задач:

Определение момента времени для смены активного потока.

Просмотр и анализ очереди готовых к выполнению потоков для выбора одного из них на запуск.

Диспетчеризация заключается в реализации найденного в ходе планирования решения и сводится к выполнению следующих задач:

Сохранение контекста снимаемых с выполнения потоков.

Загрузка контекста нового потока, выбранного в ходе планирования.

Запуск нового потока на выполнение.

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

Переключение контекста достаточно сильно влияет на производительность операционной системы. 9. Состояния потоков.

В многозадачной ОС поток может нахожится в одном из 3х состояний: готовности, выполнения и ожидания.

В состоянии выполнения потоку выделяются все необходимые ресурсы, в том числе процессорное время.

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

Переход поток из одного состояния в другое осуществляется с помощью алгоритмов планирования.

10. Алгоритмы управления потоков.

Алгоритмы управления делятся на

Динамическое планирование

А)вытесняющие

А.1) на квантовании

А.2) на приоритетах

Б) не вытесняющие

2. статическое планирование

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

Динамическое – в ходе работы ОС принимает решение о переключении потоков, на основе динамического изменения ситуации. Потоки и процессы появляются в случайные моменты времени и завершаются в случайные моменты времени, поэтому планирование поток осуществляется в условиях неопределённости, как следствие для решения таких задач ОС затрачивается больший объём вычислительных ресурсов и времени.

Вытесняющий алгоритм и не вытесняющий алгоритм, основное различии этих алгоритмов, это степени управление потоками ОС.При не вытесняющих алгоритмах – функции управления разделяются между ОС и приложениями. Потоки получают от ОС управления запрос и освобождают процессор по своему усмотрению, т.е. с помощью выполненного системой запроса, который возвращает управление ОС. Недостаток: если в приложении произойдёт сбой, то ОС никогда не получит управление, т.е. система зависнет. Единственный способ выхода перезагрузка. Если использовать не вытесняющий алгоритм, то при разработке программы необходимо учитывать, что программа должна время от времени выполнять передачу управления ОС.Вытесняющий алгоритм - управление переключения полностью сконцентрировано в ОС, при этом приложение получат процессорное время, а так же приостанавливают и перевод из состояния ожидания, в состояние готовности, благодаря управляющим воздействиям ОС. При этом программа может не заботится о системных вызовах.Почти все современные ОС реализуют вытесняющий алгоритм динамического планирования.На квантовании – суть этого подхода заключается в том, что потокам поочерёдно предоставляется квант процессорного времени, после окончания кванта времени, поток переводится из состояния выполнения в состояние готовности или ожидания, и находится в нём до выбора его ОС. Эти кванты времени для различных потоков могут быть разными.На приоритете широко используются в современных ОС. Приоритет это некоторое число, характеризующее привилегированность потока.Существуют различные способы назначения ОС приоритетов потока, а так же существуют различные виды приоритетов, в частности существуют динамические приоритеты, фиксированные, относительные и абсолютные.Динамические – это такие приоритеты, которые предусматривают возможность изменения своей величины в течении жизни потока. ОС может изменять приоритет потока в зависимости от складывающейся ситуации.Фиксированный – это приоритет присвающивайся потоку 1 раз и не изменяется в течение жизни.Относительные и абсолютные. При использовании относительного приоритета активный поток выполняется до тех пор пока сам не освободится процессор. При использовании абсолютного приоритета выполнение потока прекращается, если он в очереди готовых к выполнению потоков, то появляется поток с более высоким приоритетом.В системе с относительным приориетом минимизируется временные издержки, на переключение с потока на поток. Планировщик с абсолютным приоритетом минимизирует время ожидания потока в очереди. Такой подход используется в системах реального времени. 11. СИНХРОНИЗАЦИЯ ПОТОКОВ

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

Поток А

для внесения в БД изменения связанного с полем «Заказ»

Поток В предназначает для внесения в поле «Оплата»

Оба потока при выполнении задач чтения, внесения изменений, обновлений.

Предположим, что оба потока должны внести изменения в одну и ту же строчку. Допустим, первым начал работать поток А. Он выполнил А1, А2, но не выполнил А3. И в этот момент времени происходит переключение на поток В1, В2, В3, А3.

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

Например, можно приостановить любой из потоков до тех пор, пока другой поток полностью не выполнит все 3 шага по обработке совместных данных.

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

Помимо ошибочных результатов еще одним из следствий является тупик.

Пример:

2 потока, А и В. Пусть они используют 2 внешних устройства- принтер и магнитный диск. Поток А последовательно использует и затем магнитный диск. Поток В использует их в обратном порядке. Поток А занимает ресурс «принтер», ресурс «пр» остается занятым потоком А.

Поток В выполняет В1 и занимает ресурс «м.д»

После выполнения В1 он приступает к выполнению второго шага связанного с занятием принтера. Поскольку он занят, поток В будет приостановлен, а поток А, получив управление будет также приостановлен в связи с занятостью «м.д» потоком В. Тупик

Задача ОС: не допускать таких тупиков.

12. Функции ОС по управлению оперативной памятью.

В современных ОС ОП является разделяемым ресурсом (между процессами)

Функции ОС, связанные с ОП:

ведение учета свободных и занятых областей о.памятью

распространение памяти между несколькими процессами и ее освобождение после каждого процесса

преобразование виртуальных адресов программы на физические адреса о.памяти

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

защита памяти

Вопрос №13. Типы адресов жизненного цикла программы.

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

Символьные – имена объектов , переменных программы, на том или ином языке высокого уровня.

Виртуальные адреса – эти адреса строит транслятор после (в ходе) обработки файлов с исходными текстами программ.

Физические – адреса ячеек оперативной памяти (далее ОП), в которую будут загружены коды (программ) команд и данные программы.

Преобразование символьных адресов в физические адреса ячейки ОП т.о. осуществляется в 2 этапа:

Символьные преобразуются в виртуальные.

Виртуальные отображаются в физические (с помощью ОС)

Существует 2 подхода преобразования виртуальных адресов в физические:

С использованием перемещающего загрузчика

С помощью динамического преобразования

Рассмотрим:

Суть: замена виртуальных адресов на физические осуществляется один раз во время начальной загрузки процесса в ОП

Зависит: от перечня адресно-зависимых объектов программы и их смещение в виртуальном адресном пространстве.

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

2-ой уступает 1-ому по быстродействию.

Важное значение при решении задач с ОП имеет соотнашение объема виртуального адресного пространства с объемом физической ОП на компьютере.

В ≤ Ф В > Ф

В случае когда VВАП > VОП все виртуальное адресное пространство(далее ВАП) процесса хранится в 2-ух местах: 1 часть находится в ОП (выполняемые в данный момент коды и данные), 2 часть находится на магнитном диске (виртуальная).

ВАП процесса, его содержимое представляет собой образ процесса.

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

При переходе с задачи на задачу адресное пространство неизменно. Меняется только виртуальное. Часть ВАП каждого процесса отведена вод сегменты ОС , при смене активного процесса заменяется только 2-ая часть ВАП воздавая его индивидуальные сегменты.

Аппаратной поддежкой построения такого ВАП является специальные регистры процессора, хранящие адреса размещения локальных и глобальных дискрипторных таблиц (LDT и GDT)

LDT Для описания индивидуальных сегментов процесса

GDT для описания общих сегментов.

При перекллючении на новый процесс меняется содержимое только регистра указанного на LDT.

Вопрос №14. Алгоритмы управления памятью.

Задачи для которых создаются Алгоритмы:

Следует ли загружать в ОП все коды программы или же стоит по частям?

Стоит ли назначить процессу непрерывную область памяти или выделять ему память фрагментами?

Можно ли время от времени сдвигать в ОА участки программ?

Что делать если сегменты программы на помещаются в ОП?

Допустима ли фрагментация ОП?

Современные ОС деляться на 2 части:

1 Группа – алгоритмы работающие без использования внешней (Вирт.) памяти.

2 Группа – алгоритмы требующие для своей реализации внешней (вирт .) памяти

Среди 1 группы существуют:

Алгоритмы с одиночным непрерывным респределением

Распределение статистическими разделами

Распределение динамическими разделами

Распределение перемещаемыми разделами

2-я группа:

Алгоритм, основанный на страничном распределении ОП

Алгоритм основанный на сегментном распределении

Алгоритм основанный на сегментно-страничном распределении.

16.Сегментное распределение похоже на страничное но имеет ряд отличий.

1. ВАП делится «осмысленно» на участки т.е. образуется сегмент данных, сегмент команд

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

Максимальный размер сегмента одинаковый и определяется разрядностью виртуального адреса (например, для 32-х размерных о.с.= 4 гигабайта). Диапазон адресов каждого виртуального сегмента находится 00000000h- (FFFFFFFFh-) –признак 16ричного числа. Виртуальный адрес в пределах каждого сегмента задается парой чисел: номер сегмента N и линейным виртуальным адресом внутри числа. Механизм сегментного преобразования аналогичен страничному преобразованию для каждого процесса в ОП создается таблица сегментов, состоящая из дескрипторов, каждый дескриптор описывает свой сегмент процесса. Важное отличие: поскольку сегмент может располагаться в ОП начиная с любого адреса, то в дескрипторе сегмента указывается не номер сегмента, а его полный начальный физический адрес. При использовании сегментного распределения оказывается возможным каждому из сегментов процесса назначать права доступа к нему например можно запретить запись в сегмент кода команд и в сегменте с исходными данными эти права доступа хранятся в соответствующих полях дескрипторов сегментов. Не все сегменты сразу загружаются в ОП, поэтому возникает задача выгрузки и загрузки сегментов. Недостатком сегментного распределения является:

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

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

15.Страничное распределение

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

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

Таблица содержит:

Номер физической страницы в которую загружена соответствующая виртуальная страница

Бит присутствия - если он содержит единицу, то виртуальная страница загружена в ОП если 0-не загружена

Бит модификации страниц. Устанавливается в единицу если происходила запись данных по адресу принадлежащему виртуальной таблице.

Бит доступа. Устанавливается в единицу когда происходит обращение по адресу принадлежащему данным виртуальной страницы.

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

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

Когда только что вытесненная стр. должна быть вновь загружена в ОП (называется пробуксовкой) она ведет к снижению производительности вычислительной системы. Простейший способ определения вытесняемой стр. может быть анализ бита доступа в дескрипторе страницы. Кандидатом на вытеснение считается та у которой бит доступа находится в нулевом состоянии. При вытеснении страницы анализируется бит модификации в дескрипторе этой страницы. Если бит модификации равен нулю, то содержимое страницы не менялось, следовательно на диске есть точная её копия. Запись на диск производить не требуется, если бит равен единице то требуется.

16.Сегментное распределение похоже на страничное но имеет ряд отличий.

1. ВАП делится «осмысленно» на участки т.е. образуется сегмент данных, сегмент команд

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

Максимальный размер сегмента одинаковый и определяется разрядностью виртуального адреса (например, для 32-х размерных о.с.= 4 гигабайта). Диапазон адресов каждого виртуального сегмента находится 00000000h- (FFFFFFFFh-) –признак 16ричного числа. Виртуальный адрес в пределах каждого сегмента задается парой чисел: номер сегмента N и линейным виртуальным адресом внутри числа. Механизм сегментного преобразования аналогичен страничному преобразованию для каждого процесса в ОП создается таблица сегментов, состоящая из дескрипторов, каждый дескриптор описывает свой сегмент процесса. Важное отличие: поскольку сегмент может располагаться в ОП начиная с любого адреса, то в дескрипторе сегмента указывается не номер сегмента, а его полный начальный физический адрес. При использовании сегментного распределения оказывается возможным каждому из сегментов процесса назначать права доступа к нему например можно запретить запись в сегмент кода команд и в сегменте с исходными данными эти права доступа хранятся в соответствующих полях дескрипторов сегментов. Не все сегменты сразу загружаются в ОП, поэтому возникает задача выгрузки и загрузки сегментов. Недостатком сегментного распределения является:

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

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

Сегментно-страничное распределение памяти объединяет два способа управления памятью: страничное (вопрос 15) и сегментное (вопрос 16).

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

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

Недостаток − сложность и затраты ресурсов на реализацию.

Вопрос 18.Управление данными.

Модулями операционной системы, ответственными за управление данными являются подсистемы ввода-вывода. Их задачей является автоматизация процесса доступа к данным, которые хранятся на внешних носителях. Они дают возможность обрабатывать информацию с помощью логической структуры данных.Основными компонентами подсистемы ввода-вывода являются драйверы и файловая система. Драйверы управляют внешними устройствами, а файловая система предполагает организацию данных на внешних устройствах, методов доступа к ним и средств защиты данных от несанкционированного доступа.Элементы системы управления данными: магнитный (вопрос 19) или логический диски (вопрос 20, 21).

19.Физическая организация данных на магнитном диске.

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

Информация на дорожках записывается по секторам. Номера секторов начинаются с единицы. Размер сектора м.б. разным, но в л.случае он представляет собой число, равное степени двойки.

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

Существует еще одно понятие. Кластер-один или неск.сложных секторов. Кластер может содержать одна или неск. дорожек.

Координаты л.сектора диска записываются в виде послед-ти номеров цилиндра, и номера сектора в пределах дорожки.

20.Разделы и логические диски.

Магн.диск м.б.разбит на неск.разделов. Каждый раздел в зав-ти от типа м.содержать один или неск. лог.дисков. Различают 2 типа разделов: первичные и расширенные

Каждый первичный раздел соответствует одному лог.диску. Расширенный раздел м.содержать один или неск. лог дисков. Макс. число разделов равно 4. При этом расширенным разделом м.б. только 1. Если на магн.диске неск первичных разделов (макс-3), то один из них д.б.активен. С этого раздела начинается загрузка ОС.

MBR-гл.загрузочная запись

Компоненты:

внесистемный загрузчик –программа длиной 446 байт на кот. передается управление после успешной загрузки первого сектора.

Осн. назначение программы-поиск акт.раздела и зарузка ОП сист.загрузчика. Он нах-ся в стартовом секторе акт.раздела (лог диска, на кот.установлена ОС)

таблица описания разделов диска. Расп-ся в MBR со смещением и занимает 64 байта

2 байта

Сигнатура. По ней BIOS определяет успешность загрузки MBR.

Таблица разделов состоит из 4х элементов, каждый по 16 байт. Каждый элемент описывает размещение и х-ки имеющихся на магн.диске разделов. Если повреждена таблица разделов, то ОС не сможет загрузиться и данные недоступны.

За сектором MBR размещаются разделы. Каждому первичному разделу соответствует первичный диск. Расширенный раздел начинается с сектора, кот.содержит вторичную запись NBR. Ее структура аналогична структуре таблицы разделов с разницей, что используются только 2 16байтных элемента.

1й элемент описывает размещение и х-ки лог.диска.

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

21. Физическая организация файлов на логических дисках.

Физическая организация файла (ФОФ) – это способ размещения файла на диске.

Способ перечисления номеров кластера.

Кластер – это несколько секторов.

Сектор –минимальная адресуемая единица хранения информации на дисковых запоминающих устройствах.

Способ перечисления номеров кластеров файла, характеризуется такими достоинствами:

« + »

Высокая скорость доступа

Возможность произвольного доступа к любому файлу

Отсутствие фрагментации

« - »

Так как адресная информация состоит из номеров кластеров занимаемых файлами, значит ее объем находится в прямой зависимости от количества таких кластеров.

Адресная информация - длина ее для каждого файла - разная.

Этот способ применяется в таких файловых системах:

Файловая система UNIX

Файловая система Windows NTFS

22. Файловая система FAT

FAT – таблица размещения файлов. Основана на связном списке файлов.

Логик диск. Отформатированный под эту ФС состоит из след. областей:

Загрузочная запись (boot recocrd)

FAT 1 and FAT 2

Корневой каталог

Область данных (набор кластеров)

Загрузочная запись

Занимает 1 сектор = 512 байт

Состоит из :

Системного загрузчика (sb) .

sb – это программа , которая зависит от ОС , загружаемая с магнит.диска. Основное назначение – поиск на диске и загрузка в оперативную память сист.файл.

Блока параметров biose (bpb)

В нем содержится основные параметры логик.диска:

Размер сектора (байт)

Размер кластера (количество секторов)

Начальный сектор коневого каталога+ ряд других программ.

FAT 1 и FAT 2

FAT 1 и FAT 2 - основная и резервная копия таблиц размещения. FAT- состоит из индексных указателей. Размерность индекса определяется макс числом кластера на логик.диске.

Указатель – количество 2-ух разрядов для хранения индексов(12, 16, 32 бит) FAT12, FAT16 FAT32. Разрядность индекса определяет макс. число кластера на логик.диске .

2^12 = 4096 кластеров может находится при форматирование.

2^16= 256 мегбайт

2^32= 16 тб Индексный указатель может принимать значение :

0 (состояние кластер свободен)

Код последнего кластера

Код след. кластера + сумма файлов

3)Коневой каталог

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

Имя файла

Расширение

Даты и время последнего изменения

Номер 1-го кластера

Ряд других параметров

Они размещаются в каталогах и имеют строго одинаковую структуру.

Область данных

Самая большая часть магнитного диска и представляет собой совокупность кластеров. коневой каталог имеет фиксир(?)

Последовательность действий при записи на диск:

В исходном индексе = 0

При записи файла на диск Ос происходит просмотр FAT

Поиск свободного указателя

Запись найденного свободного индекса указателя

В кластер с номером идет запись данных файл

Если файл уменьшается водном кластере то в индексный указатель FAT заносится код, обозначающий этот кластер является последним кластером этого файла. 23.Файловая системы UFS.

UFS (расшифровывается как UNIX File System) - это основная файловая система для BSD-систем, устанавливаемая по умолчанию. Многие коммерческие UNIX'ы также используют либо саму UFS, либо нечто очень на нее похожее. В противоположность ext2fs, исхоженной вдоль и поперек, UFS крайне поверхностно описана в доступной литературе и единственным источником информации становятся исходные тексты, в которых не так-то просто разобраться! Существует множество утилит, восстанавливающих уничтоженные данные (или, во всяком случае, пытающихся это делать), но на проверку все они оказываются неработоспособными, что, в общем-то, и неудивительно, поскольку автоматическое восстановление удаленных файлов под UFS невозможно в принципе. Тем не менее, это достаточно легко сделать вручную, если, конечно, знать - как. Физически UFS состоит из следующих частей:

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

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

описание групп цилиндров. Каждая группа включает следующие компоненты:

Резервную копию суперблока

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

Цифра индексных дескрипторов, каждый из которых содержит атрибуты файлов

Цифра блоков данных

24.Файловая системы NTFS.

NTFS (от англ. New Technology File System — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Microsoft Windows NT. Операционные системы Microsoft семейства Windows NT нельзя представить без файловой системы NTFS - одной из самых сложных и удачных из существующих на данный момент файловых систем. NTFS заменила использовавшуюся в MS-DOS и Microsoft Windows файловую систему FAT. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в главной файловой таблице — Master File Table (MFT). NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей. NTFS использует систем журналирования USN для повышения надёжности файловой системы. Как и любая другая система, NTFS делит все полезное место на кластеры - блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт. Файлы NTFS имеют один довольно полезный атрибут - "сжатый". Дело в том, что NTFS имеет встроенную поддержку сжатия дисков - то, для чего раньше приходилось использовать Stacker или DoubleSpace.

25. Массивы из нескольких дисков RAID.

RAID (redundant array of independent disks — избыточный массив независимых жёстких дисков) — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации.Виды RAID

Определено и стандартизировано 8 уровней спецификации RAID, RAID 0-7 и комбинированные уровни. Главная особенность RAID-массива заключается в том, что несколько жестких дисков воспринимаются операционной системой как один. Можно сказать, что объединение винчестеров в RAID . В случае с массивом создается один логический накопитель на основе нескольких физических, а ОС взаимодействует уже не с HDD, а с RAID-контроллером, к которому они привязаны. Слово «избыточный» в аббревиатуре RAID находится неспроста. Дело в том, что для всех «традиционных» массивов объем логического диска будет меньше суммы объемов накопителей, входящих в его состав. Однако это компенсируется тем, что данные, хранящиеся в массиве, не будут потеряны, если один из HDD неожиданно выйдет из строя. Более того, в некоторых случаях допускается выход из строя сразу нескольких дисков.RAID 0

Первым по порядку идет нулевой уровень (RAID 0 или «striping»). Это единственный из массивов, который не обеспечивает избыточности данных и повышенной отказоустойчивости. Принцип работы RAID 0 основан на том, что данные, поступающие на контроллер, поочередно записываются сразу на несколько HDD, не дублируясь, т. е. если потребуется записать какой-то файл, то его части будут равномерно раскиданы по нескольким дискам. Это надо исключительно для повышения скорости приема и передачи данных. Теоретически объединение пары винчестеров в массив RAID 0 может увеличить скорости чтения и записи вдвое, но на практике эти значения возрастают примерно в 1,6-1,8 раза, в зависимости от качества RAID-контроллера.

Если объединить в RAID 0 несколько жестких дисков разного объема, то на вместительных винчестерах будет задействована лишь часть дискового пространства, равная объему наименьшего HDD. В случае с нулевым уровнем за скорость надо расплачиваться надежностью: если один из винчестеров умрет, то информация на остальных HDD из массива станет нечитабельной, а вероятность выхода RAID 0 из строя даже выше, чем в случае с одним накопителем.

(схема RAID 0)

RAID 1 Уровень RAID 1 («mirroring») требует для реализации четного количества жестких дисков: они разбиваются на пары, и вся информация считывается или записывается одновременно на два винчестера, полностью дублирующих друг друга. Другими словами, в массиве RAID 1 из двух HDD содержание обоих жестких дисков будет абсолютно идентичным в любой момент времени. Безвозвратная потеря данных возможна лишь в том случае, если из строя выйдут сразу оба винчестера. Такой массив не только повышает надежность хранения информации, но и увеличивает скорость чтения данных, т. к. их можно «тянуть» сразу с двух дисков. При этом скорость записи остается такой же, как и у одного накопителя. Понятно, что объем логического диска, созданного с помощью RAID 1, будет в два раза меньше суммарного объема винчестеров.

(схема RAID 1)

RAID 1+0 Заметим, что массивы уровней 0 и 1 можно объединять между собой, если это позволяет RAID-контроллер. Для полноценной реализации подобной конфигурации потребуется четыре накопителя: два будут работать в режиме RAID 0, а еще два — дублировать все их действия. В результате мы получим и скорость, и надежность. К тому же в данном случае допустим выход из строя сразу двух дисков, если это не «винчестеры-клоны». Сочетание этих двух уровней часто называют RAID 10.

RAID 5

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

(схема RAID 5)

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

(схема RAID 2)

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

(схема RAID 3)

RAID 4 RAID 4 отличается от RAID 3 тем, что данные разбиваются на блоки, а не на байты, благодаря чему решается проблема низкой скорости передачи данных небольшого объема. Однако по практичности RAID 4 все равно уступает RAID 5.

(Схема RAID 4)

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

(схема RAID 6)

RAID 7 - зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на n − 1 дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.

Комбинированные уровни наследуют преимущества (и недостатки) своих «родителей». Так, появление «нолика» в уровне RAID 50 нисколько не добавляет ему надежности, но зато положительно отражается на производительности. Уровень RAID 15, наверное, очень надежный, но он не самый быстрый и, к тому же, крайне неэкономичный (полезная емкость тома составляет меньше половины объема исходного дискового массива).Создание RAID-Массива.

Для создания RAID-массива нужно некоторое количество накопителей и контроллер, поддерживающий необходимый уровень RAID. Жёсткие Диски. Чтобы избежать потерь, для RAID любого уровня следует использовать носители одинакового объема. Аналогично объему, если накопители обладают разной скоростью чтения и записи, производительность всего массива будет ограничена скоростью наиболее медленного HDD. Поэтому лучше выбирать жёсткие диски одной модели и одного объёма.

Контроллеры. RAID может быть реализован тремя путями: аппаратно, программно-аппаратно и программно. Полностью аппаратный RAID-контроллер проводит все операции самостоятельно, без участия ПО, установленного в системе. Такие устройства оснащаются сложными вычислительными процессорами и собственной памятью. Многие RAID-контроллеры поддерживают установку резервного диска. Он бездействует, пока массив работает корректно, но если один из винчестеров выйдет из строя, то резервный диск автоматически становится на его место. 26. Управление сетевым межпроцессорным взаимодействием.

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

Модель взаимодействия открытой системы OSI [Open System Intercommand] (открытый для удовлетворения международным стандартам)

Представляет собой 7 уровней взаимодействия:

1.Физический

2.Канальный

3.Сетевой (IP, IPX)

4.Транспортный (TCP, SPX)

5.Сеансовый

6.Представления

7.Прикладной

Взаимодействие осуществляется с помощью протоколов. Протокол – набор правил.

IEEE 80.2.3 Ethernet (802.11 a b – Wi-fi)

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

Физический уровень определяет требования для физической среды и параметры оптических и физических сигналов.

Канальный уровень решает задачу доступа к физической среде.

Физ.адреса(МАС-адреса) заголовок циклич. код (4 байта)

АО-адрес отправителя

АП-получателя

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

МАС адрес (биты)

На сетевом уровне решается задача межсетевого взаимодействия узлов.

ЛВС – локальная вычислительная сеть

Вводится адрес локальной сети

АО, АП – сетевые адреса узлов

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

27.Стек протоколов ТСP/IP – наиболее распространенный стек протоколов.

Главной задачей стека TCP/IP является объединение в сеть пакетных подсетей через шлюзы. Протокол TCP/IP имеет многоуровневую структуру, в ней можно выделить 4 уровня:

Прикладной;

Основной (транспортный);

Сетевой;

Уровень сетевых протоколов.

На уровне сетевых протоколов располагаются все протоколы доступа к физическим устройствам (например, SLIP, PPP). Выше - протоколы межсетевого обмена (IP, ARP, ICMP). На основном уровне - транспортные протоколы (TCP и UDP), которые кроме сбора пакетов в сообщения еще и определяют какому приложению необходимо данные отправить или от какого приложения необходимо их принять. На прикладном уровне - протоколы, которые используются приложениями для обмена данными ( FTP).

Преимущества сетей TCP/IP:

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

Любое оборудование позволяет фильтровать трафик TCP/IP, что сильно облегчает сегментацию сети и делает ее легко структурируемой.

Сеть TCP/IP позволяет работать в режиме удаленного терминала и организовывать распределенную файловую систему.

Стек протоколов TCP/IP является стандартом в сети Internet.

Стек протоколов TCP/IP позволяет организовывать корпоративную сеть по принципу intranet.

Сеть TCP/IP обеспечивает сетевую печать и т.п.

Главный недостаток - отсутствие встроенных способов защиты информации от несанкционированного доступа.Каждый компьютер в сети TCP/IP имеет адреса трех уровней:

Локальный адрес узла. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано.

IP-адрес, адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов.

Символьный идентификатор - имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес, называемый DNS-именем, используется на прикладном уровне.

Принципы построения IP-адресов:

IP-адрес - это 4-байтовая последовательность. Для удобства каждый байт этой последовательности представлен в виде десятичного числа. Адрес состоит из двух частей - номера сети и номера узла.

Какая часть адреса относится к номеру сети, а какая к номеру узла, определяется значениями первых(старших) битов адреса:

Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей.) В сетях класса А количество узлов должно быть больше 216 , но не превышать 224.

Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров с числом узлов 28 - 216. В сетях класса В под адрес сети и под адрес узла отводится 2 байта.

Если адрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов.

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

Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для будущих применений.

28. Классы IP адресов.

Существует 5 классов IP-адресов. Эти классы отличаются друг от друга количеством битов, отведенных на адрес сети и адрес узла(хоста):таблица диапазонов номеров сетей, соответствующих каждому классу сетей:

Назначения классов структуры IP-адресов:

Адреса класса A предназначены для использования в больших сетях общего пользования.

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

Адреса класса C предназначены для использования в сетях с небольшим числом компьютеров (сети небольших компаний).

Адреса класса D используют для обращения к группам компьютеров, а адреса класса E - зарезервированы.

Среди всех IP-адресов имеется несколько зарезервированных под специальные нужды. (Класс Е):

Маска – 4-байтное число, определяющее класс IP-адреса. Маска накладыается на IP-адрес, причем все «1» слева кодируют N сети, все «0» справа» - N узла.

Пример:

Узел с IP-адресом 12.34.56.78 и маской подсети 255.255.0.0 находится в сети 12.34.0.0.

Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (логическое И). Например, в случае более сложной маски:

IP-адрес :00001100 00100010 00111000 01001110 12.34.56.78

Маска подсети: 11111111 11111111 11111111 11100000 (255.255.255.224)

Адрес сети: 00001100 00100010 00110000 01000000 12.34.48.64

29 Протокол IP

Протокол IP находится на межсетевом уровне стека протоколов TCP/IP. Протокол IP используется для негарантированной доставки данных, разделяемых на так называемые пакеты от одного узла сети к другому, т.е. на уровне этого протокола не даётся гарантий надёжной доставки пакета до адресата.

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

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

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

30 ПРОТОКОЛ TCP

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

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

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

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

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