linux编程学习目录

参考资料:
《UNIX环境高级编程第三版》
《Linux/UNIX系统编程手册》
《UNIX网络编程(第1卷:套接口API)》
《TCP/IP详解卷一》


Linux 学习交流群: 610441700 , 欢迎大家加群一起学习交流,共同进步


系统编程

文件I/O

1-文件IO—open/close函数

2-C标准的I/O缓存和FILE结构体

3-文件描述符和标准文件

4-文件描述符与打开的文件之间的关系

5-文件I/O—read/write函数

6-改变文件偏移量—lseek函数

文件和目录

7-linux ext2文件系统

8-linux ext2文件系统实验

9-dentry结构体和inode结构体

10-数据块寻址

11-获取文件信息—stat函数

12 - dup函数和dup2函数

13-文件权限相关函数—access,chmod,chown函数

14-unlink函数和删除文件过程

15-getcwd和chdir函数

进程环境

16-main函数和进程终止

17-atexit函数——进程终止

18-用fork函数创建新进程

19-孤儿进程与僵尸进程

20-wait,waitpid,waitid系列函数

信号

21-关于linux信号的基本使用

22-用setitimer函数实现计时器

线程基本介绍

23-创建线程的一些细节

24-线程共享资源问题

25-线程终止详解

26-设置线程分离属性

线程同步

27-线程同步——互斥量

28-线程同步——死锁现象

29-线程同步——读写锁和自旋锁

30-线程同步——条件变量

31-线程属性——互斥锁类型

32-线程控制——线程特定数据

进程间通信

33-进程间通信——管道

34-进程间通信——FIFO(命名管道)

35-System V 进程间通信

36-System V——创建共享内存

37-System V——共享内存函数详解

38-System V——消息队列

39-System V——信号量

40-System V——信号量的细节问题

文件加锁

41-fcntl设置文件锁

42-使用flock文件锁

内存映射

43-初窥内存映射mmap

44-共享文件映射

45-内存映射的陷阱

46-内存映射的保护和同步






网络编程

友情提示一下学习网络编程需要的基础:学过linux系统编程和计算机网络,熟悉常用的网络协议,典型的如tcp协议,udp协议等…… 会使用抓包工具,因为这些基础有助于你学习网络编程。

另外,本系列中的实验代码在编写过程中减少了错误处理,但是大家在编写网络程序时还是把对应的错误处理加上比较好,这样程序出错了就比较好调试。


tcp基本套接字编程

1-网络字节序和ip地址

2-创建并绑定“插座”

3-listen函数(主动socket和被动socket)

4-从tcp连接建立的角度分析connect函数

5-accept接受连接

6-基于TCP的客户端/服务端通信

7-客户端/服务端程序中TIME_WAIT状态

8-多进程并发服务器

网络编程中的基本异常

9-调用connect连接超时

10-在accept之前中止连接(连接异常)

11-服务端进程终止与SIGPIPE信号

12-服务器的几种异常

13-select重写客户端和tcp优雅关闭

14-改写tcp服务器

tcp套接字选项

15-SO_RCVBUF和SO_SNDBUF套接字选项

udp基本套接字编程

16-基于udp的客户端/服务端通信

17-sendto函数和异步错误

18-UDP的connect函数

高级I/O函数

19-高级I/O函数——套接字和标准I/O

unix域协议

20-unix域套接字地址结构

非阻塞I/O

21-非阻塞accept



努力更新中


以上内容长期修改,更新…
如果文章中有错误的地方或其他建议,请大家及时指出,感谢!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章