Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






III. Операционные системы





1. Назначение и основные функции операционных систем. Основные понятия – процесс, файл, пользователь.

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

Основные функции ОС:

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

• Загрузка программ в оперативную память и их выполнение.

• Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

• Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

• Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

• Обеспечение пользовательского интерфейса.

• Сетевые операции, поддержка стека сетевых протоколов.

Дополнительные функции:

• Параллельное или псевдопараллельное выполнение задач (многозадачность).

• Эффективное распределение ресурсов вычислительной системы между процессами.

• Разграничение доступа различных процессов к ресурсам.

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

• Взаимодействие между процессами: обмен данными, взаимная синхронизация.

• Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

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

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

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


2. Классификация операционных систем. Наиболее важные современные ОС, их области использования.

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

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

• однозадачные (например, 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) – механизм планирования процессов распределен между системой и прикладными программами.

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

По многопроцессорной обработке. Есть ли средство поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

ДОС (Дисковые Операционные Системы)

Это системы, берущие на себя выполнение только основные функции (см вопрос 1). Как правило, это просто некий резидентный набор подпрограмм, не более того. Он загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. Считается желательным, чтобы после завершения программы машина оставалась в таком состоянии, чтобы ДОС могла продолжить работу. Если же программа приводит машину в какое-то другое состояние...\ что ж, ДОС ничем ей в этом не может помешать. Характерный пример - различные загрузочные мониторы для машин класса Spectrum. Как правило, такие системы работают одновременно только с одной программой.

Дисковая операционная система MS DOS для IBM PC-совместимых машин является прямым наследником одного из таких резидентных мониторов. Она, правда, умеет загружать несколько программ, но не предоставляет средств для исполнения этих программ. Более того, с точки зрения документированных функций, этим программам нельзя работать. Конечно, есть еще недокументированные задние двери (backdoors)...\

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

ОС

К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Разделение на ОС и ДОС идет, по-видимому, от систем IBM DOS/360 и OS/360 для больших компьютеров этой фирмы, клоны которых известны у нас в стране под названием ЕС ЭВМ серии 10XX. (Кстати, у IBM была еще TOS/360, Tape Operating System - Ленточная Операционная Система).

Здесь под ОС мы будем подразумевать системы ``общего назначения'', то есть рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях на время реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ и пользователей. Обычно такие системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся такие широко распространенные системы, как VAX/VMS, системы семейства Unix и OS/2, хотя последняя не обеспечивает одновременной работы нескольких пользователей и защиты пользователей друг от друга.

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

Это системы, предназначенные для облегчения разработки так называемых приложений реального времени. Это программы, управляющие некомпьютерным по природе оборудованием, часто с очень жесткими ограничениями по времени. Примером такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ускорителем элементарных частиц или промышленным оборудованием. Такие системы обязаны поддерживать многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Такие системы могут по другим признакам относиться как к классу ДОС (RT-11), так и к ОС (OS-9, QNX). Часто такие системы (например, VxWorks) рассчитаны на работу совместно с управляющей host-машиной, исполняющей ``нормальную'' операционную систему.


3. Файловые системы ОС. Основные функции и требования к файловым системам.

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

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

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

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

Современные файловые системы имеют иерархическую структуру, упрощающую именование файлов и их поиск.

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

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

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

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

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

Основные функции файловой системы: 1. идентификация файлов – связывание имени файла и его местонахождения 2. распределение внешней памяти между файлами 3. обеспечение надежности и отказоустойчивости 4. обеспечение защиты от несанкционированного доступа 5. обеспечение совместного доступа 6. с точки зрения ОС – файл это неинтерпретированная последовательность байтов

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

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


4. Управление процессами в ОС. Жизненный цикл процесса. Рождение процесса, состояние ожидания, выполнение, окончание процесса. Виртуальная память процесса.

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

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

Родившийся процесс переводится в состояние готовность. Готовность — пассивное состояние процесса. Он заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

• операционная система прекращает его деятельность;

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

• в результате возникновения прерывания в вычислительной системе (например, прерывания от таймера по истечении предусмотренного времени выполнения) его возвращают в состояние готовность.

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

Виртуальная память процесса – технология управления памятью ЭВМ, разработанная для многозадачных операционных систем

