插口层与协议的具体实现相关。
引言:重点是插口层和相关的系统调用的实现是最关键的问题。
splnet处理,重点要理解插口层和系统调用的实现。
Socket结构
一直被广泛使用的socket结构和插口层的使用有很大的关系。插口代表一条通信链路的一端,抽象的说就像绳子的一头,绳子代表存储和指向链路有关的信息。
理解成网线的插口比较好。。。今天华为被怼了,很不爽。特朗普有病。。包括贸易战的大节奏。
getsocketopt和setsocketopt 的系统调用能修改大部分的插口选项。。。。
struct socket定义 不必要记 关注它定义了哪些结构。
SS_NBIO :内核不阻塞进程。
SS_ASYNC:内核发送SIGIO信号给so_pgid标识。
主要看函数的调用和进程之间的关系。很无聊。只是一个载体。
系统调用
每一个系统调用均被编号,当进程执行一个系统调用时,硬件被配置或传输控制给一个内核函数。
内核函数syscall,是为了找sysent结构。
ssocket可以作为系统调用的例子。只要看三点就可以。
1建立服务器客户端和客户,终止类系统调用。2输入输出类系统调用。3管理类系统调用。
网络系统调用流程要仔细看。socket主要是开或关,读写,监听,连接。
进程,描述符和插口
这三个名称是为了给系统调用做基础的。三个名词,只有描述符比较陌生。比较无聊。。。
socket系统调用
原文:https://www.cnblogs.com/lordwind/p/10887085.html