会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
tsecer
上一页
1
···
27
28
29
30
31
32
33
34
35
···
37
下一页
2019年3月6日
从glibc中backtrace实现看gcc内联汇编
摘要: 一、glibc中powerpc的backtrace实现这个函数是C库提供的堆栈回溯功能,实现原理也不复杂,就是从堆栈中寻找函数返回地址,只是powerpc里使用了内联汇编。int__backtrace (void **array, int size){ struct layout *current;
阅读全文
posted @ 2019-03-06 21:17 tsecer
阅读(885)
评论(0)
推荐(0)
匿名管道之“第三者插足”
摘要: 一、管道管道是unix系统的一个重要特征,也正是管道让shell可以把各种不同功能的程序和谐的连接在一起。匿名管道并不是通过open系统调用来创建的,也不是用mknod创建,使用了自己的一个专用通道pipe系统调用。由于匿名管道没有名字,所以只能在父进程和子进程之间共享,当然进程也可以在多线程中用管
阅读全文
posted @ 2019-03-06 21:16 tsecer
阅读(120)
评论(0)
推荐(0)
文件内部修改之后编辑器(vim)写回
摘要: 一、文件中间修改写回这个不是问题,只是一个偶尔想起的一个事儿。因为我经常看帖子回帖的时候看到精彩的内容都会记录到一个txt文件中,而且我还有一个好习惯,就是每次把新收集的内容放在文件的开始而不是像论坛的帖子一样后来的回复追加在最后,因为我还有一个习惯,看这个文件都是从后向前看的,所以也没有问题。随着
阅读全文
posted @ 2019-03-06 21:16 tsecer
阅读(202)
评论(0)
推荐(0)
pthread_cancel如何实现及相关信号
摘要: 一、杀死线程这个名字并不像中文"杀死"对应的那样暴力,而是使用了一个相对比较糖衣炮弹的名字,pthread_cancel。事实上,这个中文对应的pthread_kill有另外专门的作用,就是向指定特殊线程发送信号。这里比较感兴趣的是pthread_cancel是如何实现的,它发送的信号是什么信号,为
阅读全文
posted @ 2019-03-06 21:14 tsecer
阅读(1781)
评论(0)
推荐(0)
bash中命令前设置子进程变量的绿色方法
摘要: 一、语法这其实是一个比较小的细节问题,但是觉得比较有创意(而且一用就会让人产生“当时我就震惊鸟”了感觉),而且bash的这个功能的实现代码为bash代码的晦涩性也做了不少贡献,所以这里还是看一下这个比较有创意的语法。这个功能和管道一样,感觉是一个绿色环保的命令,说它绿色,就是它"事了拂衣去,深藏身与
阅读全文
posted @ 2019-03-06 21:13 tsecer
阅读(331)
评论(0)
推荐(0)
char/unsigned char对比较结果的致命影响
摘要: 一、字符符号这个问题以前知道char类型有默认有符号和无符号的区分,但是这两种区分到底有什么区别,概念还是比较模糊的,直到今天因为字符符号搞了一个大乌龙,搞的版本无法启动,才算是有了一次刻骨铭心的认识。二、比较语句下面是比较的一个模型,gcc中,char类型在i386/MIPS体系结构默认是有符号的
阅读全文
posted @ 2019-03-06 21:12 tsecer
阅读(372)
评论(0)
推荐(0)
内存管理(3)---块设备缓冲和文件缓冲独立性验证
摘要: 一、块读取和文件读取在前一篇文章的最后,说明了通过/dev/hda1直接访问块设备使用的缓冲区和通过/path/to/file/in/block访问文件并不共享页面缓冲,假设两者中通过一种途径修改了这个设备某个块的内容,然后另一方使用的还是自己缓冲的、未更新的页面内容,此时就会出现不一致。当然这个东
阅读全文
posted @ 2019-03-06 21:10 tsecer
阅读(133)
评论(0)
推荐(0)
内存管理(1)---匿名页面
摘要: 一、匿名页面这些内存页面保存了一些通常所说的机动性最强的内容,或者可以认为是银行的活期存款,这些内存可以随时被使用,随时被归还。例如用户通过malloc-->>mmap申请的内存,或者通过brk/sbrk扩大的堆空间。相对于mmap文件、文件系统元数据之类的内容,这些空间对用户来说最为顺手,也最为常
阅读全文
posted @ 2019-03-06 21:07 tsecer
阅读(308)
评论(0)
推荐(0)
内存管理(2)---块设备的页面缓冲
摘要: 一、块设备这里从文件和页面管理的角度来看块设备。在Linux系统下,根据“一切皆文件”的思想,可以把一个磁盘当做一个文件来读取。为了看一个磁盘,例如第一块硬盘,可以通过hexdump这种通用的工具来显示一个硬盘的原始数据(没有验证是否需要root权限),例如对于一个文件系统来说[root@Harry
阅读全文
posted @ 2019-03-06 21:07 tsecer
阅读(410)
评论(0)
推荐(0)
文件写入前的读取
摘要: 一、写入前可能需要读取在前一篇博客中看ramfs文件的时候想到一个问题:内存缓冲是以page为单位的,而许多磁盘设备是以block(sector)为单位的,当然这都不是重点。重点是现在假设有一个文件,它大概有两个页面,现在我只在文件的开始写入(修改)一点点数据,比方说10个字节,然后再seek到文件
阅读全文
posted @ 2019-03-06 21:05 tsecer
阅读(337)
评论(0)
推荐(0)
上一页
1
···
27
28
29
30
31
32
33
34
35
···
37
下一页
导航
博客园
首页
新随笔
联系
订阅
管理
公告