Распределение памяти между процессами:

• Cтраничное – виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами. Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками). Размер страницы обычно выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов. При загрузке процесса часть его виртуальных страниц помещается в оперативную память, а остальные - на диск. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах. При загрузке операционная система создает для каждого процесса информационную структуру – таблицу страниц, в которой устанавливается соответствие между номерами виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. При активизации очередного процесса в специальный регистр процессора загружается адрес таблицы страниц данного процесса. При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к которой произошло обращение. На производительность системы со страничной организацией памяти влияют временные затраты, связанные с обработкой страничных прерываний и преобразованием виртуального адреса в физический.

• Сегментное – позволяет дифференцировать способы доступа к разным частям программы (сегментам). Например, если два процесса используют одну и ту же математическую подпрограмму, то в оперативную память может быть загружена только одна копия этой подпрограммы. Виртуальное адресное пространство процесса делится на сегменты, размер которых определяется программистом с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. При загрузке процесса часть сегментов помещается в оперативную память, а часть сегментов размещается в дисковой памяти(если нет места в оп. памяти). Сегменты одной программы могут занимать в оперативной памяти несмежные участки. Во время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре. Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s. Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

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


5. Механизмы синхронизации и обмена информацией между процессами (IPC). Разделяемая память, семафоры, именованные и неименованные каналы.

IPC – inter-process communication

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

Объектов синхронизации существует несколько, самые важные из них - это взаимоисключение (mutex), критическая секция (critical section), событие (event) и семафор (semaphore). Каждый из этих объектов реализует свой способ синхронизации. Какой из них следует использовать в каждом конкретном случае. Также в качестве объектов синхронизации могут использоваться сами процессы и потоки (когда один поток ждет завершения другого потока или процесса); а также файлы, коммуникационные устройства, консольный ввод и уведомления об изменении. В чем смысл объектов синхронизации? Каждый из них может находиться в так называемом сигнальном состоянии. Для каждого типа объектов это состояние имеет различный смысл. Потоки могут проверять текущее состояние объекта и/или ждать изменения этого состояния и таким образом согласовывать свои действия. Что еще очень важно - гарантируется, что когда поток работает с объектами синхронизации (создает их, изменяет состояние) система не прервет его выполнения, пока он не завершит это действие. Таким образом, все конечные операции с объектами синхронизации являются атомарными (неделимыми), как бы выполняющимися за один такт.

Средства обмена информацией можно разделить на три категории:

* Сигнальные. Передается минимальное количество информации – один бит, "да" или "нет". Используются, как правило, для извещения процесса о наступлении какого-либо события.

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

* Разделяемая память. Использование разделяемой памяти для передачи/получения информации осуществляется с помощью средств обычных языков программирования, в то время как сигнальным и канальным средствам коммуникации для этого необходимы специальные системные вызовы. Разделяемая память представляет собой наиболее быстрый способ взаимодействия процессов в одной вычислительной системе.

Семафоры

Одним из первых механизмов, предложенных для синхронизации поведения процессов, стали семафоры, концепцию которых описал Дейкстра (Dijkstra) в 1965 году. Дейкстра предложил две операции, down и up. Операция down сравнивает значение семафора с нулем. Если значение семафора больше нуля, операция down уменьшает его и просто возвращает управление. Если значение семафора равно нулю, процедура down не возвращает управление процессу, а процесс переводится в состояние ожидания. Все операции проверки значения семафора, его изменения и перевода процесса в состояние ожидания выполняются как единое и неделимое элементарное действие. Тем самым гарантируется, что после начала операции ни один процесс не получит доступа к семафору до окончания или блокирования операции. Атомарность операции чрезвычайно важна для разрешения проблемы синхронизации и предотвращения состояния состязания. Операция up увеличивает значение семафора. Если с этим семафором связаны один или несколько ожидающих процессов, которые не могут завершить более раннюю операцию down, один из них выбирается системой (например, случайным образом) и ему разрешается завершить свою операцию down. Таким образом, после операции up, примененной к семафору, связанному с несколькими ожидающими процессами, значение семафора так и останется равным 0, но число ожидающих процессов уменьшится на единицу. Операция увеличения значения семафора и активизации процесса тоже неделима. Ни один процесс не может быть блокирован во время выполнения операции up, как ни один процесс не мог быть блокирован во время выполнения операции wakeup в предыдущей модели.

