POSIX rename语义】的更多相关文章

POSIX对rename行为的定义如下(http://www.opengroup.org/onlinepubs/009695399/functions/rename.html): 将一个文件重命名为一个目录,或将一个目录重命名为一个文件将会失败. 将旧文件重命名为一个已经存在的新文件将会成功,原本存在的新文件会先被删除. 将旧目录重命名为一个已经存在的.且非空的新目录会失败. 将旧目录重命名为一个已经存在的.空的新目录会成功,原本存在的新目录会先被删除. 新路径以旧路径作为前缀会失败. 新路径包…
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945. 信号(signal)就是通知某个进程发生了某个事件,有时也称为软件中断(software interrupt).信号通常是异步发生的,也就是说进程预先不…
一.信号的概念 信号(signal)就是告知某个进程发生了某个事件的通知:信号通常是异步发生的,也就是说接受信号的进程不知道信号的准确 发生时刻:信号可以(1)由一个进程发给另一个进程:(2)由内核发给某个进程 二.信号的处置 每个信号都有一个与之关联的处置,即收到特定信号时的处理方法:可以通过调用sigaction函数来设定一个信号的处置   (POSIX明确规定了调用sigaction时的语义定义,因此我们自定义signal并调用sigaction,以所期望的POSIX语义提供一个简单的接口…
os 便携式访问操作系统的特定功能.os模块提供了对特定平台模块(如posix, nt, mac)的封装, 函数提供的api在很多平台上都可以相同使用, 所以使用os模块会变得很方便. 但不是所有函数在所有平台上都可用, 比如在本文中到的一些管理函数在windows上无法使用. 在Python文档中os模块的副标题是"操作系统混合接口", 模块包含的大部分函数用于创建和管理活动进程和文件系统(文件和目录), 当然除此之外还有其它一些函数. 本文中, 我们对如何获取和设置进程参数来进行讨…
引言 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别也是很明显的.HDFS是一个高 度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.HDFS放宽了一部分POSIX约束,来实 现流式读取文件系统数据的目的.HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的.HDFS…
<Unix环境高级编程> 应用缓冲技术能很明显的提高系统效率.内核与外围设备的数据交换,内核与用户空间的数据交换都是比较费时的,使用缓冲区就是为了优化这些费时的操作.其实核心到用户空间的操作本身是不buffer的,是由I/O库用buffer来优化了这个操作.比如read本来从内核读取数据时是比较费时的,所以一次取出一块,以避免多次陷入内核.       内核缓冲区的 主要思想就是一次读入大量的数据放在缓冲区,需要的时候从缓冲区取得数据.       管理员模式和用户模式之间的切换需要消耗时间,…
http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html 引言 前提和设计目标 硬件错误 流式数据访问 大规模数据集 简单的一致性模型 “移动计算比移动数据更划算” 异构软硬件平台间的可移植性 Namenode 和 Datanode 文件系统的名字空间 (namespace) 数据复制 副本存放: 最最开始的一步 副本选择 安全模式 文件系统元数据的持久化 通讯协议 健壮性 磁盘数据错误,心跳检测和重新复制 集群均衡 数据完整性 元数据磁盘…
本篇博客主要记录一个完整的TCP客户/服务器实例的编写,以及从这个实例中引发的对僵死进程的处理等问题. 1. TCP客户/服务器功能需求 本实例完成以下功能: (1) 客户从标准输入读入一行文本,并写给服务器 (2) 服务器从网络输入中读入这行文本,并回射给客户 (3) 客户从网路输入读入这行回射文本,并显示在标准输入 需要用到的函数: (1) 套接字编程基本函数(socket,bind,listen,accept,connect,close等),完成套接字编程 (2) 标准I/O库函数fput…
shutil shutil模块包括高级文件操作,例如复制和归档. Copying Files shutil.copyfileobj(fsrc, fdst[, length]):将类似文件的对象fsrc的内容复制到类似文件的对象fdst.整数length(如果给出)是缓冲区大小.具体地,负的长度值意味着复制数据而不使块中的源数据循环:默认情况下,以块为单位读取数据,以避免不受控制的内存消耗.请注意,如果fsrc对象的当前文件位置不为0,则只会复制当前文件位置到文件末尾的内容. shutil.cop…
原文地址:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html 引言 前提和设计目标 硬件错误 流式数据访问 大规模数据集 简单的一致性模型 “移动计算比移动数据更划算” 异构软硬件平台间的可移植性 Namenode 和 Datanode 文件系统的名字空间 (namespace) 数据复制 副本存放: 最最开始的一步 副本选择 安全模式 文件系统元数据的持久化 通讯协议 健壮性 磁盘数据错误,心跳检测和重新复制 集群均衡 数据完整性…
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用. 前提和设计目标 硬件错误 硬件错误是常态而不是异常.HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据.我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的.因此错误检…
目录 客户/服务器程序源码 POSIX信号处理 POSIX信号语义 处理SIGCHLD信号 处理僵死进程 处理被中断的系统调用 wait和waitpid函数 wait和waitpid函数的区别 网络编程可能会遇到的三种情况 TCP程序小结 数据格式   回射输入行这样一个客户/服务器程序是一个虽然简单然而却很有效的网络应用程序的例子.实现任何客户/服务器网络应用所需的所有基本步骤可通过本例子阐明.若想把本例子扩充成你自己的应用程序,你只需修改服务器对于来自客户的输入的处理过程. TCP回射服务器…
1.简介2.namenode和datanode3.The File System Namespace 文件系统命名空间4.Data Replication 数据复制5.Replica Placement: The First Baby Steps 复制块放置:初步的想法6.Replica Selection 复制块的选择7.Safemode 安全模式8.The Persistence of File System Metadata 文件系统元数据的一致性9.The Communication P…
Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open-source-projects  . 欢迎fork, star , watch, 提issue. 资料参考来源:http://studygolang.com/projects 监控系统 序号 名称 项目地址 简介 1 OpenFalcon http://github.com/open-falcon/…
引言 Hadoop分布式文件系统(HDFS)被设计成适合执行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有非常多共同点.但同一时候,它和其它的分布式文件系统的差别也是非常明显的.HDFS是一个高度容错性的系统,适合部署在便宜的机器上.HDFS能提供高吞吐量的数据訪问.非常适合大规模数据集上的应用. HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的. HDFS在最開始是作为Apache Nutch搜索引擎项目的基础架构而开发的.…
分布式文件系统 分布式文件系统,作为网盘的基础,应用底层文件管理.而分布式文件系统之上,用户文件的权限,用户目录管理都是由非分布式文件系统管理. 分布式文件系统需要关心的主要内容: 文件分布/数据分布:文件是否分片,文件存储按照什么算法来存储(DHT) 冗余保护/副本:是否有缀于,缀于是否可以回复. 数据可靠性:当数据出现问题,是否可以发现,如何回复. 备份:如何提供被被封工作. 故障恢复:出现问题是否可以回复. 扩展性:当容量不够时,是否可以无限增加容量. 安装/部署:是否需要修改内核,部署是…
监控系统 项目 简介 Star数 grafana/grafana Grafana 是一个用于监控指标分析和图表展示的工具, 后端支持 Graphite, InfluxDB & Prometheus & Open-falcon等, 它是一个流行的监控组件, 目前在各大中小型公司中广泛应用 34113 prometheus/prometheus Prometheus 是一个开源的服务监控系统和时间序列数据库, 提供监控数据存储,展示,告警等功能 29808 bosun-monitor/bosu…
1.ceph简介 Ceph在一个统一的系统中独特地提供对象.块和文件存储 1.1 ceph官网架构图 1.2 架构解释   CEPH 对象存储 CEPH 块设备 CEPH 文件系统 RESTful 接口 S3 和 Swift 兼容的 API S3 风格的子域 统一的 S3/Swift 命名空间 用户管理 使用跟踪 条纹对象 云解决方案集成 多站点部署 多站点复制 精简配置 图像高达 16 艾字节 可配置的条带化 内存缓存 快照 写时复制克隆 内核驱动支持 KVM/libvirt 支持 云解决方案…
对一个文件做修改, 通常认为 直接 open-seek-write-write-close 不是原子的. 1. write 本身 不一定是原子的: https://blogs.msdn.microsoft.com/adioltean/2005/12/28/how-to-do-atomic-writes-in-a-file/ 2. 多次write, 在中间fail(app/os crash), 则修改肯定不是原子的. 一般通过 拷贝tmp文件 - 直接rename tmp到原文件来实现. rena…
互斥锁 尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数. 1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式.POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; 在LinuxThrea…
线程创建 1.1 线程与进程 相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列.在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间. 线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护:而进程正相反.同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移. 1.2 创建线程 POSIX通过pthread_create()函数创建线程,API定义如下: int pth…
任何一个文件可以有多个目录项指向其i节点.创建一个指向现有文件的链接的方法是使用link函数. #include <unistd.h> int link( const char *existingpath, const char *newpath ); 返回值:若成功返回0,若出错返回- 此函数创建一个新目录项newpath,它引用现有的文件existingpath.如若newpath已经存在,则返回出错.只创建newpath中的最后一个分量,路径中的其他部分应当已经存在. 创建新目录项以及增…
一.POSIX,ISO C,Single UNIX Specification的概念. 1,POSIX:Portable Operating System Interface.可移植操作系统接口.期望获得源码级别的软件可移植性. 2,ISO C:提供C语言的标准化.提高C语言在不同操作系统的可移植性.它定义了 C语言的语法,语义和标准库. 3,Single UNIX Specification:POSIX.1标准的超集,定义了一些附加的接口,这些接口扩展了基本的POSIX.1规范的功能.相应的系…
消息队列 posix API 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点.信号这种通信方式更像\"即时\"的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随进程持续的概念(process-persistent):管道及有名管道则是典型的随进程持续IPC,并且,只能传送无格式的字节流无疑会给应用程序开发带来不便,另外,它的缓冲区大小也受到限制消息队列就是一个消息的链表.可以把消…
1 简介 锁机制(lock) 是多线程编程中最常用的同步机制,用来对多线程间共享的临界区(Critical Section) 进行保护. Pthreads提供了多种锁机制,常见的有: 1) Mutex(互斥量):pthread_mutex_*** 2) Spin lock(自旋锁):pthread_spin_*** 3) Condition Variable(条件变量):pthread_con_*** 4) Read/Write lock(读写锁):pthread_rwlock_*** 在多线程…
转载自:http://baiy.cn/utils/_regex_doc/index.htm 正则表达式说明 简介 大体来讲,正则表达式的文法分为3种标准:BRE.ERE 和 ARE.其中 BER 和 ERE 属于 POSIX 标准,ARE 则是由各家定义的扩展. POSIX 正则表达式 传统上,POSIX 定义了两种正则表达式语法, 即:基本正则表达式(BRE)和扩展正则表 达式(ERE). 其中, BRE 定义的语法符号包括: . - 匹配任意一个字符. [] - 字符集匹配,匹配方括号中定义…
Posix线程编程指南 Posix线程编程指南... 1 一线程创建与取消... 2 线程创建... 2 1.线程与进程... 2 2. 创建线程... 2 3. 线程创建属性... 2 4. 创建的Linux实现... 3 线程取消... 3 1. 消的定义... 3 2. 线程取消的语义... 4 3. 取消点... 4 4. 程序设计方面的考虑... 4 5. 与线程取消相关的pthread函数... 4 二线程私有数据... 5 1. 概念及作用... 5 2. 创建和注销... 5 3…
1 #!/bin/bash   2 <<Comment   3 批量修改文件名的脚本   4 2015/10/24   5 webber   6 Comment   7 ARGS=2   8 ONE=1   9 if [ $# -ne "$ARGS" ];then  10   echo "传参错误!!"  11   exit 2  12 fi  13  14 num=0  15  16 for file in *$1*  17 do  18   if […
https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html Introduction [相对于POSIX,放宽要求] The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has many similarities…
这是一个关于Posix线程编程的专栏.作者在阐明概念的基础上,将向您详细讲述Posix线程库API.本文是第三篇将向您讲述线程同步. 一.互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数. 1. 创建和销毁有两种方法创建互斥锁,静态方式和动态方式.POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁…