当前位置:首页 » 《随便一记》 » 正文

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

9 人参与  2024年09月17日 08:41  分类 : 《随便一记》  评论

点击全文阅读


android,ios,web,windows,macOS,linux系统架构

一.android系统架构1.应用层(Applications)2.核心层(Core)3.操作系统层(Operating System) 二.ios系统架构1.应用框架层(Cocoa Touch layer)也叫开发层2.媒体层(Medialayer)其实就是各种应用库3.核心服务层(Core Services layer)其实就是各种核心库4.核心操作系统层(CoreOS layer) 三.web系统架构1.用户界面层(User Interface)2.浏览器引擎层(Browser Engine)3.渲染引擎层(Rendering Engine)4.操作系统层(CoreOS layer) 四.window系统架构1.用户模式层(user mode)2.内核模式层(Kernel Mode)3.硬件层(hardware) 五.macOS系统架构1.应用层(app layer)2.应用框架层(Cocoa)3.核心框架层(Core Services layer)4.Darwin达尔文底层(CoreOS Darwin)5.硬件层(hardware) 六.Linux系统架构1.应用层(Application)2.标准库层(Library Routine)3.内核层(Kernel)4.硬件驱动层(Hardware Drive)5.硬件层(Hardware)

一.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)

各种硬件设备


点击全文阅读


本文链接:http://zhangshiyu.com/post/160827.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1