Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bity_Informatika (1).docx
Скачиваний:
7
Добавлен:
26.04.2019
Размер:
1.66 Mб
Скачать

1946 Г. – eniac (Electronic Numerical Integrator and Computer) – полное отсутствие какого-либо по, программирование путем коммутации устройств.

Начало 50-х г. – появление алгоритмических языков и системного ПО.

Усложнение процесса выполнения программ:

1. Загрузка нужного транслятора.

2. Запуск транслятора и получение программы в машинных кодах.

3. Связывание программы с библиотечными подпрограммами.

4. Запуск программы на выполнение.

5. Вывод результатов работы на печатающее или другое устройство.

Для повышения эффективности использования ЭВМ вводятся операторы,

затем разрабатываются управляющие программы – мониторы - прообразы

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

1952 Г. – Первая ос создана исследовательской лабораторией фирмы General Motors для ibm-701.

1955 Г. – ос для ibm-704. Конец 50-х годов: язык управления заданиями и пакетная обработка заданий.

1963 г. – ОС MCP (Главная управляющая программа) для компьютеров B5000 фирмы Burroughs: мультипрограммирование, мультипроцессорная обработка, виртуальная память, возможность отладки программ на языке исходного уровня, сама ОС написана на языке высокого уровня.

1963 г. – ОС CTSS (Compatible Time Sharing System – совместимая система разделения времени для компьютера IBM 7094 – Массачусетский технологический институт.

1963 г. – ОС MULTICS (Multiplexed Information and Computing Service) – Массачусетский технологический институт.

1974 г. – (UNICS) UNIX (Uniplexed Information and Computing Service) для компьютера PDP-7, публикация статьи Ритчи (С) и Томпсона.

1981 г. – PC (IBM), DOS (Seattle Computer Products) – MS DOS (Б. Гейтс).

1983г. – Apple, Lisa с Apple, Lisa с GUI (Даг Энгельбарт – Стэнфорд).

1985 г. – Windows, X Windows и Motif (для UNIX).

1987 г. – MINIX (Э. Таненбаум)

1991 г. – Linux (Линус Торвальдс).

Билет №22

Принцип модульности

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

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

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

Принцип функциональной избирательности

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

Принцип генерируемости ОС

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

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

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

Принцип функциональной избыточности

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

Принцип виртуализации

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

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

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

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

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

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

Принцип независимости программ от внешних устройств

Принцип совместимости

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

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

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

Гораздо сложнее достичь двоичной совместимости между процессорами, основанными на разных архитектурах. Для того чтобы один компьютер выполнял программы другого (например, программу для ПК типа IBM PC желательно выполнить на ПК типа Macintosh фирмы Apple), этот компьютер должен работать с машинными командами, которые ему изначально непо-нятны. В таком случае процессор типа 680×0 (или PowerPC) должен исполнять двоичный код, предназначенный для процессора i80×86. Процессор 80×86 имеет свои собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680×0 не понимает двоичный код 80×86, поэтому он должен выбрать каждую команду, декодировать ее, чтобы определить, для

чего она предназначена, а затем выполнить эквивалентную подпрограмму, написанную для 680×0.

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

Принцип открытости и наращиваемости

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

Принцип мобильности

Принцип мобильности: операционная система относительно легко должна перено-

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

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

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

Принцип обеспечения безопасности вычислений

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

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

Билет №23

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

Различают системное и прикладное ПО. Схематически программное обеспечение можно представить так:

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

Базовое ПО включает в себя:

операционные системы;

оболочки;

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

Сервисное ПО включает в себя программы (утилиты):

диагностики;

антивирусные;

обслуживания носителей;

архивирования;

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

Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.

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

текстовые процессоры;

табличные процессоры;

базы данных;

интегрированные пакеты;

системы иллюстративной и деловой графики (графические процессоры);

экспертные системы;

обучающие программы;

программы математических расчетов, моделирования и анализа;

игры;

коммуникационные программы.

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

трансляторы;

среду разработки программ;

библиотеки справочных программ (функций, процедур);

отладчики;

редакторы связей и др.

Билет №24

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

2. Управление памятью

3. Управление файлами

4. Управление внешними устройствами

5. Защита данных

6. Администрирование

7. Интерфейс прикладного программирования

8. Пользовательский интерфейс

Билет №25

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

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

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

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

Билет №26

Сюда входит билет 25.

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

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

  1. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.

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

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

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

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

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

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

Другие требования предъявляются к операционным системам кластеров. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе UNIX-машин.

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

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

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

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

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

К таким базовым концепциям относятся:

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

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

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.

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

Билет №27

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

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1.1):

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

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

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

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

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

