Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_biletam.doc
Скачиваний:
12
Добавлен:
23.12.2018
Размер:
686.08 Кб
Скачать

Пять поколений языков программирования Первое поколение

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

Основная отличительная особенность: ориентирование на конкретный компьютер.

Второе поколение

Конец 1950-х - начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык.

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

Третье поколение

1960-е г.г. - Языки программирования высокого уровня. Их характеристики:

  • относительная простота;

  • независимость от конкретного компьютера;

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

Простота языка позволяет писать небольшие программы и людям, которые не являются профессиональными программистами.

Основная отличительная особенность языка третьего поколения: ориентирование на алгоритм (алгоритмические языки).

Примеры: Си, Паскаль, Джава, Бейсик, и многие другие.

Всего в мире существует около 200 популярных языков программирования третьего уровня.

Четвертое поколение

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

Часто относят: SQL, SGML ( HTML, XML ), Prolog, и многие другие узкоспециализированных декларативных языков. Правда ряд языков, которые относят к четвертому поколению, не являются языками программирования как таковыми. Например SQL является языком запросов к базам данных, HTML является языком разметки гипертекста, а не полноценными языками программирования, скорее они выступают своеобразными специализированными дополнениями к языкам программирования. Тоже самое касается XML.

Основная отличительная особенность языка четвертого поколения: приближение к человеческой речи (декларативные языки).

Некоторые языки имеют черты одновременно и третьего и четвертого поколений.

Пятое поколение

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

Производители пропроиетарних программных продуктов часто пытаются приписать своим продуктам какие маркетинговые особенности, и порой указывают что их продукт - это «язык пятого поколения». В действительности, все эти продукты - это просто среды для ускоренного создания продуктов (Rapid Application Development - RAD), и используют языки третьего и четвертого поколений.

Речь пятого поколения вытеснит ли существенно потеснит языка третьего (напр. Java) и четвертого поколения (например SQL) за счет значительно увеличенной производительности труда программиста - в 10-1000 раз. По прогнозам, 5GL будет оперировать мета-мета-данными.

Сейчас существует единственный язык, который работает с мета-мета-данными, - это язык команд менеджеров пакетов или менеджеров зависимостей, таких как apt, yum, smart, maven, cpan и другие. Они оперируют над метаданными о метаданных о данных в пакетах. Использование apt-get, yum и smart действительно чрезвычайно повысило производительность системных администраторов - примерно в 1000-и дело. Использование менеджеров зависимостей, таких как maven, cpan, rakudo, pim, easy_install, действительно значительно повысило производительность программистов, примерно в 10-ть раз. К сожалению, эти языки являются языками командной строки и не являются языками программирования.

38.

Система программирования — это система для разработки новых программ на конкретном языке программирования.

Составные систем программирования:

• компилятор или интерпретатор;

• интегрированная среда разработки;

• средства создания и редактирования текстов программ;

• обширные библиотеки стандартных программ и функций;

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

• "дружественная" к пользователю диалоговая среда;

• многооконный режим работы;

• мощные графические библиотеки; утилиты для работы с библиотеками

• встроенный ассемблер;

• встроенная справочная служба;

• другие специфические особенности.

 Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, системы программирования, ориентированные на создание Windows-приложений:

• пакет Borland Delphi (Дельфи) — предоставляющий качественные и очень удобные средства визуальной разработки.

• пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.

• пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.

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

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

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

Интерпретатор — переводит и выполняет программу строка за строкой.

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

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

39.

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

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

К локальным сетям (Local Area Network, LAN) обычно относят сети, компьютеры которых сосредоточены на относительно небольших территориях (как правило, в радиусе до 1-2 км). Классическим примером локальных сетей является сеть одного предприятия, расположенного в одном или нескольких стоящих рядом зданиях. Небольшой размер локальных сетей позволяет использовать для их построения достаточно дорогие и высококачественные технологии, что обеспечивает высокую скорость обмена информацией между компьютерами.

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

Не так давно к двум указанным типам сетей добавился еще один – так называемые городские сети (Metropolitan Area Network, MAN). Такие сети предназначены для обеспечения взаимодействия компьютеров и/или локальных сетей, рассредоточенных на территории крупного города (как правило, в радиусе до 100 км), а также для подключения локальных сетей к глобальным. Для построения таких сетей используются достаточно качественные цифровые линии связи, позволяющие осуществлять взаимодействие на относительно высоких по сравнению с глобальными сетями скоростях. Независимо от того, какую территорию покрывает сеть, какие технологические решения лежат в основе ее организации, существуют общие принципы сетевого взаимодействия, которым должно подчиняться функционирование сети. Именно выработка таких общих принципов способствовала в свое время появлению Интернет (Internet) как объединенной сети (иногда даже используется термин "гиперсеть"), собравшей в своем составе локальные, городские и глобальные сети всей планеты.

 

