自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android云手机关键性技术

有相当部分的应用,尤其是金融类的应用会检测系统环境是否是品牌手机,如果不是,部分功能是受限的。Android云系统不需要真实的运行在手机芯片上,云系统可以运行在服务器上,或者大算力的嵌入式设备上,然后通过虚拟机技术或者容器技术,在单一设备上运行多个Android云系统实例,从而兼顾可以性和成本。Android云系统常常用于安全办公,会使用视频会议应用进行远程会议,因此Android云系统需要拉取本地系统的摄像头,音频设备数据,然后通过云系统的网络与其他成员进行视频会。1、Android虚拟化。

2023-11-12 15:23:12 457 4

原创 Android手机可信引导解决方案

1. 概述Android手机的可信引导过程,主要分为三部分,lk的可信,boot的可信,和system的可信;系统上电到lk的启动过程验证,因为和硬件联系紧密,基本都由各自硬件厂商完成. lk就是bootloader,它由Pre-loader 启动,该模块在android手机中只可由fastboot工具刷入设备,它的大小一般在1M以下,那么lk的可信就由Pre-loader定

2020-12-21 18:20:08 2092 2

原创 Android智能手机安全解决方案

1. 终端安全解决方案全景1.1. ANDROID系统框架预览 此外,鉴于许多硬件厂商不希望公开其设备驱动程序,GOOGLE在运行时库层对下屏蔽实现细节,对上提供统一接口增加了硬件抽象层. 1.2. ANDROID本身安全机制 Android系统不仅提供了开放的生态,而且针对自身特点在系统各层都提供安全机制,确保A

2020-12-21 18:19:55 3620

原创 基于容器原理(docker、lxc、cells)的Android 双系统设计概要

