83. Практическое применение динамических структур данных для
хранения информации
Угрозы информации. Угрозы секретности и целостности. Анализ
угроз информации.
Достоинства в Сравнение с асимметричными криптосистемами
Недостатки Сравнение с асимметричными криптосистемами
Основные топологии сетей – шина, звезда, кольцо
97. Модель ISO/OSI – алгоритмы работы уровней
Модель TCP/IP – основные протоколы и схема их взаимодействия
Абстракция сокетов. Схема процесса передачи-приема для
различных видов сокетов
Понятие домена в Internet. Иерархическое пространство имен
Электронная почта Internet. Простой протокол передачи почты SMTP
Протоколы передачи файлов. Модель FTP
Методы обеспечения надежности АСОИУ на стадиях создания и
эксплуатации
Виды резервирования, применяемые в АСОИУ, оценка их
эффективности и применимость
106-107. Виды резервирования,
применяемые в АСОИУ, оценка их эффективности и применимость
108. Обеспечение надежности и достоверности информации в
системах ее обработки и передачи
111. Понятие системы
программирования, её состав.
Принципы функционирования систем программирования.
Современные системы.
Компиляторы. Трансляторы. Интерпретаторы и Ассемблеры.
Назначение трансляторов, компиляторов и интерпретаторов.
Примеры реализации
ОСРВ. Системы жёсткого и мягкого реального времени
Системы исполнения и системы разработки. Аппаратурная среда
120. Механизмы реального времени
Абстрактные структуры данных предназначены для удобного хранения и доступа к информации. Они предоставляют удобный интерфейс для типичных операций с хранимыми объектами, скрывая детали реализации от пользователя. Каждый уже имел дело с простыми абстрактными структурами данных - например, когда оперировал с числами. Языки программирования высокого уровня (Паскаль, Си..) предоставляют удобный интерфейс для чисел: операции +, *, = .. и т.п, но при этом скрывают саму реализацию этих операций, машинные команды.
Статические структуры относятся к разряду непримитивных структур, которые, фактически, представляют собой структурированное множество примитивных, базовых, структур. Например, вектор может быть представлен упорядоченным множеством чисел. Поскольку по определению статические структуры отличаются отсутствием изменчивости, память для них выделяется один раз и ее объем остается неизменным до уничтожения структуры. Слово 'статический' относится скорее к реализации структуры, нежели к АТД. Простейшая статическая структура данных - массив, где обращение к элементу происходит через его номер.
Динамические структуры по определению характеризуются отсутствием физической смежности элементов структуры в памяти непостоянством и непредсказуемостью размера (числа элементов) структуры в процессе ее обработки. Поскольку элементы динамической структуры располагаются по непредсказуемым адресам памяти, адрес элемента такой структуры не может быть вычислен из адреса начального или предыдущего элемента. Для установления связи между элементами динамической структуры используются указатели, через которые устанавливаются явные связи между элементами. Такое представление данных в памяти называется связным. Элемент динамической структуры состоит из двух полей:
· информационного поля или поля данных, в котором содержатся те данные, ради которых и создается структура; в общем случае информационное поле само является интегрированной структурой - вектором, массивом, другой динамической структурой и т.п.;
· поле связок, в котором содержатся один или несколько указателей, связывающий данный элемент с другими элементами структуры;
Когда связное представление данных используется для решения прикладной задачи, для конечного пользователя "видимым" делается только содержимое информационного поля, а поле связок используется только программистом-разработчиком.
Списком называется упорядоченное множество, состоящее из переменного числа элементов, к которым применимы операции включения, исключения. Список, отражающий отношения соседства между элементами, называется линейным. Длина списка равна числу элементов, содержащихся в списке, список нулевой длины называется пустым списком. Линейные связные списки являются простейшими динамическими структурами данных.
Двусвязный список характеризуется наличием пары указателей в каждом элементе: на предыдущий элемент и на следующий.
Стек - такой последовательный список с переменной длиной, включение и исключение элементов из которого выполняются только с одной стороны списка, называемого вершиной стека. Применяются и другие названия стека - магазин и очередь, функционирующая по принципу LIFO (Last - In - First- Out - "последним пришел - первым исключается"). Примеры стека: винтовочный патронный магазин, тупиковый железнодорожный разъезд для сортировки вагонов.
Очередью FIFO (First - In - First- Out - "первым пришел - первым исключается") называется такой последовательный список с переменной длиной, в котором включение элементов выполняется только с одной стороны списка (эту сторону часто называют концом или хвостом очереди), а исключение - с другой стороны (называемой началом или головой очереди). Те самые очереди к прилавкам и к кассам, которые мы так не любим, являются типичным бытовым примером очереди FIFO.
Дек - особый вид очереди. Дек (от англ. deq - double ended queue,т.е очередь с двумя концами) - это такой последовательный список, в котором как включение, так и исключение элементов может осуществляться с любого из двух концов списка. Частный случай дека - дек с ограниченным входом и дек с ограниченным выходом. Логическая и физическая структуры дека аналогичны логической и физической структуре кольцевой FIFO-очереди. Однако, применительно к деку целесообразно говорить не о начале и конце, а о левом и правом конце.
Internet представляет собой глобальную компьютерную сеть. Internet - структура, объединяющая обычные сети. Точнее обширная сеть, включающая в себя много многие миллионы компьютеров по всему миру для совместного использования информации и ресурсов. Работа сети Интернет основывается на клиент-серверной структуре. Программа, которая предоставляет обслуживание называется сервером, а программа, которая запрашивает обслуживание называется клиентом. Internet – одна крупная система клиент-сервер. Для доступа к Internet используются программы клиентов, которые выполняются на компьютере пользователя. Например для отправки или получения электронной почты применяется почтовый клиент, для доступа к Web используется Web – клиент и т.д.
Ресурсы Internet: электронная почта, информационная служба Web, телеконференции Usenet.
Все данные в Internet переносятся в виде пакетов. Двумя наиболее важными протоколами являются именно те которые обеспечивают эту основную пересылку. Протокол IP (Internet Protokol –Межсетевой протокол ) используется для перемещения пакетов данных из одного места в другое. А протокол TCP (Transport Control Protokol – протокол управления передачей) управляет потоками пакетов и обеспечивает поступление данных в неизменном виде и без ошибок. Оба указанных протокола играют столь важную роль, что семейство всех протоколов Internet называется TCP/IP.
Наиболее важные протоколы: IP, TCP, DNS (Domain Name System) – преобразование доменных имен в IP-имена; FTP (File Transfer Protokol) копирование файлов между компьютерами; HTTP (HyperText Transfer Protokol) – протокол передачи гипертекста, POP, SMTP, PPP (Point-to-Point Protokol) подключение компьютере к Internet; MIME кодирование разных типов данных; и др.
Протокол Internet (IP) берет на себя заботы по адресации или по подтверждению того, что узлы понимают, что следует делать с вашими данными по пути их дальнейшего следования. Протокол Internet работает также как правила обработки почтового конверта. В начало каждого вашего послания помещается заголовок, несущий информацию об адресате, сети. Чтобы определить, куда и как доставить пакет данных, этой информации достаточно. Адрес в Internet состоит из 4 байт. При записи байты отделяются друг от друга точками: 123.45.67.89 или 3.33.33.3. начало адреса говорит узлам Internet, частью какой из сетей вы являетесь. Правый конец адреса говорит этой сети, какой компьютер или хост должен получить пакет. Каждый компьютер в Internet имеет в этой схеме уникальный адрес, аналогично обычному почтовому адресу, а еще точнее - индексу. Internet знает, где искать указанную сеть, а эта сеть знает, где в ней находится конкретный компьютер. Для определения, где в локальной сети находится компьютер с данным числовым IP-адресом, локальные сети используют свои собственные протоколы сетевого уровня. По ряду причин информация, пересылаемая по сетям IP, делится на части (по границам байтов), раскладываемые в отдельные пакеты. Длина информации внутри пакета обычно составляет от 1 до 1500 байт.
TCP делит информацию, которую надо переслать, на несколько частей. Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.
Получатель (TCP-модуль (процесс)) по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место. В конце концов информация собирается в нужном порядке.
Имеется другой стандартный протокол транспортного уровня, который не отягощен такими накладными расходами. Этот протокол называется UDP - User Datagram Protocol - протокол пользовательских дейтаграмм. Он используется вместо TCP. Здесь данные помещаются не в TCP, а в UDP-конверт, который также помещается в IP-конверт. Этот протокол реализует дейтаграммный способ передачи данных. UDP проще TCP.
В World Wide Web для задания местоположения файлов на других серверах сети Internet используется URL - Uniform Resource Locator.
URL включает в себя :
метод доступа к ресурсу, т.е. протокол доступа (http, gopher, WAIS, ftp, file, telnet и др.)
сетевой адрес ресурса (имя хост-машины и домена)
полный путь к файлу на сервере.
У каждого компьютера в Internet имеется собственное уникальное имя. Поскольку компьютеры в Internet иногда называют хостами или узлами (hosts), то эти уникальные имена носят название имен узлов или хостов.
Имена узлов являются составной частью системы под названием DNS, т. е. системы именования доменов. DNS – система, которая позволяет присваивать уникальные имена каждому компьютеру в Internet.
(ip) Адрес в Internet состоит из 4 байт. При записи байты отделяются друг от друга точками: 123.45.67.89 или 3.33.33.3 . (В действительности адрес состоит из нескольких частей. Так как Internet есть сеть сетей, начало адреса говорит узлам Internet, частью какой из сетей вы являетесь. Правый конец адреса говорит этой сети, какой компьютер или хост должен получить пакет. Каждый компьютер в Internet имеет в этой схеме уникальный адрес, аналогично обычному почтовому адресу, а еще точнее - индексу.. Для определения, где в локальной сети находится компьютер с данным числовым IP-адресом, локальные сети используют свои собственные протоколы сетевого уровня.
DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес. База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.
Крайняя правая часть имени называется доменом верхнего уровня. Например домен верхнего уровня (edu) в имени architecture.mit.edu сообщает нам о том, что данный компьютер находиться в ведении учебного заведения MIT(МИТ Массачусетского технолог. Института)
2 типа доменов верхнего уровня: по организациям и по географии.
По организации: com(коммерческие организации), edu (университеты США), net(поставщики сетевых услуг), org(различные организации).
Географические домены: at(Австрия), be(Бельгия), ca(Канада), us(Соединенные Штаты), gr(Греция) и т.д.
Web технологии, сегодня, позволяют создавать Интернет проекты самого разного типа, сложности, а также целевой направленности. Они, как и любые другие разработки, постоянно совершенствуются и развиваются. Добавляются новые, заменяются устаревшие.
Java. Этот язык программирования был разработан более восьми лет назад, и в настоящее время является одним из самых популярных для решения некоторых специальных задач. Java позволяет придавать Интернет странице большую интерактивность, создавать многочисленные активные элементы.
CGI. Сайты основанные на использовании CGI позволяют формировать и организовывать потоки данных. Именно на основе CGI построено большинство досок объявлений, форумов, чатов и конференций.
CSS. Технологии такого типа позволяют осуществлять сложное форматирование, необходимое при создании практически любого сайта.
PHP. Это один из языков программирования, наиболее широко используемый сегодня. Сайты, построенные на основе PHP позволяют добавлять на web страницы различные интерактивные элементы. Сюда же можно отнести web технологии на основе VBScript и ASP. Все они предназначены для придания станицам большей интерактивности.
Macromedia Flash. Основное назначение этой web технологии – создание высококачественной интерактивной анимации. Основным ее плюсом является очень незначительный размер получаемого итогового файла.
DHTML. Это специальное расширение языка HTML. Web технологии DHTML позволяют включать в веб страницы разнообразные интерактивные элементы. Например, движущийся фон или объекты, выпадающие меню, кнопки, подсвечивающиеся при наведении курсора мыши, бегущие титры и т.д.
При создании сайтов используются различные компоненты. Компоненты, устанавливаемые в систему, позволяют создать порталы, каталоги, магазины, корпоративные сайты, онлайн-СМИ, новостные ленты, но они не являются ограничением функциональности.
Визуальным принято называть такой стиль или способ создания гипертекстовых докумтов, в котором работа с текстом и образами объектов преобладает над непосредственным кодированием. В идеале, пользователь должен быть полностью свободен от необходимости обращения к кодам HTML, а проектирование обязано вытеснить программирование
Система Dreamweaver — это визуальный редактор гипертекстовых документов. Мощная профессиональная программа Dreamweaver обладает всеми необходимыми средствами для генерации страниц HTML любой сложности и масштаба. Она обеспечивает режим визуального проектирования (WYSIWYG), отличается очень чистой работой с исходным текстом Web-документов, обладает встроенными средствами поддержки больших сетевых проектов. Прямая работа с кодами не исключена полностью, но сведена к разумному минимуму. Программа не только обладает мощным арсеналом средств визуального проектирования, но и способна отображать Web-страницы почти как специализированные программы просмотра: Microsoft Internet Explorer или Netscape Navigator. Программа Dreamweaver основана на принципах открытой архитектуры. Это значит, что полностью открыт интерфейс прикладного программиста, с помощью которого сторонние программисты и софтверные фирмы могут выполнить радикальные изменения функциональных возможностей программы и ее интерфейса: добавить новый инструмент, создать палитру или раздел меню, запрограммировать новый объект или мультимедийный ролик и пр.
Microsoft FrontPage 2002 - это обширная прикладная программа (приложение), которую можно использовать для разработки сайтов. Эта сложная программа содержит все, что вам требуется для создания сайтов, от простой веб-сводки до сложного веб-магазина розничной торговли. Используя FrontPage, вы можете легко создавать интересные сайты с хорошим дизайном и сложными элементами, не вводя ни одной строки программных кодов. Но если у вас есть определенный опыт программирования на языке HTML или вы хотите держать все под контролем, то программа FrontPage позволяет вам легко осуществлять доступ к соответствующим кодам, которые она автоматически создает в процессе вашей работы
Для подготовки Web-страниц к публикации в Интернете применяется специальный язык разметки гипертекста - HTML (Hyper Text Markup Language), "язык маркировки гипертекста". Первую версию HTML разработал Тим Бернерс-Ли.
Язык HTML не является языком программирования в общепринятом смысле этого понятия. Его операторы или теги просто маркируют содержание документа (файла с текстовой, графической или другой информацией) для последующей интерпретации и отображения на экране программой-браузером.
ТЕГ - это символьная конструкция из < (открывающей) и >(закрывающей) угловых скобок, между которыми находится конкретный символ или строка символов, предписывающие браузеру отображение последующего содержания документа в соответствии с их назначением.
В соответствии со стандартами HTML простейший документ должен включать элементы HTML, HEAD, TITLE, BODY и имеет вид:
<HTML> <HEAD><TITLE>Невидимое в окне браузера название документа</TITLE>
...другие элементы, которые могут быть вложены в элемент HEAD</HEAD>
<BODY>...Содержание документа</BODY>
</HTML>
Раздел документа HEAD определяет его название и представляет необходимую информацию, для программы, интерпретирующей документ. Этот раздел начинается тегом <HEAD>. Закрывающий тег </HEAD> обозначает конец раздела. Элемент TITLE определяет название документа и является единственным обязательным элементом раздела документа HEAD. В тексте документа название браузером не отображается. Его видно в строке заголовка окна браузера. Нельзя использовать элементы разметки для форматирования содержимого элемента TITLE.
Элемент META служит для указания ключевых слов, используемых поисковыми машинами. Для этого в элементе в качестве значения атрибута NAME указывается имя определяемого свойства. А при помощи атрибута CONTENT указывается значение данного свойства. Например: <META NAME="author" CONTENT="Mariya">
Для формирования HTML-документов, содержащих кадры (фреймы) используются два тега: <frameset> и <frame>. Тег <frameset> задает количество и исходные размеры столбцов и строк кадров. Горизонтальное деление экрана задается при помощи атрибута row, вертикальное - атрибута cols. Значения атрибутов могут быть выражены в процентах или пикселях. Внутри тега <frameset> должны быть ссылки на все документы, входящие в состав сложной страницы. Делается это с помощью тега <frame>.
Списки: Ненумерованные(маркированные)списки:<ul><li>элемент1</li><li>элемент2</li></ul>
Нумерованные
списки: <ol><li>элемент1</li><li>элемент2</li><li>элемент3</li></ol>
Таблица
определяется тегами <TABLE> и </TABLE>, внутри которых и должны
находиться все элементы и данные таблицы. <CAPTION> и </CAPTION> -
определяют название таблицы: должен присутствовать внутри <TABLE> и
</TABLE>, но снаружи описания какой-либо строки или ячейки. Атрибут ALIGN
определяет, где - сверху или снизу таблицы - будет поставлена подпись.
<TR> и </TR> - определяют строку таблицы. Строки могут иметь
атрибуты ALIGN и VALIGN, которые описывают визуальное положение содержимого
строк (горизонтальное и вертикальное выравнивание). <TD> и </TD> -
определяют ячейку таблицы. Ячейка таблицы может быть описана только внутри
строки таблицы (!), т.е. в своеобразный контейнер, образуемый тегами <TR>
и </TR>, <TH> и </TH> - определяют ячейку таблицы также как и
<TD> и </TD>, с небольшими отличиями: текст в данной ячейке будет
выделен жирным эффектом, а данные будут позиционироваться по центру ячейки. Как
правило, применяется, когда необходимо создать что то типа заголовка для строки
или столбца данной таблицы.
А
HREF – определяет находящийся между начальным и конечным тегами текст
или изображение как гипертекстовую ссылку (URL, или линк) на документ
(и/или область документа), указанный в значении данного атрибута. <A
HREF="docs/title.html">Документация</A> на файл title.html
в подкаталоге docs
TARGET
– определяет окно (фрейм), на которое указывает гипертекстовая ссылка.
Этот атрибут используется только совместно с атрибутом HREF. В качестве
значения необходимо задать либо имя одного из существующих фреймов.
JavaScript - объектно-ориентированный язык сценариев, позволяющий включать в веб-страницы исполняемое содержимое (скрипты). JavaScript выполняется на стороне клиента и поддержка JavaScript включена практически во всех браузерах. С помощью этого языка вы сможете отойти от статики обычного HTML и создавать страницы с динамически изменяемым содержанием.
Синтаксис JavaScript и Java сделан по образцу C и C++. Отметим основные правила:
Синтаксис: if (condition) { statements1 [ } else { statements2
] }
Если условие condition истинно, выполняется оператор
statements1, иначе statements2. Условие может быть любым JavaScript-выражением,
которое можно оценить как истинное или ложное. Операторы, которые нужно
выполнить, могут быть любыми JavaScript-операторами, включая условные. Более
чем один оператор должен быть заключен в фигурные скобки, { }. В следующем
примере функция checkData возвращает true, если число символов в объекте Тext
равно трем, в противном случае выводит аварийный бокс и возвращает false.
Оператор while.
Цикл повторяется до тех пор, пока условие истинно (true).
Синтаксис: while (условие) {операторы}
Если
условие становится ложным (false), цикл прекращается и управление передается
операторам после цикла. Условие проверяется не непрерывно, а первоначально и
после выполнения всех операторов цикла.
Вообще, простейшее web-приложение на delphi мало чем отличается, а точнее ничем не отличается от создания программы для старой доброй dos. Это - простейшее консольное приложение, запускаемое на стороне сервера и взаимодействующие с пользователем (в случае необходимости) через броузер.
Одним из
главных преимуществ создания подобных приложений именно в среде delphi является
то, что вы продолжаете работать с визуальными компонентами - это значительно
проще, чем создание приложений в других средах - возможность ошибки в больших
проектах, где используется визуальное проектирование меньше, чем в тех, где всё
описывается исключительно кодом. Кроме того, средства создания web-приложений
позволяют импортировать уже существующие приложения в интернет-среду.
Архитектура СУБД обеспечивает потребности различных пользователей, выполнение их запросов, а также внутренние потребности, связанные с представлением данных в файлах и доступом к ним. Общепринятым в настоящее время является подход, обеспечивающий трехуровневое представление данных:
· на уровне внешних моделей соответствующих различным запросам различных пользователей;
· на логическом уровне, соответствующем интегральному взгляду на данные администратора ПО и администратора БД;
· на внутреннем уровне, соответствующем взгляду на данные системных программистов.
СУБД поддерживает различные описания данных на всех уровнях и их преобразования из одних видов представления в другие.Основными функциями СУБД являются:
· управление данными во внешней памяти;
· управление буферами оперативной памяти;
· управление транзакциями;
· журнализация;
· поддержка языков БД.
OLE DB и ODBC представляют собой интерфейсы
приложений, которые обеспечивают доступ к целому ряду источников данных.
Разработчики Microsoft спроектировали ODBC для доступа к данным SQL, а OLE DB —
для доступа к любым данным в среде СОМ
Аббревиатура DDEML обозначает Dynamic Data Exchange Management Library (библиотека управления динамическим обменом данными). DDEML это надстройка над сложной системой сообщений, называемой Dynamic Data Exchange (DDE). Библиотека, содержащая DDE била разработана для усиления возможностей первоначальной системы сообщений Windows.
DDE дает возможность перейти через рамки приложения и взаимодействовать с другими приложениями и системами Windows. Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. С помощью DDE можно из своего приложения управлять другими приложениями такими, как Word for Windows, Report Smith, Excel и др. Приложение, получающее данные из другого приложения по DDE и/или управляющее другим приложением с помощью команд через DDE является DDE-клиентом. В этом случае второе приложение является DDE-сервером. Одно и то-же приложение может быть одновременно и сервером, и клиентом
Комплексные системы создания распределенных приложений, а именно, CORBA консорциума OMG и COM (DCOM, COM+) фирмы Microsoft.
COM содержит все необходимое, что нужно для построения распределенной системы: технологию удаленного вызова методов (как статических, так и динамических), базы данных серверных объектов (библиотеки типов), которые могут быть импортированы для анализа структуры серверов COM, универсальный протокол обмена между клиентами и серверами, спецификации так называемых “составных документов” (ActiveDoc), объектный монитор транзакций (MTS), компонентную модель (ActiveX) и др. Все составные части прекрасно соответствуют друг другу в рамках модели COM. Уникальной возможностью COM является универсальная технология доступа к базам данных - OLE DB/ADO.
В настоящий
момент CORBA не имеет своей
собственной компонентной модели; работа над ней началась в
-
Физические методы ЗИ.
Физический доступ к носителю информации, как правило, дает возможность получить доступ и к самой информации. Плюс – просто, дешево,, защита от нарушения (взлом), Минус – для хранимой информации (сейф) и только. При передаче информация будет либо перехвачена и т.д.
- Криптографические методы ЗИ
Изменение определённым образом формы сообщения, которое может быть прочитано специальным образом (могут быть вскрыты при помощи криптоаналитических алгоритмов). Плюс – конфиденциальность, целостность. Минус – сертифицируемые – а значит дорогие, ограничение на использование.
- Стеганография
Скрытие факта передачи информации. Плюс – совместно с криптографией. Минус – угроза работоспособности (взлом), варварское использование канала связи.
- Программно-аппаратные.
Предоставляются устройствами, встраиваемыми непосредственно в аппаратуру АИС, или устройствами, сопряженными с аппаратурой АИС по стандартному интерфейсу и предназначенными для реализации конкретных функций защиты. Они реализуют логическую оболочку АИС, ориентированную на обеспечение безопасности. Плюс – предохранение от вирусов, дешево и просто (есть конечно и дорогие). Минус – только хранения информации.
- Административно-организационные. Правовые – на уровне законодательства.
Написание
инструкций, выдача пропусков, контроль.
С позиции обеспечения безопасности информации целесообразно рассматривать в виде трех связных взаимовлияющих друг на друга компонент:
1)
информация;
2)
технические и программные
средства;
3)
обслуживающий персонал
и пользователи. Целью создания любой ИВС
является удовлетворение потребностей пользователей в своевременном
получении достоверной информации и сохранении ее конфиденциальности. При этом
задача обеспечения информации должна решаться путем защиты от внешних и
внутренних неразрешенных (несанкционированных) воздействий.
Угрозой информационной безопасности АС будем называть возможность реализации воздействия на информацию, обрабатываемую АС, приводящего к искажению, уничтожению, копированию, блокированию, доступа к информации, а также возможность воздействия на компоненты АС, приводящего к утрате, уничтожению или сбою функционирования носителя информации, средства взаимодействия с носителем или средства его управления.
Утечка информации рассматривается как бесконтрольный и неправомерный выход конфиденциальной информации за пределы
организации или круга лиц, которым эта информация была доверена.
Угрозы бывают: случайные и преднамеренные.
Основными видами угроз безопасности АС и информации (угроз интересам субъектов информационных отношений) являются:
– стихийные бедствия и аварии (наводнение, ураган, землетрясение, пожар и т.п.);
– сбои и отказы оборудования (технических средств) АС;
– последствия ошибок проектирования и разработки компонентов АС (аппаратных средств, технологии обработки информации, программ, структур данных и т.п.);
– ошибки эксплуатации (пользователей, операторов и другого персонала);
– преднамеренные действия нарушителей и злоумышленников (обиженных лиц из числа персонала, преступников, шпионов, диверсантов и т.п.).
Среди преднамеренных существует три разновидности угроз.
1. Угроза нарушения конфиденциальности заключается в том, что информация становится известной тому, кто не располагает полномочиями доступа к ней. Она имеет место всякий раз, когда получен доступ к некоторой секретной информации, хранящейся в вычислительной системе или передаваемой от одной системы к другой. Иногда, в связи с угрозой нарушения конфиденциальности, используется термин «утечка».
2. Угроза нарушения
целостности включает в себя любое умышленное изменение
информации, хранящейся в вычислительной системе или передаваемой из одной
системы
в другую. Когда злоумышленники
преднамеренно изменяют информацию, говорится, что
целостность информации нарушена. Целостность также будет нарушена, если
к несанк
ционированному изменению приводит случайная
ошибка программного или аппаратного
обеспечения. Санкционированными
изменениями являются те, которые сделаны уполномо
ченными лицами с обоснованной целью (например, санкционированным
изменением
является периодическая запланированная
коррекция некоторой базы данных).
Целостность информации – существование информации в неискаженном виде (неизменном по отношению к некоторому фиксированному ее состоянию). Чаще субъектов интересует обеспечение более широкого свойства – достоверности информации, которое складывается из адекватности (полноты и точности) отображения состояния предметной области и непосредственно целостности информации, т.е. ее неискаженности.
3. Угроза отказа
служб возникает всякий раз, когда в результате преднамеренных
действий, предпринимаемых другим
пользователем или злоумышленником, блокируется
доступ к некоторому ресурсу вычислительной
системы. Реально блокирование может быть
постоянным – запрашиваемый ресурс
никогда не будет получен, или оно может вызывать
только задержку запрашиваемого ресурса, достаточно долгую для того чтобы
он стал
бесполезным. В этих случаях говорят, что ресурс исчерпан.
Конфиденциальность данных и сообщений
Под
нарушением конфиденциальности данных
принято понимать ознакомление с данными лиц, которые к этим данным не допущены,
либо создание предпосылок для доступа к данным неопределенного круга лиц.
Нарушения конфиденциальности информации могут быть систематизированы с
различных позиций.
Критичная информация может храниться в зашифрованном виде и если служба управления доступом будет обойдена, то информация останется недоступной для злоумышленника. Использование шифрования сокращает риск какого-либо перехвата и чтения проходящих транзитом сообщений, делая сообщения нечитабельными для тех, кто сможет перехватить их. Только авторизованный пользователь, который имеет правильный ключ, сможет расшифровать сообщение после его получения.
Политика безопасности должна явно указывать пользователям типы информации, которые считаются критичными настолько, что для них требуется применение шифрования, решение о его применении должно быть принято лицом в руководстве организации, ответственным за защиту критической информации. Если в политике не указывается, какая информация подлежит шифрованию, то владелец данных полностью отвечает за принятие этого решения.
Обеспечение конфиденциальности сообщений и
данных.
Используемые механизмы безопасности:
– защита резервных копий на лентах, дискетах, и т.д.,
– физическая защита физической среды ИС и устройств,
– использование маршрутизаторов, которые обеспечивают фильтрацию для ограничения широковещательной передачи (или блокировкой, или маскированием содержания сообщения). чтению ко всем файлам через механизм управления доступом.
Целостность информации – существование информации в неискаженном виде (неизменном
по отношению к некоторому фиксированному ее состоянию). Чаще субъектов
интересует обеспечение более широкого свойства – достоверности информации,
которое складывается из адекватности (полноты и точности) отображения состояния
предметной области и непосредственно целостности информации, т.е. ее
неискаженности.
Причины, виды, каналы утечки и искажения информации.
Основными причинами утечки информации являются:
- несоблюдение персоналом норм, требований, правил
эксплуатации АС;
- ошибки в проектировании АС и систем защиты АС;
- ведение противостоящей стороной технической и агентурной
разведок.
Несоблюдение персоналом
норм, требований, правил эксплуатации АС может быть как умышленным, так и
непреднамеренным. От ведения противостоящей стороной агентурной разведки этот
случай отличает то, что в данном случае лицом, совершающим несанкционированные действия, двигают личные
побудительные мотивы. Причины утечки информации достаточно тесно связаны
с видами утечки информации. В соответствии с ГОСТ Р 50922–96 рассматриваются
три вида утечки информации:
- разглашение;
- несанкционированный доступ к информации;
- получение защищаемой информации разведками (отеч./иностр.).
Под разглашением информации понимается несанкционированное доведение защищаемой информации до потребителей, не имеющих права доступа к защищаемой информации.
Под несанкционированным доступом
понимается получение защищаемой информации заинтересованным субъектом с
нарушением установленных правовыми документами или
собственником, владельцем информации прав или правил доступа к защищаемой
информации.
Получение защищаемой информации разведками может осуществиться с помощью технических средств (техническая разведка) или агентурными методами (агентурная разведка).
Канал утечки информации – совокупность источника информации, материального носителя или среды распространения несущего указанную информацию сигнала и средства выделения информации из сигнала или носителя. Одним из основных свойств канала является месторасположение средства выделения информации из сигнала или носителя, которое может располагаться в пределах контролируемой зоны, охватывающей или вне ее. Применительно к АС выделяют несколько каналов утечки информации. Обобщенная схема каналов утечки приведена на рис. 2.2.
1. Электромагнитный канал. Причиной его возникновения является электромагнитное поле, связанное с протеканием электрического тока в аппаратных компонентах АС. Электромагнитное поле может индуцировать токи в близко расположенных проводных линиях (наводки). Электромагнитный канал, в свою очередь, делится на следующие каналы:
- радиоканал (высокочастотное излучение);
- низкочастотный;
- сетевой (наводки на сеть электропитания);
- заземления (наводки на провода заземления);
- линейный (наводки на линии связи между
компьютерами).
2. Акустический (виброакустический) канал – связан с распространением
звуковых волн в воздухе или упругих
колебаний в других средах, возникающих при работе устройств отображения
информации АС.
3. Визуальный канал – связан с возможностью визуального наблюдения злоумышленником
за работой устройств отображения информации без проникновения в помещения, где
расположены компоненты системы. В качестве средства выделения информации в
данном случае могут рассматриваться фото-, видеокамеры и т.п.
4. Информационный канал – связан с доступом (непосредственным и телекоммуникационным)
к элементам АС, к носителям информации, к самой вводимой и выводимой информации
(и результатам), к программному обеспечению (в том числе к операционным
системам), а также с подключением к линиям связи. Информационный канал может
быть разделен на следующие каналы:
- коммутируемых линий связи,
- выделенных линий связи,
- локальной сети,
- машинных носителей информации,
терминальных и периферийных устройств.
Под доступом к информации понимается ознакомление с информацией, ее обработка, в частности копирование, модификация или уничтожение информации.
Различают санкционированный и несанкционированный доступ к информации.
Санкционированный доступ к информации -это доступ к информации, не нарушающий установленные правила разграничения доступа. Правила разграничения доступа служат для регламентации права доступа субъектов доступа к объектам доступа. Несанкционированный доступ к информации характеризуется нарушением установленных правил разграничения доступа. Лицо или процесс, осуществляющие несанкционированный доступ к информации, являются нарушителями правил разграничения доступа.
Несанкционированный доступ является наиболее распространенным видом компьютерных нарушений. Несанкционированный доступ к информации — доступ к информации в нарушение должностных полномочий сотрудника, доступ к закрытой для публичного доступа информации со стороны лиц, не имеющих разрешения на доступ к этой информации. Так же иногда несанкционированным доступом называют получение доступа к информации лицом, имеющим право на доступ к этой информации в объёме, превышающим необходимый для выполнения служебных обязанностей.
Причины несанкционированного доступа к информации
· ошибки конфигурации (прав доступа, файрволов, ограничений на массовость запросов к базам данных)
· слабая защищённость средств авторизации (хищение паролей, смарт-карт, физический доступ к плохоохраняемому оборудованию, доступ к незаблокированным рабочим местам сотрудников в отсутствие сотрудников)
· ошибки в программном обеспечении
· злоупотребление служебными полномочиями (воровство резервных копий, копирование информации на внешние носители при праве доступа к информации)
· Прослушивание каналов связи при использовании незащищённых соединений внутри ЛВС
· Использование клавиатурных шпионов, вирусов и троянов на компьютерах сотрудников для имперсонализации.
Контроль доступа — это предотвращение несанкционированного использование ресурса системы, включая его защиту от несанкционированного использования. Контроль доступа тесно связан с аутентификацией пользователей (устройств), поскольку именно в процессе опознавания предъявляются полномочия на доступ к различным объектам системы (массивам, данным, техническим средствам).
Сущность избирательного контроля доступа (ИКД) состоит в следующем (на примере СУБД):
ИКД ограничивает возможность пользователя выполнять определенные операции или получать доступ к определенному объекту на основе его привилегий. Так, примерами объектов в СУБД являются таблицы, последовательности и представления. Поскольку санкционированные пользователи могут передавать свои привилегии другим по своему усмотрению, этот тип контроля доступа называют избирательным.
Сущность Мандатное контроля доступом (МКД) состоит в следующем:
МКД опосредует доступ к информации на основе ее секретности и допуска пользователя, пытающегося получить доступ к ней. МКД гарантирует, что секретная информация не будет распространяться среди пользователей, не имеющих санкции на ее получение. Система, реализующая МКД, называется системой с многоуровневой защитой (МУЗ). Мандатный контроль доступа реализуется в вычислительных системах, в которых обрабатывается информация различных грифов секретности.
Дискреционное управление доступом — разграничение доступа между поименованными субъектами и поименованными объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту. Подобное управление называют также добровольным контролем доступа. Эта схема реализуется, например, в классических юникс-системах.
Дискреционное управление доступом является основной реализацией разграничительной политики доступа к ресурсам при обработке конфиденциальных сведений, согласно требованиям к системе защиты информации.
Симметричные криптосистемы (также симметричное шифрование, симметричные шифры) — способ шифрования, в котором для (за)шифрования и расшифрования применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Ключ алгоритма выбирается сторонами до начала обмена сообщениями.
В настоящее время симметричные шифры - это:
· блочные шифры. Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
· поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.
Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:
· длина ключа
· число раундов
· длина обрабатываемого блока
· сложность аппаратной/программной реализации
· скорость (по данным Applied Cryptography — на 3 порядка выше)
· простота реализации (за счет более простых операций)
· меньшая требуемая длина ключа для сопоставимой стойкости
· изученность (за счет большего возраста)
· сложность управления ключами в большой сети. Означает квадратичное возрастание числа пар ключей, которые надо генерировать, передавать, хранить и уничтожать в сети. Для сети в 10 абонентов требуется 45 ключей, для 100 уже 4950, для 1000 — 499500 и т. д.
· сложность обмена ключами. Для применения необходимо решить проблему надежной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам.
Для компенсации недостатков симметричного шифрования в настоящее время широко применяется комбинированная (гибридная) криптографическая схема, где с помощью асимметричного шифрования передается сеансовый ключ, используемый сторонами для обмена данными с помощью симметричного шифрования.
Важным свойством симметричных шифров является невозможность их использования для подтверждения авторства, так как ключ известен каждой стороне.
· AES (Rijndael)
Криптосистемы с открытым ключом. Принцип действия, достоинства и
недостатки.
Суть состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифpование сообщения возможно только с использованием закрытого ключа, который известен только самому адресату.
Этапы шифровки с открытым ключом:
1. Получатель генерирует ключ. Ключ разбивается на открытую и закрытую часть. Открытая часть ключа отправляется отправителю.
2. Отправитель с помощью открытого ключа шифрует сообщение.
3. Получатель с помощью закрытого ключа дешифрует сообщение.
Шифрование информации - взаимнооднозначное математическое (криптографическое) преобразование, зависящее от ключа (секретный параметр преобразования), которое ставит в соответствие блоку открытой информации, представленной в некоторой цифровой кодировке, блок шифрованной информации, также представленной в цифровой кодировке. Шифрование объединяет в себе два процесса: зашифрование и расшифрование информации.
Преимущества открытых
ключей
У криптографии с открытыми ключами есть ряд преимуществ перед классической (т.е. симметричной) криптографией. Наиболее полезное из них касается управления ключами (в частности, их выбором и рассылкой). Давайте рассмотрим стандартную симметричную криптосистему. Ключ зашифрования является также ключом расшифрования, следовательно, первый не может быть раскрыт. Это приводит к тому, что две легальные стороны (отправитель и получатель) договариваются заранее об алгоритме зашифрования и ключах.
При использовании же криптосистем с открытым ключом стороны не обязаны встречаться, знать друг друга и иметь суперсекретные каналы связи. Это преимущество становится еще более актуальным в случае большого количества пользователей системы. Тогда, к примеру, один пользователь может "закрыто" связаться с другим, взяв некоторую информацию (открытый ключ) из общедоступной базы данных (банка ключей).
Другим важным преимуществом является длина ключа. В симметричной криптографии, если ключ длиннее исходного сообщения, никакого действительного выигрыша не достигается. Так как предполагается передавать ключ секретно, то почему бы не передать само сообщение по этому секретному каналу? Конечно, иногда обмен ключами происходит заранее - до передачи сообщений. Что касается криптосистем с открытым ключом, то у них длина ключа зашифрования не имеет значения, поскольку он открытый и общедоступный. Поэтому и длина ключа расшифрования не так важна (получатель только хранит его в секретном месте). Указанные выше два преимущества, касающиеся управления ключами, - главные для криптосистем с открытым ключом. Но существуют и другие плюсы.
Возможности криптографии с
открытыми ключами
Различие ключей (открытого и личного) в криптографии с открытыми ключами позволило создать следующие технологии: электронные цифровые подписи, распределенная проверка подлинности, согласование общего секретного ключа сессии, шифрование больших объемов данных без предварительного обмена общим секретным ключом.
В настоящее время хорошо известен целый ряд алгоритмов шифрования с открытым ключом.
Некоторые алгоритмы, например RSA (Rivest-Shamir-Adleman) и ECC (Elliptic Curve Cryptography), универсальны, они поддерживают все перечисленные выше операции. Другие алгоритмы более специализированы и поддерживают не все возможности.
Недостаток и его возможное
решение
Несмотря на все преимущества криптографии с открытым ключом и вероятностного шифрования, ни одна из их реализаций, предложенных до сих пор, не может конкурировать в скорости с системами с секретным ключом, такими, например, как DES. Когда необходимо передать большое количество информации (например, мультимедиа-трафик), может оказаться, что использование RSA было бы слишком медленным, тогда как использование DES было бы либо невозможным (из-за отсутствия разделенного секретного ключа), либо не отвечающим требованиям секретности. В такой ситуации может быть полезным использование компромисса. Гибридная криптосистема использует криптосистему с открытым ключом один раз в начале передач сообщений для того, чтобы выделить небольшую часть информации, которая затем используется как ключ к шифратору или дешифратору для тех текущих сообщений, которые проходят через криптосистему с секретным ключом.
Они требуют существенно больших вычислительных ресурсов (это недостаток можно преодолеть с помощью гибридных криптосистем). Кроме того, необходимо обеспечить аутентичность самих публичных ключей, для чего обычно используют сертификаты.
Электронная
цифровая подпись (ЭЦП)— реквизит электронного документа,
предназначенный для удостоверения источника данных и защиты данного
электронного документа от подделки. Система ЭЦП включает процедуру формирования
цифровой подписи отправителем с использованием секретного ключа отправителя и
процедуру проверки подписи получателем с использованием открытого ключа
отправителя.
Схема электронной подписи обычно включает в себя:
· алгоритм генерации ключевых пар пользователя;
· функцию вычисления подписи;
· функцию проверки подписи.
Функция вычисления подписи на основе документа и секретного ключа пользователя вычисляет собственно подпись.
Функция проверки подписи проверяет, соответствует ли данная подпись данному документу и открытому ключу пользователя. Открытый ключ пользователя доступен всем, так что любой может проверить подпись под данным документом.
Поскольку подписываемые документы — переменной (и достаточно большой) длины, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хэш-функция.
Цифровая подпись обеспечивает:
· Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
· Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.
· Невозможность отказа от авторства. Так как создать корректную подпись можно лишь, зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.
Общие сведения и классификация хеш-функций
Для решения проблемы запоминания человеком (пользователем) коротких паролей, а не весь ключ, были разработаны методы, преобразующие произносимую, осмысленную строку произвольной длины – пароль, в указанный ключ заранее заданной длины. Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами:
Хеш-функция берёт на вход сообщение и порождает на выходе некоторый образ этого сообщения, который называется хеш-кодом, хеш-результатом, хеш-значением или просто хеш. Или более точно, хеш-функция h отображает двоичную строку произвольной конечной длины m в двоичную строку фиксированной длины, скажем п. В криптографии используется именно эта идея, т.е. когда хеш-код выступает в роли компактного представления (образа) некоторой входной строки, по которому можно точно идентифицировать исходное сообщение.
Функция, в общем случае, должна
подтверждать следующие факты:
– сообщение исходит от санкционированного отправителя;
– содержание сообщения при передаче не изменилось;
– сообщение доставлено по адресу;
– аналогичное сообщение ранее не поступало;
– порядок получения сообщений соответствует порядку отправления.
Сеть- это любое соед комп-ов с целью исп общих программ(эл. Почта, аська) и рес-ов(бд)
Топология-логич соед комп-ов
Шина: на конце терминатор-для отражения сигнала
Провод- коаксальный
Каждый комп пер и прин-ет
Если передают сразу неск комп,то идет столкновение пер-ых пакетов(коллизия)
Коллизия: повт пер-ча(без заверш), заверш. Сеанса(потом снова повтор)
Достоинства: дешево, не треб администр-ия
Недостатки: при вых из строя одного компа-пиздец всему!

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