Варианты построения

На практике сложилось несколько подходов к построению сетевых операционных систем

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

Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.

Билет №28.

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

В широком смысле понятие "файловая система" включает:

  1. совокупность всех файлов на диске,

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

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

Типы файлов:

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

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

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

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

      1. информация о разрешенном доступе,

      2. пароль для доступа к файлу,

      3. владелец файла,

      4. создатель файла,

      5. признак "только для чтения",

      6. признак "скрытый файл",

      7. признак "системный файл",

      8. признак "архивный файл",

      9. признак "двоичный/символьный",

      10. признак "временный" (удалить после завершения процесса),

      11. признак блокировки,

      12. длина записи,

      13. указатель на ключевое поле в записи,

      14. длина ключа,

      15. времена создания, последнего доступа и последнего изменения,

      16. текущий размер файла,

      17. максимальный размер файла.

Билет №29

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

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

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

конфиденциальность информации;

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

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

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

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

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

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

Билет №30

Основные принципы построения системы информационной безопасности объекта

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

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

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

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

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

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

Билет №31

Этапы построения.

1. Комплексный анализ информационной системы

предприятия на различных уровнях. Анализ рисков.

2. Разработка организационно-распорядительных и

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

3. Обучение, повышение квалификации и

переподготовка специалистов.

4. Ежегодная переоценка состояния информационной

безопасности предприятия

Билет №32

Перечень организационно - распорядительных

Документов:

1. Положения

2. Кадровые документы

3. Технические политики и регламенты

4. Инструкции

5. Заявки

6. дополнения в регламентирующие

документы.

Положения

1)Положение о государственной и коммерческой тайне на

предприятии.

2)Перечень информации, составляющей коммерческую тайну.

3)Положение об информационных ресурсах и средствах

вычислительной техники предприятия. Реестр

информационных ресурсов.

4)Положение о техническом отделе. Полномочия и права

технического отдела.

5)Положение об администраторе информационной

безопасности.

6)Положение об администраторе сети и приложений.

7)Положение о программном обеспечении.

Кадровые документы

1. Контракт о допуске к коммерческой тайне

(приложение к трудовому договору) и неразглашении

конфиденциальной информации.

2. Предупреждение о необходимости сохранения

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

Технические политики и

регламенты.

  1. Политика контроля учетных записей.

  2. Политика разграничения прав и полномочий в системе.

  3. Парольная политика

  4. Политика антивирусной защиты ИР предприятия.

  5. Политика работы с внешними сетями (Интернет).

  6. Политика учета носителей информации (СО, диски и т.п.)

  7. Политика резервного копирования и восстановления

информации после сбоев.

8) Контроль над копировальными аппаратами и факсами.

9) Сценарии выхода из критических ситуаций (при пожаре, при

обнаружении факта НСд, при вирусном заражении). План

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

Инструкции

1. Инструкция пользователю по соблюдению режима

информационной безопасности.

2. Инструкция по работе с внутренними

информационными ресурсами.

3. Инструкция по работе с Интернет и электронной

почтой.

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

ресурсов.

Заявки

1. Заявка на получение доступа в корпоративную ЛВС,

к внутренним информационным ресурсам.

2. Заявка на получение доступа в Интернет и к

электронной почте.

3. Заявка на установку программного обеспечения.

Билет № 33.

Билет №34

Билет №35

Билет №36

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

От чего защищает брандмауэр?

Брандмауэр МОЖЕТ:

1. Блокировать компьютерным вирусам и «червям» доступ на компьютер.

2. Запросить пользователя о выборе блокировки или разрешения для определенных запросов на подключение .

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

от чего брандмауэр не защищает?

Он не может:

1. Обнаружить или обезвредить компьютерных вирусов и «червей», если они уже попали на компьютер.

