这些天在学习linux内核编程,就在这里小小的show以下。
首先编写如下的linux代码。并命名为hello.c
这里你应该注意亮点:
第一、linux内核编程,不同于普通的用户态下的编程;有一个入口的main函数;这里的“main”函数是module_init();同时还有一个善后处理的函数:module_exit()。
第二、linux内核编程在编译的时候,不同于用户...
分类:
系统相关 时间:
2015-03-15 16:55:45
阅读次数:
233
前面几章分析了Codec、Platform、Machine驱动的组成部分及其注册过程,这三者都是物理设备相关的,大家应该对音频物理链路有了一定的认知。接着分析音频驱动的中间层,由于这些并不是真正的物理设备,故我们称之为逻辑设备。
PCM逻辑设备,我们又习惯称之为PCM中间层或pcm native,起着承上启下的作用:往上是与用户态接口的交互,实现音频数据在用户态和内核态之间的拷贝;往下是触发co...
分类:
其他好文 时间:
2015-03-10 23:16:27
阅读次数:
258
1. 用户态和内核态的概念区别
究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:
1)例子
void testfork(){
if(0 = = fork()){
printf(“create new process succe...
分类:
系统相关 时间:
2015-03-10 19:24:38
阅读次数:
171
说明:喜欢写小程序的人都特别注重自己程序的执行效率,那么在Linux上,就有一个time的命令,用于测量命令的运行时间,还可以测量内存、I/O等的使用情况。一个程序在运行时使用的系统资源通常包括CPU、内存和I/O等;CPU资源的统计包括实际使用时间(real time)、用户态使用时间(the p...
分类:
系统相关 时间:
2015-03-05 18:38:35
阅读次数:
177
代码适用于X86_64架构。
不支持抢占,任务只能自己让出CPU。
下面是代码,将代码全部复制到一个.c文件中,即可编译运行。
/*
* 本软件为免费、开源软件。
* 本软件的版权(包括源码及二进制发布版本)归一切公众所有。
* 您可以自由使用、传播本软件。
* 您也可以以任何形式、任何目的使用本软件(包括源码及二进制发布版本),而不受任何版权限制。
* ===...
分类:
编程语言 时间:
2015-03-05 12:58:50
阅读次数:
515
场景:
1. 多线程编程时,有时候需要统计某个变量或对象的创建个数或者是根据某个变量值来判断是否需要继续执行下去,这时候互锁函数是比较高效的方案之一了。...
分类:
编程语言 时间:
2015-02-28 11:29:34
阅读次数:
182
以高效网络著称的 Linux,网络安全当然也不容忽视,如何能以高效强大的手段对网络数据包的处理进行配置也就显得尤为重要,而 NetFilter 就是承担这一重任的组件。
Linux 的了火墙发展至今,已经更新换代至由 NetFilter 作为核心来完成内核态的功能。我们知道,在用户态,iptables 工具可以很方便地进行防火墙的配置,但它只是提供一些人性化的配置命令,然后下发给...
分类:
Web程序 时间:
2015-02-12 16:18:57
阅读次数:
221
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/引言 前一篇关于linux系统如何实现fork的研究(一)通过代码已经说明了从用户态怎么通过软中断实现调用系统调用clone函数,而clone函数的精华copy_process函数就在此篇文章中进行分析。我们知道....
分类:
系统相关 时间:
2015-02-04 18:05:41
阅读次数:
265
importandroid.app.Service;
importandroid.content.Context;
importandroid.os.PowerManager;
/**
*WakeLock是一种锁的机制,只要有人拿着这个锁,系统就无法进入休眠,
*可以被用户态程序和内核获得.这个锁可以是有超时的或者是没有超时的,
*超时的锁会在时间过去以后自动解锁..
分类:
移动开发 时间:
2015-02-03 15:24:52
阅读次数:
256
一、互斥锁的开销主要在内核态与用户态的切换: 申请锁时,从用户态进入内核态,申请到后从内核态返回用户态(两次切换);没有申请到时阻塞睡眠在内核态。使用完资源后释放锁,从用户态进入内核态,唤醒阻塞等待锁的进程,返回用户态(又两次切换);被唤醒进程在内核态申请到锁,返回用户态(可能其他申请锁的进程又要阻...
分类:
其他好文 时间:
2015-01-28 15:56:05
阅读次数:
191