32 lines
3.1 KiB
TeX
32 lines
3.1 KiB
TeX
\documentclass{article}
|
||
|
||
\input{settings/common-preamble}
|
||
\input{settings/bmstu-preamble}
|
||
\input{settings/fancy-listings-preamble}
|
||
\author{Сидякин Иван Михайлович}
|
||
\title{Программное обеспечение телекоммуникационных систем}
|
||
\date{2023-02-09}
|
||
|
||
\begin{document}
|
||
\sloppy
|
||
\fontsize{14}{18}\selectfont
|
||
\maketitle
|
||
\tableofcontents
|
||
\newpage
|
||
\section{Введение}
|
||
Erlang -- специально разработан для телекоммуникационных систем. Позволяет избежать неописанных состояний, неожиданного поведения.
|
||
|
||
Микропроцессы (делают минимальную задачу) объединены иерархически, над процессом есть процесс особого вида, который сам не делает, но управляет другими процессами. Самое главное, что делает процесс верхнего уровня - обрабатывает ошибки (останавливает работу, аналог выбрасывания исключения).
|
||
|
||
Конкурентно-ориентированный язык программирования. В первую очередь применяется для распределенных вычислений и конкурентных операций. Способен исполнять много небольших легковесных процессов, т.е. тысячи, десятки тысяч, и более. Процессы выполняют маленькие задачи и обмениваются сообщениями, которые складываются в очереди сообщений. Кластеры маленьких процессов могут быть распределены.
|
||
|
||
Процессы взаимодействуют друг с другом только с помощью сообщений. Отсутствуют критические секции и общая память. Основной упор сделан на защиту от сбоев и надежность.
|
||
|
||
Процессы могут следить за ошибками в других процессах. Когда процесс завершается, он автоматически сигнализирует об этом всем связанным с ним процессам
|
||
|
||
Функциональный ЯП, отсутствие side-effects. Программа сравнима с формулой или электрической схемой, вычисляется сразу целиком, нет промежуточных действий. Использует виртуальную машину и используется всегда в паре с OTP -- open telecom platform.
|
||
|
||
В Erlang не очень много типов данных: целые, действительные, атомы (именованные символические константы), заполнители \code{_}, \code{@}.
|
||
|
||
\end{document}
|