7个Linux手机平台比较 (2):数据库的异同

跨平台硬盘性能测试:fio 与 CrystalDiskMark 在 Linux 和 Windows 下的对比分析 本文详细对比了硬盘性能测试工具fio与CrystalDiskMark在Linux和Windows系统下的应用。通过实战演示,指导用户如何使用fio精确模拟CDM的测试项目(如SEQ1M、RND4K),并重点分析了缓存机制对测试结果的影响,以及跨平台对比时需注意的文件系统、调度器等差异,为评估SSD/HDD真实性能提供了专业方法。 阅读详情

目前Linux手机平台不少,不管它目前强势还是弱势,我们先放一边;

我们来看看各个平台中所采用的技术点的相似点和不同点,比如分析一下

各个平台的进程通信机制的异同等等,后面会逐个分析。 

 

 

目前几个Linux手机平台,主要有下面几个:

1 Maemo

2 Android 

3 LIMO

4 OpenMOKO

5 GPE^2

6 ALP

7 QTopia Phone Edition.

 

 

先把他们的系统架构放在这里,然后从架构中找出其异同点。

今天分析各个平台的数据库。

 附录:几个平台的架构图。

  

Android architecture: 

 

 Maemo achitecture: 

 
  LiMO architecture:

 

 

 

我前面写了几家分工:

http://blog.youkuaiyun.com/cuijpus/archive/2007/12/21/1956597.aspx

 

 目前一些官方的文档已经release出来了,你们可以看看:

http://www.limofoundation.org/technical-documents.html

 

 

OpenMOKO architecture:

 

 

GPE Phone Edition architecture:

 

 

 http://gpephone.linuxtogo.org/

http://gpephone.linuxtogo.org/doc/components/gpearch.php

 

Qtopia Phone Edition:

 

 http://dist.trolltech.com/pdf/Greensuite%231_FactSheet_cn.pdf

 http://dist.trolltech.com/pdf/Qtopia_Phone_Edition_4_ds_v7_A4_web_cn20080221.pdf

 

 

ALP architecture:

 http://alp.access-company.com/

 

 

从架构图中可以看出:

1 Maemo使用SQLite

2 Android使用SQLite

3 LIMO使用SQLite

4 OpenMOKO使用?