40.

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

  • LAN (Local Area Network) - локальная вычислительная сеть, самый распространенный тип вычислительных сетей, встречается в жилых домах, в конторах, в игротеках в офисах мелких и крупных компаний и т. д.. Отличается от всех последующих простотой создания и администрирования, то есть мелкому офису при небольшом торговом центре не обязательно нанимать на работу системного администратора чтобы он следил за локальной сеткой и в случае неисправности начинал ее исправлять, это лишнее. Тем более что если куплено хорошее оборудование, то сеть будет работать устойчиво. Существует так же одна небольшая подгруппа LAN - HAN (Home Area Network), домашняя вычислительная сеть. Так изредка называют домашние компьютерные сети. Данный термин применим к сетям, созданным между домашними компьютерами. LAN по определению больше походит как обобщающий термин: компьютерные сети офисов и домов. Принципиально между LAN и HAN нет совершенно никакой разницы.

  • MAN (Metropolitan Area Network) - это городская вычислительная сеть. Состоит из провайдеров - поставщиков сети и обычных пользователей - клиентов, которые используют какую-либо линию связи для соединения с остальными членами сети. Такие сети, на данный момент, у нас встречаются довольно редко. Зарубежом создание таких сетей уже давно и плодотворно практикуется.

  • WAN (Wide Area Network) - это глобальная (мировая, региональная) вычислительная сеть, соединяющая провайдеров из разных городов мира в одну единую вычислительную сеть, или все LAN и MAN соединены в единое целое. Иными словами, WAN - это по сути тот же Интернет, но о нем немного позже.

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

Региональная сеть — сеть, соединяющая мно­жество локальных сетей в рамках одного района, города или региона.

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

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

Локальные вычислительные сети (ЛВС) могут входить в качестве компонентов в состав региональной сети; региональные сети — объединяться в составе глобальной сети; наконец, глобальные сети могут образовывать еще более крупные структуры. Самым большим объединением компьютерных сетей в масштабах планеты Земля на сегодня является «сеть сетей» — Интернет.

Интересным примером связи локальных и глобальных сетей является виртуальная частная сеть (Virtual Private Network, VPN). Так называется сеть организации, получающаяся в результате объединения двух или нескольких территориально разделенных ЛВС с помощью общедоступных каналов глобальных сетей, например, через Интернет.

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

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

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

41.

Модель взаимодействия открытых систем.

В начале 80-х годов ряд международных организаций по стандартизации - ISO, ITU-T и некоторые другие - разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.

В модели OSI (рис. 1.25) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств.

Рис. 1.25. Модель взаимодействия открытых систем ISO/OSI

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

42.

Стеки

Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Наиболее популярными являются стеки: TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA и OSI. Все эти стеки, кроме SNA на нижних уровнях - физическом и канальном, - используют одни и те же хорошо стандартизованные протоколы Ethernet, Token Ring, FDDI и некоторые другие, которые позволяют использовать во всех сетях одну и ту же аппаратуру. Зато на верхних уровнях все стеки работают по своим собственным протоколам. Эти протоколы часто не соответствуют рекомендуемому моделью OSI разбиению на уровни. В частности, функции сеансового и представительного уровня, как правило, объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель OSI появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот. Компьютерные сети, как правило, состоят из различного оборудования разных производителей, и без принятия всеми производителями общепринятых правил построения ПК и сетевого оборудования, обеспечить нормальное функционирование сетей было бы невозможно. То есть для обеспечения нормального взаимодействия этого оборудования в сетях необходим единый унифицированный стандарт, который определял бы алгоритм передачи информации в сетях. В современных вычислительных сетях роль такого стандарта выполняют сетевые протоколы. В связи с тем, что описать единым протоколом взаимодействия между устройствами в сети не представляется возможным, то необходимо разделить процесс сетевого взаимодействия на ряд концептуальных уровней (модулей) и определить функции для каждого модуля и порядок их взаимодействия, применив метод декомпозиции. Используется многоуровневый подход метода декомпозиции, в соответствии с которым множество модулей решающих частные задачи упорядочивают по уровням образующим иерархию, процесс сетевого взаимодействия можем представить в виде иерархически организованного множества модулей.

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