2. Запретить пользователю открывать сообщения электронной почты с опасными вложениями.

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

АППАРАТНЫЕ И ПРОГРАММНЫЕ БРАНДМАУЭРЫ

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

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

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

Билет №37

Банк данных – это система специальным образом организованных баз данных, программных, технических, языковых и организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

База данных – это поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД.

  • Комплекс программных и языковых средств:

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

Компоненты Банка Данных:

  • Технические средства: компьютеры, устройства ввода и отображения выводимой информации;

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

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

Требования:

Особенности «банковской» организации данных позволяют сформулировать основные требования, предъявляемые к БнД:

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

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

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

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

  5. обеспечение взаимной независимости программ и данных;

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

  7. приемлемые характеристики функционирования БнД (стоимость обработки, время реакции системы на запросы, требуемые машинные ресурсы и др.).

Уровни представления данных:

  • Логический (даталогический) – уровень математической модели, условное представление данных как системы объектов и связей между ними;

| программно-аппаратные средства СУБД

  • Физический (внутренний) – уровень программно-аппаратной реализации хранения данных;

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

| языки управления базами данных (SQL)

Билет №38

Информационная сеть — сеть, предназначенная для обработки, хранения и передачи данных. Информационная сеть состоит из:

- абонентских и административных систем;

- связывающей их коммуникационной сети.

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

Билет №39

Классификация вычислительных сетей

В зависимости от территориального расположения абонентских систем

вычислительные сети можно разделить на три основных класса:

глобальные сети (WAN — Wide Area Network);

региональные сети (MAN — Metropolitan Area Network);

локальные сети (LAN — Local Area Network).

Билет №40

Основные топологии ЛВС

Топология ЛВС — это геометрическая схема соединений узлов сети.

Топологии вычислительных сетей могут быть самыми различными, но

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

• кольцевая,

• шинная,

• звездообразная.

Любую компьютерную сеть можно рассматривать как совокупность

узлов.

Узел — любое устройство, непосредственно подключенное к

передающей среде сети.

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

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

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

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

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

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

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

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

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

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

Билет №41

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

Для логической структуризации сети используются коммуникационные устройства:

- мосты;

- коммутаторы;

- маршрутизаторы;

- шлюзы.

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

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

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

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

Билет №42

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

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

Хост (от англ. host — «хозяин , принимающий гостей») — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае под хостом могут понимать любой компьютер, сервер, подключённый к локальной или глобальной сети.

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

IP-адрес (айпи-адрес, сокращение от англ. Internet Protocol Address) — уникальный сетевой адрес узла в компьютерной сети, построенной по протоколу IP. В сети Интернет требуется глобальная уникальность адреса; в случае работы в локальной сети требуется уникальность адреса в пределах сети. В версии протокола IPv4 IP-адрес имеет длину 4 байта.

Доменное имя — символьное имя, помогающее находить адреса интернет-серверов.

Билет №43

Параметры графа межузловых связей.

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

Диаметром коммуникационной сети d называется максимальное расстояние между двумя произвольными узлами этой сети. Например, диаметр сети, представленной на рис. 1. равен 3 (поскольку расстояние процессорами ,, к примеру, равно 3).

Средним диаметром коммуникационной сети называется среднее расстояние между двумя узлами этой сети.

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

Важной характеристикой топологии коммуникационной сети является также связность коммуникационной сети. Связность сети характеризует количество различных маршрутов передачи данных между процессорами сети. Числовая характеристика связности может быть определена разными способами. Например, в качестве меры связности можно использовать минимальное количество межпроцессорных связей, которое необходимо удалить для разделения сети на две несвязные подсети. Связность сети, представленной на рис. 1, в этой мере равна 2, поскольку для образования двух подсетей (например, первая подсеть – процессор , вторая подсеть - процессоры ) необходимо удалить минимум две связи.

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

Производительность.

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

Масштабируемость.

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

Билет №44.

Архитектура клиент-сервер может использоваться как в одноранговых

локальных вычислительных сетях, так и в сети с выделенным

сервером.

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

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

Достоинства одноранговых сетей:

 низкая стоимость

 высокая надежность.

Н е д о с т а т к и одноранговых сетей:

 зависимость эффективности работы сети от количества станций;

 сложность управления сетью;

 сложность обеспечения защиты информации;

 трудности обновления и изменения программного обеспечения

