UNIX环境高级编程--第三-四章总结

1.对于内核,所有打开的文件都通过文件描述符(一个非负数)引用,

    文件描述符0与进程的标准输入(stdin)向关联------0被替换为STDIN_FILENO

    文件描述符1与进程的标准输入(stdout)向关联------1被替换为STDOUT_FILENO

    文件描述符2与进程的标准输入(stderr)向关联------2被替换为STDERR_FILENO

2.当一个进程终止时,内核自动关閉它所有打开的文件.

3. ls -ls filename可以看filename所占的磁盘块.

4.fork()后父进程和子进程对于每一个打开文件描述符共享同一个文件表项.

5.许多UNIX系统采用延迟写,为了保证磁盘上实際文件系统与缓冲区高速缓存中内容的一致性,UNIX系统提供了sync,fsync,fdatasync三个函数,sync函数只是将修改过的块缓冲区排入写队列,然后就返回,它并不等待实際写磁盘操作结术.通常称为update的系统守护进程会周期性的(per 30 sec)调用sync函数.这就保证了定期冲洗内核缓冲区.

6.DIR *opendir(const char *pathname)   DIR结构是一个内部结构,作用类似于FILE结构.FILE结构由标准I/O库維护.

7.使用stat函数最多的可能是ls -l命令,用其可以获得有关一个文件的所有信息.

8.所有二进制可执行文件都遵循一种格式,这种格式能够确定文本和数据的加载位置.

9.因为当前工作目录是进程的一个屬性,所以它只影响调用chdir()的进程本身,而不影响其他进程.---------chdir()函数可以更改当前工作目录.

10.getcwd()可以得到当前工作目录完整的绝对路径名.-----------当一个应用程序需要在文件系统中返回到其工作的起点时,getcwd函数是有用的,在更换工作目录之前,我们可以调用getcwd函数先将其保存起来.在完成处理后,就可以将从getcwd获得的路径名作为调用参数传送给chdir,这样就返回到了文件系统中的起点.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值