Кольцо: пары соседних компов соед-нгы
Сигнал идет по кругу
Нет сервера
Дост-ва: идет упоряд-ый сигнал, нет столкновений пакетов
Топология неактуальна- нет сервера


![]()
7-уровневая модель:
7-прикладной
6-представительный
5-сеансовый
4-транспортный
3-сетевой
2-канальный
1-физический
Между всеми ст-ми ур-ми м. Б. Устан-но логич соед, кот нах виртуальным
Данные идут по стыку протоколов вниз,з атем доходят до провода, далее даходят до 2го компа вверх. Протокол-правило преобразования инф на одном ур-не в инф на др
Чем нужно дополнить инф, чтобы ее доставить между компами?
1) Адрес получ-ля
2) Адрес отправителя
3) Сами данные
4) Контрольная сумма(для контроля данных)
5) Пропускная способность каждого уровня ограничена по байтам, т е поток данных нужно делить (фрагментация). Каждый кусок снабжается маркером продолжения
6) Нужно обозначить начало и конец
7-прикладной уровень: пользователь вып-ет действия: отсылка по сети(файлы), прием по сети
Команда+средство. От аппар-ры не зависит6-представительский уровень(представление данных):шифрование\дешифрование,возможное сжатие. Станд-ые форматы представления инфы:текстовые(asci,ebc dic,html), звуковые(midi,mpeg,wav),видео(avi)
5-сеансовый: а)установка связи: прием сигнала, подтверждение сигнала, прервать связь(сеанс).
3вида передачи: симплексный (пер/пр в одну сторону), полудуплексный(парал-ая пер-ча в одну сторону), дуплексный(парал-ая пер-ча+прием в обе стороны)
Б) вставка в поток данных контрольных точек (для восст-ия потока данных в сл сбоя)
В) ввод логина и паспорта пользователя, аунтификация пользователя, проверка конкретного пользователя для доступа к конкретной сети. 4-транспортный: а) контроль доставки данных нужному пользователю без потерь в нужной последовательности. Б) разбивка на блоки, в) восстановление из блоков, г) доставка данных с установлением соединения и без. 7-4 уровня – высокие уровни модели ИСО\оси (стандарт открытых систем), не используют промежуточное оборудование. 3 -сетевой: данные идут по сети. А) преоб-ие мак адреса(отправителя) в айпишник(получателя)
Мак-адрес – это адрес сетевой карты. Б) выбираем маршрут следования данных(минизирования времени, минизирования протерь(анализ неисправности и обход неисправных сегментов сети))
Маршрутизатор- дорогой сложный комп, к нему подходит оптоволокно, а от него витая пара.
2-канальный (формирование пакета(начало+конец пакета), повтор передачи в случае сбоя, доступ к сети, обнаружение ошибок доступа и подсчет контрольной суммы)
1-физический (кодирование данных в эл сигнал(ресиверы, трансиверы,концентраторы,репиторы,провода))
А) мост(хаб) соед-ет сегменты одной сети (по одной технологии) для усиления сигнала, тк каждая сеть имеет предел по длине провода. Хаб- это простое оборудование.
Б) концентраторы – соед-ие сегментов сети с одной технологией:фильтрации пакетов, усиление сигнала
В) маршрутизаторы (роутеры) – комп-р (без монитора): соединение участков сети с разными технологиями, вычесление маршрута, фильтрация.
Инкапсуляция пакетов: при передачи данных по сети на каждом уровне к блоку данных (к пакету) добавл-ся заголовок и хвост. Если от 7 к 1 ур, то пакет увелич-ся (к пакету добавляется 7 заголовков и концов), что учитывается при пересчете объема пакета к мту уровня.
По моделе вверх: происх отбрас-ие на каждом уровне соот-го заголовка и хвоста и на прикладной уровень пакет приходит освободившийся от добавлений. Перечисленной оборудование д. Уметь обрабатывать пакет данных с целью прочтения самих данных, т е отбрасывание приамбулы и трейдара своего ур-ня. К примеру маршрут-р д отбросить 3 триамбулы и 3 трейдара, чтобы прочитать нужные ему адреса. Марш-р запоминает все свои адреса и маршруты в спец таб
Приближаясь к реальной жизни – это TCP/IP, кот предпол-ет, что каждый комп имеет уник-ый адрес-> по этому адресу можно однозначно найти комп. IP-это 32 битное число (4 байта). Мак-адрес – 48 бит(6 байт)
4-прикладной
3-транспортный
2-сетевой
1-среда передачи(провода+сетевуха)
ICMP- протокол обр-ки ошибок
IGMP- протокол передачи группе компов
ARP,RARP- протоколы преобразования мак-адреса в сетевой адрес(IP)
TCP – протокол установки соединения и контроль передачи
UDP – простой протокол, не заним-ся никакой фрагментацией и без уст-ки связи и без контроля (перед-ся малые порции данных)
TCP и UDP - передача по среде передачи, исп-ют ср-ва IP – протокола,кот нах на сетевом ур-не.
Инкапсуляция – это формир-ие кадра. Инкапс-ей и декомпс-ей заним-ся протоколы соответ-го ур-ня.
Алгоритм работы протокола IP: прием и передача дейтаграмм+формир-ие самой дейтаграммы.
TCP-протокол: устан-ет соед-ие,получает подтверждение о соединении, пересылка данных порциями непрерывным потоком побайтно в режиме скользящего окна, завершение соединения(закрытие)
Понятие сокета – это логич понятие для описаний межсетевого взаимод-ия компов
Ф-ия создания сокета (отсут-ет реальные ифизические адреса, нет IP, не порта)
Нет привязки этой ф-ии к среде передачи, но есть привязка к конкр протоколу(TCP, UDP) и семейству протоколов (Internet)
Soket_handle(это указатель на номер сокета, дискриптор сокета, номер объема памяти, в кот б храниться парам-ры сокета) = soket (protocol_family, type(это передача протоколом sock_stream, передача дейтаграммы), protokol(это TCP, UDP))
Дискриптор - номер
Сокеты : берклии (для юникс), винда(для винды)
Сокет = ip + порт (у каждого компа есть порт)

