微内核操作系统及L4 概述
- 格式:pdf
- 大小:228.58 KB
- 文档页数:6
Date: 07. 05 2007F5 TrainingBeyond TechnologyF5 LTM 简介东软移动互联网开发部 王旭Date: 07. 05 2007F5 Training议程 应用交换机的作用 应用交换机产品的发展历史 F5 BIGIP 简介 讨论Date: 07. 05 2007F5 Training应用交换机的作用智能客户端 网络管件Routers智能应用SwitchesFirewalls应用流量管理 安全远程访问 Web应用安全Date: 07. 05 2007F5 Training应用交换机的基本工作 截获和检查流量,保证只有合适的数据包才能通过 服务器监控和健康检查,随时了解服务器群的可用性 状态 负载均衡和应用交换功能,通过各种策略导向到合适 的服务器 会话的保持以实现与应用系统完美结合截取 监控 负载均衡 保持Date: 07. 05 2007F5 Training议程 应用交换机的作用 应用交换机产品的发展历史 F5 BIGIP 简介 讨论Date: 07. 05 2007F5 Training应用交换机的发展优化的中央处理 交换机 中央CPU 专有优化OS 分布式ASICBIGIP 2000 BIGIP 2400 Alteon 2424中央分布式 交换机?交换机 功能服务器BIGIP 520Alteon AD3 Cisco CSS专有L4 ASIC/NP 中央CPU 专有优化OS专有OSFoundryNetScelar2001年出品,但 目前还是serverArray TM1996 19971998~20012002~20032004Date: 07. 05 2007F5 Training第6代的应用交换机管理Date: 07. 05 2007F5 Training第6代应用交换机-先进的ASICDRAM 全球唯一的四七层ASIC• 专有CAM • 专有 DRAM/SDRA M • 内置DDOS攻 击防护 • PVA 2 /PVA10CAMASICSDRAMDate: 07. 05 2007第六代应用交换机-先进的软件结 构基础管理平台系统管理 健康检查 WEB界面F5 Training管理系统流量处理微内核管理CPU高速硬件平台Date: 07. 05 2007F5 Training第六代应用交换机-Full Proxy结构TrafficShield Web Accel Microkernel Rate Shaping TCP Express Compression TCP Express OneConnect TCP ProxyClient Side Server SideCachingClientXMLSSL3rd PartyServeriRules High Performance HW iControl API TMOS Traffic Plug-ins High-Performance Networking Microkernel Powerful Application Protocol Support iControl – External Monitoring and Control iRules – Network Programming LanguageDate: 07. 05 2007F5 Training议程 应用交换机的作用 应用交换机产品的发展历史 F5 BIGIP 简介 讨论Date: 07. 05 2007F5 TrainingF5 BIGIP产品简介840010Gbps Platform数据中心整合68002-46400Gbps Platforms多服务应用3400500 Mbps1500- 1 Gbps Platforms应用交换Date: 07. 05 2007F5 TrainingBIG-IP LTM 1500 2个千兆光纤端口,4个千兆电口 内置独立管理机-生产系统与管理系统分离,进一步提高 系统可靠性 768MB内存,单CPU BIGIP 1500 LTM• 全面支持多应用负载均衡:12种负载均衡算法 • 可编程控制架构:50多个事件,200多个函数处理 • 内置100TPS SSL加速功能,独立NP处理SSL对称算法和非对称算 法 • 多种可扩展模块:SSL加速、带宽控制、内存Cache、HTTP压缩Date: 07. 05 2007F5 TrainingBIGIP LTM 3400 2个千兆光纤端口,8个千兆电口 内置独立管理机-生产系统与管理系统分离,进一步提高系 统可靠性 Packet Velocity ASIC 2提供高性能四-七层处理 1GB内存,超线程2.8Ghz CPU BIGIP 3400 LTM• • • • 全面支持多应用负载均衡:12种负载均衡算法 可编程控制架构:50多个事件,200多个函数处理 内置100TPS SSL加速功能,独立NP处理SSL对称算法和非对称算法 多种可扩展模块:SSL加速、带宽控制、内存Cache、HTTP压缩Date: 07. 05 2007F5 TrainingBIG-IP LTM 6400/6800 4个千兆光纤端口,16个千兆电口 内置独立管理机-生产系统与管理系统分离,进一步提高系统可靠性 Packet Velocity ASIC 2提供高性能四-七层处理 2GB内存,双64位高速CPU BIGIP 6400 LTM • 全面支持多应用负载均衡:12种负载均衡算法 • 可编程控制架构:50多个事件,200多个函数处理 • 内置100TPS SSL加速功能,独立NP处理SSL对称算法和非对称算法 • 多种可扩展模块:SSL加速、带宽控制、内存Cache、HTTP压缩、 Application SecurityDate: 07. 05 2007F5 TrainingBIGIP LTM 8400 2个万兆端口,12个光/电千兆端口 内置独立管理机-生产系统与管理系统分离,进一步 提高系统可靠性 Packet Velocity ASIC 10提供高性能四-七层处理 高达10Gbps的吞吐能力 2GB内存,双64位高速CPUDate: 07. 05 2007F5 TrainingBIGIP LTM的主要性能技术参数BIG-IP 1500 v9 四层会话数/秒 七层会话数/秒 最大吞吐能力 最大并发连接数 最大SSL TPS 最大 SSL 吞吐率 最大 SSL 并发连接数 最大压缩字节/秒 交换背板 60,000 22,000 500Mb/s 4 Million 2,000 500Mb/s 100,000 100Mb/s 14Gb/s BIG-IP 3400 v9 110,000 50,000 1Gb/s 4 Million 5,000 1Gb/s 200,000 500Mb/s 22 Gb/s BIG-IP 6400 v9 220,000 75,000 2Gb/s 8 Million 15,000 2Gb/s 500,000 2Gb/s 44 Gb/s BIG-IP 6800 v9 220,000 110,000 4Gb/s 8 Million 20,000 2Gb/s 500,000 2Gb/s 44 Gb/sDate: 07. 05 2007F5 Training用户 Users手机全新的体系结构 统一的网络/应用基础设施服务交付客户关 系管理 数据库 Siebel BEA应用Legacy .NET SAP个人数字助 理优化 安全笔记本 台式机流量管理 操作系统PeopleSoft IBM 企业资 源规划 SFA (销售 力量 自动化) 定制应用托管主机(TM/OS)Date: 07. 05 2007F5 Training能够对应用流进行管理• 独立的连接控制 • 支持所有的IP应用 • 高性能的应用构架 • 双向、全面的负载检查 • 基于会话的控制系统通用检查引擎(UIE)TM/OS 快速应用代理客户端 服务器端Date: 07. 05 2007F5 Training全新等级的智能特性基于数 据包针对单一通信作出反应、单向基于流TM/OS实时双向会话,在多个对象间传输 能够理解全部会话Date: 07. 05 2007F5 Training为网络注入智力 TMOS客户端HTTP TM filter TCP TM filter SSL TM filterTCP proxy服务器端TCP TM filterClient Server Side Side Received Send RequestRequest 开放的一体化应用服务 保证应用流畅 无以伦比的性能 结构化的管理能力Date: 07. 05 2007F5 Training最智能、最具适应性的解决方案iRules可编程的网络语言可编程 应用网络基于图形用户界面的应用简档(Profile)可重复策略统一的应用基础设施服务功能的适应性 及目标性安全 优化 交付 新的服务通用检查引擎(UIE)针对应用流的 完全可见性 及可控制性TM/OS 快速应用代理客户端压缩站点TCP优化 负载平衡服务器端Date: 07. 05 2007F5 TrainingBIG-IP-LTM-真正的应用交换机Date: 07. 05 2007F5 TrainingBIG-IP-LTM的工作模式用户请求 基于地址的流量 导向virtual addr192.168.101.1virtual addr192.168.101.2基于端口的流 量导向virtual server192.168.101.1:80virtual server192.168.101.1:443智能流量控制iRules pool(name= cgi_boxes)pool(name= asp_boxes)pool(name= ssl_boxes)(通过检查URL, Header,Cookie, TCP/UDP内容)membermembermembermembermembermembermembermembermember(server= (server= (server= 10.1.1.1:80) 10.1.1.2:80) 10.1.1.3:80)(server= (server= (server= 10.1.1.4:80) 10.1.1.5:80) 10.1.1.6:80)(server= (server= (server= 10.1.1.1:443) 10.1.1.2:443) 10.1.1.6:443)负载均衡Date: 07. 05 2007F5 TrainingBIG-IP-LTM基本功能-服务器负载均衡最多的负载均衡模式(12种) 其中观察模式,预测模式是F5的专利 会话保持技术最多(8种) 其中Cookie 会话保持技术向所有的 竞争对手收取专利费 服务器健康检查最彻底 专有的EAV、ECV健康检查模式 性能最好,速度最快: 270,000 S/S Lay4; 110,000 S/S Lay7;10Gbps; 会话保持数量第一达到:800万 支持最多的VIP : 4万个 唯一交换机厂商有开放的API1 2 3 3BIG-IP application switch combo Link Controller1 2Date: 07. 05 2007F5 Training 轮询(RoundRobin):顺序循环将请求一次顺序循环地连接每个服务器。
MSM平台上的AMSS (ZZ)abbr.1. advanced manned space simulator 高级有人驾驶空间模拟装置2. Advanced Meteorological Sounding Systems 高级气象探测系统3. advanced multi-mission sensor system 高级多任务传感器系统4. air mobile satellite service 航空移动卫星业务5. automatic master sequence selector (飞行)自动程序主控器6. Automatic Message Switching System 自动信息转接系统7. Automatic Music Select System 自动音乐选择系统AMSS的source实际上是QC BREW(Binary Runtime Environment For Wireless)平台的的底层部分,去掉了为应用程序提供接口的AEE(application execution environment)部分,高通在Dual Proc芯片上的其他平台基本上都是采用的这样的架构。
所以如果要了解这套source的话有必要对BREW作一个基本的了解,不需要了解它应用程序的运作机制,只需要了解底层的操作系统,尤其是REX(Run Time Executive)的运行机制必须了解。
首先我们来看看这套source的基本结构:|-- AMSS| |-- platform| `-- products`-- AMSS_CUST`-- productsAMSS是我们的source,包含platform以及我们对这个芯片提供的一些服务,所有服务都以TASK的形式存在products下。
现在source的配置是针对SURF的,如果是我们自己的板子就必须配置AMSS_CUST目录下的3个配置文件,然后拷贝到AMSS相应目录下后重新编译。
核心信息技术自主可控分级研究湖北省监察委信息中心 刘 凡1.前言近期,中兴事件和中美贸易战又一次给我们敲响了警钟,中国迫切需要加快实现关键核心技术的自主可控,摆脱“缺芯少魂”、受制于人的被动局面。
一时间,自主可控炽手可热,众多自主可控技术、产品和方案层出不穷:一方面,很多基本不具备自主可控技术的产品打着自主可控的旗号,过度宣传,如近期的“红芯”自主可控浏览器事件,还有一些引进技术纷纷通过各种方式打上“自主可控”的标签鱼目混珠;另一方面,自主可控行业内部也存在众多争论,甚至相互攻击,严重分散了力量,影响团结,容易被人利用。
究其原因,主要是自主可控涉及信息技术众多领域,应用场景、技术路线来源、商业利益、生态系统和所处发展阶段各不相同,基本概念也还在演化之中。
笔者认为现阶段应该借鉴自动驾驶技术分级的思想,建立信息技术自主可控分级模型和理论模型,从不同的维度进行分类和评估,从而准确把握使用场景的需求,厘清产业支持和发展的方向,产业界各司其职,整合各方面力量,形成合力,更好推进网信领域自主可控的发展。
2.信息技术自主可控分级模型2.1 核心信息技术自主可控的分级模型信息技术涉及领域很广,但最基础最关键最事关安全的核心技术的是以CPU为代表的芯片技术和操作系统为代表的基础软件技术,即信息技术的“芯”和“魂”,以及围绕其建立的生态系统。
本文提出的自主可控分级模型主要面向通用终端领域,PC服务器、嵌入式、大数据和云计算等领域的自主可控分级模型也可以参照建立。
2.2 信息技术自主可控各级别的特征L0:完全不能自主可控。
完全没有话语权,国际主流的信息技术体系是wintel和AA体系,在桌面端和移动端分别处于垄断地位,通过不断建设发展的生态基本把控了信息技术主要领域。
L0级信息技术对后门漏洞等无能为力,信息安全对美国等西方国家完全透明。
L1:基本不能自主可控。
部分芯片厂商通过独资或者合资将生产线放在国内,在OS上有所谓的源代码备案和中国政府版的win-dows。
【原创】Linux环境下的图形系统和AMDR600显卡编程(1)——Linux环境下的图形系统简介Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的⽅式以适应显卡和桌⾯图形发展的需要,然⽽随着软硬件的发展,特别是嵌⼊式系统的发展,Xorg显得庞⼤⽽落后。
开源社区开发开发了⼀些新的图形系统,⽐如Wayland图形系统。
由于图形系统、3D图形本⾝的复杂以及历史原因,Linux下的图形系统相关的源码庞⼤⽽且复杂,⽽且缺少学习的资料(所有源代码分析或者驱动编程的书籍都很少介绍显卡驱动)。
在后续⼀系列⽂章中,笔者将从对AMD硬件编程的⾓度出发对部分问题做⼀个简单的介绍,当然,这种介绍是很初级的,旨在希望能够对初学着有所帮助。
内核DRM、Xorg以及Mesa三部分加起来的代码和整个Linux内核的体量是差不多⼤的。
⽽且现代的显卡上的GPU的复杂程度在⼀定程度上可以和CPU相聘美,从程序员的⾓度看,操作系统(CPU的驱动)包含的许多功能在GPU驱动上都能够找到。
⽐如,GPU有⾃⼰的指令系统,着⾊器程序(GLSL、HLSL、Cg这类着⾊语⾔)需要经过编译成GPU的指令集,然后才能够在GPU上运⾏,符合着⾊语⾔规范的3D 驱动都包含⼀个编译器。
3D应⽤程序需要使⽤⼤量内存,GPU在进⾏运算的时候需要访问这些内存,GPU在访问这些内存的时候也使⽤⼀套和CPU页表⼀样的机制。
另外,在中断系统上,GPU和CPU也有相似之处。
后⾯的⼀些内容将会陆续对这些问题做⼀个简单的介绍。
传统上认为Linux是⼀个宏内核,设备驱动⼤部分都是包含在内核⾥⾯的,因此可以看到内核代码最庞⼤的部分是drivers⽬录,如果从上⾯下载⼀个内核源码,直接编译,编译的时间⼤部分都耗在编译设备驱动上。
微内核的操作系统,设备驱动不是内核的部分。
这⾥不讨论微内核和宏内核的区别或者各⾃的优缺点。
但是出于调试⽅便以及其他⼀些原因,Linux操作系统上⾯的⼀些驱动是放在核外的。
第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
微内核操作系统及L4概述杰夫jliu71@摘要:本文是对微内核操作系统及L4的发展历程和主要功能的综述。
本文还对微内核操作系统的优缺点及发展前景发表评论。
关键词:微内核,操作系统,L4Abstract: This paper describes the history of microkernel-based operating systems, and the structure and main functions of L4. It also discusses the pros and cons of microkernel systems and their prospect of actual deployments in the industry.Keywords: microkernel, operating system, L41. Introduction微内核(microkernel)并非是一个新的概念,这个名词至少在七十年代初就有了。
一般认为,他的发明权属于Hansen [Han70] 和Wulf [Wul74]. 但是在这一名词出现之前已经有人使用类似的想法设计计算机操作系统了。
早期的操作系统绝大多数是Monolithic Kernel, 意思是整个操作系统 - 包括Scheduling (调度), File system (文件系统), Networking (网络), Device driver (设备驱动程序), Memory management (存储管理), Paging(存储页面管理) – 都在内核中完成。
一直到现在广泛应用的操作系统,如UNIX,Linux,和Windows还大都是monolithic kernel操作系统。
但随着操作系统变得越来越复杂(现代操作系统的内核有一两百万行C程序是很常见的事情),把所有这些功能都放在内核中使设计难度迅速增加。
微内核是一个与Monolithic Kernel相反的设计理念。
它的目的是使内核缩到最小,把所有可能的功能模块移出内核。
理想情况下,内核中仅留下Address Space Support(地址空间支持),IPC (Inter-Process Communication,进程间通讯),和Scheduling(调度),其他功能模块做为用户进程运行。
对于内核来说,他们和一般用户进程并无区别。
它们与其他用户进程之间的通讯通过IPC进行。
在八十年代中期,微内核的概念开始变得非常热门。
第一代微内核操作系统的代表作品是Mach [Mac85]。
Mach是由位于痞子堡的卡内基梅隆大学(CMU)设计。
CMU是美国计算机科学研究重镇,其计算机排名长期位于美国大学前五位。
美国只有少数几所大学的计算机是学院不是系,CMU就是其中之一。
除Mach外,CMU的另一重要成果是衡量计算机软件设计能力的CMM (Capability Maturity Model) 模型,广泛用于评估业界软件公司的计算机软件开发能力。
好像印度的软件公司们非常热衷于此,通过CMM-5最高规格评价的软件公司们有一半是印度的。
在微内核刚兴起时,学术界普遍认为其优点是显而易见的:•支持更加模块化的设计;•小的内核更易于更新与维护,bug会更少。
大家知道Windows 的死机很多是因为device drivers 造成的。
如果把他们移出内核,他们中的bugs很可能就不会造成死机;•许多模块的bugs 可被封闭在其模块内,更加易于debug。
软件工程师都知道 kernel debug 是件非常头疼的事情。
如果file system, memory management,和device drivers成为一个个独立的进程,不用说这肯定会使kernel engineers的日子好过许多。
由于上述原因,很多学术研究人员和软件厂家开始尝试使用微内核的概念设计操作系统。
甚至Microsoft也有所动作,在设计Windows NT时,他们把UI (User Interface) 从Windows kernel中整个拿了出来。
由此可看出microkernel的流行程度,因为Microsoft总是最后一个尝试新想法的。
但是这一热潮很快就冷了下来,原因只有一个字:Performance(Well,汉语是两个字:性能)。
Microsoft在Windows NT后续版本中,又把部分底层UI放回了Windows kernel。
这种现象在计算机界并不少见。
在Java刚开始流行时,由于其许多C/C++没有的优点,很多人认为它会很快取代C/C++成为第一编程语言。
但直至今天也没有发生,其中一个重要原因就是Java程序的performance落后于C程序,至今还限制着它在许多场合的应用。
第一代的微内核操作系统的性能,包括Mach在内,远不及monolithic kernel操作系统。
所以大多数人又回到传统技术中去了。
Microkernel也像过时的流行歌曲或减肥方法,很快被遗忘了。
但在九十年代后期,微内核迎来了其生命中的第二春。
一些研究人员认真分析了微内核系统性能差的原因,指出其性能差并非根本内在的因素造成,而是设计实现的失误。
为证明其论点,他们设计并实现了几个性能远超第一代的微内核操作系统,我们把它们称为第二代微内核系统 [Bar03, Eng95, Lie93A]。
其中的一个代表作品就是L4 [Lie93A, Lie93B, Lie95, Lie96]。
L4由德国的GMD设计。
GMD是德国国家信息技术研究院,相当于中科院计算所加上软件所(但在计算机研究能力方面,GMD远非中科院可比。
与作者一起工作过的几位GMD研究人员都是extremely smart)。
L4的创始人和总设计师是Jochen Liedtke [Kar05]。
此公在GMD之后,还供职于IBM的T.J. Watson Research Center,后成为德国Univ. of Karlsruhe操作系统方向的正教授(full professor)。
了解德国大学系统的人都知道,当德国的正教授可比当美国的正教授要难许多倍,地位也要高许多,因为一个系往往只有一两个正教授。
Prof. Liedtke已于2001年过世,但他创建的L4正在发展壮大中。
近年来,多个运行于不同硬件平台的L4系统已被几个不同研究机构设计出来 [SAG03, Tew01]。
本文以后的部分将分析微内核系统的performance bottleneck所在,以及L4如何试图克服这一困难。
微内核系统到底有没有固有的障碍,先天的缺陷?以L4为代表的新一代微内核系统的前景如何?请看下文。
2.微内核系统的性能为什么会这麽差?基于消息传递(Message Passing)IPC机制是微内核系统的基本特点之一。
这一设计理念有助于提高系统的灵活性,模块化,安全性,以及可扩展性。
IPC的性能表现是决定微内核系统性能的关键因素,因为绝大多数系统调用和很多应用程序的服务都需要两个IPC, 一个服务请求,一个结果返回。
消息传递IPC机制现在已经大量用于多种计算机系统中,但是很多IPC实现的性能并不太好。
根据CPU性能和消息长短不同,一个IPC大概需要50到500 µs。
经过许多研究人员多年的努力,也没有实现IPC性能的突破,所以直至最近,消息传递IPC被公认为使一个很好的设计理念,但对其适用范围学术界还存在很大争议。
Linux Kernel创始人Linus Torvalds 在2000年的一段话说得生动(Sorry,是极端),也代表了当时很多人的观点。
为了在有些读者受到冒犯时摆脱干系,作者决定不翻译以下这段话。
如果您看不懂,good for you.“Message passing as the fundamental operation of the operating system is just an exercise in computer science masturbation. It may feel good, but you don't actually get anything DONE. Nobody has ever shown that it made sense in the real world.”由于IPC对微内核系统的重要性,其设计人员们也花费了大量时间在改善它的性能上面。
微内核系统中IPC性能不断提高,但到90年代初似乎达到了顶峰。
Mach 3的IPC最好性能大约是115 µs (在486-DX 50机器上),其它微内核系统也大致如此。
当时许多研究人员认为,有100 µs 左右的时间是IPC的固有消耗,这一时间已无法缩短。
但是与之相比,在同样硬件平台上,一个UNIX系统调用只需要20 µs, 好过微内核系统10倍。
第一代微内核系统一直未在IPC性能上有重大突破,这是导致他们失败的根本原因。
对第一代微内核系统的性能分析表明,他的耗时巨大的操作包括用户-内核模式转换,地址空间转换,和内存访问。
表面上看起来这一结果似乎合理,但进一步分析发现它们并非真正问题所在。
[Lie96] 中给出Figure 1, 显示这些操作的硬件固Figure 1. IPC耗时分析有的时间消耗只占IPC 总耗时的3%- 7% (图中深色为硬件固有时间消耗)。
这些证据表明早期微内核的性能差距其实来自于它们的基本构造。
早期的微内核系统大多是由MonolithicKernel 一步步逐渐改进而来。
其很多设计并未发生重大改变。
他们虽然被称为微内核,但其代码量还是很大。
例如,Mach 3内核支持140个系统调用,代码量为300K 字节。
这种情况不改变,微内核系统的性能恐难提高。
第二代微内核系统设计者认识到这一问题,他们对系统内核的基本构造做出重大精简,从而使其性能大步提高。
L4只支持7个系统调用,代码量只有12K 字节。
本文下一部分将简单介绍L4的一些基本设计,有兴趣的读者可在 [Lie95] 中找到对L4的详细介绍。
3. L4 基本结构L4是由GMD 于1995年设计,它的两个基本设计原则是:1)高性能和灵活性的要求决定微内核必须尽可能缩到最小,2)微内核实现本身取决于硬件结构,它是不可移植的。
虽然微内核可以改善整个系统的移植性,但它本身是不可移植的,因为要达到高性能,它的实现必须紧密联系于硬件结构。
L4内核支持三种抽象概念:地址空间,线程,和IPC 。
他只提供7个系统调用,只有12K 字节代码。
在486-DX50 机器上,一个地址空间切换IPC, 8 字节参数传递,只需要5 µs 。