Erlang emulator 实现分析 mryufeng@gmail.com 2007/10.

Slides:



Advertisements
Similar presentations
第二章 中国的自然环境 地理组 王铁塔. §2.1 地形和地势 学习目标: 1 、 知道我国主要的地形、山脉的名称及山脉 走向的概念。 2 、通过阅读统计图表,总结我国山区面积广大的地 形特征。 3 、了解山区开发、利用的有利条件和不利条件 。 考试要求: 1 、了解我国地形复杂多样,山区面积广大的特征。
Advertisements

供瘤动脉超选插管 的临床价值探讨 南京医科大学附属南京第一医院介入科 顾建平 年 5 月 · 上海 在肿瘤的介入性诊疗工作中, 供瘤动脉的超选插管有其重要的 临床意义。
高级服务器设计和实现 1 —— 基础与进阶 余锋
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
职业指导服务系统 欢迎了解职业指导服务系统!
第10章 领导职能与有效指挥 渤海大学 终身教授 单凤儒.
金融业营改增情况介绍 芜湖市国税局税政制度处 胡光烈.
毛峰教授 北京师范大学教授,博士生导师 国家社科基金项目专家 北京华文教育顾问
第十二课 易用性测试.
Erlang全接触 褚霸 2010/07/20.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
第二章 项目一:企业厂区与车间平面设计 1.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
網路小說劇情建構與伏線營造 Windows98.
实用操作系统概念 张惠娟 副教授 1.
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
在PHP和MYSQL中实现完美的中文显示
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
余锋 2009/03/11 Erlang及其应用 余锋 2009/03/11
余锋 高级服务器设计和实现 ——技巧 余锋
学习前的准备工作 讲师:burning.
Inside the Erlang VM Yu Feng 2008/12/20
SVN服务器的搭建(Windows) 柳峰
管理信息结构SMI.
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
/8/19 Erlang的高级特性和应用 /8/19.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
/8/19 Erlang的高级特性和应用 /8/19.
Online job scheduling in Distributed Machine Learning Clusters
逆向工程-汇编语言
CPU结构和功能.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Gzip编译及调试 曹益华
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
提升學生閱讀理解工作坊 柯華葳 國立中央大學學習與教學研究所.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
Inside the Erlang VM Yu Feng 2008/12/20
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
操作系统的结构和硬件支持 第2章 操作系统的结构和硬件支持.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
信号量(Semaphore).
解决“最后1公里”问题.
动态链接库 主讲人:孙鑫
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
OpenStack vs CloudStack
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
班級經營分享 主講人:吳姈娟 時間:104年3月4日.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

Erlang emulator 实现分析 mryufeng@gmail.com 2007/10

Erlang vm + bif + 基础设施 整个erlang系统的核心实现 尺寸很小 适合于嵌入式 emulator是什么 Erlang vm + bif + 基础设施 整个erlang系统的核心实现 尺寸很小 适合于嵌入式

emulator的特性 高性能 分布式 支持多核

emulator的物理结构 erlexec escript … tty_sl ram_file_drvzlib_drv udp_inet tcp_inet Efile async Beam Driver Sys Utilts beam Beam.smp Beam.hybird erlexec escript … Unix Windows …

emulator的类型 Beam Beam.smp Beam.hybird

Emulator的运行期 单个smp 多个smp情况 erl_start->erl_init->process_main->schedule->sys_schedule

Beam的物理模块 Beam目录下的.c .h 这部份基本上是可移植的

Process是调度的单元 轻量设计 无耦合 通过message交换信息

线程协调multi_scheduling 可以按需开N个 scheduler 随时停止所有线程进行维护

内存分配策略 : binary_alloc D: std_alloc E: ets_alloc F: fix_alloc H: eheap_alloc L: ll_alloc M: mseg_alloc S: sl_alloc T: temp_alloc Y: sys_alloc

dist Pid(x,y,z) 节点间通讯 透明实现

erl_ext_dist.txt Dist 和 cnode 原理

详细的系统运行器信息 erl_crash.dump 丰富的内容 Info模块 详细的系统运行器信息 erl_crash.dump 丰富的内容

Benchmark 用于测量系统运行器的情况

erlang term strorage Hash和tree实现 Match vm ets erlang term strorage Hash和tree实现 Match vm

对信号的处理 SIGINT SIGUSR1 SIGUSR2 在单独线程处理信号

用指针来分辨类型 内部格式和外部格式 是GC回收 Eterm数据结构 用指针来分辨类型 内部格式和外部格式 是GC回收

某些表格在源码里面找不到 Make的时候调用utility 程序动态生成的 表格和代码生成器 某些表格在源码里面找不到 Make的时候调用utility 程序动态生成的

针对Process的Message 进行的回收 针对普通的eterm进行的回收 垃圾回收 针对Process的Message 进行的回收 针对普通的eterm进行的回收

Port是erlang程序自己操作的界面 Driver是功能的实现 Io poller是 port和外部通讯的推动力 Port & Driver Port是erlang程序自己操作的界面 Driver是功能的实现 Io poller是 port和外部通讯的推动力

代码热部署原理 Moudle Driver dll

系统微调 命令行参数 环境变量 运行期信息获取

结束 谢谢大家