1、非阻塞IO
简单流程:自然流程是结构化的
复杂流程:自然流程不是结构化的
2、IO多路转接
/**/
int select(int nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval *timeout);
int poll(struct pollfd *fds, nfds_t nfds, int timeout);
epoll();
3、其他读写函数
readv();
writev();
readn();
writen();
4、存储映射IO
/*将文件或设备映射或取消映射到内存中*/
void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
int munmap(void *addr, size_t length);
5、文件锁
int fcntl(int fd, int cmd, ... /* arg */ );/*操作文件描述符*/
int lockf(int fd, int cmd, off_t len);/*在打开的文件上应用、测试或删除POSIX锁*/
int flock(int fd, int operation);/*对打开的文件应用或移除建议锁*/