写在前面最近一两年预研加开发android双系统;中途用过不少开源代码或者研读过大牛BLOG,现开放双系统设计原理来回报社区。备注:我是在android6.0上实现的。这个项目的原型来自于,哥伦比亚大学虚拟化研究室的一篇论文(也有一个DEMO),后来一个以色列公司cellrox在2014年进行了商业化,2015年的时候浙大一个操作系统研究室也出了一个DEMO(名称叫Condroi......

2020-12-21 18:17:59 13391 68

原创 QEMU KVM 虚拟机移植之性能提高篇小结(android 虚拟机双系统方案)

一、提升性能核心要素1、将OPENGL 接口进行穿透调用,下面对opengl穿透做个小结2、在arm开发板上打开kvm特性,这个qcom&mtk都是实现了的,只需要打开开关即可二、ANDROID OPENGL 业务实现细节解释1、 OPENGL命令队列是确定了,可是命令的参数,有的是系统给的,有的是上一个命令计算的结果,例如纹理操作,首先调用API创...

2020-12-21 18:17:47 8612 29

原创 TPM2.0读书笔记

三种关联性技术1、Intel TXT技术2、TrustZone技术3、AMD PSP技术TPM实体1、持久性hierarchy TPM_RH_PLATFORM(平台) TPM_RH_OWNER(存储) TPM_RH_ENDORSEMENT(背书) 重启后不清空,但可以由管理员清空2、零时性hierarchy TPM_RH_NULL(空) 重启后清空3、词典锁TPM_RH_LOCKOUT 重启后不清...

2018-03-04 18:27:26 4209 2

原创 EFI secure boot

一、EFI   secure boot 是EFI BIOS中的一个子标签,同时EFI BIOS提供证书管理功能,系统可以同时拥有多个证书供用户选择,EFI只能执行经过正确签名的固件   EFI 证书种类比较多:PK,KEK,db,dbx 和 MOK    *一般PC的EFI(例如我的dell)都植入了Microsoft Windows UEFI Driver Publisher's c

2017-11-20 10:01:48 3930

原创 Bionic 学习

一、基本概况    1、不与其他libc库兼容,有自己的动态链接器(linker)    2、不支持c++异常抛出    3、一共有libc(c基础库)、libm(数学库)、libdl(假的链接库,实际是linker)、libstd++(C++功能库)、        libthread_db(多线程调试库)、linker(链接器)二、系统调用    1、arm c

2017-07-24 18:17:04 822

转载 namespace 理解

当调用clone时,设定了CLONE_NEWPID,就会创建一个新的PID Namespace,clone出来的新进程将成为Namespace里的第一个进程。一个PID Namespace为进程提供了一个独立的PID环境,PID Namespace内的PID将从1开始,在Namespace内调用fork,vfork或clone都将产生一个在该Namespace内独立的PID。新创建的Namespa

2017-06-15 16:52:31 888

原创 Cgroup 理解

一、综述      1、cgroup 可以控制进程组的资源(cpu,memory,i/o等)      2、cgroup 采用树型结构来控制进程组的资源      3、cgroup 利用资源子系统来分割资源      4、cgroup 是lxc、docker等虚拟化技术的基石二、cgroup基本概念      1、task任务,就是系统中的一个进程      2、con

2017-02-04 16:09:29 1214

原创 SEAndroid 知识点

一、DAC1、自主访问控制,Linux上的安全模型叫DAC,进程的权限与执行它的用户的权限一致,file针对所有者、所有者组、其他用户制定相关权限二、MAC1、强访问控制,SELinux上的安全模型叫MAC,主体与客体之间制定详细的访问策略 (例如:主体为进程,客体为文件,二者之间制定详细的访问策略)2、相比DAC,更自由,更安全,更复杂三、SELinux 的语法

2017-01-19 11:47:40 313

原创 art知识简要概括

一、GC分类        1、kGcCauseForAlloc 当没有足够的内存分配时触发        2、kGcCauseBackground 当已使用的内存超过最大值时触发        3、kGcCauseExplicit 当使用System.GC时触发二、GC守护线程       1、ReferenceQueueDaemon:引用队列守护线程。我们知道,在创

2016-11-17 20:37:37 586

原创 android 内存管理概要

一、zram二、lmk

2016-09-05 10:42:50 424

原创 android 系统基础知识

一、Activity 启动模式Activity有四种启动模式:standard、singleTop、singleTask、singleInstance。可以在AndroidManifest.xml中activity标签的属性android:launchMode中设置该activity的加载模式。standard模式:默认的模式,以这种模式加载时,每当启动一个新的活动,必定会构造一个新的Ac

2016-09-05 10:41:49 394

原创 android Binder 学习

一、面向过程调用与面向对象调用的区别        1、面向过程调用同一时刻只能服务一个客户,而且该过程必须具有锁功能,如果有其他客户想要访问,则需要等待前一客户完成操作。        2、面向对象则能同时服务多个客户,类似把过程调用进行了多次复制供多个客户使用。二、为什么需要Binder驱动       1、为了进行进程间通讯,传统的做法是socket、pipe(匿名管道)、f

2016-04-24 19:07:52 505

原创 Watchdog

一、简介软件狗。类似硬件狗,硬件狗是被动等“喂”,系统主要线程主动调用硬件接口,告诉系统本线程是正常的。但android 这种framework层中的软件狗本身是一个线程,会主动询问系统关键线程和服务是否正常。android抛弃硬件狗,大概是因为采用硬件狗的方式会使每个系统线程臃肿、复杂,且不能询问“死”的系统资源;采用软件狗的方式不仅能监视活着的线程,还能监视死的系统资源,并且将监视功能集中

2016-04-18 16:46:43 1141 2

原创 opengl 摘要

一、创建opengl工程    1、第一步设置像素格式。如支持双缓冲,设置颜色模式,如是rgba,还是颜色索引(需调色板),设置模板缓冲区的特征值    2、第二步创建绘制环境,且自动创建世界坐标系,将设备句柄传入,系统创建画布。    世界坐标系是固定的,屏幕的左下角是原点,向上为Y轴正方向,向右为X轴正方向,向屏幕里面是Z轴负方向二、投影变换,视图变换,视口变换   这些变

2015-11-12 14:50:46 517

原创 android 绘制过程摘要

1、没有硬件加速的UI绘制过程:在Android应用程序进程这一侧,每一个窗口都关联有一个Surface。每当窗口需要绘制UI时,就会调用其关联的Surface的成员函数lock获得一个Canvas,其本质上是向SurfaceFlinger服务Dequeue一个Graphic Buffer。Canvas封装了由Skia提供的2D UI绘制接口,并且都是在前面获得的Graphic Buffer上

2015-10-22 23:09:34 554

转载 armv8 摘要

作者:蜗蜗 发布于:2015-7-7 22:31 分类:ARMv8A Arch1. 前言ARMv8(当前只有A系列,即ARMv8-A)架构,是ARM公司为满足新需求而重新设计的一个架构,是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经和我们对旧的ARM架构的认知,有很大差距了。

2015-09-21 14:01:52 519

原创 VirtIO 读书笔记

前言:提两个概念:  1.完全虚拟化:在完全虚拟化 中,来宾操作系统运行在位于物理机器上的 hypervisor 之上。来宾操作系统并不知道它已被虚拟化,并且不需要任何更改就可以在该配置下工作。    2. 半虚拟化:来宾操作系统不仅知道它运行在 hypervisor 之上,还包含让来宾操作系统更高效地过渡到 hypervisor 的代码.大致架构:    前端驱动程序(在

2015-09-18 08:53:30 829

原创 Android 读书摘要

一 刷机 进入 system.img所在目录 1) 进入刷机模式: adb reboot bootloader fastboot format cache fastboot format userdata 2) 刷image进手机:sudo fastboot -w flashall 或者分别刷入 fastboot flash