5 GPE Phone Edition 使用SQLite (http://gpephone.linuxtogo.org/doc/components/gpearch.php#_Toc158110395)

6 ALP使用SQLite

7 Qtopia Phone Edition使用SQLite (http://dist.trolltech.com/pdf/qtopia-wp-phone42.pdf)

 

 

SQLite是嵌入式产品中用的比较多的开源数据库,在上述Linux手机平台中得到了广泛的使用。

http://www.sqlite.org/ 

http://www.sqlite.com.cn/

 http://www.sqlitechina.org/

 

SQLite
 
 
SQLite第一个Alpha版本诞生于2000年5月. 至今已经有4个年头了. 而在今年的5月SQLite也迎来了一个新的里程 : SQLite 3. SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括: ATTACH DATABASE BEGIN TRANSACTION comment COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INSERT ON CONFLICT clause PRAGMA REPLACE ROLLBACK TRANSACTION SELECT UPDATE 同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么现在你可以考虑使用SQLite。目前它的最新版本是 3.2.2,它的官方网站是:http://www.sqlite.org或者http://www.sqlite.com.cn,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士 下面是访问SQLite官方网站: http://www.sqlite.org/ 时第一眼看到关于SQLite的特性 . 1. ACID事务 2. 零配置–无需安装和管理配置 3. 储存在单一磁盘文件中的一个完整的数据库 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至 2TB 6. 足够小, 大致3万行C代码 , 250K 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的 API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. Source完全的Open, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言 ,C, PHP, Perl, Java, ASP.NET,Python 2、SQLite类型 SQLite的数据类型 首先你会接触到一个让你惊讶的名词: Typelessness(无类型). 对! SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数据类型是什么(只有在一种情况下不是, 稍后解释). 对于SQLite来说对字段不指定类型是完全有效的. 如 : Create Table ex1(a, b, c); 诚然SQLite允许忽略数据类型, 但是仍然建议在你的Create Table语句中指定数据类型. 因为数据类型对于你和其他的程序员交流, 或者你准备换掉你的数据库引擎. SQLite支持常见的数据类型, 如 : CREATE TABLE ex2( a VARCHAR(10), b NVARCHAR(15), c TEXT, d INTEGER, e FLOAT, f BOOLEAN, g CLOB, h BLOB, i TIMESTAMP, j NUMERIC(10,5) k VARYING CHARACTER (24), l NATIONAL VARYING CHARACTER(16) ); 前面提到在某种情况下, SQLite的字段并不是无类型的. 即在字段类型为”Integer Primary Key”时 . 3、如何连接SQLite? 用PHP操作sqlite数据库 a、如何连接sqlite数据库? if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) { select * from sqlite_master; echo "数据库连接成功! n "; } else { die($sqliteerror); } b、如何列出数据库中所有的表? if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) { $result = sqlite_array_query($db, 'select * from sqlite_master;'); foreach ($result as $entry) { echo 'talbe name='.$entry['name']." n"; echo 'sql='.$entry['sql']." n"; echo " -------------------------------------------------------------------------------- "; } sqlite_close($db); } else { die($sqliteerror); }} c、对sqlite数据库的查询,以及结果集的显示 if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) { $result = sqlite_array_query($db, 'select name, email from user ', SQLITE_ASSOC); echo "user表查询结果 : n"; echo " n name email n"; foreach ($result as $entry) { echo ' '.$entry['name']." " $entry['email']." n"; } echo ' '; sqlite_close($db); } else { die($sqliteerror); } d、数据库对象记录的增加、删除、修改 sqlite_query($db, "INSERT INTO user VALUES('user".$i."'" ",'user".$i."@hichina.com')"); sqlite_query($db, "delete from user where user=’user99’"); sqlite_query($db, 'UPDATE user SET email="lilz@hichina.com" where name="user1"'); 4、SQLite的管理 管理工具也有不少,建议您使用sqlitemanager,用法酷像 phpmyadmin. 可以到 http://sqlitemanager.sourceforge.net/下载
 
Linux与UNIX:从权限模型到内核架构的深度解析 操作系统权限模型是计算机安全的基础,它定义了用户和进程对系统资源的访问控制规则。其核心原理基于用户、组和权限位的组合,通过自主访问控制(DAC)机制实现资源保护。这一机制的技术价值在于保障系统安全性和数据完整性,是构建多用户系统的基石。在工程实践中,权限模型广泛应用于服务器管理、容器安全和云原生环境。本文聚焦于Linux与UNIX系统的权限模型,深入探讨了从经典的UGO模型到现代扩展如ACL和Capabilities的演进,并结合Docker连接错误等常见问题,解析了权限模型在容器化场景下的具体应用与配置要 阅读详情

相关推荐

Linux系统安全全面指南:防火墙与用户认证实战解析

系统安全是运维与开发的核心基础,其核心在于访问控制与身份验证两大支柱。访问控制通过防火墙实现,它基于网络层规则,决定数据包的流向与命运,是系统抵御外部威胁的第一道屏障。身份验证则依托用户认证体系,确保访问者身份的合法性,并依据最小权限原则分配操作许可,是防止内部越权的关键。这两项技术共同构成了纵深防御体系,对于保障服务器、Web应用及数据库集群的稳定运行具有不可替代的价值。在Linux环境中,经典的iptables与现代化的firewalld是防火墙的主要实现,而本地用户管理、SSH密钥认证乃至LDAP集中

366

linux如何读取华为手机存储文件,Linux中的文件管理

Linux中的文件管理1、描述Linux发行版的系统目录名称命名规则以及用途/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录 /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序 /lib:启动时程序依赖的基本共享库文件以及内核模块...

weixin_31283549的博客 1131

vivo软件类秋招笔试复盘:从操作系统到Android编程题全解析

在移动终端软件开发中,操作系统、网络协议与数据结构是笔试考核的三大基石。理解进程调度、TCP状态迁移、Linux权限等底层原理,不仅是应对大厂校招的基础,更是终端产品工程师排查问题、优化性能的必备能力。从通用技术价值来看,扎实掌握这些概念能帮助开发者快速定位崩溃、分析网络异常,并设计高效的应用架构。实际工程场景中,无论是Android应用开发、驱动BSP适配,还是AI推理部署,都依赖对这些知识的灵活运用。本文以vivo软件类秋招笔试题为例,复盘选择题中的高频考点(如Handler机制、Binder通信、SQ

347

linux安卓手机文件夹,Android系统的手机文件夹目录详解

一、文件夹1./acct/ 系统回收站,删除的系统文件。2./cache/ 缓存3./data/ 用户的所有程序相关数据app/ 所有用户安装的apk文件app-private/data/ 每一个应用的数据com.xx.appname/ 每一个应用的数据都存放在本目录下的一个以包名为命名的文件夹cache/lib/files/shared_prefs/system/ 安装app会在这里进行注册表的...

weixin_39641738的博客 239

七种Linux手机平台

七种Linux手机平台 手机 平台 Android Linux 开放

uCOS中的消息邮箱(:task与task之间传递一个数据(数据缓冲区))

程序需求,需要完成task与task之间  字符数组的数据传输 比如:在ucos中,串口2接收的字符数组是不定时的&不定长的;只有当接收到数据的时候_才将数据赋值给新数组 具体的程序示意如下: 图1:消息邮箱测试中的     向消息邮箱发送消息(OSMboxPost(Str_Box,(void*)rec);//发送消息--(向 消息邮箱_msg_key发送消息) ),实际项目需求的

faguoduifangui的博客 4540

7个Linux手机平台比较 (1):进程间通信的异同

目前Linux手机平台不少,不管它目前强势还是弱势,我们先放一边;我们来看看各个平台中所采用的技术点的相似点和不同点,比如分析一下各个平台的进程通信机制的异同等等,后面会逐个分析。   目前几个Linux手机平台,主要有下面几个:1 Maemo 2 Android 3 LIMO4 OpenMOKO5 GPE^2 6 ALP 7 QTopia Phon

Linux智能手机--cuijpus的专栏 9066

GNSS数据资源全解析:从DCB到BSX文件的下载与应用指南

本文系统解析了GNSS数据处理所需的核心数据资源,包括DCB、BSX、SP3、CLK等关键文件的官方下载路径与应用方法。详细介绍了CDDIS、武汉大学镜像站等权威数据源,并提供了从数据下载到实际应用的完整指南,帮助用户高效获取GNSS数据,提升精密定位处理效率。

weixin_29246195的博客 140

Maemo Linux手机平台系列分析:2 术语

  在Maemo中使用和定义的术语: ABI应用二进制接口,主要提供目标代码层次的接口。描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口 。ABI不同于API ,API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译器 ,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能�运行。 AL

Linux智能手机--cuijpus的专栏 2924

Codex 接入国产大模型指南:客户端与 CLI 双端实战

CC Switch是目前最流行的 Codex / Claude Code 模型切换工具,内置了协议转换功能,支持几乎所有主流国产模型。核心原理Codex → 本地 8317 端口(CC Switch)→ 协议转换 → 国产模型 API整个过程对 Codex 完全透明,Codex 以为自己在跟标准的 Responses API 对话。用户类型推荐方案理由新手 / 不想折腾配置简单,免费额度够用追求稳定体验通义千问(原生接入)官方兼容,功能最完整企业用户自建 AI 网关可控性强,支持多用户管理预算有限。

篮球界最会写bug的人;程序猿中打球最菜的人。 575

GStreamer中h264parse元素

h264parse是 GStreamer 中处理 H.264 视频流的关键元素,主要负责解析和准备 H.264 流以便后续处理。

深之JohnChen的专栏 1023

Linux操作系统基础理论(3)-----浅析Linux 与Minix 下进程实现的异同

《操作系统分析与设计》论文(1)-----浅析Linux 与Minix 下进程实现的异同 目录 摘要:... 1 1.     引言... 1 1.1  Minix简介... 1 1.2  Linux简介... 1 1.3  进程简介... 2 2.     Minix和Linux中进程的实现... 2 2.1 进程的概述... 2 2.2

wolangjushi的专栏 2208

XDMA流传输模式

XDMA 流传输模式(Streaming DMA)​ 是 Xilinx FPGA 通过 PCIe 与主机进行 ​实时流式数据传输 的核心机制,

浩瀚之水的专栏 3435

第02篇:Linux 系统从简介到特点及与其他系统的比较

在企业级应用中,Linux 凭借其稳定性、安全性和高效性成为服务器操作系统的首选。全球众多知名网站和服务提供商,如谷歌、亚马逊、腾讯等,其核心服务器集群均基于 Linux 系统构建。Linux 在服务器领域的应用涵盖了 Web 服务器、数据库服务器、邮件服务器、云计算平台等多个方面。

专注于系统运维、数据库、DevOps、虚拟化技术、docker、kubernetes、等云原生技术。 906

PrimeTime low power-多电压设计流程(1)

PrimeTime支持使用IEEE 1801统一电源格式(UPF)标准来指定设计的多电压特性。PrimeTime能够在多电压供电和使用set_voltage命令在特定电源网上设置电压值的情况下,正确分析设计的时序。要了解如何使用多电压设计流程,请参考以下内容:- 多电压分析需求- 指定电源连接性- UPF命令- GoldenUPF流程- 多重电源电压分析。

QRBQ 528

思远耳机充电芯片-SY5501

BES2700ZP-本文档介绍了思远耳机充电芯片SY5501的使用方法,包括芯片引脚功能说明(VCC、IRQ、RST等)、通信机制(VIN引脚的双重作用)以及相关注意事项。提供了代码片段、调试日志和电路图作为参考,并列出了待解决的问题清单。该芯片需要配合特定充电仓使用,支持私有协议和用户自定义通信功能。

云淡风轻 123

iOS 内存破坏漏洞排查指南:从原生代码边界到 Xcode 动态取证

一个"看起来"纯 Swift 的 App,为什么还会因为某个 C 库被炸出代码执行?答案通常藏在以 Framework 形式引入的第三方原生组件里。本文以 OWASP MASTG 的 iOS 内存破坏测试 [MASTG-TEST-0086](https://link.gitcode.com/i/c5f14b33b779939235e700376d663770) 为骨架,给出"画边界 → 扫盲区 →

gitblog_00386的博客 422

mapbox进阶,dem数据转为等高面,加载转换后的等高面到地图

本文详细介绍如何基于mapbox-gl v3.*.* 版本,使用dem数据转为等高面,加载转换后的等高面到地图,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 407

LNMP一体化配置及分离式部署异同点

LNMP一体化配置及分离式部署异同点 标签(空格分隔): linux服务 文章目录LNMP一体化配置及分离式部署异同点1 简介2 工作流程3 配置步骤3.1 配置nginx服务3.2 二进制方式安装MySQL3.3 Fastcgi介绍3.4 PHP服务的安装和准备3.4.1 准备工作3.4.2 安装PHP所需的lib库3.4.3 编译安装libiconv-devel3.4.4 安装其他的库和加密扩...

jc的博客 540

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

安卓Android和Java语言的异同、关系和区别

安卓Android和Java语言的异同、关系和区别,安卓Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。2011年第一季度,安卓在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月数据,安卓占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。自google收购安卓之后,安卓开发者更是风生水起。安卓开发前景看好,安卓手机市场大卖,安卓应

taoxugang2012的专栏 860

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android导入一个工程,hga010手机版安卓版登入-官方网站

一、分布式架构1.Caused by: java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects。2.curl: (7) Failed to connect to 127.**** port 1080: Connection refused on WSL2hga010手机版安卓版登入-官方网站。3.vscode下搭建typ...

weixin_36170656的博客 9153

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

了解Linux以及系统的安装与配置

1.2 Linux 的主要发行版(Ubuntu、CentOS、Debian 等)​。1.4 基本术语解释(内核、Shell、终端等)​。2.4 首次启动后的基本配置(网络、驱动、更新)​。1.3 Linux 与其他操作系统的区别​。2.3 安装步骤详解(分区、用户设置等)​。2.2 安装介质(USB、ISO)准备​。1.5 Linux 的优势与应用场景​。1. Linux 简介与基础概念​。2. Linux 系统安装与配置​。2.3.5 软件选择与安装​。2.3.6 完成安装与重启​。

weixin_74918951的博客 1540

java和c语言的区别_安卓Android和Java语言的异同、关系和区别

点击上方"蓝字",关注了解更多安卓Android和Java语言的异同、关系和区别,安卓Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。2011年第一季度,安卓在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月数据,安卓占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。自google收购安卓之后,安卓开发者更是风生水起。安...

weixin_39778815的博客 488

web测试和手机测试的区别

WEB测试和移动端测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。

软件测试技术交流分享 188

数据库学习实践指南:从SQL基础到博客系统设计

数据库作为有组织的数据集合,其核心价值在于通过数据模型解决冗余与一致性问题,并提供高效的并发访问与复杂查询能力。理解事务机制和ACID特性是保障数据一致性的关键,而SQL作为声明式查询语言,能够实现灵活的数据关联与聚合分析。在工程实践中,掌握索引优化、查询性能调优以及安全规范(如参数化查询防注入)对构建稳定应用至关重要。通过设计博客系统等实际场景,可以深入实践表结构设计、多表连接与窗口函数等高级特性,从而提升数据处理能力,应对从业务开发到系统架构的各类挑战。

weixin_34116110的博客 339

第四阶段 02_Linux简介

  操作系统(Operation System,OS):是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石。操作系统本质上运行计算机上的软件程序,但与普通的软件程序不同,其功能是管理计算机的硬件(硬盘、内存、显示器等)、软件资源(驱动程序、应用软件等),其目的是为用户提供一种高效、公平、有序和安全的使用计算机的硬件和其他程序的环境,并为用户提供一个与系统交互的操作界面。操作系统分...

weixin_30846599的博客 88
上一篇: 山寨手机给正规手机仅仅是冲突吗?相互学习,正规国产机就不愁翻身。
下一篇: 7个Linux手机平台比较 (3):“保存手机设置”的异同
testhw
博客等级 码龄19年 172粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值