Канал — поток данных между двумя или несколькими процессами, имеющий интерфейс, аналогичный чтению или записи в файл. Каналы бывают одно- и двунаправленными. Именованному программному каналу (FIFO) обязательно соответствует элемент некоторого каталога и даже собственный i-узел. Другими словами, именованный программный канал выглядит как обычный файл, но не содержащий никаких данных до тех пор, пока некоторый процесс не выполнит в него запись. После того, как некоторый другой процесс прочитает записанные в канал байты, этот файл снова становится пустым. В отличие от неименованных программных каналов, именованные программные каналы могут использоваться для связи любых процессов (т.е. не обязательно процессов, входящих в одну иерархию родства). Интерфейс именованного программного канала практически полностью совпадает с интерфейсом обычного файла (включая системные вызовы open и close), хотя, конечно, необходимо учитывать, что поведение канала отличается от поведения файла.

Неименованный канал является средством взаимодействия между связанными процессами - родительским и дочерним. Родительский процесс создает канал при помощи системного вызова:int pipe(int fd[2]);

Массив из двух целых чисел является выходным параметром этого системного вызова. Если вызов выполнился нормально, то этот массив содержит два файловых дескриптора. fd[0] является дескриптором для чтения из канала, fd[1] - дескриптором для записи в канал. Когда процесс порождает другой процесс, дескрипторы родительского процесса наследуются дочерним процессом, и, таким образом, прокладывается трубопровод между двумя процессами. Естественно, что один из процессов использует канал только для чтения, а другой - только для записи (сами представьте себе, что произойдет, если это правило будет нарушаться). Поэтому, если, например, через канал должны передаваться данные из родительского процесса в дочерний, родительский процесс сразу после запуска дочернего процесса закрывает дескриптор канала для чтения, а дочерний процесс закрывает дескриптор для записи.

Вывод:

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

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

Примерный сценарий использования разделяемой памяти при реализации технологий «клиент - сервер» имеет вид:

1. сервер получает доступ к разделяемой памяти, используя семафор;

2. сервер производит запись данных в разделяемую память;

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

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

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

Семафор – объект, позволяющий войти в заданный участок кода не более чем n потокам. Над семафором возможно проведение только двух операций - “открытия” и “закрытия”, названных соответственно P- и V- операциями. Существенно, что операции над семафорами являются неделимыми (непрерываемыми), поэтому их часто называют примитивами.

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

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

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

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

Программный канал в Unix/Linux представляет собой одно из средств взаимодействия между процессами. Само название (pipe, дословно – трубка) достаточно точно передает смысл функционирования этого средства. Канал подобен трубопроводу, проложенному между двумя процессами, и по этому трубопроводу процессы могут пересылать друг другу данные. Подобно трубопроводу, канал имеет собственную емкость, данные, направленные в канал процессом-отправителем, не обязательно должны быть немедленно прочитаны процессом-получателем, но могут накапливаться в канале. Как и у трубопровода, емкость канала конечна, когда она будет исчерпана, запись в канал становится невозможной.

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

Именованный канал — существует в системе и после завершения процесса. Он должен быть «отсоединён» или удалён когда уже не используется.

6. Пользователи компьютера. Имена, пароли, права пользователей. Управление доступом к компьютеру.

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

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

Управление доступом к компьютерам. Цель: Предотвратить несанкционированный доступ к компьютерам. Доступ к компьютерным системам необходимо контролировать. Такой доступ следует предоставлять только зарегистрированным пользователям. Компьютерные системы, обслуживающие многих пользователей, должны быть способны делать следующее:

а) идентифицировать и проверять подлинность личности пользователей, а также по необходимости терминал или местонахождение каждого зарегистрированного пользователя;

б) фиксировать случаи успешного и безуспешного доступа к системам;

в) предоставить систему управления паролями, которая обеспечивает выбор надёжных паролей;

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

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