2015-09-06 14:13:54 466

原创 虚拟化读书摘要

armhf是什么在Ubuntu 12.04和Debian里,除了arm, armel,还出现了一个名为armhf的版本。这个东西是什么?众所周知,armel是目前主要的ARM ABI。armhf则是armel的一个变种,主要区别在浮点计算上。在armel中,关于浮点数计算的约定有三种。以gcc为例,对应的-mfloat-abi参数值有三个:soft,softfp,hard。

2015-09-02 09:31:36 1085

原创 Makefile 备忘录

一、主体框架target... : prerequisites ...command    ...    ...-------------------------------------------------------------------------------Target:目标文件,可以是Object File,也可以是执行文件。还可以

2015-08-27 10:43:55 423

原创 图片加密

标题

2015-07-31 16:14:04 3350

原创 计算机冷门知识

一、计算机单位 11B,11Q,11D,11H就分别是二进制数,八进制数,十进制数,十六进制数

2015-07-08 18:18:30 1499

原创 HTML5 在cad领域中的研究

1、html5简介优点:跨平台,支持各种浏览器(activex只有极少数浏览器支持),下一代html协议。缺点:目前仅支持二维。AutoCAD的网页cadactivex版本将会下架,被其他版本取代2、DEMO的研究 1、功能目前实现功能:绘制功能:画线,画四边形,画弧,画圆,画椭圆,画B样条曲线,画文字,画标注,画半径标注编辑功能:删除测量功能:测面积功能

2015-07-06 16:03:35 8998 14

原创 倘若音乐(Android)

来自个人百度空间的文章---2014.4.23一、立项    首先遇到的第一个问题就是取名字,自个儿脑子没货,就百度之,四处逛逛,逛到"LOFTER"时看到一篇文章的开头写到"倘若迷路,我願墜入桃花深處..."。"倘若"名字挺好听的,遂取下这么个有点文艺的名儿。    前期是仿照"多米音乐"做,后期根据技术熟练度改进。    老办法先看下网上有没有源

2015-07-06 16:00:54 436

原创 Android 知识点