Рис. 15-16.6. Схема взаимодействия
клиента и сервера для протокола UDP
Рис. 15-16.7. Схема взаимодействия клиента и сервера для протокола TCP
Обычному пользо-лю неудобно польз-ся данными ip-адресами, поэтому было введено символьное имя компа. Были разраб-ны тблицы адресов (ip – адрес------символьное имя)
Этапы доступа к ресурсу: hosts по алиасу ищем ip, установка соед-ия по найденному ip.
Таблицы типа hosts используются для лок сетей и не исп в марш-ах. Это было норм , когда инет был маленьким. В рез-те родилась днс (1984г ). Любая реализация днс явл прикл процессом.. система строится по иерар пр-ку или по пр-пу вложенных имен. Иерархии принято изображать деревом.(у дерева есть корень-множ-во компов). В нашей стране выделен домен- «ру». Второй ур-нь доменов обозн-ет регион, 3й – организацию. Домен – это область. Днс реализация: бинд(для юникс), винда(для винды)
Днс состав: все множ-во домен имен(строится по пр-пу иерархии), серверы дом имен(строятся по схеме клиент(прикладной процесс)-сервер(комп, кот хранит бд)), клиенты днс(обращ-ся к бд)
Эл почта – это способ пер инфы в комп сетях от одного компа к др. инфа пер-ся через некот промеж звенья (почтовые ящики). Почтовый ящик хранит все отправ сооб, все получ сооб до тех пор, пока эти сооб-ия не будут запрошены пользов-ем. Польз-ль м войти в ящик исп-уя пароль. Раньше ящиков не было, а было тупоекопирование с одного компа на др.
Smtp – протокол передачи(возник в юникс). Pop – протокол приема. (Бывают pop2 и pop3)
Pop3(м принять, а м и отвергнуть) имеет 3 алг работы: авторизация(идент польз, ввод пароля, закрытие соед), транзакция(кол-во сооб в ящике+ размер, кол в байтах содерж текста в ящ, извлеч сооб из ящ), обновление
Фтп – протокол пресылки файлов. Фтп – для пересылки файлов разл вида с исп удал доступа по протоколу телнет(небезопасный). Фтп имеет 2 канала связи: установка соед и поддержка соед с удал компом, сама пересылка данных. По фтп м передавать граф, проги,мультимедиа. Команды: выдать инфу, список каталогов, пароль, ip адрес и порт клиента, выход.
Ssh – протокол пер защищ данных. Инфа тама шифрутся. Шифрация это преобр из одного формата в др. для шифрования исп ключ( последов-ть символов)
Модель функционирования объекта. Функции
обслуживающего персонала. Влияние воздействий окружающей среды на состояние
объекта
Обслуживающий персонал воздействует на изделие, поддерживая его в исправном состоянии с помощью контроля технического состояния и планового технического обслуживания (профилактики). Кроме того, исправное изделие подвергается воздействиям внешней среды, например, перенапряжениям в электросети, помехам, тепловым и другим изменениям среды, приводящим к отказу. Отказ в работе характеризует переход от исправного состояния к неисправному. Если изделие невосстанавливаемое, то после наступления отказа оно изымается из эксплуатации без дальнейшего восстановления. Восстановление изделий производится обслуживающим персоналом или ремонтными бригадами, направленными на восстановление работоспособности (неплановое техническое обслуживание). Переход от неисправного состояния в исправное характеризует процесс восстановления. В процессе восстановления проводится поиск места отказа, его устранение, настройка и регулировка, профилактический осмотр.
Основные показатели надежности
невосстанавливаемых и восстанавливаемых объектов. Основные выражения для
расчета этих показателей. Примеры.
Согласно ГОСТ 27.002-83 "Надежность в технике. Термины и определения" надежность — это свойство объекта выполнять заданные функции при сохранении во времени требуемых технических параметров в заданных пределах в соответствии с заданными условиями эксплуатации и режимами работы в процессе технического обслуживания, ремонтов, транспортировки и хранения.
Все признаки, характеризующие надежность объектов, можно количественно оценить. Однако по способу использования объектов в процессе эксплуатации после наступления первого отказа их можно разделить на 2 вида:
— невосстанавливаемые объекты,
— восстанавливаемые объекты.
Невосстанавливаемые объекты после первого отказа навсегда изымаются из эксплуатации. К ним относятся, например, микросхемы, конденсаторы и другие электроэлементы, восстановление которых дороже их стоимости.
Для каждого вида объектов существуют свои количественные показатели надежности. Для невосстанавливаемых объектов это:
1) Вероятность безотказной работы Р(t) — вероятность того, что в течение заданной наработки t отказа не будет.
![]()
2) Средняя наработка до отказа Т1, ч — математическое ожидание наработки объекта до первого отказа.
3) Интенсивность отказов (t), 1/ч — условная плотность вероятности наступления отказа к данному моменту времени при условии, что до этого момента отказа не было.
Для восстанавливаемых объектов:
1) Наработка на отказ Т2, ч — среднее время между соседними отказами, или отношение наработки восстанавливаемого объекта к математическому ожиданию числа отказов в течение этой наработки.
2) Для оценки ремонтопригодности существует следующий количественный показатель: среднее время восстановления работоспособности , , ч — математическое ожидание времени восстановления работоспособности объекта.
3) Основными показателями долговечности являются:
а) Назначенный ресурс — суммарная наработка объекта, по достижении которой его эксплуатация должна прекратиться независимо от состояния объекта.
б) Средний срок службы — средний срок от начала эксплуатации объекта до его списания, обусловленного его предельным состоянием.
Надежность систем передачи информации определяется надежностью их аппаратных средств и достоверностью передачи информации. Основной характеристикой оценки достоверности является вероятность искажения одного символа в сообщении q.
На этапах проектирования необходимо прорабатывать следующие системные вопросы обеспечения надёжности и отражать их решения в проектной документации.
1) Анализ вариантов построения схем системы с оценкой их надёжности, простоты и удобства эксплуатации. Выбор варианта, который в большей степени обеспечит заданные показатели надёжности и эффективности.
2) Выбор структуры, элементной базы, методов повышения надёжности, расчёт запасных частей должны быть обоснованы и отражены в документе «Проектная оценка надёжности КТС».
3) Обеспечение возможности останова или аварийного отключения управляющей системы во избежание нежелательных последствий.
4) Обеспечение защиты данных на всех этапах информационных процессов: при их передаче, хранении, обработке, отображении.
5) Для повышения надёжности и удобства отладки программных средств использовать методы структурного проектирования на базе единообразно оформленных программных модулей
6) Обеспечение условий и средств для быстрого аппаратного и программного контроля технических средств, позволяющего непрерывно либо периодически определять состояние системы, её функциональных узлов, а также своевременно обнаруживать место отказа. Предусматривать индикацию состояния функциональных узлов.
Диагностику состояния системы можно реализовать следующими методами и средствами:
— с помощью схем самотестирования, встроенных в каждый функциональный узел.
— с помощью специального функционального узла диагностики, который проверяет состояние всех функциональных узлов,
— с помощью комбинации функционального узла диагностики и встроенных схем самотестирования.
Эти методы требуют прокладки специальной шины диагностики в микросхемах, печатных платах.
7) Четкое разделение функций между человеком и КТС, а также обеспечение условий работы человеку на основе рекомендаций инженерной психологии и эргономики. Для периодического контроля состояния операторов предусматривать программно-аппаратные средства.
8) Разработка контрольно-профилактических мероприятий, методов и средств технического обслуживания системы.
9) Опыт показывает, что время освоения системы пользователем зависит и от качества технической документации: технического описания, инструкций для пользователей. Эта документация должна быть отредактирована опытным системотехником. Неопытный пользователь, имея качественные инструкции, не допустит ошибочные действия, потратит меньше времени на поиск места отказа, обеспечит лучшее техническое обслуживание, что будет способствовать увеличению времени наработки на отказ средств автоматики.
Одним из основных методов обеспечения надежности объекта при недостаточно надежных элементах является резервирование. Оно заключается в применении дополнительных средств и возможностей, с целью сохранения работоспособного состояния объекта при отказе одного или нескольких его элементов.
В зависимости от назначения объекта и особенности его работы в качестве резерва могу быть использованы разнообразные средства. Так, например, резервом могут служить запасы объекта по способности выдерживать перегрузки. В качестве резерва могут использоваться дополнительные элементы, вводимые в структуру, запасы времени на выполнение определенной задачи, дополнительные функциональные возможности элементов, избыток информации. Соответственно этому различают такие виды резервирования: нагрузочное, структурное, временное, функциональное, информационное.
Нагрузочный резерв заключается в обеспечении облегченных режимов работы элементов путем применения элементов больших номиналов, габаритов, чем требуется по расчетам на номинальный режим. Его цель - увеличить способность объекта работать с возможными перегрузками.
Нагрузочный резерв предусматривает и введение дополнительных защитных и разгрузочных элементов для защиты основных элементов от действующих на них перегрузок, например, установка радиаторов, параллельное включение диодов. Нагрузочный резерв применяется, когда нет жестких ограничений на потребляемую мощность и габариты.
Структурный резерв заключается во введении в структуру объекта дополнительных элементов или звеньев, которые обеспечивают работоспособность объекту при отказе основных элементов или звеньев. Каждая структурно резервированная система имеет основное соединение элементов и резервное. Основным соединением элементов называют такое их минимальное количество, которое обеспечивает выполнение заданных функций, и отказ любого элемента ведет к отказу всего соединения.
Резервированным соединением называют такое, в котором его отказ наступает только в случае отказа основного и всех его резервных соединений.
Структурное резервирование может быть введено на трех уровнях организации системы: на уровне элементов, на уровне функциональных блоков, на уровне всей системы.
Временной резерв заключается в выделении заранее из общего фонда времени работы объекта некоторого резерва времени, который можно использовать для восстановления его работоспособности.
Резерв времени можно создать за счет следующих средств:
1) Увеличение времени работы, выделяемого системе для выполнения заданной работы. В этом случае средняя производительность системы уменьшается.
2) Путем организации внутренних запасов деталей, полуфабрикатов, готовых изделий, предварительно обработанной информации.
Для хранения запасов необходимы соответствующие накопители: склады, бункеры, буферные запоминающие устройства.
3) Использование перерывов в работе для восстановления работоспособности и контроля состояния.
4) Использование запаса по производительности отдельных звеньев.
При обработке данных необходимо предусматривать резерв времени и на исправление обнаруженных ошибок.
Таким образом, резерв времени можно использовать на обнаружение отказов, восстановление или переключение отказавших звеньев на резервные.
Функциональный резерв заключается в использовании таких функциональных элементов и звеньев, которые могут выполнять функции двух или более элементов звеньев. В этом случае при отказе j-го звена или элемента его функции будет выполнять i-е звено (элемент). При этом i-е звено может выполнять и свои функции. Такое совмещение функций аналогично принципу совмещения профессий и может существенно повысить надежность работы.
Информационный резерв применяется в системах, где возможна потеря информации или искажение части обрабатываемой или передаваемой информации. Информационный резерв позволяет компенсировать эти потери или устранить искажение.
Информационное резервирование обычно сопряжено с увеличением длины передаваемой или обрабатываемой информационной последовательности. Существует два основных способа информационного резервирования: многократное повторение информации и использование корректирующих кодов - введение в информационную последовательность дополнительных знаков или символов, позволяющих обнаружить ошибки или исправить их.
Применение корректирующих кодов требует дополнительных аппаратных или программных средств для кодирования и декодирования информации, а также дополнительного времени на операции кодирования и декодирования.
Многократное повторение информации может быть реализовано несколькими способами:
1. Путем повторения передачи блока данных. При этом время передачи увеличивается пропорционально числу повторений.
2. Путем одновременной передачи каждого бита несущими нескольких частот. Для этого требуется расширение полосы частот канала связи, что ограничивает количество одновременно передаваемых по каналу сообщений.
3. Путем одновременной передачи битов данных гармоническими несущими одной частоты, но сдвинутыми по фазе друг относительно друга, например, путем двукратной или многократной относительной фазовой модуляции или фазосдвинутых несущих.
Способы
структурного резервирования
Каждое основное соединение можно зарезервировать полностью или частично: каждый элемент или группу элементов. По способу введения резервных соединений резервирование делится на общее и раздельное (поэлементное). Общий резерв характеризуется тем, что резервируется весь объект в целом.
Резервное соединение может работать одновременно с основным или включаться в работу после отказа основного. Поэтому по способу включения резервных соединений в работу резервирование делится на нагруженное, облегченное и ненагруженное.
Ненагруженный резерв содержит одно или несколько резервных соединений, которые работают в режиме основного соединения.
Облегченный резерв содержит одно или несколько резервных соединений, но менее нагруженных, чем основное.
Ненагруженный резерв содержит одно или несколько резервных соединений, которые не выполняют свои функции до момента их переключения в работу в качестве основного соединения
В зависимости от способа введения резервных соединений и их включения в работу, резервные соединения могут образовывать комбинации перечисленных способов, например общий нагруженный резерв, общий ненагруженный резерв и т.п.
Раздельный нагруженный резерв, оценка его эффективности
в нормальных условиях эксплуатации, применимость в АС.
Общая схема раздельного нагруженного резерва приведена на рис. 3.5.1. Каждый из N элементов основного соединения резервируется [1, …, m] такими же резервными элементами, включаемыми в работу параллельно основным.
В случае отказа одного из элементов основного соединения работу будут продолжать резервные. Такой способ прост в реализации. Однако габарит, вес, количество паек, потребляемая мощность резервированной системы значительно возрастают. Так, по данным журнала Electronics за 1985г., около 10% всех отказов электронных систем вызваны паянными соединениями. Поэтому раздельный нагруженный резерв целесообразно применять для повышения надежности отдельных малонадёжных элементов, когда недопустима остановка для переключения на резерв, например, работа двух процессоров в вычислительной системе центра коммутации сообщений.
Согласно общей схеме резервирования на рис. 3.5.1 отказ в ней будет иметь место, если откажут все m+1 элементы одного типа. Обозначим через qni(t), i=0,…,m вероятность отказа элементов n-го типа n=1,…,N, а через pni(t) – вероятность их безотказной работы. Тогда вероятность отказа всех элементов соединения n-го типа очевидно будет
Qn(t)=
qni(t)=
[1-pni(t)],
а вероятность безотказной работы соединения из m элементов n-го типа будет
Pn(t)=1- Qn(t)=1-
[1-pni(t)].
В случае равной надёжности основного и m резервных элементов, вероятность безотказной работы соединения одинаковых элементов выразится так
Pn(t)=1-[1-pni(t)] m+1.
Тогда вероятность
безотказной работы резервированной системы определится произведением
вероятностей Pn(t):
Pc(t)=
Pn(t)=
[1-(1-pni(t)]m+1.
(3.5.1)
При известных интенсивностях отказов элементов lni=const=li получается следующее выражение вероятности безотказной работы при общем ненагруженном резерве
Pc(t)=
Pn(t)=
[1-(1-e-lit )m+1].
(3.5.2)
Сравним это выражение с выражением (3.2.2) для вероятности безотказной работы при общем нагруженном резерве. Поскольку li<lo всегда, то (1-e-lit)< (1-e-lot), и правая часть выражения (3.5.2) будет всегда больше, чем в (3.2.2). Таким образом, вероятность безотказной работы системы с раздельным резервом больше вероятности безотказной работы системы с общим резервом при одинаковом числе элементов N и резервных соединений m и одинаковой надёжности пайки.
В случае раздельного резерва требуемая кратность резервирования меньше, чем для общего резерва. Таким образом, раздельный резерв принципиально выгоднее общего.
Раздельный ненагруженный резерв, оценка его
эффективности, применимость в АС.
В общем виде раздельный резерв предусматривает замену каждого отказавшего элемента основного соединения дополнительными элементами, способными выполнять функции отказавших элементов основного соединения.
Общая сxeма для расчета показателей надежности такого резерва приведена на рис.3.6.1. Она содержит основное соединение элементов и m резервных. Каждый из N элементов основного соединения в случае отказа переключается на один из m резервных.
P1C(t) P2C(t)
PNC(t)

0
1
m
Рис.3.6.1. Включение раздельного ненагруженного резерва.
В общем случае для такого резерва требуется (m+1)N переключателей.
Оценим надежность такого резерва. Для этого рассмотрим сначала резервированное соединение из (m+1) элементов первого типа. Пусть интенсивность отказов этого элемента = const. Согласно выражению (2.4.1) в [2] для общего ненагруженного резерва вероятность безотказной работы такого соединения определится выражением

Для резервированного соединения из (m+1) элементов n-го типа (n=1,…,N) , аналогично можно записать

Резервированная система будет безотказно работать, если будут безотказны все N резервированных соединений. Следовательно, вероятность безотказной работы системы определится произведением вероятностей безотказной работы N резервированных соединений:

, где
- интенсивность отказов основного соединения.
В этом
выражении сумма слагаемых
при m 1 всегда
больше единицы. Следовательно, при одинаковых значениях
выражение (3.6.1) для Pc(t) всегда
будет больше, чем для случая общего ненагруженного резерва.
Оценим наработку на отказ системы. Согласно выражению (3.4.2) наработка на отказ n-го резервированного соединения (n=1,…,N) составит
![]()
Наработка на отказ резервированной системы определится отношением времени её наработки t к математическому ожиданию числа отказов (t) в течение этой наработки:
Тс= t/(t). (3.6.2)

Величина (t) определяется суммой математических
ожиданий числа отказов всех
резервированных соединений Hn(t), то есть
В свою очередь
математическое ожидание числа отказов для n-го резервированного соединения
. После подставки Hn(t) в (t) и выражение Тс
получаем

(3.6.3)
Для реализации раздельного ненагруженного резерва в общем случае требуется N(m+1) высоконадежных переключателей, что практически нереально. Поэтому раздельный ненагруженный резерв применяют для наиболее ответственных звеньев с автоматическим переключением на резерв, если допустима остановка работы соединения на время переключения.
Сравним общий и раздельный резервы для основного соединения из N элементов. При общем резерве основное соединение резервируется в общем случае m такими же соединениями. Отказ в такой системе наступит, если откажут по одному любому элементу в каждом из (m +1) соединений, то есть если откажут (m+1) разных элементов. В случае раздельного резерва (рис.3.6.1) отказ резервированной системы наступит также при отказе (m +1) элементов, но одинаковых: основного и всех m его резервирующих. Вероятность возникновения (m+1) одинаковых отказов меньше вероятности возникновения (m+1) любых отказов. Поэтому раздельный резерв принципиально лучше общего.
Последовательность отказов, следующих один за другим в случайный момент времени, называют потоком отказов.
Для ограниченного интервала времени, где имеет место n отказов, каждый отказ является случайной величиной; а на большом интервале отказы можно представить случайной функцией времени. Зная выражение этой функции можно вычислить и число отказов к заданному моменту времени.
Потоки отказов чередуются с процессами восстановления и основные характеристики потоков отказов согласно ГОСТ 27.002-83 «Надежность технических средств» следующие:
1. Параметр потока отказов W(t) – предел отношения вероятности хотя бы одного отказа.
n=1 в интервале (t, t+∆t) к длине этого интервала

2. Интенсивность потока отказов λ(t) – математическое ожидание
число отказов в единицу времени.

В частом случае, если W=const, W=λ.
В практической деятельности W(t) можно вычислить как отношение в заданном интервале времени ∆t числа отказавших изделий к числу наблюдаемых.
Обозначим N0в как отказавшие изделия, которые восстанавливаются или заменяются новыми, тогда

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

где m –кол-во отказов за время эксплуатации t
Надежность АСОИУ определяется достоверностью и своевременностью информации, доставляемой пользователю, а также обеспеченностью защитой от постороннего доступа.
Достоверность обработки информации – это соответствие реальной информации, выдаваемой пользователю, ее некоторым истинным значениям. Количественно она оценивается вероятностью ошибки, то есть вероятностью несовпадения выходных данных истинным значениям.
Для обеспечения передачи с требуемой достоверностью в течение заданного интервала времени используются структурный и информационный резервы, рекомендуемые теорией надежности, а также введение информационной избыточности в передаваемые сообщения, рекомендуемой теорией помехоустойчивого кодирования. Информационная избыточность обеспечивается многократным повторением передаваемой информации или применением корректирующего кода, позволяющего на приемной стороне обнаружить или исправить ошибки.
Введение структурного резерва заключается в использовании для одновременной передачи одного сообщения нескольких каналов связи. Принятые сообщения сравниваются, например, по принципу голосования. Правильной считается информация, принятая одинаковой в большинстве каналов. Для управления процессом передачи необходима обратная связь, которая обеспечивается обратным каналом.
На основе теории надежности и теории помехоустойчивого кодирования для повышения достоверности передачи информации находят применение следующие методы:
1) Регенерация формы сигналов в центрах коммутации сетей или в их промежуточных звеньях – ретрансляторах.
Этот метод используется в системах передачи, имеющих длинные линии связи, в которых сигналы могут быть значительно ослаблены и искажены, например, в оптических радиолиниях. В ретрансляторах принятые сигналы усиливаются, восстанавливаются по форме и передаются далее по линии связи.
2) Многократная передача одного и того же блока данных по одному каналу и сравнение принятых блоков с помощью мажоритарных устройств (устройств, работающих по принципу голосования). В этом случае блоки данных передаются последовательно, что увеличивает время передачи сообщения, как минимум, в три раза.
3) Передача одного и того же блока данных одновременно по одному каналу на разных частотах и сравнение принятых блоков по мажоритарному принципу. В этом случае полоса частот, отводимая для передачи одного сообщения, увеличивается в несколько раз.
4) Передача одного и того же блока данных одновременно по одному аналоговому каналу несколькими гармоническими несущими одной частоты, но сдвинутыми по фазе относительно друг друга [10]. Такой метод не требует расширения полосы частот в канале связи.
5) Использование в передаваемом блоке данных длиной n бит не всех возможных комбинаций N0 = 2n, а лишь некоторого их ограниченного числа разрешенных комбинаций: Np < N0. На приемной стороне, хранящей в памяти все разрешенные комбинации, сравниваются принятые блоки с разрешенными. Несовпадение принятой комбинации с разрешенными означает искажение в принятом блоке данных.
6) Использование корректирующих кодов, заключающееся во введении в передаваемый блок данных дополнительных проверочных разрядов, которые позволяют обнаружить искажения. Контрольные биты формируются по алгоритмам? См. приведенным в следующих ниже темах.
7) Введение в структуру системы передачи обратного канала связи, который информирует отправителя об искажениях в переданном блоке данных или об их отсутствии. Это позволяет отправителю принимать решения для обеспечения безошибочной передачи блоков данных, следовательно, управлять процессами обмена информацией.
Системы передачи информации со структурным резервом могут быть построены как разомкнутые, не имеющие обратной связи, и как замкнутые по структуре – системы с обратной связью. В системах без обратной связи, помимо передачи сообщений по нескольким каналам, используются корректирующие коды, позволяющие обнаружить и исправить искажения.
Однако применение корректирующих кодов, исправляющих ошибки, связано с определенными сложностями, ввиду того, что воздействие помех в канале связи изменяется во времени. Если выбрать корректирующий код, исходя из максимальной частоты ошибок, то избыточность кода может оказаться большой, что потребует увеличения времени на декодирование и снизит эффективность системы передачи. Если выбрать корректирующий код, исходя из средней частоты ошибок, то при групповых искажениях количество необнаруженных ошибок может быть недопустимым.
Общим недостатком систем передачи без обратной связи является отсутствие подтверждений для отправителя о принятых блоках данных.
Достоверность передачи информации при достаточно простых методах и средствах кодирования можно повысить, если отправитель непрерывно будет получать информацию о принятых сообщениях и наличии в них ошибок. Такая информация может быть получена с помощью дополнительного обратного канала, который в структурной схеме передачи формирует обратную связь. При этом передача сигналов будет осуществляться по замкнутому контуру, что позволяет управлять процессами передачи информации; и в соответствии с состоянием канала связи можно вводить необходимую информационную избыточность.
Общая структурная схема системы передачи с обратной связью приведена на рис. 6.3.1.

