Flutter 跨平台开发之路二 android,ios,web,windows,macOS,linux系统架构

一.android系统架构

1.应用层(Applications)

系统应用,浏览器应用,微信等

2.核心层(Core)

1>.框架(Application Framework)

  • 组件管理服务(Activity Manager),窗口管理服务(Window Manager),系统数据源组件(Content Manager),控件框架(View System),资源管理(Resource Manager),安装包管理(Package Manager)

2>.大量类库(Libraries)和运行时(Runtime)

  • 大量类库:libc,OpenGL,FreeType,Webkit,SQLite,SSL,SGL
  • 运行时:Java核心类库虚拟机

3.操作系统层(Operating System)

1>.硬件抽象(Hardware Abstract):
音视频接口,通话接口,GPS接口,WiFi接口等

2>.Linux系统内核(Linux Kernel):
进程线程,驱动,电源管理,内存管理等

二.ios系统架构

1.应用框架层(Cocoa Touch layer)也叫开发层

  • 基础组件(Foundation),界面组件(UIKit),数据组件(Core Data)
    多点触控事件(Multi-TouchEvents),多点触控控制(Multi-Touch Controls),像机(Camera),相册(Image Picker),浏览器(Web Views),传感器(CoreMotion)等

2.媒体层(Medialayer)其实就是各种应用库

OpenGL,OpenGL ES,JPG-PNG-TIFF,PDF,Core Audio,Audio Recording,Audio Mixing,Video Playback,Core Animation,Quartz等

3.核心服务层(Core Services layer)其实就是各种核心库

Collections,Address Book,Networking,File Access,SQLite,Core Location,Net Services,Threading,Preferences,URLUtilities

4.核心操作系统层(CoreOS layer)

OS X Kernel,Mach 3.0,BSD,SocketsPower,Mgmt,File System,Keychain,Certificates,Security,Bonjour

三.web系统架构

1.用户界面层(User Interface)

  • 用户输入:在浏览器地址栏输入 URL
    URL解析:解析URL的主机,端口,路径,协议
    DNS查找:通过DNS服务器查找主机名(域名)对应的真实IP地址(一个ip要配一个服务器来执行相关的解析)
    套接字连接:本地设备和真实IP对应的服务器建立连接。
    HTTP 请求ーー向服务器发送 HTTP 请求,并指定协议。
    服务器处理ーー服务器评估请求,确定处理插件(例如 PHP、 Java)。
    通过插件处理ーー访问数据库或其他资源作为 HTTP 响应的一部分。
    响应浏览器ーー将 HTTP 响应发送回浏览器。

2.浏览器引擎层(Browser Engine)

  • 响应分析ーー浏览器从响应中分析 HTML 数据。
    DOM 树创建ーー从解析的 HTML 构建文档对象模型(DOM)树。
    样式表解析ーー解析样式表,将呈现数据链接到 DOM 节点。
    JavaScript 执行ーー执行 JavaScript 代码,修改 DOM 。

3.渲染引擎层(Rendering Engine)

  • 生成渲染树ーー使用 DOM 和样式数据生成
    页面渲染ーー不同的浏览器app使用不同的排版引擎排列生成渲染页面树

4.操作系统层(CoreOS layer)

  • 输出屏幕ーー使用操作系统提供的接口输出屏幕等设备

四.window系统架构

1.用户模式层(user mode)

  • 应用程序exe
  • 子系序库和用户动态库
  • Native API(ntdll.dll也就是访问内核的接口)

2.内核模式层(Kernel Mode)

  • windows子系统执行体API(ntoskrnl.exe也就是提供给用户层Native API使用的服务),各种对象的管理器对象管理器控制微内核驱动

3.硬件层(hardware)

硬件抽象层,设备

五.macOS系统架构

1.应用层(app layer)

浏览器,地图,苹果商店等

2.应用框架层(Cocoa)

基础组件(Foundation),界面组件(Application kit),数据组件(Core Data)等

3.核心框架层(Core Services layer)

CoreFoundation,OpenGL等

4.Darwin达尔文底层(CoreOS Darwin)

  • 用户态和内核态转换层(System utilities也就是提供给用户层的接口)
  • 伯克利软件套件(BSD):
    处理模型,基本安全策略,POSIX API,BSD风格的系统调用,TCP/IP协议栈,BSD套接字,防火墙,VFS和文件系统,System V IPC,加密框架,各种同步机制
  • 微内核(Mach):
    I/O Kit,Drivers

5.硬件层(hardware)

平台支持,开放固件,硬件

六.Linux系统架构

1.应用层(Application)

各种可以执行的文件(linux是通过权限确认文件是否可执行,一般应用会以.exe结尾)

2.标准库层(Library Routine)

访问内核的接口

3.内核层(Kernel)

虚拟文件,内存管理,进程管理,抽象网络服务,

4.硬件驱动层(Hardware Drive)

提供设备访问的接口

5.硬件层(Hardware)

各种硬件设备

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值