代码适用于X86_64架构。
不支持抢占,任务只能自己让出CPU。
下面是代码,将代码全部复制到一个.c文件中,即可编译运行。
/*
* 本软件为免费、开源软件。
* 本软件的版权(包括源码及二进制发布版本)归一切公众所有。
* 您可以自由使用、传播本软件。
* 您也可以以任何形式、任何目的使用本软件(包括源码及二进制发布版本),而不受任何版权限制。
* ===...
分类:
编程语言 时间:
2015-03-05 12:58:50
阅读次数:
515
场景:
1. 多线程编程时,有时候需要统计某个变量或对象的创建个数或者是根据某个变量值来判断是否需要继续执行下去,这时候互锁函数是比较高效的方案之一了。...
分类:
编程语言 时间:
2015-02-28 11:29:34
阅读次数:
182
Binder用于完成进程间通信(IPC),即把多个进程“别”在一起,从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用完成的。Binder是一种架构,这种架构提供了服务端接口、Binder驱动、客户端接口三个模块。
重载onTransactO函数的主要内容是把onTmnSact()函数的参数转换为服务函数的参数,而onTransact()函数的参数...
分类:
移动开发 时间:
2015-02-25 17:14:11
阅读次数:
315
以高效网络著称的 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
执行时机:
中断或者异常返回到用户态时,系统调用返回,调用信号处理函数。
代码:
entry_64.s system_call -》 do_notify_resume -> do_signal 处理信号
sigpending 函数:
功能:返回在阻塞期间接收到阻塞信号的集合。
sigprocmask函数:
功能描述:...
分类:
系统相关 时间:
2015-01-20 08:59:20
阅读次数:
269
[转]insmodhttp://www.cnblogs.com/amaoxiaozhu/archive/2013/03/08/2950002.html在Linux下,驱动程序是内核的一部分,运行在内核态下,你可以将驱动静态的和内核编译在一起,这样的缺点是内核会比较大,而且如果驱动出错,会 导致整个系...
分类:
其他好文 时间:
2015-01-19 12:41:43
阅读次数:
200
原文网址:http://www.mike.org.cn/articles/linux-kernel-mode-and-user-mode-distinction/内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3四种级别的运行模式。Ring0级别最高,Ring3最低...
分类:
系统相关 时间:
2015-01-16 12:52:32
阅读次数:
184