嵌入式Linux中文站

开发专区

linux HZ Tick Jiffies

linux HZ Tick Jiffies

阅读(164)

linux HZ Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本2.6.20-15为例): adrian@adrian-desktop:~$ cd /usr/src/linux adrian@a...

自旋锁和互斥锁区别

自旋锁和互斥锁区别

阅读(78)

POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。 Pthreads提供了多种锁机制: (1) Mutex(互斥量):pthread_mutex_*** (2) Spin lock(自旋锁):pth...

CONFIG_HZ 和 USER_HZ

CONFIG_HZ 和 USER_HZ

阅读(113)

内核时钟的频率是由CONFIG_HZ决定的,以前默认是100HZ,现在内核默认是250HZ。而1个jiffy是1个时钟滴答,时间间隔是有CONFIG_HZ决定的,频率是250HZ,也就是周期为4ms。每4ms,增加一个时钟滴答,也即jiffies++。 原理比较简单,如何查看自己的Linux的CONFIG_HZ的值呢? root@manu : ~ / code/c/self/ticks# grep ^CONFIG_HZ /boot/config - 3 . 2 . 0 - 29 - generic - p...

linux下如何获取cpu的利用率

linux下如何获取cpu的利用率

阅读(164)

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。 这里将介绍如何从/proc文件系统中获取与防火墙相关的一些性能参数,以及如何通过/proc文件系统修改内核的相关配置。 1、从/proc文件系统获取相关的性能参数 cpu使用率: /proc/stat 内存使用情况: /proc/meminfo 网络负载信息: /proc/net/dev 相应的计算方法:(摘自:...

linux下bus、devices和platform的基础模型

linux下bus、devices和platform的基础模型

阅读(138)

一、kobject的定义 : kobject是Linux2.6引入的设备管理机制,在内核中由struct kobject结构表示,这个结构使所有设备在底层都具有统一的接口.kobject提供了基本的对象管理能力,是构成Linux2.6设备模型的核心结构,它与sysfs文件系统紧密联系,每个在内核中注册kobject对象都对应与sysfs文件系统中的一个目录;kobject---sysfs.dir;其结构定义为: struct kobject { const char* k_name; //指向设备名称的指...

Linux下GCC生成和使用静态库和动态库详解

Linux下GCC生成和使用静态库和动态库详解

阅读(105)

一、基本概念 1.1 什么是库 在 windows 平台和 linux 平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。 本文仅限于介绍 linux 下的库。 1.2 库的种类 linux 下的库有两种:静态库和共享库(动态库)。 二者的不同点在于代码被载入的时刻不同。 静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。 共享库的代...

Linux内存buffer和cache的区别

Linux内存buffer和cache的区别

阅读(206)

一.内存使用说明 Free命令相对于top提供了更简洁的查看系统内存使用情况: [root@rac1 ~]# free totalusedfreesharedbufferscached Mem:10351081008984261240124212413000 -/+ buffers/cache:471772563336 Swap:20964728423201254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存...

linux Platform设备驱动

linux Platform设备驱动

阅读(180)

PlatForm设备驱动: 一、platform总线、设备与驱动 1 . 一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等的设备而言,这自然不是问题, 但是在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设等确不依附于此类总线。 基于这一背景,Linux发明了一种虚拟的总线,称为platform总线,相应的设备称为platform_device,而驱动成为 platform_driver。 2 . 注意,所谓的platf...