станций.

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

Достоинства сети с выделенным сервером:

 надежная система защиты информации;

 высокое быстродействие;

 отсутствие ограничений на число рабочих станций;

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

Недостатки сети:

 высокая стоимость из-за выделения одного компьютера под сервер;

 зависимость быстродействия и надежности сети от сервера;

 меньшая гибкость по сравнению с одноранговой сетью

Билет №45

Се́рвис-ориенти́рованная архитекту́ра (англ. SOA, service-oriented architecture) — модульный подход к разработке программного обеспечения (в дальнейшем ПО), основанный на использовании сервисов (служб) со стандартизированными интерфейсами.

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

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

Интерфейс компонентов SOA-программы предоставляет инкапсуляцию деталей реализации конкретного компонента (операционной системы, платформы, языка программирования, вендора, и т. п.) от остальных компонентов. Таким образом, SOA предоставляет гибкий и элегантный способ комбинирования и многократного использования компонентов для построения сложных распределённых программных комплексов.

SOA хорошо зарекомендовала себя для построения крупных корпоративных программных приложений. Целый ряд разработчиков и интеграторов предлагают инструменты и решения на основе SOA (например, платформы Intel SOA Expressway, JBoss SOA Platform, IBM WebSphere, Software AG webMethods, Oracle/BEA Aqualogic, Microsoft Windows Communication Foundation, SAP NetWeaver, TIBCO).

Билет №46

Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.

Билет №47

Водопадная (каскадная, последовательная) модель

