易截截图软件、单文件、免安装、纯绿色、仅160KB

linux同步论

1           同步概要
在计算机中或生活中,经常遇到这样一种情况:多个访问者对同一个资源进行访问、操作,这里面涉及到的一个关键内容就是如何同步,即怎么保证该次访问的内容是所期待的。简单的例子,甲希望访问一个资源,该资源更新日期为昨天,但乙却在甲访问前的插了一脚,对资源做了修改,那么甲访问到的就不是所期待的内容了,后续的操作可能就会出现问题。这个例子可能不太合适,你可能会说,那甲应该每次访问的都期待最新的不就好了吗?所以说这个例子不太合适,有没有更好的?我可以理解的?
在这个简单的例子中,同步涉及到的几个关键点是:
-           共享资源:大家所争夺的资源;
-           并发访问:大家同时对该资源进行访问操作,这是多CPU同时对这一个资源进行操作;
-           抢占访问:我期待没人在我之前对资源进行了修改,但我却无法保证,多任务的情况下就是这样。
本文主要总结一些同步方法,其中包括linux内核同步机制和一些思考。
2           linux内核中的同步方法
2.1       介绍
理论上,共享资源称之为临界资源,该资源位于临界区,必须保证对临界区的操作是原子的,即一个时刻只能有一个用户在临界区,对临界资源进行访问操作。当无奈的发生了这种不可能出现的情况时,我们称之为竞争条件。内核同步就是为了解决并发和竞争条件。
2.2       同步机制
这是我能想到的第一个方法就是锁:我把资源锁起来,你们谁都别想用,除非我解锁。请记住,锁的不是代码,是我们宝贵的临界区资源。锁的实现采用了原子操作,这点保证了加锁和开锁的安全,也就是说,在加锁的瞬间,你是没机会先一步溜进去的。因为世界是多变的,造成内核中的锁也有很多种,每种锁都有自己的特点,虽然是句废话,但不得不说,不弄清楚这些个特点,很有可能造成无法挽回后果—死锁。
2.2.1    自旋锁
锁如其名,当请求这把锁的时候,发现已经有人抢先一步,那后来者就自旋在那,相当于忙等,不干活,这太浪费了,正因为这,需要自旋锁:
-     &nb


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

cheat sheet for linux and unix

A small Linux cheat sheet, introducing the very basic and very essential commands for surviving at the Linux CLI.
Moving around in the file system
Command
Action
pwd
"Print working directory" - show what dir you're in.
ls
List the contents of a dir.
ls -l
List the contents of a dir and show ......

Linux 用户(user)和用户组(group)管理概述

 一、理解Linux的单用户多任务,多用户多任务概念;
Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;
1、Linux 的单用户多任务;
单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开xmms 来点 ......

linux初学

请找同学帮忙装了linux的操作系统,ubuntu9.1,从此我也踏上了双系统的征程……
不过这个过程并不是一帆风顺的。
首先一个很大的问题,就是不能上网,学校的客户端在linux下不能使用,据说要用一个什么软件才行,这个问题待解决。
其次就是字体问题,linux下自带的字体太少,很多东西都显示不正常。从window ......

linux启动分析

 linux的/etc下面的profile文件记录了一些所有用户公用的环境变量,rc.local记录用户登陆的时候要执行的shell命令。各个用户的home目录下也有.bashprofile用于配置用户自己的环境变量,.bashrc用户登陆的时候执行的命令。
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
本文中 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号