7. Пользовательский интерфейс ОС. Командная строка, графический пользовательский интерфейс (GUI). Основные элементы GUI – окно, меню, кнопки, списки и т.д.

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

GUI (Graphic user interface) – это разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.

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

Виды GUI:

• простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой GUI;

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

• трёхмерный: на данный момент слабо классифицирован.

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

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

• кнопка (button)

• список (list box)

• ниспадающее меню (pull down menu)

• раскрывающийся список (drop-down list, combo box)

• флажок/переключатель (check box)

• радио-кнопка (radio button)

• поле редактирования (textbox, edit field)

• значок (icon)

• панель инструментов (toolbar)

• строка состояния (status bar)

• всплывающая подсказка (tooltip, hint)

• полоса прокрутки (scrollbar)

• вкладка (tab)

• элемент для отображения табличных данных (grid view)

• меню (menu)

o главное меню окна (main menu)

o контекстное меню (popup menu)

• окно (window)

o панель (panel)

o диалоговое окно (dialog box)

o модальное окно (modal window)

• дерево – элемент для отображения иерархии (tree view)

Поддержка сетевых технологий в ОС. Сетевые операционные системы. Сетевые службы – экспортируемые файловые системы, электронная почта, WWW-серверы.

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

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

Главными задачами сетевой ОС являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. Системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Отсюда сетевые ОС делят на сетевые ОС для серверов и сетевые ОС для пользователей.

Существуют специальные сетевые ОС, которым приданы функции обычных систем (например, Windows NT) и обычные ОС (Windows XP), которым приданы сетевые функции. Практически все современные ОС имеют встроенные сетевые функции.

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

• одноранговые – все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его использовать. В таких сетях на всех компьютерах устанавливается одна и та же ОС.

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

Примеры:

UNIX – многопользовательская, многозадачная ОС, способная функционировать на различных аппаратных платформах. В микроядро ОС UNIX встроен модуль, выполняющий протокол управления передачей/межсетевой протокол (протокол TCP/IP).

Linux – ОС, ядро которой разработано на базе операционной системы Unix. Linux распространяется с открытыми исходными кодами и применяется для создания серверов в вычислительных сетях и в Интернете.

NetWare – разработанная корпорацией Novell сетевая ОС, которая использует одноранговую архитектуру или архитектуру клиент-сервер.

Windows NT – разработанная корпорацией Microsoft сетевая, многозадачная ОС, поддерживающая архитектуру клиент-сервер. (ОС Windows NT существует в виде клиента и сервера).


8. Поддержка сетевых технологий в ОС. Сетевые операционные системы. Сетевые службы – экспортируемые файловые системы, электронная почта, WWW-серверы.

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

Сетевая операционная система - операционная система, обеспечивающая обработку, хранение и передачу данных в информационной сети. Сетевая операционная система определяет взаимосвязанную группу протоколов верхних уровней, обеспечивающих основные функции сети: адресацию объектов, функционирование служб, обеспечение безопасности данных, управление сетью. Главными задачами сетевой ОС являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. Системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Отсюда сетевые ОС делят на сетевые ОС для серверов и сетевые ОС для пользователей. Операционная система UNIX - многопользовательская, многозадачная операционная система, способная функционировать на различных аппаратных платформах. В микроядро ОС UNIX встроен модуль, выполняющий протокол управления передачей/межсетевой протокол (протокол TCP/IP). Операционная система Linux - сетевая операционная система, ядро которой разработано на базе операционной системы Unix. Linux распространяется с открытыми исходными кодами и применяется для создания серверов в вычислительных сетях и в Интернете.Сетевая операционная система NetWare - разработанная корпорацией Novell сетевая операционная система, которая использует одноранговую архитектуру или архитектуру клиент-сервер. Сетевая операционная система Windows NT - разработанная корпорацией Microsoft сетевая, многозадачная операционная система, поддерживающая архитектуру клиент-сервер. ОС Windows NT существует в виде двух продуктов: * Windows NT Server, выполняющий функции сервера; * Windows NT Workstation, реализующий задачи клиента.

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

Сетевая файловая система NFS.

