简洁的Linux系统编程与网络编程学习路线(一):Linux中用于文件IO的系统调用API

本人学习Linux系统编程与网络编程时的路线:

Linux系统编程

  1. Linux中用于文件IO的系统调用API
  2. Linux中的文件系统
  3. 进程及进程间的通信
  4. 多线程及线程间的同步与异步

Linux网络编程

  1. 基本的网络知识:TCP,UDP
  2. Socket相关API
  3. 多进程并发服务器模型
  4. 多线程并发服务器模型
  5. IO复用服务器模型

高并发服务器框架

  1. tinyHttpd
  2. Libevent
  3. Nginx

-----------------------------------------------------我叫分割线---------------------------------------------------------

1.每打开一个进程,都会在内核空间中创建一个PCB(struct task_struct),PCB中包含很多内容,其中有一个文件描述符表,文件描述符表记录着当前进程打开的所有文件。进程每打开或者创建一个文件都会在内核空间中生成一个file结构体(位于PCB之外的内核空间),该file结构体包含了文件标志flags、文件读写位置、指向文件位置的指针等文件信息。而文件描述符(file description,fd)所对应的file指针指向此file结构体。所以串联起来,fd是文件的唯一性标识,对于文件的操作就变成了对于fd的操作。

  • 因为每打开一个文件都会在内核空间中生成一个file结构体,所以当前进程可打开的文件个数是有限制的,Linux下默认是1024个,也就是fd为0~1023。在关闭
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值