【導讀】商業(yè)產品上經過時間的驗證成熟。200K行C代碼幾千行Erlang代碼。尺寸很小適合于嵌入式。也適合做桌面程序如p2p. BEAM分成不同版本的目的是提高性能避免不。概念模擬操作系統(tǒng)。轉入Erlang進程調度開始執(zhí)行init:boot. 仿照Unix的哲學:一切都是文件。支持可執(zhí)行文件和動態(tài)庫。kernelpoll支持大量的句柄。Erlang使用timer有3種方式:。處理子進程退出的情況。處理port_task事件,也就是port的IO事件。如果沒有活躍的進程就sys_schdule阻塞在底層的IO中。根據(jù)process的優(yōu)先級選出一個進程來調度。用地址來區(qū)分數(shù)據(jù)類型。靜態(tài)分析opcode實現(xiàn)bitstring操作。減少內存搬動大大提高操作效率。opid{X,Y,Z}在發(fā)到網(wǎng)絡的時候發(fā)出去的格式是{sysname,Y,這個index來構造新的pid,即{index,Y,Z}。每個CPU一個內存池。異步處理和poll結合。完善的驅動程序開發(fā)接口甚至可以多線程編程。i_drv實現(xiàn)網(wǎng)絡底層服務如tcpudpsctp. 完成驅動程序耗時操作