socketsocket()我们使用系统调用socket()来获得文件描述符:#include#includeint socket(int domain,int type,int protocol);第一个参数domain设置为“AF_INET”。第二个参数是套接口的类型:SOCK_STREAM或S...
分类:
其他好文 时间:
2014-08-21 11:17:03
阅读次数:
178
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。
一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。标准输出文件(stdout):stdout 的文件...
分类:
其他好文 时间:
2014-08-20 19:39:22
阅读次数:
285
基本概念
内核使用3个数据结构描述一个打开的文件:进程表、文件表、V节点表
首先了解3种数据结构的概念
1 进程表
每一个进程有一个进程表。进程表里是一组打开的文件描述符,如标准输入0,标准输出1,标准错误2...
2 文件表
进程打开一个文件时,内核就为该文件创建一个文件表。...
分类:
其他好文 时间:
2014-08-20 18:04:32
阅读次数:
220
在C程序中,文件由文件指针或者文件描述符表示。ISO C的标准I/0库函数(fopen, fclose, fread, fwrite, fscanf, fprintf等)使用文件指针,UNIX的I/O函数(open, close, read, write, ioctl)使用文件描述符。下面重点来说下...
分类:
编程语言 时间:
2014-08-20 16:15:52
阅读次数:
274
linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)5. ...
分类:
其他好文 时间:
2014-08-20 16:12:52
阅读次数:
273
三、资源管理 资源就是一旦你使用了它,将来不用的时候必须归还系统。C++中最常用的资源就是动态内存分配。其实,资源还有 文件描述符、互斥器、图形界面中的字形、画刷、数据库连接、socket等。 1、 以对象管理资源 void f() { investment *plv = createInvestm...
分类:
编程语言 时间:
2014-08-20 13:47:52
阅读次数:
187
参考《UNIX环境高级编程》,主要记录打开文件的文件描述符怎么在内核中表示。...
分类:
其他好文 时间:
2014-08-20 00:04:45
阅读次数:
199
socket函数,为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,并且指定通信协议类型。#includeint socket (int family, int type, int protocol); //成功返回非负描述符,出错-1其中family参数指明了协议族,AF_IN...
1 文件描述符 内核为每个进程维护一个已打开文件的记录表(实现为结构体数组),文件描述符是一个较小的正整数(0—1023)(结构体数组下标),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读、写、创建、删除等操作。 常用基于文件描述符的函数有open(打开)...
分类:
系统相关 时间:
2014-08-18 14:18:32
阅读次数:
356
1 socket()函数
原型:
int socket(int domain, int type, int protocol);
描述:
类似打开一个文件,返回一个socket描述符,唯一标识一个socket,后面相应的操作都是这用这个socket描述符。
参数:
domain:协议族,常用的协议族有AF_INET、AF_INET6、AF_LOCAL、AF_ROUTE等;
协议族决定...
分类:
其他好文 时间:
2014-08-18 00:19:53
阅读次数:
335