来自个人百度空间的文章---2014.5.5二、项目中的知识点  1、Activity 知识点    (1)生命周期 onCreate(创建时被调用) onStart(创建或者从后台回到前台需要) onRestart(从后台回到前台需要) onResume(创建或者从被覆盖,后台回到前台需要) onPause(被覆盖,锁屏时被调用) onStop(退出,进入另一个a

2015-07-06 15:58:50 405

原创 傅里叶变换

来自个人百度空间的文章---2011.2.28一.离散傅里叶变换    任何信号都可以表示成不同频率的正余弦叠加起来。。    基本公式如下: ‍    其中   ‍二.离散傅里叶变换在数字图像的中的应用       图像的中的像素按矩阵存储,那么单个像素与其周围的其他的像素的差异叫做该点的频率,也叫做灰度梯度。所以图像也可以使用

2015-07-06 15:56:04 419

原创 人月神话-读书笔记

来自个人百度空间的文章---2013.11.241、编程方法    1/3设计 1/6编码 1/4构件测试 1/4系统测试    模块和接口一定清晰可见    分清有多少入口逐一检查2、管理方法    人!=时间    质量==生产效率3、专业语言    乐观主义是职业病    程序

2015-07-06 15:52:07 467

原创 数字图像处理-算法学习

来自个人百度空间的文章---2012.2.23一.点运算(像素变换)1.线性变换   原理:f=a*F+b;  效果:典型的有反色的作用。2.阀值运算   原理:若FX时  f=255;  效果:草图的感觉3.窗口运算   原理:类似阀值运算,不过分三段,中间的一段不变;效果:能去掉背景4.灰度拉伸   原理:若xx2 则

2015-07-06 15:48:54 5071

原创 远程视频基础

来自个人百度空间的文章---2011.2.13一、位图文件结构位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据1、位图文件头。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义:typedef struct tagBITMAPFILEHEADER { // bmfh WORD bfType; DWORD bfSize;

2015-07-06 15:46:05 439

原创 计算机图形学-多边形填充法

来自个人百度空间的文章---2012.3.31种子填充法原理:以一点为基准,如果点在多边形内则填颜色,向四周扩散,如此递归.程序:略边界标志填充法原理:对于每一条扫描线和每一条多边形边的交点(xi,yi),将该扫描线上交点右方的所有象素取补,依次对多边形的每条边作此处理,直到最终完成填充。这里要介绍一下取补的定义,假设某点的颜色是M,则对该点

2015-07-06 15:39:56 1698

原创 布尔运算-二维

一、概念       二维图形的布尔运算是两个多边形的交,差,并运算。       二维图形的布尔运算说穿了就是将产生的新边和原来的边归类。二、基本原理      1、首先一点必须是两个闭合的环做运算。      2、求出两个多边形边与边的交点。      3、懂得怎样判断点是否在多边形里面      4、若求交:交点,其他点在另一个环中。

2015-07-06 15:37:27 3880

原创 样条曲线

来自个人百度空间的文章---2012.3.1一、概念  所谓样条就是根据给定的几个点所获得的光滑曲线,分插值样条(用于动画)和逼近样条(构造物体的表面)。  常用的样条曲线就是: 非均匀有理 B 样条曲线(NURBS)。二、特点  拟合点:曲线必须通过的点  特征多边形(控制多边形):样条曲线是由一些折线组成的多边形构造出来的。简单地说,以数值计

2015-07-06 15:28:03 1718

原创 计算空间中两条线段的最小距离

来自个人百度空间的文章---2012.2.19一、基础知识     本来是空间三维坐标系,只是为了便于理解所以采用一般的2维坐标,其实是一样的     1、设AB线段 A(A.x,A.y),B(B.x,B.y),在AB上有一点为Q,           Q.x=A.x+s*(A.x-B.x);           Q.y=A.y+s*(A.y-B.y);

2015-07-06 15:24:32 4132

原创 使用叉积判断两条线段是否相交

来自个人百度空间的文章---2012.2.19一、基础知识 求两条线段是否相交首先要求两条线段通过快速排斥实验,即做出能包含两条线段的最小的矩形,既是以两条线段作为对角线的两个矩形,判断两个矩形是否相交,若两个矩形不能同时在x方向和y方向相交,则两条线段不可能相交,通过了快速排斥实验后再判断两条线段是否互相跨立,既是一条线段的两个端点是否在另一条线段所在直线的

2015-07-06 15:20:41 1405

原创 计算多边形的面积

来自个人百度空间的文章---2012.2.19一、基础知识 叉积:向量A、B,AXB=|A|*|B|*SIN=A.x*B.y-A.y*B.x.|AXB|=三角形的面积的两倍,|AXB|有正负之分,叉积的和有中和计算两遍的地方,基于这些属性可以将多边形的面积分解成很多三角形的面积的和,该原理又称海伦公式。二、C++代码 {CSDN:CODE

2015-07-06 15:17:33 649

原创 判断点是否在多边形中

来自个人百度空间的文章---2012.2.19一、基本知识 以该点为起点,做平行于X轴的,向X轴的正方向的射线,计算该射线与多边形的边相交的次数,如果是奇数则在多边形的里面,否则反之。 然后需要考虑边界问题,1、如果点在多边形的边上则认为是多边形里面,这条在实际应用中可忽略,因为在图形上多边形的边是一个像素宽度的,很难点到那里,

2015-07-06 15:12:38 384

原创 使用点积投影法求点到线段的距离

来自个人百度空间的文章---2012.2.19引子:由于面试中需要问到这些问题,所以对一些平面几何的算法做个总结,而且由于有个面试官,竟然说使用叉积可以算点到线段之间的距离,这个当时我信以为真。即使面试中也保持思维活跃起来,不要滔滔不绝的讲,搞清楚面试官到底要干什么,一定要寻个为什么。正文:一、基本知识点      点积:假设向量A,B.点积A*B=|A|*|B|*

2015-07-06 15:07:19 3925

html5-cad-demo

html5-cad-demo

2023-10-20

微内核操作系统l4re-4

微内核操作系统l4re-4

2022-04-27

Automotive Grade Linux soucre codes

Automotive Grade Linux soucre codes

2022-03-24

android中文帮助文档

android中文帮助文档,农民伯伯翻译的,少了点,适合初学者.

2014-08-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除