Водопадная модель жизненного цикла (англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.

Этапы проекта в соответствии с каскадной моделью:

Формирование требований;

Проектирование;

Реализация;

Тестирование;

Внедрение;

Эксплуатация и сопровождение.

Преимущества:

Полная и согласованная документация на каждом этапе;

Легко определить сроки и затраты на проект.

Недостатки:

В водопадной модели переход от одной фазы проекта к другой предполагает полную корректность результата (выхода) предыдущей фазы. Однако неточность какого-либо требования или некорректная его интерпретация в результате приводит к тому, что приходится «откатываться» к ранней фазе проекта и требуемая переработка не просто выбивает проектную команду из графика, но приводит часто к качественному росту затрат и, не исключено, к прекращению проекта в той форме, в которой он изначально задумывался. По мнению современных специалистов, основное заблуждение авторов водопадной модели состоит в предположениях, что проект проходит через весь процесс один раз, спроектированная архитектура хороша и проста в использовании, проект осуществления разумен, а ошибки в реализации легко устраняются по мере тестирования. Эта модель исходит из того, что все ошибки будут сосредоточены в реализации, а потому их устранение происходит равномерно во время тестирования компонентов и системы[2]. Таким образом, водопадная модель для крупных проектов мало реалистична и может быть эффективно использована только для создания небольших систем[3].

Итерационная модель

Альтернативой последовательной модели является так называемая модель итеративной и инкрементальной разработки (англ. iterative and incremental development, IID), получившей также от Т. Гилба в 70-е гг. название эволюционной модели. Также эту модель называют итеративной моделью и инкрементальной моделью[4].

Модель IID предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект», включая все процессы разработки в применении к созданию меньших фрагментов функциональности, по сравнению с проектом в целом. Цель каждой итерации — получение работающей версии программной системы, включающей функциональность, определённую интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта. Таким образом, с завершением каждой итерации продукт получает приращение — инкремент — к его возможностям, которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и эволюционность в данном случае есть выражение одного и то же смысла разными словами со слегка разных точек зрения[3].

По выражению Т. Гилба, «эволюция — прием, предназначенный для создания видимости стабильности. Шансы успешного создания сложной системы будут максимальными, если она реализуется в серии небольших шагов и если каждый шаг заключает в себе четко определённый успех, а также возможность «отката» к предыдущему успешному этапу в случае неудачи. Перед тем, как пустить в дело все ресурсы, предназначенные для создания системы, разработчик имеет возможность получать из реального мира сигналы обратной связи и исправлять возможные ошибки в проекте»[4].

Подход IID имеет и свои отрицательные стороны, которые, по сути, — обратная сторона достоинств. Во-первых, целостное понимание возможностей и ограничений проекта очень долгое время отсутствует. Во-вторых, при итерациях приходится отбрасывать часть сделанной ранее работы. В-третьих, добросовестность специалистов при выполнении работ всё же снижается, что психологически объяснимо, ведь над ними постоянно довлеет ощущение, что «всё равно всё можно будет переделать и улучшить позже»[3].

Различные варианты итерационного подхода реализованы в большинстве современных методологий разработки (RUP, MSF, XP).

Спиральная модель

Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.

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

На каждой итерации оцениваются:

риск превышения сроков и стоимости проекта;

необходимость выполнения ещё одной итерации;

степень полноты и точности понимания требований к системе;

целесообразность прекращения проекта.

Важно понимать, что спиральная модель является не альтернативой эволюционной модели (модели IID), а специально проработанным вариантом. К сожалению, нередко спиральную модель либо ошибочно используют как синоним эволюционной модели вообще, либо (не менее ошибочно) упоминают как совершенно самостоятельную модель наряду с IID[3].

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

Дефицит специалистов.

Нереалистичные сроки и бюджет.

Реализация несоответствующей функциональности.

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

Перфекционизм, ненужная оптимизация и оттачивание деталей.

Непрекращающийся поток изменений.

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

Недостатки в работах, выполняемых внешними (по отношению к проекту) ресурсами.

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

Разрыв в квалификации специалистов разных областей.

В сегодняшней спиральной модели определён следующий общий набор контрольных точек:

Concept of Operations (COO) — концепция (использования) системы;

Life Cycle Objectives (LCO) — цели и содержание жизненного цикла;

Life Cycle Architecture (LCA) — архитектура жизненного цикла; здесь же возможно говорить о готовности концептуальной архитектуры целевой программной системы;

Initial Operational Capability (IOC) — первая версия создаваемого продукта, пригодная для опытной эксплуатации;

Final Operational Capability (FOC) –— готовый продукт, развернутый (установленный и настроенный) для реальной эксплуатации.

Билет №48

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

Свойства алгоритма:

ДИСКРЕТНОСТЬ – разделение выполнения решения задачи на отдельные операции

ОПРЕДЕЛЕННОСТЬ (точность) алгоритма – определение однозначных действий исполнителя

ПОНЯТНОСТЬ – не должен быть рассчитан на принятие каких-либо самостоятельных решений

РЕЗУЛЬТАТИВНОСТЬ (конечность) алгоритма – исполнение алгоритма должно закончиться за конечное число шагов

ФОРМЫ ЗАПИСИ АЛГОРИТМОВ

v ЗАПИСАН НА ЕСТЕСТВЕННОМ ЯЗЫКЕ;

v ИЗОБРАЖЕН В ВИДЕ БЛОК СХЕМЫ;

v ЗАПИСАН НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ.

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

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

O(f(N)) (произносится «О большое от F от N»),

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

Билет №49

Сложность рекурсивных алгоритмов

Рекурсивными процедурами (recursive procedure) называются

процедуры, вызывающие сами себя

Sub CountDown(N As Integer)

If N <= 0 Then Exit Sub

CountDown N - 1

End Sub

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

O(N)

Многократная рекурсия

Sub DoubleCountDown(N As Integer)

If N <= 0 Then Exit Sub

DoubleCountDown N - 1

DoubleCountDown N - 1

End Sub

2 * O(N) = O(N)

число раз, которое выполняется процедура DoubleCountDown с

параметром N

N=0

после первого шага закончит работу

Билет №50

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

Классификация алгоритмов сортировки

Устойчивость (stability) — устойчивая сортировка не меняет взаимного расположения равных элементов.

Естественность поведения — эффективность метода при обработке уже упорядоченных, или частично упорядоченных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше.

Использование операции сравнения. Алгоритмы, использующие для сортировки сравнение элементов между собой, называются основанными на сравнениях. Минимальная трудоемкость худшего случая для этих алгоритмов составляет O(n log n), но они отличаются гибкостью применения. Для специальных случаев (типов данных) существуют более эффективные алгоритмы.

Ещё одним важным свойством алгоритма является его сфера применения. Здесь основных типов упорядочения два:

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

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

Внешняя сортировка оперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (упорядочение файлов), т. е. в данный момент мы 'видим' только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Это накладывает некоторые дополнительные ограничения на алгоритм и приводит к специальным методам упорядочения, обычно использующим дополнительное дисковое пространство. Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.

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

Объём данных не позволяет им разместиться в ОЗУ.

Также алгоритмы классифицируются по:

потребности в дополнительной памяти или её отсутствии

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

Билет №51

Модель - упрощенное представление о реальном объекте, процессе или явлении.

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

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

Модель - это объект, используемый вместо другого объекта с какой-то целью.

Вычислительные (численные) методы — методы решения математических задач в численном виде (см. Компьютерная алгебра)[1]

Представление как исходных данных в задаче, так и её решения — в виде числа или набора чисел

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

Основами для вычислительных методов являются:

решение систем линейных уравнений

интерполирование

численное интегрирование

численное решение системы нелинейных уравнений

численное решение обыкновенных дифференциальных уравнений

Билет №52

Физическая постановка задачи. На этом этапе определяются основные цели и задачи, рассматривается реальное явление.

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

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

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

Билет №53

Алгоритм метода:

  1. Установить интервал |а,Ь| на начало интервала поиска (а=х0).

  2. Определить координату точки b (b=a+h), а также значе­ ния функции в точках а и b: F(a) и F(b).

  3. Проверить условие F(a)*F(b)<0. Если условие не выпол­ нено - передвинуть интервал [а,Ь] на один шаг (а=Ь) и перейти к пункту 2.

  • Если условие выполнено - закончить алгоритм.

Решением являются координаты точек а и Ь. Отрезок |а,Ь] содержит корень уравнения, поскольку функция F(x) на его концах имеет разные знаки.

