ARM处理器从cortex系列开始集成NEON处理单元,该单元可以简单理解为协处理器,专门为矩阵运算等算法设计,特别适用于图像.视频.音频处理等场景,应用也很广泛. 本文先对NEON处理单元进行简要介绍,然后介绍如何在内核态下使用NEON,最后列举实例说明. 一.NEON简介 其实最好的资料就是官方文档,Cortex™-A Series Programmer's Guide ,以下描述摘自该文档 1.1 SIMD NEON采用SIMD架构,single instruction multy dat…
1.时间值 1.1 日历时间(UTC) 该值是自1 9 7 0年1月1日0 0 : 0 0 : 0 0以来国际标准时间( U T C)所经过的秒数累计值(早期的手册称 U T C为格林尼治标准时间) ,系统中用time_t类型表示. 1.2 进程时间 也叫CPU时间,用来度量占用的CPU资源. 单位:==时钟滴答==,系统每秒的滴答数可以通过sysconf获取,曾经取值50/60/100等,用clock_t类型表示:==就算1000,精度才1ms,不适用高精度测量== 三个进程时间值: 时钟时间…
Linux kernel 4.9及以上开启TCP BBR拥塞算法 BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差 Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启 安装Linux kernel 4.9以上的版本 一般安装最新版本内核 Debian 8+ / Ubuntu 14.04 下载最新内核 # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.1…
转载:http://blog.sina.com.cn/s/blog_602f87700100dq1u.html Sam之前在Linux kernel 2.4下写过一些driver.但自从转到kernel 2.6之后,再也没有写过driver.所以很多具体的东西并不清楚.今天看了看文档,觉得变化挺大的.记下来. 在2.4内核中,只要自己写了driver,最多需要kernel头文件来配合编译.通常的CFLAGS为: =-D__KERNEL__ -I$(KDIR) /include -DMODULE…
Linux Kernel中所應用的數據結構及演算法 Basic Data Structures and Algorithms in the Linux kernel Links are to the source code on github. Linked list, doubly linked list, lock-free linked list. B+ Trees with comments telling you what you can't find in the textbooks…
转自:http://blog.csdn.net/u011461299/article/details/10199989 版权声明:本文为博主原创文章,未经博主允许不得转载. 在驱动程序的设计中,我们可能会用到flush_cache_all将ARM cache的内容刷新到RAM,这是因为ARM Linux中cache一般会被设定为write back的.而通常象DMA是访问不了cache,所以如果我们需要启动DMA将RAM中的内容写到Flash中或LCD framebuffer,那么我们就需要调用…
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.3.tar.gztar -xzf linux-3.9.3.tar.gzcd linux-3.9.3make menuconfig 这个时候会出现 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses…
Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口 讲到了怎样调用内核中的接口的方法. 本节主要是介绍怎样Android C/C++应用程序调用Openssl的AES加密算法. crypt_ssl.c #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <aes.h> #include…
前言 对这段时间学习的 linux 内核中的一些简单的利用技术做一个记录,如有差错,请见谅. 相关的文件 https://gitee.com/hac425/kernel_ctf 相关引用已在文中进行了标注,如有遗漏,请提醒. 环境搭建 对于 ctf 中的 pwn 一般都是给一个 linux 内核文件 和一个 busybox 文件系统,然后用 qemu 启动起来.而且我觉得用 qemu 调试时 gdb 的反应比较快,也没有一些奇奇怪怪的问题.所以推荐用 qemu 来调,如果是真实漏洞那 vmwar…
1.特权级         Intel x86架构的cpu一共有0-4四个特权级,0级最高,3级最低,ARM架构也有不同的特权级,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查.硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级,即最高最低特权级.也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CPU能提供的最高权力,而一条工作在3级特权的指令具有CPU提供的最低或…