- 博客(21)
- 收藏
- 关注
原创 套接字编程
包的数据头(或数据尾)被第一层协议(比如 TFTP协议) 加上第一层协议数据;然后整个包(包括内部加入的 TFTP 信息头)被下层协议再次包装(比如 UDP),再这之后数据包会再次被下层协议包装(比如 IP 协议),最后是被最底层的硬件层(物理层)包装上最后一层信息(Ethernet 信息头)。硬件首先剥去数据包中的 Ethernet 信息头,然后内核在剥去 IP 和 UDP 信息头,最后把数据包提交给 TFTP 应用程序,由 TFTP 剥去 TFTP信息头,最后得到了原始数据。
2024-07-13 12:35:55
813
原创 【无标题】
每次DMA都操作同一个缓冲区,数据需要同步:一致性映射每次DMA操作的缓冲区都不一样,异步操作:流映射(例如:网络驱动程序,其中存放传输数据包的缓冲区被快速的映射和去映射)DMA描述符:一致性映射。
2023-07-07 16:07:04
1585
1
原创 netlink套接字
netlink套接字1 netlink簇2 netlink数据结构2.1 消息地址:struct sockaddr_nl2.2 消息头 nlmsghdr参数:nlmsg_flags参数:type2.3 有效载荷属性nlattr2.4 属性期望2.5 struct netlink_kernel_cfg成员:API1. 创建1.1 用户-socket()1.2 内核-netlink_kernel_create()示例:2. 发送2.1 单播 netlink_unicast2.2 组播 netlink_broad
2022-05-12 16:11:13
1626
1
原创 PCI接口
目录12 PCI接口12.1 PCI接口12.1.1 PCI寻址12.1.2 启动时间12.1.3 配置寄存器和初始化12.2 数据结构12.2.1 pci_dev12.2.2 pci_device_id12.2.3 pci_driver12.3 注册PCI驱动程序12.3.1 pci_register_driver12.3.2 pci_unregister_driver12.3.3 驱动注册引导过程12.4 设备初始化12.4.1 pci_e
2022-04-24 13:58:16
3408
1
原创 9-内存管理
目录9-内存管理1 内存概述1.1 地址空间1.2 内存地址划分转存失败重新上传取消1.2.1 用户空间1.2.2 内核空间1.3 分页2 内存结构2.1 结构pg_data_t2.2 struct zone2.3 BUDDY页面管理2.4 页的分配函数2.5 SLAB内存管理2.6 SLAB分配器构建2.7 kmalloc & kfree()2.8 vmalloc---非连续内存的分配2.9 对比参考书籍:...
2021-09-30 11:23:11
150
原创 修改chrome浏览器的背景色
目的:修改默认背景色的黑色为白色方法:复制网址跳转到对应的页面,修改enable为defaultchrome://flags/#enable-force-dark
2021-09-17 15:21:47
6678
原创 查找---散列表
1 散列存储(hash)班级名称班级编号 关键字 20011 1 20021 2 20031 3 20041 4 20051 5 在元素的存储位置和其关键字之间建立某种直接的联系。(1V1)关键字:key散列地址:p(即数组下标)散列函数:H(key)对元素的关键字进行某种运算,直接求出元素的地址。散列表:又称哈希表(hash table),一个连续的地址空间,用以存储按散列函数计算得到的相应散列地址的数据记录2...
2021-08-04 09:44:09
830
原创 part4 库
part4 库1 概念库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。2 分类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。3 必要性库是别人写好的现有的,成熟的,可以复用的代码,你可以使用但要记得遵守许可协议。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。4 静态库在程序编译时会被链接到目标代码中,程序运行时将
2021-08-03 16:02:05
115
原创 链栈-表达式求值问题
表达式求值问题规则:仅讨论含有加,减,乘,除4种运算符+界限符()+单位数中缀表达式运算规则:(1)先乘除,后加减(2)从左向右计算(3)先括号内,再括号外栈1---optr ---运算符栈2---opnd ---操作数或者运算结果以##作为表达式开始和结束的标志算法步骤(1)初始化optr和opnd栈,将表达式起始符#压入optr栈(2)扫描表达式,读入第一个字符ch,如果表达式没有扫描完毕(未读入#)(即栈顶元素不为#时) 循环...
2021-03-30 16:51:49
894
原创 链表-单链表存储逆序
单链表逆序存储不带头结点的单链表逆序1算法步骤(1)整表创建//不带头结点的(2)元素顺序查询(3)倒置·空链表:无需倒置·单元素链表:无需倒置·元素>=2:倒置算法 当p2!=null时: 循环执行 (1)结点指针tmp备份p2结点地址 (2)p2向后偏移一个结点 (3)头插法:插入tmp到p1前 tmp->next=p1; ...
2021-03-30 16:43:58
1734
原创 球钟问题
球钟问题问题描述:球钟是利用球的移动来记录时间的装置。它有三个可以容纳若干个球的容器:分钟指示器,五分钟指示器,小时指示器。若分钟指示器中有2个球,5分钟指示器中有3个球,小时指示器中有4个球,则时间为4:17。每过一分钟,球钟就会从球队列(先进先出)的队首取出一个球放入分钟指示器,分钟指示器最多可容纳4个球。在放进去第五个球的时候,分钟指示器内的4个球就会按照他们被放入时的相反顺序加入球队列的队尾(先进后出:栈)。而第五个球就会进入五分钟指示器(五进制)。按此类推,五分钟指示器最多可放
2021-03-29 16:41:38
540
原创 数据结构-图
part 8 图(略)假如你要周游中国, 现在在湖北,周边有安徽,江西,湖南,重庆,陕西,河南等城市。你下一步怎么走比较划算?1 图的概念1.1 背景现实生活中,社交,地图导航等多对多的情况。1.2 定义图由顶点和边构成,表示为G(V,E)。G:表示一个图V:是图中顶点的有穷非空集合E:是图G中边的集合顶点:线性表中数据称为元素,树中数据 称为结点,图中数据称为顶点。存在空表,空树,但图结构中,不允许没有顶点边:顶点之间的逻辑关系,边集可以为空(.
2021-03-24 13:39:25
541
原创 数据结构-绪论
day1(上)1.绪论学习对象:研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科学习方法:画图---》理解---》做题1.1 基本概念1.1.1 数据数据:描述客观事物的符号。示例:网页:全部数据的搜索特征:(1)可以输入到计算机中(2)能被计算机处理1.1.2 数据元素数据元素(结点):是组成数据的、有一定意义的基本单位。在计算机中通常作为整体处理。示例:1.1.3 数据项数据项:一个数据...
2021-03-24 13:30:24
199
原创 数据结构-顺序表
Part2 顺序表1 概念1.1 线性表零个或多个数据元素的有限序列。元素之间存在顺序,第一个元素无前驱,最后一个元素无后继,其他元素有且仅有一个前驱和后继。1.2 顺序表线性表的顺序存储结构---数组即顺序表:用一组地址连续的存储单元依次存储线性表的数据元素。即:逻辑上相邻的数据元素,其物理次序也是相邻的。2 顺序表实现2.1 数据元素属性(1)存储空间的起始地址:数组名(2)线性表的最大存储容量:数组长度(3)线性表的当前长度:length2.2.
2021-03-24 13:27:29
2260
原创 数据结构-线性链表
Part3_线性链表1 概念用一组任意的存储单元存储线性表的数据元素。(存储单元可以是连续的,也可以是不连续的)1.1 特点随机存储,但需要知道后继元素的地址,即线性表的链式存储结构1.2 数据域存储数据元素信息的域称为数据域1.3 指针域存储直接后继位置的域称为指针域1.4 结点这两部分的信息组成数据元素的存储镜像,称为结点(node)1.5 链指针域中存储的信息称做指针或链1.6 链表n个结点链结成一个链表,即为线性表的链式存储结构。1.
2021-03-24 13:23:27
2055
原创 数据结构-链表2
part 4 其他链表1 循环链表1.1 概念单向链表:表中最后一个结点的指针域指向空循环链表:表中最后一个结点的指针域指向头结点或者首元结点1.1.1 带头结点的循环链表整表创建源代码修改即可1.1.2 只有头指针的循环链表创建(1)算法步骤(1)定义头指针 *l,尾结点指针p,以及新节点指针s(2)计数器j从1开始(2)循环n次 第一步:申请新节点,给到s 第二步:设置数据域数据 第三步:...
2021-03-24 13:20:50
351
原创 数据结构-栈
part 5栈1 概念1.1 现象弹夹式手枪、洗盘子摞盘子、浏览器回退功能、word、画图的撤销操作1.2 特点原理:后进先出(LIFO结构)1 .3 定义栈:限定在表尾进行插入(尾插法)或删除操作的线性表栈顶(表尾)允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。空栈不含任何数据元素的栈。压栈(进栈):栈的插入出栈:栈的删除1.4 逻辑示意图1.5 进栈出栈变化形式最先进栈的只能最后出栈?解析:栈...
2021-03-24 13:18:05
543
原创 数据结构-队列
part 6 队列1 定义1.1 现象示例1:窗口排队示例2:(多道程序运行时)电脑处于疑似死机的状态,鼠标点什么似乎都没有用,双击任何快捷方式都不动弹。就当你失去耐心,打算重启时,突然它像酒醒了一样,把你刚才点击的所有操作 全部按照顺序执行了一遍。这是因为操作系统中的多个程序需要通过一个通道输出,而按先后次序排队等待造成的。示例3:比如像移动、联通、电信等客服电话,客服人员相比用户总是少数。在所有的客服人员都占线的情况下,客户会被要求等待,直到某个客服人..
2021-03-24 13:11:02
421
原创 数据结构-树
part7 树0-前言之前我们一直在谈的是一对一的数据结构。可现实中,还有很多一对多的情况需要处理,所以我们需要研究这种一对多的数据结构——“树”,考虑它的各种特性,来解决我们在编程中碰到的相关问题。在操作系统中,用树来表示文件目录的组织结构。在 编译系统中,用树来表示源程序的语法结构。重点:二叉树的存储结构和各种操作。1-定义1.1 定义树(tree)是n(n>=0)个结点的有限集。n=0时:称为空树。n>=0时:在任意一颗非空树中:.
2021-03-24 11:55:03
1516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人