Linux 编程
卡图卢斯
These violent delights have violent ends;
展开
-
【Linux】互斥与同步机制基本函数
pthread_mutex_init():互斥锁的初始化 pthread_mutex_lock():锁定互斥锁,如果尝试锁定已经被上锁的互斥锁则阻塞至可用为止 pthread_mutex_trylock():非阻塞的锁定互斥锁 pthread_mutex_unlock():释放互斥锁 pthread_mutex_destory():互斥锁销毁函数例程:#include <stdio.h>#include <stdlib.h>#include <pthread原创 2020-08-27 13:13:05 · 314 阅读 · 0 评论 -
【Linux】Linux编程之 mmap解析
前言虚拟内存系统通过将虚拟内存分割为称作虚拟页(Virtual Page,VP)大小固定的块,一般情况下,每个虚拟页的大小默认是4096字节。同样的,物理内存也被分割为物理页(Physical Page,PP),也为4096字节。一、mmap基本原理和分类在LINUX中我们可以使用mmap用来在进程虚拟内存地址空间中分配地址空间,创建和物理内存的映射关系。映射关系可以分为两种1、文件映射磁盘文件映射进程的虚拟地址空间,使用文件内容初始化物理内存。2、匿名映射初始化全为0的内存空间。而对于原创 2020-06-06 13:35:28 · 2306 阅读 · 0 评论 -
【Linux】linux 编程之sync 接口说明
前言由于内存比磁盘读写速度快了好几个数量级,为了弥补磁盘IO性能低,Linux内核引入了页面高速缓存(PageCache)。我们通过Linux系统调用(open—>write)写文件时,内核会先将数据从用户态缓冲区拷贝到PageCache便直接返回成功,然后由内核按照一定的策略把脏页Flush到磁盘上,我们称之为write back。write写入的数据是在内存的PageCache中的,一旦内核发生Crash或者机器Down掉,就会发生数据丢失,对于分布式存储来说,数据的可靠性是至关重要的,所以我原创 2020-06-06 12:36:15 · 2551 阅读 · 0 评论