
技术原理
andylauren
嵌入式爱好者
展开
-
php操作sqlite
<?phpclass MyDB extends SQLite3{ function __construct() { $this->open('test.db'); }}$db = opensql();tablesql($db);insertsql($db);selectsql($db);updatesql($db);selectsql($db);deletesql($db);$db->close();funct.原创 2021-09-03 17:29:44 · 293 阅读 · 0 评论 -
Html从php获取json并解析
先上html代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript" src="http://code.j..原创 2021-09-03 09:37:39 · 849 阅读 · 0 评论 -
Html实时显示数据曲线(基于Highcharts )
直接上源码,这个源码也是从其他地方下载的,验证可用。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" c原创 2021-09-02 15:29:50 · 3151 阅读 · 0 评论 -
三字节汉明码校验程序
三个字节的汉明码校验程序,linux下编译,存储格式与汉明码有一定区别,前三字节存储数据,第四字节存储校验码。测试程序,在中间随机改变数据一位,模拟传输位翻转。#include<stdlib.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include <time.h>#define BIT0(x) (x&0x01)#define BIT1(x) (原创 2021-03-29 11:18:56 · 252 阅读 · 0 评论 -
linux内核 RCU机制详解
简介 RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用于需要频繁的读取数据,而相转载 2017-04-19 21:38:04 · 585 阅读 · 0 评论 -
GET和POST有什么区别?及为什么网上的多数答案都是错的。
如果有人问你,GET和POST,有什么区别?你会如何回答?我的经历 前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。 这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把GET改个名字叫GET2。他反问道,那就是单纯的名字上的区别喽?我想了想,我觉得如果说再具体的区别,只能转载 2017-04-06 19:26:11 · 311 阅读 · 0 评论 -
linux内核SMP负载均衡浅析
需求 在《linux进程调度浅析》一文中提到,在SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加入到一个run_queue),以便让调度程序安排它在这个run_queue对应的CPU上面运行。 一个CPU对应一个run转载 2017-04-15 13:18:56 · 729 阅读 · 2 评论 -
linux中断处理浅析
最近在研究异步消息处理, 突然想起Linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~第一阶段--获取中断号每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序.在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应, 因为CPU不能假定中断服务程转载 2017-04-14 21:04:52 · 270 阅读 · 0 评论 -
linux线程浅析
关于linux线程 在许多经典的操作系统教科书中, 总是把进程定义为程序的执行实例, 它并不执行什么, 只是维护应用程序所需的各种资源. 而线程则是真正的执行实体. 为了让进程完成一定的工作, 进程必须至少包含一个线程. 如图1. 进程所维护的是程序所包含的资源(静态资源), 如: 地址空间, 打开的文件句柄集, 文件系统状态, 信号处理handler等;转载 2017-04-13 19:02:50 · 465 阅读 · 0 评论 -
linux组调度浅析
cgroup与组调度 Linux内核实现了control group功能(cgroup,since linux 2.6.24),可以支持将进程分组,然后按组来划分各种资源。比如:group-1拥有30%的CPU和50%的磁盘IO、group-2拥有10%的CPU和20%的磁盘IO、等等。具体参阅cgroup相关文章。 cgroup支持很多种资源的划转载 2017-04-13 19:01:13 · 1388 阅读 · 0 评论 -
linux进程调度浅析
操作系统要实现多进程,进程调度必不可少。 进程调度是对TASK_RUNNING状态的进程进行调度(参见《linux进程状态浅析》)。如果进程不可执行(正在睡眠或其他),那么它跟进程调度没多大关系。 所以,如果你的系统负载非常低,盼星星盼月亮才出现一个可执行状态的进程。那么进程调度也就不会太重要。哪个进程可执行,就让它执行去,没有什么需要多考虑的。 反之,如转载 2017-04-13 18:43:23 · 775 阅读 · 0 评论 -
linux进程状态浅析
众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。Linux就是这样的一个操作系统。 在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。本文主要介绍进程状态管理,进程调度见《linux进程调度转载 2017-04-13 18:42:35 · 285 阅读 · 0 评论 -
深入理解C语言的函数调用过程
本文主要从进程栈空间的层面复习一下C语言中函数调用的具体过程,以加深对一些基础知识的理解。 先看一个最简单的程序:/*test.c*/#include int foo1(int m,int n,int p){ int x = m + n + p; return x;}int main(int argc,char** argv){转载 2017-04-12 20:04:14 · 3023 阅读 · 0 评论 -
HTTPS工作原理和TCP握手机制
1、HTTPS的工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一转载 2017-04-11 18:52:52 · 364 阅读 · 0 评论 -
linux 内核网络,数据接收流程图
4.3 数据接收流程图各层主要函数以及位置功能说明: 1)sock_read:初始化msghdr{}的结构类型变量msg,并且将需要接收的数据存放的地址传给msg.msg_iov->iov_base. net/socket.c 2)sock_recvmsg: 调用函数指针sock->ops->recvmsg()完成在IN转载 2017-04-11 18:47:31 · 512 阅读 · 0 评论 -
Linux性能及调优指南(翻译)之Linux内存架构
本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.2节的翻译原文地址:http://www.redbooks.ibm.com/redpapers/pdfs/redp4285.pdf原文作者:Eduardo Ciliendo, Takechika Kunimasa, Byron Braswell译文如下转载 2017-04-11 18:45:38 · 447 阅读 · 0 评论 -
Linux系统结构 详解
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. linux内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。转载 2017-04-09 21:11:23 · 620 阅读 · 0 评论 -
SmartConfig技术原理
转载自:https://cjey.me/archives/289一.简介:简单来说, 这是一种让你可以在没有和其他设备(支持SmartConfig技术)建立任何性质的通讯链路的情况下, 配置该设备接入wifi网络 虚构一个实际场景的话, 会是这样: 你购买了一个带有wifi的摄像头, 不过这个摄像头没有usb, 没有以太网, 没有蓝牙, 没有nfc, gsm就更不可能了,转载 2016-08-16 22:20:54 · 3568 阅读 · 1 评论