Рис. 6.3.1. Общая структурная схема системы передачи информации с обратной связью.
Сообщение, переданное по прямому каналу связи поступает в анализатор приемника, который выделяет информационную часть и делает ее проверку на наличие ошибок. В случае обнаружения искажений анализатор приемной стороны формирует сигнал об ошибке с указанием номера искаженного блока, который посылается по обратному каналу. Анализатор на стороне отправителя дешифрует этот сигнал и выдает управляющий сигнал на повторную передачу блока. Эти процедуры повторяются, пока по обратному каналу не будет передан сигнал подтверждения. Системы передачи, функционирующие по такому принципу, называют системами с решающей обратной связью (РОС).
Передаваемый блок данных поступает в буфер передатчика прямого канала. В анализатор передатчика может поступить или передаваемый блок данных, или его служебная часть. Анализатор выполняет сравнение сигналов от отправителя с сигналами от получателя, принятыми по обратному каналу. При их совпадении анализатор выдает разрешение на передачу следующего блока данных, информируя получателя о том, что передается следующий блок данных.
В случае несовпадения сигналов от отправителя и от получателя анализатор формирует управляющий сигнал на повторную передачу блока данных или другие действия отправителя по обеспечению достоверности передачи информации.
Помимо информирования отправителя о приеме его блока получатель также может передать по обратному каналу связи сообщения, что позволяет в системах с обратной связью выполнять обмен информацией. Например, контрольная сумма переданного блока сравнивается с контрольной суммой этого блока, вычисленного на приемной стороне и переданной по обратному каналу.
Сигнал, информирующий отправителя о приеме блока данных без ошибок, может быть сформирован либо на передающей стороне, либо на приемной следующими способами:
1) Переданный по прямому каналу блок данных, который может содержать корректирующий код, возвращается по обратному каналу в анализатор передающей стороны. Последний сравнивает переданный и принятый блоки данных поразрядно. При несовпадении битов какого-либо разряда анализатор формирует сигнал «ошибка», обеспечивающий повторную передачу блока данных и т.д., пока не обеспечится совпадение всех битов в переданном и принятом блоках данных.
Системы передачи, работающие по такому принципу, называют системами с информационной обратной связью (ИОС). Основные достоинства таких систем – простота в реализации и возможность получать статистику искажений на передающей стороне.
Однако их применение ограничивается при большом количестве помех, так как время передачи одного блока определяется временем передачи от первого блока, принятого с ошибками, до приема последнего, принятого без ошибок. Искажения могут возникнуть и при передаче неискаженного блока по обратному каналу.
2) Передаваемые блоки данных строятся в форме двоичных комбинаций корректирующего избыточного кода, позволяющего обнаружить искажения на приемной стороне с помощью анализатора (рис. 6.3.1) путем декодирования корректирующего кода. Если искажения не обнаружены, то анализатор посылает в передатчик обратного канала подтверждение о безошибочно переданном блоке. Анализатор на передающей стороне дешифрует это подтверждение и выдает управляющий сигнал на передачу следующего блока данных и выдачу получателю неискаженного блока.
Изложенные
процедуры могут быть формализованы
логическими высказываниями типа «если…, то…». Поэтому процессы обмена
информацией в системах с РОС программно реализуемы. На их основе созданы
протоколы полудуплексного обмена информацией.
Согласно рекомендаций ITU МККТТ v.23, v.24, v.41 в системах передачи с РОС используются четырехпроводные дуплексные каналы связи. В качестве обратного канала рекомендуется использовать служебный канал, у которого частота несущего сигнала отлична от частоты несущего сигнала в прямом канале.
Достоинства систем передачи информации с РОС:
- меньшая, чем в системах с ИОС загрузка обычного канала связи;
- возможность организации полудуплексного обмена информацией.
Недостатком систем с РОС является отсутствие возможностей
сбора информации об ошибках и их характере (одиночные, групповые) у отправителя
сообщений.
4) Как и в системах передачи с РОС при необнаруженных искажениях в принятом блоке по обратному каналу посылается подтверждение. В случае обнаружения искажений по обратному каналу может быть послан искаженный блок данных. Это дает возможность отправителю количественно оценивать характер искажений в переданных блоках путем статистической обработки. В соответствии с этим можно будет увеличивать избыточность корректирующего кода или принимать другие меры для повышения достоверности передачи информации.
Системы передачи информации,
функционирующие по такому принципу, называют системами с комбинированной
обратной связью (КОС).
В СПО входят: утилиты, операционная система, интерфейс (оболочка для взаимодействия пользователя с системой, система программирования (транслятор, обработчик, редактор, компоновщик).
Структура вычислительной системы:
Подробно:
2. Выполняет программные, которые ориентированы на взаимодействие с аппаратным уровнем, понимания языка аппаратных средств
3. Ориентирован на пользователя, команды данного уровня не зависят от физических устройств, они обращены к предыдущему уровню На базе этого уровня существует возможность создания новых логических ресурсов
4. Для удобства взаимодействия с ОС могут использоваться дополнительный инте5рфейсные оболочки. Назначение: расширить возможности по управлению ОС или изменить встроенную систему возможностей
5. Комплекс средств: трансляторы, библиотеки подпрограмм, редакторы, компоновщики, отладчики, т.е. всё, что служит для разработки всего технологического цикла ПО. Любая система программирования работает только в той ОС, под которую она создана, но при этом возможно создание программ под другие операционные системы (кросс-системы)
6. Прикладные ПО:
ОС – программа которая обеспечивает взаимодействие между пользователем и вычислительной системой, а также управляет ресурсами вычислительной системы (логическая и физическая).
Вычислительная система — это программно-аппаратный
комплекс, который предоставляет услуги пользователю.
Структуру вычислительной системы можно представить в виде
пирамиды:
Аппаратные
средства. Ресурсы ВС разделяются на два типа: не участвующие в управлении
программой (объем винчестера и т.д.). участвующие в
управлении программой (размер ячейки памяти, объем оперативной памяти, скорость
выполнения команд).
Ресурсы второго типа называются физическими ресурсами
аппаратуры.
Управление физическими устройствами.
Управление физическими устройствами осуществляют
программы, ориентированные на аппаратуру, взаимодействующие с аппаратными
структурами, знающие "язык" аппаратуры.
Управление логическими устройствами.
Этот уровень ориентирован на пользователя. Команды
данного уровня не зависят от физических устройств, они обращены к предыдущему
уровню. На базе этого уровня могут создаваться новые логические ресурсы.
Системы программирования.
Система программирования — это комплекс программ для
поддержки всего технологического цикла разработки программного обеспечения.
Прикладное программное обеспечение.
Прикладное программное обеспечение необходимо для решения
задач из конкретных областей.
Операционная система (ОС) — программа, обеспечивающая
взаимодействие пользователя с ВС, а также управляющая ресурсами ВС (логическими
и физическими). К ОС мы будем относить
второй и третий уровень нашей пирамиды.
Любая ОС оперирует некоторыми сущностями, которые во
многом характеризуют свойства ОС. К таким сущностям могут относиться понятия
файла, процесса, объекта и т.д. Если мы посмотрим на ОС Unix, то там такой сущностью
является в первую очередь понятие файла, во вторую очередь — понятие процесса.
Итак, процесс — это программа, имеющая права
собственности на ресурсы.
Если же у каждой программы есть свое множество ресурсов,
причем эти множества могут пересекаться (но не совпадать!), то мы говорим о
двух процессах. Соответственно, в том случае, если множества ресурсов двух или
нескольких процессов имеют непустое пересечение, то возникает проблема
использования разделяемых ресурсов.
Практически любая ОС имеет понятие ядра, ядра
операционной системы. Ядром обычно является резидентная часть ОС (то есть та
часть, которая не участвует в свопинге), работающая специализированном режиме
(том самом, о котором говорилось в прошлой лекции). В функции ядра входит
базовые средства управления основными сущностями ОС, обработка прерываний, а
также может входить набор программ, обеспечивающих управление некоторыми
физическими устройствами. Например, в ядро ОС может и должен входить драйвер
ОЗУ. Далее вокруг ядра наращиваются программы управления ресурсами
вычислительной системы. Первый уровень в основном состоит из программ
управления физическими устройствами или драйверов физических устройств.
Следующий уровень — это управление логическими устройствами. И так далее —
таких уровней может быть достаточно много. Просто, чем дальше от ядра, тем
большая абстрактность имеет место. У нас где-то могут появиться драйверы
управления файлами, а на самом деле они связаны с драйверами управления
логическими дисками, а те в свою очередь — с драйверами физических дисков.
Основные функции ОС:
1. Управление использованием времени ЦП.
Время Цп является наиболее критичным ресурсом с точки
зрения центрального процессора. Для эффективного использования ЦП требуется сложный
механизм разделения времени, механизм, использующий параллелизм работы с
устройствами ввода/вывода.
ОС можно разделить на три класса по выбору алгоритма
активного процесса:
1. Пакетные ОС (IBM 360, ЕС
ЭВМ)
Допустим есть несколько задач, для того, чтобы ЦП как можно меньше
простаивал мы организуем мультипрограммирование. Далее алгоритм передачи ЦП от
одного процесса к другому будет следующим:
Процесс владеет ЦП до тех пор, пока не произойдет одно из
следующих условий: процесс завершился, происходит обращение к внешнему
устройству, процесс зациклился
2. Система разделения времени (UNIX, WIN) добавляется
еще одно условие: квант времени, выделенный процессу истек
3. Системы реального времени
Они должны давать отклик на любое непредсказуемое внешнее
воздействие. В системе есть события, которые должны быть обработаны в любой
ситуации в период за некоторое заданное время
Диспетчеризация:
1. Для пакетных систем:
ü FCFS (first come-first
served). Блокировка становится перед теми
кто новые. При увлечении загрузки вычислительной системы (количество
одновременно запущенных задач) время ожидания в очереди увеличивается, причем
короткие задания должны ждать в очереди столько, сколько должны.
ü SJN (shortest
job next). Следующим будет
выполняться самое короткое задание. Это дисциплина предполагает, что существует
только одна очередь заданий. Shortest
remaining time – самое
короткое время до завершения задания. Они относятся к классу систем, которые
используют невытесняющую многозадачность, т.е. при использовании этих дисциплин
не требуется вмешательство по вычислениям и перераспределениям времени ЦП.
Для систем с разделением времени используются дисциплины
с диспетчеризацией:
round robin (RR) круговая, по окончании кванта времени задача снимается
с ЦП и становится в очередь на выполнение (в конец готовх задач)
При невытесняющей многозадачности механизм распределения
времени ЦП берет на себя диспетчер задач
2. Управление подкачкой и буфером ввода.
В реальных ОС буфер подкачки и буфер ввода процесса
совмещены. Буферизация - это одна
из основных функций ОС. В системе существует buffer pool. Ядро оптимизирует работу
системы с помощью снижения количества обращений к ВЗУ путем буферизации
большинства операций вводы/вывода в buffer pool. По аналогии с кэш-буфером ОЗУ любая современная ОС
имеет программные кэш-буфера. За счет буферизации запроса уменьшается время
доступа к внешним ЗУ и скорость доступа к ОП. Буферный пул представляет собой
набор буферов, которые используются для кэширования блоков файлов к ОЗУ. Это
всё позволяет оптимизировать работу ОС и поэтому нельзя отключать просто так
питание компьютера. Буферизация влияет на эффективность работы системы.
3. Управление разделяемыми ресурсами.
Для реализации этого механизма в ОС существует средство:
передача сигналов между процессами, т.е. возникает программная эмуляция
прерывания. Первый процесс передает первый сигнал другой, другой процесс
производит прерывание. Происходит передача управления на некоторую
предопределенную функцию, задача которой обработать этот сигнал.
В ОС Unix существует стандартная передача параметров внутри
процесса. Все команды реализуются в виде файлов, т.е. пользователь может
добавлять свои команды, которые будут доступны либо ему, либо группе
пользователей или всем пользователям системы (права доступа). ОС UNIX использует большое количество утилит, которые позволяют
реализовать конвейер.
Основные
понятие ОС Unix:
Каждому пользователю представляется свой виртуальный
компьютер, в котром есть все необходимые ресурсы. Время ЦП выделяется на основе
карусельной диспетчеризации (время делится на кванты). Кроме того используется
система приоритетов: используется динамический приоритет обслуживания.
Текущие состояние такого виртуального компьютера,
предоставляемого пользователю называется образом. Образ состоит:
1.
Образ памяти
2.
Значение общих
регистров (РОН)
3.
Состояние открытых
файлов
4.
Текущий каталог
файлов
Образ
процессы размещаются в основной памяти. В системе поддержки новый интерфейс: shell .
Ядро –
программа, код которой содержит:
Первая
часть – обеспечивающая разделение ЦП и ОЗУ между конкурирующими процессами
Вторая
часть – обеспечивающая обработку всех системных вызовов.
Третья
часть – для управления периферическими устройствами
Системные вызовы и аппаратные прерывания – единственные
способы взаимодействия ядра с внешним миром. Обрабатывающие способности ядра
доступны через интерфейс системных вызовов. Периферия связана с ядром через
аппаратные прерывания..
Системы
вызовы – это процедуры/функции, которые находятся внутри ядра UNIX И
поддерживают основные функции системы Системные вызовы можно разделить на три
категории по назначении: ввод/вывод, взаимодействие между процессами,
управление процессами.
Open(), Close(), Read() write() –
ввод/вывод;
Kill() – послать сигнал, pipe() – создать конвейер, socket() – создать сокет
- взаимодействие процессов.
Fork() – создать процесс, exec() – выполнить замену кода, exit() – завершить процесс, wait() – ждать завершения процесса - управление процессами.
Файловая
система Unix, это иерархическая, многопользовательская файловая система. Ее
можно представить в виде дерева:
В
корне дерева находится “корневой каталог”, узлами, отличными от листьев дерева
являются каталоги. Листьями могут являться: файлы (в традиционном понимании —
именованные наборы данных), пустые каталоги (каталоги, с которыми не
ассоциировано ни одного файла). В системе определено понятие имени файла — это
имя, которое ассоциировано с набором данных в рамках каталога, которому
принадлежит этот файл. Например, каталогу D1 принадлежат файлы: N1, N2, N3;
каталогу D0 принадлежат: N4, N5 и D1, последний тоже является файлом, но
специальный. Итак, имя — это имя, которое ассоциировано снабором данных в
контексте принадлежности каталогу. Кроме того, есть понятие полного имени.
Полное имя — это уникальный путь от корня файловой системы до конкретного
файла. Первый символ имени — это корневой каталог “/”, а далее через наклонную
черту перечислены все каталоги, пока не дойдет до нужного файла. Например, файл
N3 имеет полное имя “/D0/D1/N3”. За счет того, что такой путь для каждого файла
в любом каталоге уникален, то мы можем именовать одинаковыми именами файлы в
различных каталогах. Например, имя N4 присутствует в каталогах D0 и D4, но это
разные файлы, так как полные пути к ним различны (/D4/N4, /D0/N4).
Рассмотрим подробнее Индексные
Дескрипторы. ИД — это объект Unix, который ставится во взаимнооднозначное
соответствие с содержимым файла. То есть для каждого ИД существует только
одно содержимое и наоборот, за исключением лишь той ситуации, когда файл
ассоциирован с каким-либо внешним устройством. Напомним содержимое ИД:поле,
определяющее тип файла (каталоги и все остальные файлы); код привилегии/защиты; количество ссылок к данному ИД из
всевозможных каталогов файловой системы; (нулевое значение означает свободу ИД)
длина файла в байтах; даты и времена (время последней записи, дата создания и
т.д.); поле адресации блоков файла.
Определение: Комплекс программных средств, обеспечивающих
поддержку технологий проектирования, кодирования, тестирования и отладки,
называется системой программирования
Проектирование.
Было сказано, что на сегодняшний день достаточно сложно,
а практически невозможно создавать программное обеспечение без этапа
проектирования, такого же долгого, нудного и детального периода, который
проходит во время проектирования любого технического объекта.
К детальному проектированию, которое бы позволяло
некоторым формальным образом описывать создаваемый проект и работать с проектом
в части его детализации. Причем, переход от детализации к кодированию не имел
бы четкой границы. Сегодняшние системы программирования, которые строятся на
объектно ориентированном подходе, частично решают эту проблему.
Следующая проблема проектирования. Мы продекларировали
модули, объявили их взаимосвязи, как-то описали семантику модулей (это тоже
проблема). Но никто не даст гарантии, что этот проект правилен. Для решения
этой проблемы используется моделирование программных систем. То есть, когда
вместе с построением проекта, который декларирует все интерфейсы,
функциональность и прочее, мы можем каким-то образом промоделировать работу
всей или частей создаваемой системы.
Кодирование.
Основной компонент системы кодирования — язык
программирования. В голове каждого программиста лежит иерархия языков
программирования — от машинного кода и ассемблера до универсальных языков
программирования (FORTRAN, Algol, Pascal, C и т.д.), специализированных языков
(SQL, HTML, Java и т.д.)
Мы имеем ЯП и программу, которая написана в нотации этого
языка. Система программирования обеспечивает перевод исходной программы в
объектный язык. Этот процесс перевода называется трансляцией. Объектный язык
может быть как некоторым языком программирования высокого уровня (трансляция),
так и машинный язык (компиляция).
Компилятор — это транслятор, переводящий текст программы
в машинный код.
Интерпретатор — это транслятор, который обычно совмещает
процесс перевода и выполнения программы (компилятор сначала переводит
программу, а только затем ее можно выполнить). Он, грубо говоря, выполняет
каждую строчку, при этом машинный код не генерируется, а происходит обращение к
некоторой стандартной библиотеке программ интерпретатора. Если результат работы
компилятора — код программы на машинном языке, то результат работы транслятора
— последовательность обращений к функциям интерпретации. При этом, также как и
при компиляции, когда создается оттранслированная программа, у нас тоже может
быть создана программа, но в этом интерпретируемом коде (последовательности
обращений к функциям интерпретации).
Понятна разница — компиляторы более эффективны, так как в
интерпретаторах невозможна оптимизация и постоянные вызовы функций также не
эффективны. Но интерпретаторы более удобны за счет того, что при интерпретации
возможно включать в функции интерпретации множество сервисных средств: отладки,
возможность интеграции интерпретатора и языкового редактора (компиляция это
делать не позволяет).
На сегодняшний день каждый из методов — и компиляция и
интерпретация занимают свои определенные ниши.
Этапы тестирования и отладки
Тестирование — это поиск ситуации, в которой программный продукт не
работает. При этом используются наборы тестов, определяющих внешнюю нагрузку на
программный продукт. Можно сказать, что программа оттестирована на определенном
наборе тестов. Утверждение, что программа оттестирована вообще в общем случае
некорректно.
Отладка — это процесс поиска, локализации и исправления ошибки.
Отладка осуществляется, когда мы имеем программную систему, и знаем, что она не
работает на каком-то из тестов.
Проблемы тестирования и отладки — это есть проблемы
крайней важности. По оценкам, на тестирование и отладку затрачивается порядка
30% времени разработки проекта. Сложность тестирования и отладки зависит от
качества проектирования и кодирования. Тестирования зачастую выполнить сложно и
часто для тестирования используются модельные нагрузки, напримермы тестируем
бортовую сеть самолета, что-то мы сможем сделать на земле, а что-то так или
иначе делается уже на реальном полете, когда собираются данные и фиксируется
работает система или не работает.
См.
вопрос 107.
Система программирования и трансляции — очень наукоемкая
область программного обеспечения. Организация трансляторов — это было первое
применение теоретических достижений науки, которые заключались в следующем. За
счет возможности использования тех или иных грамматик (наборов формальных
правил построения лексических конструкций и синтаксических правил), можно
разделить программную реализацию лексических и синтаксических анализаторов на
два компонента. Первый компонент — это программа, которая в общем случае ничего
не знает о том языке, который она будет анализировать. Второй компонент — это
набор данных, представляющий из себя формальное описание свойств языка, который
мы анализируем. Совмещение этих двух компонентов, позволяет автоматизировать
процесс построения лексических и синтаксических анализаторов, а также
генераторов кода, для различных языков программирования. Современные системы
программирования в своем составе имеют средства автоматизации построения
компиляторов. Для ОС UNIX есть пакет LEX — пакет генерации лексических
анализаторов, и есть пакет YACC — для генерации синтаксических анализаторов.
Это все достигается за счет возможности формализации свойств языка, и
использования этого формального описания, как параметров для тех или иных
инструментальных средств.
Транслятор — это программа, которая переводит программу в
нотации одного языка, в нотацию другого языка.
Компилятор — это транслятор, переводящий текст программы
в машинный код.
Интерпретатор — это транслятор, который обычно совмещает
процесс перевода и выполнения программы (компилятор сначала переводит
программу, а только затем ее можно выполнить). Он, грубо говоря, выполняет
каждую строчку, при этом машинный код не генерируется, а происходит обращение к
некоторой стандартной библиотеке программ интерпретатора. Если результат работы
компилятора — код программы на машинном языке, то результат работы транслятора
— последовательность обращений к функциям интерпретации. При этом, также как и
при компиляции, когда создается оттранслированная программа, у нас тоже может
быть создана программа, но в этом интепретируемом коде (последовательности
обращений к функциям интерпретации).
Понятна разница — компиляторы более эффективны, так как в
интерпретаторах невозможна оптимизация и постоянные вызовы функций также не
эффективны. Но интерпретаторы более удобны за счет того, что при интерпретации
возможно включать в функции интерпретации множество сервисных средств: отладки,
возможность интеграции интерпретатора и языкового редактора (компиляция это
делать не позволяет).
Интерпретатор, в отличие от транслятора, может выбирать
одну за одной инструкции и сразу их выполнять. При интерпретации (в отличие от
трансляции или компиляции), может быть начато выполнение программы которая
имеет синтаксические ошибки.
Кросс-трансляторы.
Если рассматривать системы трансляции, то есть еще один
вид трансляторов — кросс-трансляторы (и кросс-компиляторы). Кросс транслятор
работает на некотором типе вычислительной системы, которая называется
инструментальная ЭВМ. Инструментальная ЭВМ может характеризоваться своей
архитектурой и/или операционным окружением, которое функционирует на ней.
Кросс-транслятор обеспечивает перевод программы, записанной в нотации
некоторого языка, в код вычислительной системы, отличной от инструментальной
ЭВМ. Та вычислительная система,для которой генерируется код, называется
объектной ЭВМ, и соответственно, тот код, который мы получаем, называется
объектным кодом (это не тоже, что объектный модуль). На самом деле, бывают
ситуации, когда тип объектной машины совпадает с типом инструментальной машины,
но отличаются операционные среды, которые функционируют на данных машинах. В
этом случае также нужна система кросс-программирования.
Кросс-трансляторы также нужны разработчикам новых машин,
которые хотят параллельно с ее появлением создать программное обеспечение,
которое будет работать на этой машине.
Обработка модульной программы.
Пусть есть некоторая группа модулей и есть
соответствующие этим модулям тексты программ, на языках, используемых для программирования.
Языковыми средствами определены связи между модулями.
Первый этап, который происходит — это этап трансляции
(либо компиляции) каждого из модулей. После трансляции модуля в виде исходного
текста мы получаем объектный модуль — это есть машинно-ориентированное
представление программы, в котором присутствуют фрагменты программы в машинном
коде, а также информация о необходимых внешних связях (ссылки на объекты в
других модулях). Информация о необходимых внешних связях (помимо информации о
местонахождении внешних объектов) также включает в себя ссылки на те места
машинного кода, которые пытаются использовать адреса внешних объектов, т.е. на
те недообработанные команды, которые нельзя обработать из-за того, что при
трансляции модуля еще не известно где какие объекты находятся. Т.е. объектный
модуль — это машинное представление программного кода, в котором еще не
разрешены внешние связи. Объектный модуль может содержать дополнительную
информацию (например, информацию, необходимую для отладки — таблицы имен и
т.д.).
Для каждого из исходных модулей мы получим объектный
модуль. После этого все объектные модули, которые составляют нашу программу, а
также модули требуемых библиотек функций, поступают на вход редактору внешних связей.
Редактор внешних связей моделирует размещение объектных модулей в оперативной
памяти и разрешает все связи между ними. В итоге мы получаем исполняемый
модуль, который может быть запущен как процесс. Иногда трансляторы в качестве
результата трансляции выдают модуль на ассемблере соответствующей машины.
В эту же схему также часто добавляется этап оптимизации
программы, причем оптимизация может происходить до этапа трансляции (т.е. в
терминах исходного языка) или/и после трансляции (в терминах машинного кода).
Например до трансляции можно вычислить все константные подвыражения и т.д. Для
машин типа PC этап оптимизации может быть не столь важен, потому что этот
вопрос обычно разрешается покупкой какого-нибудь более быстрого компонента, но
есть класс машин (mainframe), для которых этот этап необходим.
Давайте посмотрим на проблему кодирования с другой
стороны. Мы посмотрим как устроен этап трансляции.
Каждый транслятор при обработке программы выполняет
следующие действия.
Лексический анализ.
Синтаксический анализ.
Семантический анализ и генерация кода.
Лексический анализ.
Лексический анализатор производит анализ исходного текста
на предмет правильности записи лексических единиц входного языка. Затем он
переводит программу из нотации исходного текста в нотацию лексем.
Лексические единицы — это минимальные конструкции,
которые могут быть продекларированы языком. К лексическим единицам относятся:
идентификаторы
ключевые слова
код операции
разделители
константы
Вещественные константы в некоторых трансляторах могут
представляться в виде группы лексических единиц, каждая из которых является
целочисленной константой.
После этого исходная программа переводится в вид лексем.
Лексема — это некоторая конструкция, содержащая два значения — тип лексемы и
номер лексемы.
|
Тип лексемы |
№ лексемы |
Тип лексемы — это код, который говорит о том, что данная
лексема принадлежит одной из обозначенных нами групп. к примеру лексема может
быть ключевым словом, тогда в поле типа будет стоять соответствующий номер. Номер
лексемы уточняет конкретное значение этой лексемы. Если, к примеру, было
ключевое слово begin, то номер лексемы будет содержать число, соответствующее
ключевому слову begin. Если тип лексемы — идентификатор, то номер лексемы будет
номером идентификатора в таблице имен которую создаст лексический анализатор.
Если тип лексемы — константа, то номер лексемы тоже будет ссылкой на таблицу с
константами.
После лексического анализатора мы получаем компактную
программу, в которой нет уже ничего лишнего (пробелов, комментариев, и т.д.).
Вся программа составлена в виде таких лексем, и поэтому она более компактна и
проста.
Синтаксический анализ.
Программа в виде лексем поступает на вход синтаксическому
анализатору, который осуществляет проверку программы на предмет правильности с
точки зрения синтаксических правил. Результатом работы синтаксического
анализатора является либо информация о том, что в программе имеются
синтаксические ошибки и указание координат этих ошибок и их диагностика, либо
представление программы в некотором промежуточном виде. Этим промежуточным
видом может быть, предположим, бесскобочная запись, либо запись в виде деревьев
(хотя одно однозначно сводится кдругому). Это промежуточное представление,
которое является синтаксически и лексически правильной программой, поступает на
вход семантическому анализатору.
Семантический анализ.
Семантика — это все то, что не описывается синтаксисом и
лексикой языка. К примеру, лексикой и синтаксисом языка сложно описать то, что
нехорошо передавать управление в тело цикла не через начало цикла. Выявление
таких ошибок — одна из функций семантического анализа. при этом семантический
анализатор ставит в соответствие синтаксически и семантически правильным
конструкциям объектный код, т.е. происходит генерация кода.
Проходы трансляторов.
Мы с вами посмотрели на транслятор с точки зрения
функциональных этапов. Но очень часто мы слышим об однопроходных трансляторах,
двухпроходных, трехпроходных, и т.д. С проблемой трансляции связано понятие
"проход". Проход — это полный просмотр некоторого представления
исходного текста программы.
Есть трансляторы однопроходные. Это означает, что
транслятор просматривает исходный текст от начала и до конца, и к концу
просмотра (в случае правильности программы) он получает объектный модуль.
Если мы посмотрим Си-компилятор, с которым вы работаете,
то скорее всего он двухпроходный. Первый проход — это работа препроцессора.
После первого прохода появляется чистая Си-программа без всяких препроцессорных
команд. На Втором проходе происходит лексический, синтаксический и
семантический анализ, и в итоге вы получаете объектную программу в виде
ассемблера.
Количество проходов в некоторых трансляторах связано с
количеством этапов, т.е. бывают реализации, для которых удобно сделать
отдельный проход для лексического анализа, отдельный проход для синтаксического
анализа и отдельный проход для семантического анализа. Если транслятор
многопроходный, то возникает проблема сохранения промежуточной нотации
программы между проходами.
Make-файл. К этой же проблеме кодирования относится
средство поддержки разработки программных проектов. Одним из популярных
средств, ориентированных на работу одного или нескольких программистов,
является т.н. make-средство. Название происходит от соответствующей команды ОС
UNIX. C make-командой связан т.н. make-файл, в котором построчно указываются
взаимосвязи всевозможных файлов, получаемых при трансляции, редактировании
связей, и т.д., и те действия, которые надо выполнить, если эти взаимосвязи
нарушаются. В частности можно сказать, что некоторый исполняемый файл зависит
от группы объектных файлов, и если эта связь нарушена, то надо выполнить
команду редактирования связей (link ...). Что значит нарушение зависимости и
что значит связь? Make-команда проверяет существование этих объектных файлов.
Если они существуют, то времена их создания должны быть более ранние, чем время
создания исполняемого файла. В том случае, если это правило будет нарушено (а
это проверяет make-команда), то будет запущен редактор связей (link), который заново
создаст исполняемый файл. Тем самым такое средство позволяет нам работать с
программой, состоящей из большого количества модулей, и не заботитьсяо том,
соответствует ли в данный момент времени исполняемый файл набору объектных
файлов или не соответствует (можно просто запустить make-файл).
Make-файлы могут содержать большое количество такого рода
строчек, которые таким образом свяжут не только объектные и исполняемые файлы,
но и каждый из исходных файлов с соответствующим объектным файлом, и т.д. Т.е.
суть такова, что после работы не надо каждый раз для каждого файла запускать
компилятор, редактор связей, а можно просто запустить make-файл, а он уже сам
определит и выберет те файлы, которые нужно корректировать, и выполнит
необходимые действия. На самом деле такими средствами сейчас обладают почти все
системы программирования.
Система контроля версий. Если make-файл — это система,
предназначенная для одного программиста, в лучшем случае, для нескольких
программистов, то если у нас существует большой коллектив, который делает
большой программный проект, то используется т.н. система контроля версий,
которая позволяет организовывать корректную работу больших коллективов людей
над одним и тем же проектом, которая основана на возможности декларации версий и
осуществлении контроля за этими версиями.
Ассемблеры.
Ассе́мблер (от англ. assemble —
собирать) — компилятор с языка ассемблера
в команды машинного языка.
Под каждую архитектуру процессора
и под каждую ОС или семейство
ОС существует свой Ассемблер. Существуют также так называемые
«кросс-ассемблеры», позволяющие на машинах с одной архитектурой (или в среде
одной ОС) ассемблировать программы для другой целевой архитектуры или другой
ОС, и получать исполняемый код в формате, пригодн Наиболее известными
ассемблерами для операционной системы DOS являлись Borland Turbo Assembler (TASM)
и Macro Assembler (MASM). Также в своё время был популярен простой
ассемблер A86.
При появлении операционной системы Microsoft Windows
появилось расширение TASM, именуемое TASM32, позволившее создавать программы
для выполнения в среде Windows. Последняя известная версия Tasm — пятая,
включая различные к ней дополнения. Но официально развитие программы полностью
остановлено.
Совсем по-другому обстоит дело с программой MASM. Она
продолжает развиваться и по сей день, последние версии включены в наборы DDK.
Но версия программы, направленная на создание программ для DOS, не развивается.
Для более удобного создания программ на ассемблере для
Windows появился пакет, названный MASM32, автором которого является Стивен
Хатчессон (aka hutch--). Более подробная информация доступна на сайте пакета
MASM32
Настоящие ценители языка используют ассемблер FASM,
бескорыстно предоставленный в общее пользование и написанный Томазом Грижтаром
(Tomasz Grysztar). Официальный сайт ассеблера FASM
Linux-based
Несколько иначе обстоит ситуация с ассемблерами для
другой известной операционной системы GNU/Linux. В её состав входит компилятор gcc,
включающий в себя ассемблер gas (GNU Assembler)… Но в нём используется AT&T синтаксис,
в отличие от Intel-синтаксиса,
используемого в большинстве остальных ассемблеров.
Также существует открытый проект ассемблера, версии
которого доступны под различные операционные системы, и который позволяет
получать объектные файлы
для этих систем. Называется этот ассемблер NASM
(Netwide Assembler).
YASM это переписанная с нуля версия NASM под
лицензией BSD (с
некоторыми исключенями).
FASM — молодой, но быстро развивающийся и
завоёвывающий популярность ассемблер, распространяется с исходным кодом, есть
версии для KolibriOS, GNU/Linux и Microsoft Windows, использует Intel-синтаксис.
Также fasm поддерживает инструкции AMD64. Достоинством является очень
сильный макроязык,
разнообразие форматов выходных файлов и несколько изменённый (в лучшую сторону,
но несколько непривычный для «старой школы») синтаксис.
См. вопрос 109
Ключевым мом явл то, что главная задача ЭВМ: вып-ть ф-ии инф компоненты в рамках всей инф системы.
Срв – аппаратно-программный комплекс, кот обесп получение реакции в предсказ-ый интервал времени на предсказ-ый поток внешн событий.
В ОС общего назн-ия: система д успевать отреаг-ть на событие, произошедшее на контролир объекте за время дельта т, кот явл критич для этого события, дельта т различен для каждого из конкр-ых соб-й (до пред-ся на этапе проектир-ия системы), система д реаг-ть сразу на неск-ко соб-й одновр-но.
Срв состоит: аппаратура или оборуд-ие, ОС РВ, приложения и прикл задачи.
ОС общего назнач-ия обесп управление ресурсами.
ОС РВ разраб-ся на конкретное прим-ие, на наличие внешних источ-ов данных. Основная задача – своевр-ая обраб-ка соб-ий.
Кроссплатформленные ОС: среда разраб-ки отлич-ся от среды прим-ия (м не быть компилятора, ФС)
Сигнал упр событие
![]()
![]()
![]()
![]()

1й блок – диктует треб-ия в реальном масштабе вр.
2й – управляет связью с оборуд-ем
3й – контролирует всю деят-ть
Особ-ти СРВ: такая система д б искл-но надежна, такая система велика и сложна и дорого стоит, такая система д реагировать на многочисл-ые события с гарантир-ым временем ответа, в такой системе д б облегчен интерфейс, система д б эффективна.
Жесткого- гарантирует обр-ку соб-й за опред врем интервал
Мягкого- как правило успевает вып-ть заданные действия за заданное время
Сущ-ют кроссплатформы, это когда задача разработана под одну систему, но он может работать и под др систему. Сущ-ют специальные эмуляторы для этого(дорого стоят, жрут много ресурсов)
Аппаратурная среда – это чайники и т д , микрокомпьютер – это мобилы и все такое.
Сущ-ют разные классы, в зависимости от того, где применяются системы
ОСРВ делятся на два класса - ОС "жесткого" и "мягкого" реального времени.
Жесткого- гарантирует обр-ку соб-й за опред врем интервал
Мягкого- как правило успевает вып-ть заданные действия за заданное время
|
Количество операционных систем реального времени, несмотря на их специфику, очень велико. В последнем обзоре "Real-Time Magazine" (NN 2-3,97) было упомянуто около шестидесяти систем. Наверное, этих систем еще больше, если иметь в виду некоммерческие операционные системы реального времени. Однако сама специфика применения операционных систем реального времени требует гарантий надежности, причем гарантий в том числе и юридических - этим, видимо, можно объяснить тот факт, что среди некоммерческих систем реального времени нет сколько-нибудь популярных. |
|
Среди коммерческих систем реального времени можно выделить группу ведущих систем - по объемам продаж и по популярности. Эти системы: VxWorks, OS9, pSOS, LynxOS, QNX, VRTX. |
Например классификация по ядру:
монолитное ядро
с модульнрой организацией
Время реакции системы 2-3 сек, если больше, то пользователь начинает психовать,вот.
Время реакции системы является ключевым
Переключение контекста: это когда обрабат-ся одна задача потом идет переключение на др
Эффективная система – это когда минимальное время реакции. Многозадачность – миним время обработки событий.
Лучше когда система маленькая, есть возможность запуска из ПЗУ.( Это свойство операционных систем реального времени - одно из базовых. Оно позволяет создавать компактные встроенные СРВ повышенной надёжности, с ограниченным энергопотреблением, без внешних накопителей.)
Производители систем реального времени стремятся к тому,
чтобы размеры ядра и обслуживающих модулей системы были невелики
Это часики (таймеры).
|
Такие инструменты, как средства работы с таймерами, необходимы для систем с жестким временным регламентом, поэтому развитость средств работы с таймерами - необходимый атрибут операционных систем реального времени. Эти средства, как правило, позволяют: |
|
· измерять и задавать различные промежутки времени (от 1 мкс и выше), |
|
· генерировать прерывания по истечении временных интервалов, |
|
· создавать разовые и циклические будильники |
Процесс проектирования конкретной системы реального времени начинается с тщательного изучения объекта. Разработчики проекта исследуют объект, изучают возможные события на нем, определяют критические сроки реакции системы на каждое событие и разрабатывают алгоритмы обработки этих событий. Затем следует процесс проектирования и разработки программных приложений. Мечтой каждого разработчика является идеальная операционная система реального времени, в которой приложения реального времени разрабатываются на языке событий объекта. Но это - мечта. В реальности же разработчик должен перевести язык событий объекта в сценарий многозадачной работы приложений операционных систем реального времени, стараясь оптимательно использовать предоставленные ему специальные механизмы и оценить времена реакций системы на внешние события при этом сценарии.