TCP/IP详解卷2:实现 第一章 笔记四

中断级别与并发

中断是指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。
关中断是指在此中断处理完成前,不处理其它中断.

软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和"信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内核(或其他进程)对某个进程的中断

首先我们先前说了网络代码输入分组用的是异步和中断驱动方式,当一个设备中断他会引发接口层代码执行,然后产生一个软中断引发协议层代码执行。当内核完成这些级别中断后,执行插口代码。
这里有张表表示每一个硬件和软件分配一个优先级,从最低价(不阻塞中断)到最高级(阻塞所有中断)。


这张图会很明显解释这些中断之间的关系:
1)当插口层以级别sp10执行时,一个以太网设备驱动程序中断发生(splimp),这个中断抢占了插口层代码执行,这就是异步执行接口输入例程。
2)当以太网设备驱动程序在运行时,它把一个接受的分组放置到Ip输出队列中并调度一个splnet软中断,软中断不会立即生效,因为内核有一个更高优先级上执行。
3)当以太网设备执行完成后,splnet执行。这就是异步执行IP输入例程。
4)一个中断设备中断发生,它立即被处理,抢占协议层因为他的优先级spltty高于splnet。
5)slip设备驱动程序把接收的分组放到IP输入队列中并为协议层调度另一个软中断。
6)当SLIP驱动程序结束后,被抢占的协议层继续以级别splnet执行,处理完从以太网设备驱动程序收到的分组后,处理从SLIP收到的分组,直到没有要处理的输入分组时,他会把控制权返回给抢占的进程。
7)插口层从它被中断的地方继续执行。
前面说到了spl函数其中有splimp和splnet这俩个调用总是与splx成对出现,他们的使用说白了就是保护数据的完整性。看下面的代码
struct mbuf *m;
int s;
s = splimp();//设置为最高优先级别
if(IF_QFULL(&ifp->if_snd)){
IF_DROP(&ifp->if_snd);队列满了,就丢掉包
splx(s);恢复调用前的优先级
error;
}
IF_ENQUEE(&ifp->if_snd,m);
if((ifp->if_flags &IFF_OACTIVE) == 0)
(*IFP->if_start)(ifp);
splx(s);
当以太网输出例程把一个要输出的分组放到一个接口队列,并测试当前接口是否忙,若接口不忙则启动接口。
设备发送队列在协议层和接口层共享的数据结构。
假如我们以以太网驱动程序执行时,SLIP驱动程序会发生什么?
SLIP的优先级低于以太网,且高于splnet,因此SLIP驱动程序被中断并且会被阻塞。
好了第一章结束了,我想第一章虽然说的很笼统,但是网络流程,我们心里都有了一点想法了,接下来就是学习第二章mbuf了,其实数据结构的学习比较简单,只要能理解他的好处和不足,我们就能轻车熟路。先把基础知识弄明白了,以后再跳着看,我想说章数太多了只能跳着看了,不过我会从插口层到协议层到接口层会细看的。好了今天到这里吧,安喽~。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP详解 2:协议下载》是由Douglas E. Comer所著的一本计算机网络书籍,它是《TCP/IP详解》系列的第二。 本书主要讲解了TCP/IP协议家族中的各种协议和相关技术。第一章介绍了传输层协议TCP和UDP的特性、功能以及应用,包括其提供可靠性、流量控制、拥塞控制等机制。第二章讲解了分组交换网络中的传输层协议的实现,包括滑动窗口、超时重传、可靠传输机制等。 第三章至第五章侧重于网络层协议IP的相关知识。第三章讲解了IP地址的分配、子网划分以及路由选择算法。第章介绍了ICMP协议,它用于网络中的错误报告和网络管理。第五章则讨论了IPv6协议,介绍了其与IPv4的不同之处以及IPv6的地址分配和路由选择。 第六章和第七章分别讲解了数据链路层协议和局域网技术。第六章介绍了以太网的工作原理、帧结构以及其它数据链路层协议的特点,包括ARP、RARP等。第七章则讨论了以太网上的网络操作系统、交换机和无线局域网等局域网技术。 第八章至第十章介绍了广域网技术。第八章讲解了传输控制协议TCPIP在广域网中的应用和协同工作机制。第九章介绍了路由选择协议RIP和OSPF,以及路由选择机制的原理和实现。第十章讲解了一些其他的广域网协议和技术,包括点对点协议、帧中继和ATM等。 总结而言,《TCP/IP详解 2:协议下载》是一本全面介绍TCP/IP协议家族的著作,涵盖了传输层、网络层、数据链路层以及广域网技术的相关协议和技术。读者通过学习该书,能够深入了解TCP/IP协议的工作原理和实现,掌握网络通信的基本知识和技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值