linux同步论
1 同步概要
在计算机中或生活中,经常遇到这样一种情况:多个访问者对同一个资源进行访问、操作,这里面涉及到的一个关键内容就是如何同步,即怎么保证该次访问的内容是所期待的。简单的例子,甲希望访问一个资源,该资源更新日期为昨天,但乙却在甲访问前的插了一脚,对资源做了修改,那么甲访问到的就不是所期待的内容了,后续的操作可能就会出现问题。这个例子可能不太合适,你可能会说,那甲应该每次访问的都期待最新的不就好了吗?所以说这个例子不太合适,有没有更好的?我可以理解的?
在这个简单的例子中,同步涉及到的几个关键点是:
- 共享资源:大家所争夺的资源;
- 并发访问:大家同时对该资源进行访问操作,这是多CPU同时对这一个资源进行操作;
- 抢占访问:我期待没人在我之前对资源进行了修改,但我却无法保证,多任务的情况下就是这样。
本文主要总结一些同步方法,其中包括linux内核同步机制和一些思考。
2 linux内核中的同步方法
2.1 介绍
理论上,共享资源称之为临界资源,该资源位于临界区,必须保证对临界区的操作是原子的,即一个时刻只能有一个用户在临界区,对临界资源进行访问操作。当无奈的发生了这种不可能出现的情况时,我们称之为竞争条件。内核同步就是为了解决并发和竞争条件。
2.2 同步机制
这是我能想到的第一个方法就是锁:我把资源锁起来,你们谁都别想用,除非我解锁。请记住,锁的不是代码,是我们宝贵的临界区资源。锁的实现采用了原子操作,这点保证了加锁和开锁的安全,也就是说,在加锁的瞬间,你是没机会先一步溜进去的。因为世界是多变的,造成内核中的锁也有很多种,每种锁都有自己的特点,虽然是句废话,但不得不说,不弄清楚这些个特点,很有可能造成无法挽回后果—死锁。
2.2.1 自旋锁
锁如其名,当请求这把锁的时候,发现已经有人抢先一步,那后来者就自旋在那,相当于忙等,不干活,这太浪费了,正因为这,需要自旋锁:
- &nb
相关文档:
例一:发送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 ......
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 ......
针对外贸BtoC站点情况经验总结
1.容易收到同行的CC攻击或者DDOS攻击
2.服务器一般放在国外,容易被投诉。服务器被关机,导致数据恢复困难,长时间无法访问。
3.一般使用站群管理软件,安全性差,容易出现漏洞,被人挂马。挂马后处理困难。
4.没有专业的系统管理员,遇到问题不能快速解决。对于BtoC类公司来说,网 ......
前些天自己在Linux下搭建了ftp服务,今天又加深了学习,总结如下:
1、ftp开机自动运行:开机自动运行有几种方法,其中可以用命令chkconfig vsftpd on,这样开机后就自动运行了。
相应的想关闭的话chkconfig vsftpd off
2、ssh服务开机自动运行:同上命令为:chkconfig sshd on;chkconfig ssh ......
linux的/etc下面的profile文件记录了一些所有用户公用的环境变量,rc.local记录用户登陆的时候要执行的shell命令。各个用户的home目录下也有.bashprofile用于配置用户自己的环境变量,.bashrc用户登陆的时候执行的命令。
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
本文中 ......