Fork me on GitHub
摘要: Hi,大家好!我是CrazyCatJack。今天给大家讲解Linux根文件系统的init进程和busybox的配置及编译。 先简单介绍一下,作为一个嵌入式系统,要想在硬件上正常使用的话。它的软件组成大概有这三部分:1)bootloader 2)嵌入式系统kernel 3)根文件系统 。这其实非常好理 阅读全文
posted @ 2016-12-16 22:21 CrazyCatJack 阅读(7766) 评论(2) 推荐(1) 编辑
摘要: 题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序。以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提。说到底,机器都是0和1控制的。感觉这很像我们中国《易经》里的一句话:“太极生两仪,两仪生四象。”两仪指的就是阴阳、天地,对立而又相互依存 阅读全文
posted @ 2016-11-25 17:56 CrazyCatJack 阅读(2671) 评论(0) 推荐(1) 编辑
摘要: Ping程序是用来探测主机到主机之间是否可通信,如果不能Ping到某台主机,表明不能和这台主机建立连接。Ping使用的是ICMP协议,它发送ICMP回送请求消息给目的主机,ICMP协议规定,目的主机必须返回ICMP回送应答消息给源主机,如果源主机在一定时间内收到应答,则认为主机可达。一次完整的Pin 阅读全文
posted @ 2021-02-22 10:50 CrazyCatJack 阅读(1151) 评论(0) 推荐(0) 编辑
摘要: UDP与TCP的不同之处是:他的通信不需要建立连接的过程。中文名称用户数据报协议。时OSI参考模型中一种无连接的传输层协议。提供面向事务的简单不可靠信息传送服务,UDP在IP报文中的协议号是17.与TCP(传输控制协议)一样,UDP协议直接位于IP(网际协议)协议的顶层,根据TCP/IP参考模型,U 阅读全文
posted @ 2021-02-22 10:28 CrazyCatJack 阅读(961) 评论(0) 推荐(0) 编辑
摘要: 9.1 定义 一个图G=(V, E)由顶点集V和边集E组成。每一条边就是一个点对(v,w),其中v,w属于V。有时也把边称作弧。如果点对是有序的,那么图就是有向的,有向的图也成为有向图。顶点v和w邻接,当且仅当(v, w)属于E。在一个具有边(v, w)从而具有边(w, v)的无向图中,w和v邻接且 阅读全文
posted @ 2021-02-22 10:19 CrazyCatJack 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 对于每一对元素(a,b), a, b属于S,aRb或者为true或者为false,则称在集合S上定义关系R,如果aRb是true。那么我们说a与b有关系。 8.1 等价关系 等价关系是满足下列三个性质的关系R: (自反性)对于所有的a属于S,aRa (对称性)aRb当且仅当bRa (传递性)若aRb 阅读全文
posted @ 2021-02-21 16:39 CrazyCatJack 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 1. Linux 红黑树简介 红黑树是一种自平衡二进制搜索树,用于存储可排序的键/值数据对。这不同于基数树(基数树用于有效存储稀疏数组,因此使用长整数索引插入/访问/删除节点)和哈希表(不保留排序到容易按顺序遍历,并且必须针对特定大小进行调整,rbtrees适当扩展存储任意键的哈希函数)。红黑树类似 阅读全文
posted @ 2021-02-21 09:45 CrazyCatJack 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 10.1 贪婪算法 贪婪算法分阶段的工作,在每个阶段,可以认为所做决定是最好的,而不考虑将来的后果。一般来说,这意味着选择的是某个局部的最优。当算法终止时,我们希望局部最优就是全局最优。如果是这样的话,那么算法就是正确的,否则,算法得到的是一个次最优解。如果不要求绝对最佳答案,那么有时用简单的贪婪算 阅读全文
posted @ 2021-02-20 23:29 CrazyCatJack 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 插入排序 插入排序由N-1趟排序组成,对于P=1趟到P=N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态 基本有序或者规模较小时十分高效 void InsertSort(int inputArray[], int arrayNum) { int index, value; int cnt; 阅读全文
posted @ 2021-02-20 17:26 CrazyCatJack 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 队列中的某些成员有更高的优先级,需要优先执行或者尽快执行完毕 6.1 模型 优先队列允许至少有两种操作的数据结构: Insert: 插入元素,相当于入队 DeleteMin: 找出、返回和删除优先队列中最小的元素,相当于出队 6.2 简单实现 链表实现: 单链表,Insert:从头插入,Delete 阅读全文
posted @ 2021-02-20 11:12 CrazyCatJack 阅读(679) 评论(0) 推荐(1) 编辑
摘要: 散列表只支持二叉查找树所允许的一部分操作。散列是一种用于以常数平均时间执行插入、删除和查找的技术。但是,那些需要元素间任何排序信息的操作将不会得到有效的支持,例如FindMin、FindMax以及以线性时间将排过序的整个表进行打印的操作都是散列所不支持的 5.2 散列函数 关键字是整数:保证表的大小 阅读全文
posted @ 2021-02-19 23:53 CrazyCatJack 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 4.1 预备知识 对于大量的输入数据,链表的线程访问时间太慢,不宜使用。二叉查找树大部分操作的运行时间平均为O(logN)。 树可以用几种方式定义,定义树的一种自然的方式是递归的方法。一棵树是一些节点的集合。这个集合可以是空集。若非空,则一棵树由称作根节点r以及0个或多个费控的子树T1, T2, . 阅读全文
posted @ 2021-02-19 13:03 CrazyCatJack 阅读(762) 评论(0) 推荐(1) 编辑