![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 86
天下无敌笨笨熊
这个作者很懒,什么都没留下…
展开
-
写文件操作探微
多进程读写同一个文件的问题不考虑文件内容的错乱,多进程是可以同时读写一个文件的。当一个进程在写,读的进程能否读到最新的内容,取决于最新的内容是否真正写到了磁盘上。写缓存与写磁盘我们通常用到的写文件API,其实是写到缓存上,可用python语言做一个实验:if opt == '-w': with open('1.txt', 'w') as writer: ...原创 2017-12-17 15:25:38 · 157 阅读 · 0 评论 -
pthread包的mutex实现分析
pthread包pthread是POSIX thread,一个在类UNIX系统下广泛使用的并发包,linux系统下在glibc库里实现。 pthread包里常用的mutex相关接口有: pthread_mutex_init pthread_mutex_lock pthread_mutex_trylock pthread_mutex_unlock pthread_mutex_dest...原创 2018-01-12 20:05:16 · 6495 阅读 · 0 评论 -
C调用栈布局剖析及缓冲区溢出攻击实验
基本概念栈帧(stack frame):存放函数运行期的数据,例如入参、局部变量及函数调用的联系单元(返回地址、上一个栈帧的基址等)。 多个栈帧构成函数调用链,链的下一个栈帧通过EBP(32位机器上)指向上一个栈帧。 栈帧代表了函数的“数据”部分,一般在数据段上,是动态的。函数指令则代表函数的“代码”部分,一般在代码段上,是静态的。函数的运行是“数据”+“代码”部分协作的结果。C调用规...原创 2018-02-19 19:29:33 · 310 阅读 · 0 评论