hash函数应用(整理)

评估hash函数优劣的基准主要有以下两个指标: (1)散列分布性 即桶的使用率backet_usage = (已使用桶数) / (总的桶数),这个比例越高,说明分布性良好,是好的hash设计。 (2) 平均桶长 即avg_backet_len,所有已使用桶的平均长度。理想状态下这个值应该=...

2019-05-17 15:10:55

阅读数 6

评论数 0

【Linux】grep 匹配多个关键字

grep 命令非常常用,经常用于匹配文本字符。 一般情况下,grep 命令只能匹配一个关键字,怎么实现匹配多个关键字呢? 下面看几种情况: 1、 grep ‘字符串’ 这是最普通的使用方式: 匹配文件中包含 MANPATH 的那一行: cat manpath.config | grep ...

2019-05-09 10:20:26

阅读数 9

评论数 0

Linux编程-让进程或线程运行在指定的CPU上

By:Ailson Jack Date:2016.03.18 个人博客:www.only2fire.com 本文在我博客的地址是:http://www.only2fire.com/archives/55.html,排版更好,便于学习。 为了让程序拥有更好的性能,有时候需要将进程或线程绑定到...

2019-05-07 11:08:23

阅读数 20

评论数 1

linux下指定进程运行的CPU

如果你觉得比内核的进程调度器更了解你的进程,不想过多的占用CPU0,更高的缓存命中,那么可以设置进程运行在某个或某些CPU上。 redis是单进程模型,为了充分利用多核服务器性能,可以指定不同的redis实例运行在不同CPU上,这样也可以减少进程上下文切换。 方法有两种: 一、使用命令tas...

2019-05-07 11:06:17

阅读数 20

评论数 0

c语言设置cpu affinity (设置程序需要使用的cpu内核) cpu mask

最近打算写个小程序, 需要控制使用的是哪个 cpu 内核,所以做了一些调查, 整理一下分享给大家。 主要参考: http://www.gnu.org/software/libc/manual/html_node/CPU-Affinity.html/ http://stackoverflow....

2019-05-07 10:53:31

阅读数 49

评论数 0

OpenJDK6,7,8,9,10,11下载链接

OpenJDK6 http://download.java.net/openjdk/jdk6/promoted/b27/openjdk-6-src-b27-26_oct_2012.tar.gz https://codeload.github.com/shchiu/openjdk/zip/maste...

2019-05-05 18:38:07

阅读数 29

评论数 0

《Linux操作系统-系统移植》第3章 U-boot移植(IMX283+U-boot2015.04)

##3.1准备编译  复制源码包到开发主机中 将下载的“u-boot 源码”复制到 Linux 开发主机的“~/imx283/source”。这一步自己采取相应的方式完成。 源码下载链接:ftp://ftp.denx.de/pub/u-boot/ 【方法】共享目录 将源码文件移到共享目录下(共享...

2019-05-05 17:10:03

阅读数 37

评论数 0

Linux操作系统在ARM上 的移植过程及分析

一. 前言 面向A R M 微处理器构架的嵌入式操作系统的使用量将在今后五年持续增长,在各种嵌入式操作系统中,Linux是获得支持最多的第三大力量。 目前,ARMLinux 支持包括A R M 6 1 0 、A R M 7 1 0、A R M 7 2 0 Tcores、ARM920T co...

2019-04-30 17:07:31

阅读数 90

评论数 0

OMAP开发板的启动过程

OMAP的启动过程 参考文档:http://www.omappedia.org/wiki/Bootloader_Project#u-boot_overview OMAP平台的启动初始化过程(bootloaders)分为了几个不同的阶段.下图指示了启动的顺序为:ROM代码,x-loader,u-...

2019-04-30 15:58:44

阅读数 154

评论数 0

Bootloader 设计蓝图 和 ARM 的启动流程

UBoot源代码的查看 Bootloader对于嵌入式系统就像BIOS相对于Windows操作系统一样,负责启动操作系统。如下图所示: 在对Bootloader学习中,可以参考U-Boot代码 U-Boot是用于多种嵌入式CPU( MIPS、x86、ARM等)的bootloader程序,...

2019-04-30 15:35:36

阅读数 66

评论数 0

bootloader系列一——Arm处理器启动流程解析

转载自:http://http://www.cnblogs.com/wrjvszq/ 芯片手册下载地址:链接:https://pan.baidu.com/s/1F0WGwZDSg92EjwLd377tsw密码:bmeb Arm启动流程解析 谈到arm的启动流程不得不说的是bootload...

2019-04-30 15:32:50

阅读数 179

评论数 0

QEMU 简单几步搭建一个虚拟的ARM开发板

1.安装QEMU 先在Ubuntu中安装QEMU sudo apt-get install qemu 1 安装几个QEMU需要的软件包: sudo apt-get install zlib1g-dev sudo apt-get install libglib2.0-0 sudo apt-ge...

2019-04-30 11:50:41

阅读数 73

评论数 0

Linux Interrupt

转载之:http://kernel.meizu.com/linux-interrupt.html 02 September 2016 在面试的时候我们常常被问及一个问题:几种中断下半部机制 softirq、tasklet、workqueue 有什么区别?Linux 为什么要设计这几种机制?真正...

2019-04-28 11:40:12

阅读数 12

评论数 0

Linux Workqueue

转载之:http://kernel.meizu.com/linux-workqueue.html 21 August 2016 Workqueue 是内核里面很重要的一个机制,特别是内核驱动,一般的小型任务 (work) 都不会自己起一个线程来处理,而是扔到 Workqueue 中处理。Wor...

2019-04-28 11:34:16

阅读数 15

评论数 0

Linux 死锁检测模块 Lockdep 简介——转自魅族内核团队,对死锁检测认识上升到新高度

Linux 死锁检测模块 Lockdep 简介 原文地址http://kernel.meizu.com/linux-dead-lock-detect-lockdep.html 25 July 2016 死锁概念 死锁是指多个进程(线程)因为长久等待已被其他进程占有的的资源而陷入...

2019-04-28 11:06:38

阅读数 38

评论数 0

Linux 的死锁检测

死锁 死锁:就是多个进程(≥2)因为争夺资源而相互等待的一种现象,若无外力推动,将无法继续运行下去。 注意,只有在多进程或者多线程之间或者他们与中断之间相互通讯或者共享资源才有可能发生死锁,单线程或者进程之间没有联系的话,一般不会发生死锁。锁的种类比较多,这里主要说自旋锁和信号量。两者的差别就...

2019-04-26 16:45:36

阅读数 37

评论数 0

Linux内核中的per-cpu变量

per CPU变量 per-CPU变量从字面上即可猜出它大概的含义,这种类型的变量实际上每个CPU都分配了一个该变量的副本。对于per-CPU的访问几乎不需要锁定,因为每个CPU都工作在自己的副本上,另外per CPU变量还可以保存在CPU自己的缓存上,这样就最大的优化访问速度和减少竞争。 静...

2019-04-25 16:22:49

阅读数 18

评论数 0

Linux内核同步机制之(二):Per-CPU变量

转自:http://www.wowotech.net/linux_kenrel/per-cpu.html 一、源由:为何引入Per-CPU变量? 1、lock bus带来的性能问题 在ARM平台上,ARMv6之前,SWP和SWPB指令被用来支持对shared memory的访问: SWP...

2019-04-25 15:26:15

阅读数 21

评论数 0

Linux内存管理(最透彻的一篇)

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家...

2019-04-24 18:18:34

阅读数 6

评论数 0

CPU私有变量(per-CPU变量)

一、简介2.6内核上一个新的特性就是per-CPU变量。顾名思义,就是每个处理器上有此变量的一个副本。per-CPU的最大优点就是,对它的访问几乎不需要锁,因为每个CPU都在自己的副本上工作。tasklet、timer_list等机制都使用了per-CPU技术。二、API使用注意,2.6内核是抢占...

2019-04-24 17:58:37

阅读数 15

评论数 0

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