Erlang???? - PowerPoint PPT Presentation

About This Presentation
Title:

Erlang????

Description:

Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson. ... – PowerPoint PPT presentation

Number of Views:182
Avg rating:3.0/5.0
Slides: 25
Provided by: Goog491
Category:
Tags: ericsson | erlang

less

Transcript and Presenter's Notes

Title: Erlang????


1
Erlang????
  • ?? 2009/03/11
  • http//blog.yufeng.info

2
What is Erlang
  • Erlang is a general-purpose programming language
    and runtime environment. Erlang has built-in
    support for concurrency, distribution and fault
    tolerance. Erlang is used in several large
    telecommunication systems from Ericsson.

3
What sort of applications is Erlang particularly
suitable for
  • Distributed, reliable, soft real concurrent
    systems.
  • Telecommunication systems, e.g. controlling a
    switch or converting protocols.
  • Servers for Internet applications, e.g. a mail
    transfer agent, an IMAP-4 server, an HTTP server
    or a wap stack
  • Telecommunication applications, e.g. handling
    mobility in a mobile network or providing unified
    messaging.
  • Database applications which require soft realtime
    behaviour.
  • Erlang is good at solving these sorts of problems
    because this is the problem domain it was
    originally designed for. Stating the above in
    terms of features
  • Erlang provides a simple and powerful model for
    error containment and fault tolerance (supervised
    processes).

4
???
  • Concurrency and message passing are a fundamental
    to the language. Applications written in Erlang
    are often composed of hundreds or thousands of
    lightweight processes. Context switching between
    Erlang processes is typically one or two orders
    of magnitude cheaper than switching between
    threads in a C program.
  • Writing applications which are made of parts
    which execute on different machines (i.e.
    distributed applications) is easy. Erlang's
    distribution mechanisms are transparent programs
    need not be aware that they are distributed.
  • The OTP libraries provide support for many common
    problems in networking and telecommunications
    systems.
  • The Erlang runtime environment (a virtual
    machine, much like the Java virtual machine)
    means that code compiled on one architecture runs
    anywhere. The runtime system also allows code in
    a running system to be updated without
    interrupting the program.

5
What is OTP?
  • OTP (Open Telecom Platform) is a large collection
    of libraries for Erlang to do everything from
    compiling ASN.1 to providing a WWW server. Most
    projects using "Erlang" are actually using
    "Erlang/OTP", i.e. the language and the
    libraries. OTP is also open source.

6
Erlang???
  • ???
  • ???SMP???
  • ???????
  • ???????
  • ??????????????
  • ???????

7
???????????Erlang???
  • ??Reia????
  • ???????
  • ??
  • ??
  • ???
  • ??
  • ??

8
Erlang????
  • ????
  • ????
  • ??????
  • ????
  • ?????????
  • ?????
  • ??????
  • ????

9
Erlang?????
  • 200K?C?? ???Erlang??
  • ???ACE??
  • ?????
  • ???? ??????
  • 1.5M
  • ???????? ?p2p

10
Erlang ERTS????????????
  • IO??
  • kernel poll ?epoll kqueue
  • ?????
  • timewheel
  • ??????
  • process
  • coroutine
  • fiber
  • smp

11
????????
  • ???????
  • ???????
  • ?????
  • ????

12
????????
  • ??
  • ???
  • ????
  • driver?????
  • ????
  • process_lock
  • ???mutex
  • ??
  • PORT ????

13
???PORT
  • ??Unix??? ??????
  • ??????CGI
  • ?????????
  • ??????????

14
???????
  • C??(EI)
  • Java (jinterface)
  • Cobra
  • TCP/HTTP

15
RPC
  • ???RPC
  • ???????up down
  • ???????????
  • ??????

16
?????
  • ?????
  • ???? ?????????
  • ????????
  • ??? ?????

17
????
  • OS mon
  • SNMP
  • HTTP

18
????
  • ?????????? Diskless
  • ????? ????????
  • ????

19
????
  • ?????shell
  • ssh sftp
  • ????

20
????
  • Windows
  • (smp?????)
  • nix
  • ??????????

21
?????????
  • Erlang ??? ACE
  • ????? ??
  • ????
  • ????
  • ????
  • ????

22
????
  • FP??
  • ?????
  • ???
  • ???

23
????
  • Facebook
  • ??
  • ??
  • ??
  • ???startup??

24
QA
  • ????
Write a Comment
User Comments (0)
About PowerShow.com