Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Демкин_Экзамен.doc
Скачиваний:
10
Добавлен:
26.11.2018
Размер:
1.2 Mб
Скачать
  1. Расшифруйте понятия “протокол”, “интерфейс”. В чем разница между ними? какие основные виды интерфейсов существуют у компьютерных программ согласно стандарта posix? опишите их.

Интерфе́йс (от англ. interface — поверхность раздела, перегородка) — совокупность средств, методов и правил взаимодействия между элементами системы.

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

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

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

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

окол, что может осуществляться как на аппаратном, так и на программном уровне.

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

POSIX® (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.

Состав

Стандарт состоит из четырёх основных разделов:

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

Оболочка и утилиты (Shell and utilities) — описание утилит и командной оболочки sh, стандарты регулярных выражений.

Системные интерфейсы (System interfaces) — список системных вызовов языка Си.

Обоснование (Rationale) — объяснение принципов, используемых в стандарте.

Какие основные виды интерфейсов существуют у компьютерных программ согласно стандарта POSIX?