k-fs
文章平均质量分 87
Morphad
这个作者很懒,什么都没留下…
展开
-
linux 虚拟文件系统VFS
与其它系统完美共存是linux的成功之处之一,linux可以透明挂载其它系统文件格式的磁盘或分区,如Windows的FAT32、NTFS等;linux使用虚拟文件系统VFS(Virtual Filesystem Switch)来支持多种类型的文件系统。VFS的思想是:将不同类型文件系统信息存放到内核中,linux所有文件系统支持的每个操作都有一个域与之对应,当读、写或其它功能调用时内核原创 2013-06-24 18:51:52 · 1916 阅读 · 0 评论 -
linux系统调用poll
I/O复用技术是:把我们关注的描述符组成一个描述符表(通常不止一个描述符),调用I/O复用函数(select/poll/epoll),当描述符表中有可进行非阻塞I/O操作的描述符时,复用函数返回;否则阻塞复用函数,直到描述符表中有可进行非阻塞I/O操作的描述符出现时,才唤醒进程继续执行复用函数;当复用函数正常返回时,就可以知道哪些描述符可进行非阻塞I/O操作。I/O复用的描述符通常包括:终端/原创 2013-03-09 11:01:20 · 4443 阅读 · 0 评论 -
linux系统调用select
I/O复用技术是:把我们关注的描述符组成一个描述符表(通常不止一个描述符),调用I/O复用函数(select/poll/epoll),当描述符表中有可进行非阻塞I/O操作的描述符时,复用函数返回;否则阻塞复用函数,直到描述符表中有可进行非阻塞I/O操作的描述符出现时,才唤醒进程继续执行复用函数;当复用函数正常返回时,就可以知道哪些描述符可进行非阻塞I/O操作。I/O复用的描述符通常包括:终端/原创 2013-04-20 15:42:44 · 1283 阅读 · 0 评论 -
linux系统调用execve
exec系列函数主要实现装入新的可执行文件或脚本镜像,并执行;调用后不再返回,而是跳转到新镜像的入口去执行。exec在linux上均是对execve系统调用的封装,除了下述内容外,进程其它内容均保持不变:1.将设置了处理函数的信号handler,重置为默认SIG_DFL2.内存映射,mmap3.SysV共享内存,shmat4.POSIX共享内存,shm_open5.POSI原创 2013-05-23 19:50:40 · 9189 阅读 · 0 评论 -
linux pipe文件系统(pipefs)
linux的pipe,FIFO(named pipe)都是基于pipe文件系统(pipefs)的。linux的pipe和FIFO都是半双工的,即数据流向只能是一个方向;pipe只能在pipe的创建进程及其后代进程(后代进程fork/exec时,通过继承父进程的打开文件描述符表)之间使用,来实现通信;FIFO是有名称的pipe,即可以通过名称查找到pipe,所以没有“只能在pipe的创建原创 2013-07-01 21:31:29 · 8466 阅读 · 0 评论 -
linux 系统调用pipe
linux的管道是在pipefs上实现的,pipefs实现见linux pipe文件系统(pipefs)注: pipe会在挂载到内核上的pipefs上创建虚拟管道文件(文件对象superblock,dentry,inode,file都是内核内存中);FIFO是在物理文件系统(ext4/ext3/nfs等)中创建管道文件,物理存储中有对应的文件(如文件inode) I.原型原创 2013-07-02 18:50:21 · 4831 阅读 · 0 评论 -
linux 有名管道FIFO
linux文件主要有4种:普通文件、目录文件、设备文件(字符设备文件/块设备文件)、管道文件 管道文件(p表示管道文件)[redhat@localhost tmp]$ mkfifo fifo[redhat@localhost tmp]$ ll fifoprw-rw-r--. 1 redhat redhat 0 7月 1 22:06 fifo文件系统(ext4/ext3/原创 2013-07-01 23:01:40 · 1676 阅读 · 0 评论 -
linux 系统调用epoll_create epoll_ctl epoll_wait
epoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。epoll主要涉及epoll_create epoll_ctl epoll_wait三个基本系统调用,及增加功能的epoll_create1,epoll_pwait epoll相对poll原创 2013-07-23 19:35:55 · 4353 阅读 · 0 评论 -
linux aio 实现概览
----------kernel version : 2.6.32.60----------I.aioAsynchronous I/O帮助用户程序提高CPU和IO设备的利用率和提高程序性能,特别是在高负载的IO操作下。比如各种代理服务器,数据库,流服务器等等。AIO可以一次性发出大量的read/write调用并且通过通用块层的IO调度来获得更好的性能,用户程序也可以减少原创 2013-11-04 20:42:32 · 4504 阅读 · 0 评论