随笔分类 -  IO

VIRTIO概述和基本原理
摘要:http://smilejay.com/2012/11/virtio-overview/ (KVM连载)5.1.1 VIRTIO概述和基本原理(KVM半虚拟化驱动) 11/15/2012MASTER 6 COMMENTS 5.1 半虚拟化驱动 5.1.1 virtio概述 KVM是必须使用硬件虚拟化 阅读全文

posted @ 2019-01-04 23:12 Shihu 阅读(2292) 评论(0) 推荐(0)

UNIX文件mode_t详解 ... S_IRUSR
摘要:打开文件、新建文件和关闭文件操作 打开文件操作使用系统调用函数open(),该函数的作用是建立一个文件描述符,其他的函数可以通过文件描述符对指定文件进行读取与写入的操作。打开文件的一般形式是: 函数的返回值是文件描述符,如果打开文件成功返回一个正整数,否则返回-1。标志是用于指定打开文件操作模式的枚 阅读全文

posted @ 2018-12-22 14:20 Shihu 阅读(8564) 评论(0) 推荐(0)

malloc的可重入性和线程安全分析
摘要:malloc函数是一个我们经常使用的函数,如果不对会造成一些潜在的问题。下面就malloc函数的线程安全性和可重入性做一些分析。 我们知道一个函数要做到线程安全,需要解决多个线程调用函数时访问共享资源的冲突。而一个函数要做到可重入,需要不在函数内部使用静态或全局数据,不返回静态或全局数据,也不调用不 阅读全文

posted @ 2018-12-19 11:47 Shihu 阅读(3018) 评论(0) 推荐(0)

cout和printf不能混用
摘要:1、两者的缓存机制不同:printf无缓冲区,而std::cout有 (其实printf也是有缓冲区的,https://blog.csdn.net/ithzhang/article/details/6875176) 2、对于标准输出的加锁时机不同:printf在对标准输出作任何处理前先加锁;std: 阅读全文

posted @ 2018-11-17 17:52 Shihu 阅读(2475) 评论(0) 推荐(0)

EOF是什么
摘要:我学习C语言的时候,遇到的一个问题就是EOF。 它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。 比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。 int c; while (( 阅读全文

posted @ 2018-10-21 23:37 Shihu 阅读(1033) 评论(0) 推荐(0)

网络编程api总结
摘要:1、socket函数创建一个socket连接,此时该socket连接为主动式。 fd(int)->fd(struct fd)->file->sock;sock->file 2、bind函数把socket与ip和端口绑定,并且把socket连接从 主动式 改为 被动式,成为服务端,只能够接受客户端的连 阅读全文

posted @ 2018-07-25 00:12 Shihu 阅读(274) 评论(0) 推荐(0)

源码剖析Linux epoll实现机制及Linux上惊群
摘要:转载:https://blog.csdn.net/tgxallen/article/details/78086360 看源码是对一个技术认识最直接且最有效的方式了,之前用Linux Epoll做过一个服务程序,但是只是停留在会用的层次,对其中的原理和实现细节却认识较少,最近在阅读Linux epol 阅读全文

posted @ 2018-07-22 23:43 Shihu 阅读(582) 评论(0) 推荐(0)

导航