-
嵌入式系统的启动
嵌入式软件运行流程上电复位加电后从起始地址开始执行板机初始化板级初始化板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。其中一定要完成以下内容: CPU中堆栈指针寄存器初始化 BSS段初始化 中断控制器、内存等初始化板级初始化后进入引导/升级阶段引导/升级根据需要进入系统软件引导或系统软件升级。可通过测试通信端口数据或判断特定开关的方式进入不同阶段系统引导系统引导有几种情况: 将系统软件从NOR Flash读取到RAM中运行。可以解决成本以及Flash速度比RAM慢的问题 ...…
-
过程间分析
调用图构造(使用CHA)调用图调用图是程序中调用关系的表示。其中的点是所有的方法,边是从调用者到被调用者的调用关系。面向对象语言的调用图构造 类层次分析(CHA) 快速类型分析(RTA) 变量类型分析(VTA) 指针分析(k-CFA)越往下越精确但越慢。Java的方法调用 静态调用 特殊调用 虚调用 指令 invokestatic invokespecial in...…
-
SWOT评估
多边商业模式多边平台将两个或多个独立但相互依存的客户群体进行连接谷歌的商业模式建立并维护搜索引擎的基础设施 平台的三大功能的管理 搜索栏广告、网站内广告将平台提供给新用户、新内容提供商、新广告商 成功尝试:Gmail、GoogleMap、Android-GMS 未流行尝试:谷歌眼镜、谷歌热气球金冯阳免费商业模式通过其他方面补贴免费产品至少有一个关键的客户群体可以持续免费享受服务 不付费客户得到的财务支持来自于另一个客户群体 对价格为0的产品的需求要数倍于定价为1分或更高的产品 ...…
-
SWOT评估
SWOT分析包括内部/外部、有利/有害两个维度 有利 有害 内部 优势(S) 劣势(W) 外部 机会(O) 威胁(T) 评估SW价值主张 价值主张和客户需求是否匹配 价值主张有没有网络效应 各项价值主张之间相互联系、相互促进 产品和服务是否是强耦合的 以服务为主的,服务中使用的产品和...…
-
商业模式评估-外部
市场影响力考虑初创期的网易考拉海购市场问题从客户和供给的角度识别出驱动和改变市场的关键问题 2014年时高品质购物体验缺位市场分类识别主要的市场群体,描述他们的兴趣点,尝试发现新的群体 专注于为中层家庭打造正品低价的体验,聚集母婴产品需求和诉求列举市场需求并分析这些需求被满足的程度 对更高生活水平的追求切换成本客户转投竞争对手,需要改变哪些方面 网易系的产品在客户体验上有优势收入影响力识别与收入吸引力和定价能力相关的因素 高复购+较高附加值+品质重要性+情感认同=聚焦母婴产品 ...…
-
存储管理(一)
存储管理的模式物理地址与逻辑地址逻辑地址又称相对地址,是用户编程所用的地址空间。逻辑地址从0开始,有一维地址(地址)和二维地址(段号:段内地址)的编址方式。物理地址又称绝对地址,是程序执行所使用的地址空间。处理器执行指令时按照物理地址进行。主存储器复用分区复用主存划分为多个固定/可变尺寸的分区,一个程序/程序段占用一个分区页架复用主存划分为多个固定大小的页架,一个程序/程序段占用多个页架存储管理的基本模式单连续存储管理一维逻辑地址空间的程序占用一个主存固定分区或可变分区段式存储管理段式二维...…
-
PID算法
反馈控制反馈控制是将系统的输出和输入信息进行比较,利用两者的偏差进行控制的过程开环系统无反馈系统。输出不影响接下来的输入。例如自动售货机、自动洗衣机、自动生产线等闭环系统被控制的输出量以一段方式返回输入端,对输入端施加影响。其有精确、自适应条件、稳定性高的优点,PID在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器。其原理简单、易于实现、易于调整连续控制系统中的理想PID:\[u(t)=K_p(e(t)+\frac{1}{T_t}\int_0^te(t)dt+...…
-
数据流分析与格(二)
迭代算法与单调性\[init \rightarrow (\perp,\perp,...,\perp)=X_0\\iter\ 1 \rightarrow (v_1^1,v_2^1,...,v_k^1)=X_1=F(X_0)\\iter\ 2 \rightarrow (v_1^2,v_2^2,...,v_k^2)=X_2=F(X_1)\\...\\iter\ i \rightarrow (v_1^i,v_2^i,...,v_k^i)=X_i=F(X_{i-1})\\iter\ i+1 \rig...…
-
存储管理
实模式μC/OS使用实模式管理内存空间mallocmalloc和free具有不确定的运行时间,可能会影响实时性。μC/OS对malloc和free进行改进,使之可以分配和释放固定大小的内存块,从而使其执行时间确定。一般的malloc和free有以下问题: 在小型嵌入式系统中可能不可用 具体实现较大,占用更多代码空间 通常线程不安全 具有不确定性 会产生内存碎片 会使链接器更复杂μC/OS采用固定分区的管理方法,把连续的大块内存按分区来管理,每个分区有整数个大小相同的块。应用程序...…
-
推荐系统方法
协同过滤协同过滤是最常用的推荐手段,其易于理解,适用领域广,被大量使用。其方式是利用“集体的智慧”来进行推荐。用户层面基本思想用户显式或隐式地对类别的商品进行评分。而在过去品味相近的用户,在未来也会有相近的品味(惯性)。对于用户x,找到N个其他用户,其评分偏好与用户x相近。然后根据这N个用户给其他商品的评分预测x对其评分,进行推荐。相似寻找设$r_x$为用户x的评分列表。使用皮尔森相关系数来度量相似度$sim(x,y)$评分预测设集合N有k个和x相近的用户对物品i进行评分,对x给i评分的预...…
-
处理器调度算法
�㷨ѡ��ԭ��调度算法调度算法的选择资源利用率、响应时间、周转时间、吞吐量、公平性优先数调度算法根据进程的优先级调度进程优先数的确定: 任务的紧迫程度 进程的交互性 进程使用外设的频度 进程进入系统的时间长短与进入系统时间相关的优先数 计算时间短优先 剩余计算时间短进程优先 响应比(等待时间/进入时间)高者优先 先来先服务 多用于高级调度;低级调度中,以计算为主的进程过于优越 时间片轮转调度算法根据各个进程进入就绪队列的时间先后轮流占用CPU一...…
-
聚类方法
层次方法分割式:初始为一个大类,逐渐分解为多个子类合并式:初始各自为类,逐渐合并为稳定的大类有BIRCH、CURE等方法模型方法根据概率估计来分类每个簇有一个模型。生成模型: 选择簇的概率 生成一个簇内对象的概率根据似然或MAP模型选择最大概率使用EM算法聚类评估:测试集的似然概率神经网络神经元:簇层:类型层次密度方法发现高密度的地方,然后把高密度的点连成一片,从而发现簇DBSCAN方式:在某个点以某个半径画圆,得到领域。数领域里有多少点,点的数量称为密度值。当密度达到阈值时,则这个点...…
-
推荐系统
推荐方式手工编辑 最爱列表 关键列表简单聚合 Top 10 最热门 最近上传个性化各种推荐算法形式化表示 X:客户集合 S:商品集合 R:评分集合矩阵,评分是有序集函数$u=X \times S \rightarrow R$用户档案从简单到复杂,包含个人信息、兴趣爱好、消费记录、……、人生经历…
-
定时器管理
中断处理响应中断条件有中断源发出中断信号;中断信号未被屏蔽ISR框架 保存所有寄存器的值 调用OSIntEnter(),或直接将全局变量OSIntNesting加1 执行用户代码进行中断服务 调用OSIntExit() 恢复所有寄存器的值 调用中断返回指令时钟节拍时钟ISR 保存处理器寄存器的值 调用OSIntEnter()或将OSIntNesting加1 调用OSTimeTick() 调用OSIntExit() 恢复处理器 执行中断返回OSTimeTick()vo...…
-
任务间通信
事件控制块事件控制块(ECB)用于管理具体事件。包含指向消息或消息队列的指针、等待任务列表、计数器、等待任务组等。等待任务列表该列表包含两个变量OSEventGrp和OSEventTbl[]。在Grp中,任务按优先级分组,每组对应8格个任务。与OSRdyGrp和OSRdyTbl类似。当某组有任务处于等待该事件的状态时,对应位置置为1。同样使用OSUnMapTbl来查找最高优先级任务。ECB由空闲链表和双向链表管理。同步与互斥使用临界区开关中断信号量μC/OS使用信号量实现互斥访问和任务同步...…
-
数据流分析与格(一)
迭代算法以May & Forward Analysis为例OUT[entry] = EMPTYfor(each entry block B\entry) OUT[B] = EMPTY; //may analysis一般为EMPTY, must analysis一般为FULLwhile(changes to any OUT occur) for(each basic block B\entry){ IN[B] = union(OUT[B.predecessors]); OUT[...…
-
多线程技术
线程环境单线程结构的问题进程切换开销大、进程通信开销大,限制了进程并发的速度,降低了并行计算的效率解决思路:将进程的资源属性与调度属性分离。多线程环境多线程环境下,进程是保护和资源分配的独立单位。线程是调度的基本单位,同一个进程内的所有线程共享进程的主存空间和资源。线程包括: 执行状态 受保护的线程上下文 独立的程序计数器 堆栈 容纳局部变量的静态存储区线程状态与调度线程状态有运行、就绪和睡眠,无挂起。相关的线程操作有:孵化、封锁、活化、剥夺、指派、结束OS感知线程环境下: 处...…
-
分布式计算
概述多个通过网络互联的计算机都具有一定的计算能力,它们互相传递数据,实现信息共享,协作共同完成一个处理任务优势:稀有资源实现共享;在多台计算机上平衡负载;将创新放在最适合它的计算机上运行分布式系统:通过网络消息实现数据通信和协调分布式计算的一般步骤:设计分布式计算模型;分布式任务分配;编写并执行分布式程序难点:计算任务划分、多节点通信理论基础ACID原子性、一致性、隔离性、持久性CAP一个分布式系统最多同时满足一致性、可用性、分区容错性中的两项一致性:一次操作后,所有节点同一时间的数据完全...…
-
μCOS-Ⅱ
μC/OS-Ⅱ任务控制块任务控制块TCB包括类似进程控制块的内容,包括任务堆栈指针、任务ID、任务优先级、任务链表指针等栈指针 栈顶指针 栈底指针链表指针所有的TCB分属于两条:单向的空闲链表和双向的使用链表任务就绪表每个任务的就绪态标志放在任务就绪表。表中有两个变量OSRdyGrp和OSRdyTbl[]。在Grp中,任务按优先级分组,8个一组。其每一位表示每一组是否有进入就绪态的任务。任务进入就绪态时,其Tbl[]的对应位和Grp的对应组位置1。对于一个任务,其6为优先级数的低三位为...…
-
聚类
聚类将数据组织成多个类以确保: 高的类内相似度 低的类间相似度硬聚类与软聚类硬聚类每个对象必定属于一个类别。硬聚类更为常见,且更为容易实施软聚类一个对象可以属于多个类别距离度量定义给定对象O1和O2,其距离为一个实数,记为D(O1, O2)性质对称性:$D(A,B)=D(B,A)$自相似为0:$D(A,A)=0$重叠:$D(A,B)=0 \Leftrightarrow A=B$三角不等式:$D(A,B)\le D(A,C)+D(B,C)$常用方式对于向量,一般采取余弦距离。\[cos(...…