Linux 同步方法剖析
在学习 Linux® 的过程中,您也许接触过并发(concurrency)、临界段(critical
section)和锁定,但是如何在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的
锁定机制,包括原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(
reader/writer lock)和内核信号量(kernel semaphore)。 本文还探讨了每种机制最适
合应用到哪些地方,以构建安全高效的内核代码。
本文讨论了 Linux 内核中可用的大量同步或锁定机制。这些机制为 2.6.23 版内核的许多
可用方法提供了应用程序接口(API)。但是在深入学习 API 之前,首先需要明白将要解
决的问题。
developerWorks 上 Tim 的更多 剖析... 系列
Linux 文件系统剖析
Linux 网络堆栈剖析
Linux 内核剖析
Linux slab 分配器剖析
Tim 的所有 Anatomy of... 文章
并发和锁定
当存在并发特性时,必须使用同步方法。当在同一时间段出现两个或更多进程并且这些进
程彼此交互(例如,共享相同的资源)时,就存在并发 现象。
在单处理器(uniprocessor,UP)主机上可能发生并发,在这种主机中多个线程共享同一
个 CPU 并且抢占(preemption)创建竞态条件。抢占 通过临时中断一个线程以执行另一
个线程的方式来实现 CPU 共享。竞态条件 发生在两个或更多线程操纵一个共享数据项时
,其结果取决于执行的时间。在多处理器(MP)计算机中也存在并发,其中每个处理器中
共享相同数据的线程同时执行。注意在 MP 情况下存在真正的并行(parallelism),因为
线程是同时执行的。而在 UP 情形中,并行是通过抢占创建的。两种模式中实现并发都较
为困难。
Linux 内核在两种模式中都支持并发。内核本身是动态的,而且有许多创建竞态条件的方
法。Linux 内核也支持多处理(multiprocessing),称为对称多处理(SMP)。可以在本
文后面的 参考资料 部分学到更多关于 SMP 的知识。
临界段概念是为解决竞态条件问题而产生的。一个临界段 是一段不允许多路访问的受保护
的代码。这段代码可以操纵共享数据或共享服务(例如硬件外围设备)。临界段操作时坚
持互斥锁(mutual exclusion)原则(当一个线程处于临界段中时,其他所有线程都不能
进入临界段)。
临界段中需要解决的一个问题是死锁条件。考虑两个独立的临界段,各自保护不同的资源
。每个资源拥有一个锁,在本例中称为 A 和 B。假设有两个线程需要访问这些资源,线程
X 获取了锁 A,线程 Y 获取了锁 B
相关文档:
MySQL :: Linux 下自动备份数据库的 shell 脚本
Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库。其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令。
脚本内容如下:
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME=" ......
可以用下面的命令查找到系统中哪一个文件夹有问题然后逐层查看就可以找到是哪一个文件了
命令是
首先切换到根目录
cd /
du -sh ./*
du -sh ./* | sort
然后找到最大的文件夹
逐层就可以找到是哪一个文件夹最大是否是有问题的
一般这样就可以确定目标文件是哪一个了 ......
一、在sun公司门户上下载对应版本的java sdk
我下载的是jdk-6u6-linux-i586-rpm.bin版本
二、给下载文件赋权限
1、一般需要root权限,在$提示符下输入su,然后输入密码,即可进入root模式。提示符为#
2、#chmod 755 jdk-6u6-linux-i586-rpm.bin
3、#./jdk-6u6-linux-i586-rpm.bin
4、#rpm -ivh jdk-6u6-linux-i586-r ......
在终端显示窗口运行yast命令,出现图形界面
software-->software management
左侧Filter-->Package Group-->Productivity-->Networking-->Other-->telnet server
选择确定,会提示插入suse linux cd4,放入光盘后确定直到安装完成
开启telnet服务
#chkconfig telnet on
#rcxinetd restart
如果root用 ......