Метод половинного деления

Метод основан на последовательном сужении интервала, содержащего единственный корень уравнения F(x)=0 до тех пор, пока не будет достигнута заданная точность к.

Пусть задан отрезок [а,Ь], содержащий один корень уравнения. Этот отрезок может быть предварительно найден с помощью шагового метода.

Алгоритм метода :

  1. Определить новое приближение корня х в середине отрезка [a,b]: x=(a+b)/2.

  2. Найти значения функции в точках а и х: F(a) и F(x).

  3. Проверить условие F(a)*F(x)<0. Если условие выполнено, то корень расположен на отрезке [а,х]. В этом случае необходи­ мо точку b переместить в точку х (Ь=х). Если условие не выпол­ нено, то корень расположен на отрезке [х,Ь]. В этом случае необ­ ходимо точку а переместить в точку х (а=х).

  4. Перейти к пункту 1 и вновь поделить отрезок пополам. Алгоритм продолжить до тех пор, пока не будет выполнено усло­ вие |F(x)I <e.

Метод Ньютона

Задан отрезок [а,Ь], содержащий корень уравнения F(x)=0. Уточнение значения корня производится путем использования уравнения касательной. В качестве начального приближения задается тот из концов отрезка [а,Ь], где значение функции и ее второй производной имеют одинаковые знаки

(т.е. выполняется условие F(X0)*F"(X0)>0).

В точке F(х0) строится касательная к кривой у= F(х) и ищется ее пересечение с осью х.

Точка пересечения принимается за новую итерацию. Итерационная формула имеет вид:

Билет№54

Интерполяция является частным случаем аппроксимации.

Это - задача о нахождении такой аналитической функции L(x), которая принимает в точках (узлах) хi заданные значения уi. Иными словами, аппроксимирующая функция в случае интерполяции обязательно проходит через заданные точки.

Интерполяционная функция L(x) приближенно заменяет исходную f(x), заданную таблично, и проходит через все заданные точки – узлы интерполяции.

В связи с интерполяцией рассматриваются три основные проблемы:

  1. Выбор интерполяционной функции L(x) .

  2. Оценка погрешности интерполяции R(x)/

  3. Размещение узлов интерполяции для обеспечения наивысшей возможной точности восстановления функции

Чаще всего в качестве интерполяционной функции используется полином n-степени (полиноминальная функция)

Это объясняется тем, что полином n-степени, содержащий n+1 параметр и проходящий через все заданные точки – единственный

Билет №55

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]