Компания Sun Microsystems представила NFS в 1985 году как средство обеспечения прозрачного доступа к удаленным файловым системам. Помимо публикации протокола Sun лицензировала его базовую реализацию, которая была использована различными поставщиками для портирования NFS на разные операционные системы. С тех пор NFS стала фактически промышленным стандартом, который поддерживается действительно всеми вариантами системы UNIX, а также некоторыми другими системами, например, VMS и MS-DOS. Архитектура NFS базируется на модели клиент-сервер. Файл-сервер представляет собой машину, которая экспортирует некоторый набор файлов. Клиентами являются машины, которые имеют доступ к этим файлам. Одна машина может для различных файловых систем выступать как в качестве сервера, так и в качестве клиента. Однако программный код NFS разделен на две части, что позволяет иметь только клиентские или только серверные системы. Клиенты и серверы взаимодействуют с помощью удаленных вызовов процедур (rpc - remote procedure call), которые работают как синхронные запросы. Когда приложение на клиенте пытается обратиться к удаленному файлу, ядро посылает запрос в сервер, а процесс клиента блокируется до получения ответа. Сервер ждет приходящие запросы, обрабатывает их и отсылает ответы назад клиентам.

SSHFS (Secure SHell FileSystem) это файловая система для Linux (и других операционных систем, для которых существует реализация FUSE (Filesystem in Userspace), например Mac OS X), используемая для удаленного управления файлами по протоколу SSH (точнее, его расширению SFTP) таким образом, как будто они находятся на локальном компьютере. Для Mac OS Google выпустил MacFUSE. MacFusion предлагает графический интерфейс для MacFUSE и архитектуру плагинов; плагины включают исполняемые файлы FTP и SSHFS из проекта MacFUSE. Администратор может настроить ограниченный аккаунт на сервере для обеспечения большей безопасности и пользователь сможет видеть только выделенную ему область в системе.

Электро́нная по́чта — технология и предоставляемые ею услуги по пересылке и получению электронных сообщений по распределённой (в том числе глобальной) компьютерной сети. Достоинствами электронной почты являются: легко воспринимаемые и запоминаемые человеком адреса вида имя_пользователя@имя_домена; возможность передачи как простого текста, так и форматированного, а также произвольных файлов; независимость серверов (в общем случае они обращаются друг к другу непосредственно); достаточно высокая надёжность доставки сообщения; простота использования человеком и программами.

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

SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

ESMTP (англ. Extended SMTP) — масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

Вэб-сервер, WWW-сервер-Сервер, хранящий и предоставляющий во внешнюю сеть данные, организованные в виде вэб-страниц. Вэб-сервер отвечает за обработку запросов клиентов к вэб-сайту и исполнение CGI-, JSP-, ASP-, PHP- и других приложений.


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

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

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

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

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

2. Пароли. Большинство пользователей выбирают простейшие пароли, которые легко подобрать или угадать.

3. Список паролей. Хранение списка паролей в незашифрованном виде дает возможность его компрометации с после-дующим НСД к данным. 4. Пороговые значения. Для предотвращения попыток несанкционированного входа в систему с помощью подбора па-роля необходимо ограничить число таких попыток, что в некоторых ОС не предусмотрено. 5. Подразумеваемое доверие. Во многих случаях программы ОС считают, что другие программы работают правильно. 6. Общая память. При использовании общей памяти не всегда после выполнения программ очищаются участки оперативной памяти (ОП). 7. Разрыв связи. В случае разрыва связи ОС должна немедленно закончить сеанс работы с пользователем или повторно установить подлинность субъекта.

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

Надежность ОС

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

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

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

