linux
文章平均质量分 93
wenmoxiao
生命不止,编码不休~~
展开
-
Linux(1):目录结构(linux文件系统)
01_Linux目录结构初学Linux,首先需要弄清Linux 标准目录结构/●root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。●home --- 存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2原创 2016-02-17 12:07:13 · 386 阅读 · 0 评论 -
线程同步(1):原子操作,内存屏障,锁综述
原子操作,内存屏障,锁 1.原理:CPU提供了原子操作、关中断、锁内存总线,内存屏障等机制;OS基于这几个CPU硬件机制,就能够实现锁;再基于锁,就能够实现各种各样的同步机制(信号量、消息、Barrier等等等等)。 2.所有的同步操作最基础的理论就是原子操作。内存屏障,锁都是为了保证在不同的平台或者是CPU类型下的原子操作。 3.原子操作在单核,单线程/无中断,且编译器不原创 2016-04-26 15:20:44 · 8411 阅读 · 2 评论 -
线程同步(3):内存模型及内存屏障详解
为了提升性能,CPU会乱序执行指令。内存屏障可以确保指令按照正确的顺序执行。RedHat的David Howells和IBM的Paul E. McKenney介绍了Linux内核的内存屏障设计。这里和大家分享一下。抽象的内存访问模型考虑下面这个系统的抽象模型: : : :转载 2016-04-26 15:22:50 · 1571 阅读 · 0 评论 -
线程同步(4):linux各种锁详解
在linux内核中,有很多同步机制。比较经典的有原子操作、spin_lock(忙等待的锁)、mutex(互斥锁)、semaphore(信号量)等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算在经典之列,它们是两种比较有意思的同步机制。atomic(原子操作):所谓原子操作,就是该操转载 2016-04-26 15:24:13 · 3902 阅读 · 0 评论 -
线程同步(6):linux 多线程pthread中的各种函数
一 概述 Pthread是一套通用的线程库, 它广泛的被各种Unix所支持, 是由POSIX提出的. 因此, 它具有很好的可移植性. 例1: #include pthread.h> void *pp(void *arg) { while (1) { printf("%转载 2016-05-15 22:47:34 · 836 阅读 · 0 评论 -
线程同步(7):linux和Windows线程池的实现-案例
用了几天时间写了一个通用线程池,适用于linux和Windows,测试可用:网上有类似,大概异曲同工吧~下面源码部分为池部分,还有线程部分,锁部分,log部分需要的可以@我贴代码:/*====================================* file: ws_thread_pool.h 文件* anchor: wensheng* date: 2原创 2016-05-15 22:56:52 · 1500 阅读 · 0 评论 -
线程同步(2):原子操作原理
1.原子操作的原理是通过锁内存总线的方式实现原子操作的 原子操作假定运行在两个CPU上的两个内核控制路径试图执行非原子操作同时“读-修改-写”同一存储器单元。首先,两个CPU都试图读同一单元,但是存储器仲裁器插手,只允许其中的一个访问而让另一个延迟。然而,当第一个读操作已经完成后,延迟的CPU从那个存储器单元正好读到同一个(旧)值。然后,两个CPU都试图向那个存储器单元写一新值,总线存转载 2016-04-26 15:21:53 · 2917 阅读 · 0 评论 -
线程同步(8):linux和Windows各种锁实现案例
该文件中包含windows和linux中各种锁的实现方式(分开编译),部分是经过验证的,注释详细;需要源码可以@我/*====================================* file: ws_thread_mutex.h 文件* anchor: wensheng* date: 2016-04-04* info: 线程锁对象* log: 1. 2016-0原创 2016-08-05 16:02:09 · 1789 阅读 · 0 评论 -
linux(基础):ubuntu 下用户丢失sudo权限找回
1. 使用virtual vox加载外部共享文件之后,需要挂载vboxsf, 使用virtualbox的"设备"->“安装增强功能”之后运行目录下的VBoxLinuxAdditions.run之后只是挂载到medal下,使用sudo mount -t vboxsf workspace /mnt/share 提示需要加分组权限,使用usermod -G vboxusers xxxx原创 2016-10-18 11:54:37 · 1759 阅读 · 0 评论