0
点赞
收藏
分享

微信扫一扫

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)

汤姆torn 2024-11-18 阅读 15

操作系统一切皆文件,访问文件实际上就是访问硬件,因为文件都保存在硬件上,或者文件就是硬件,而要访问硬件,就需要操作系统提供的系统调用,所以c/c++函数中关于访问硬件设备,基本上是由系统调用封装而成的。

一切皆文件的本质

比特位级别的标志位传递方式

在操作系统中,为了管理打开的文件,会将这些文件的的属性组织成struct file结构体,这些结构体会组成链表 。tast_struct 结构体会保存一个结构体的指针,这个指针指向的结构体包含一个 指针数组,如果这个进程有打开的文件,那么就会把这个文件的指针填充到这个数组空着的位置,数组位置的选择,是从0开始,找到最小的位置填充进去。这个实际上就是文件描述符表,可以通过文件描述符表来找到打开的文件,而文件描述符就是这个数组中的下标,通过下标来找到文件指针。

而多个文件描述符可能指向同一个文件,那么就会有一个计数器count来表示指向该文件的数量。

关闭文件,关闭文件实际上是将指针数组当中下标对应的位置置空,并将指向的文件当中的引用计数count--,如果count为0,则释放该文件结构,不为零则不释放。

重定向指令

重定向指令默认是将1也就是显示器重定向,可以>前面加个数字,将该数字对应的文件重定向,也可以一次性重定向多个用空格分隔开就行

fopen

fwrite

open

write

 read

 

修改umask

关闭文件 

重定向

dup2

举报

相关推荐

0 条评论