Наконец, к надежности системы следует отнести ее способность противодействовать явно неразумным действиям пользователя. Обычный пользователь должен иметь доступ только к тем возможностям системы, которые необходимы для его работы. Если же пользователь, даже действуя в рамках своих полномочий, пытается сделать что-то очень странное (например, отформатировать системный диск), то самое малое, что должна сделать ОС, это переспросить пользователя, уверен ли он в правильности своих действий. Безопасная информационная система обладает свойствами конфиденциальности, доступности и целостности. Конфиденциальность - гарантия того, что секретные данные будут доступны только авторизованным пользователям, то есть только тем пользователям, которым этот доступ разрешен. Доступность - гарантия того, что авторизованные пользователи всегда получат до ступ к данным. Целостность - гарантия сохранности данными правильных значений, которая обеспечивается запретом для неавторизованных пользователей каким-либо образом изменять, модифицировать, разрушать или создавать данные. Безопасность информационной системы складывается из компьютерной безопасности, связанной с хранением и обработкой данных в компьютере, и сетевой безопасности, связанной с работой компьютера в сети. Сетевая безопасность, в свою очередь, базируется на двух компонентах: защите данных в момент их передачи по линиям связи и защите от несанкционированного удаленного доступа в сеть. Политика информационной безопасности определяет, какую информацию и от кого следует защищать, каков может быть ущерб от той или иной успешно реализованной угрозы, какими средствами вести защиту. Алгоритм шифрования считается раскрытым, если найдена процедура, позволяющая подобрать ключ за реальное время. Сложность алгоритма раскрытия называется криптостойкостью. Существуют два класса криптосистем - симметричные и асимметричные. В симметричных схемах шифрования секретный ключ зашифровки совпадает с секретным ключом расшифровки. В асимметричных схемах шифрования открытый ключ зашифровки не совпадает с секретным ключом расшифровки. В настоящее время наиболее популярным стандартным симметричным алгоритмом шифрования является DES, а из несимметричных криптоалгоритмов с открытым ключом - RSA. Симметричные алгоритмы в общем случае обладают более высокой скоростью шифрования и требуют меньше времени на генерацию ключа, чем несимметричные алгоритмы с открытым ключом, но предъявляют высокие требования к надежности канала передачи секретного ключа, а также менее масштабируемы: в симметричных алгоритмах количество ключей находится в квадратичной зависимости от числа абонентов, а в несимметричных алгоритмах количество ключей равно удвоенному числу абонентов. Аутентификация предотвращает доступ к сети нежелательных лиц и разрешает вход для легальных пользователей. Доказательством аутентичности может служить знание аутентифицируемым некоего общего для обеих сторон слова (пароля) или факта, владение некоторым уникальным предметом или демонстрация уникальных биохарактеристик. Чаще всего для доказательства идентичности пользователя используются пароли. Средства авторизации контролируют доступ легальных пользователей к ресурсам системы, предоставляя каждому из них именно те права, которые ему были определены администратором. Аудит - фиксация в системном журнале событий, связанных с доступом к защищаемым системным ресурсам. Технология защищенного канала призвана обеспечивать безопасность передачи данных по открытой транспортной сети, например через Интернет. Защищенный канал обеспечивает выполнение трех основных функций: взаимную аутентификацию абонентов при установлении соединения, защиту передаваемых по каналу сообщений от несанкционированного доступа, подтверждение целостности поступающих по каналу сообщений.

 

Еще:

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

Наиболее известна оранжевая (по цвету обложки) книга Министерства обороны США [DoD, 1993]. В этом документе определяется четыре уровня безопасности – D, C, B и A. По мере перехода от уровня D до A к надежности систем предъявляются все более жесткие требования. Уровни C и B подразделяются на классы (C1, C2, В1, В2, ВЗ). Чтобы система в результате процедуры сертификации могла быть отнесена к некоторому классу, ее защита должна удовлетворять оговоренным требованиям.

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

• Каждый пользователь должен быть идентифицирован уникальным входным именем и паролем для входа в систему. Доступ к компьютеру предоставляется лишь после аутентификации.

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

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

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

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

Формируя политику безопасности, необходимо учитывать несколько базовых принципов. Так, Зальтцер (Saltzer) и Шредер (Schroeder) (1975) на основе своего опыта работы с MULTICS сформулировали следующие рекомендации для проектирования системы безопасности ОС.

 

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

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

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

• Давать каждому процессу минимум возможных привилегий.

• Защитные механизмы должны быть просты, постоянны и встроены в нижний слой системы, это не аддитивные добавки (известно много неудачных попыток "улучшения" защиты слабо приспособленной для этого ОС MS-DOS).

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

Типы систем высокой готовности:

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

• системы, эластичные к отказам – более короткое время восстановления, которое позволяет системе быстро откатиться назад после обнаружения неисправности.

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

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

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

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


Date: 2015-09-22; view: 1237; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию