首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
星见遥
掘友等级
学生
|
中科大软件学院
中科大软件学院在读研究生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
GFS简介
GFS是Google在2003年提出的一个分布式文件存储系统,是Google三剑客之一。GFS主要适用于大文件的顺序读取以及追加写。 GFS由一个master和多个chunck server构成。master负责维护文件和块命名空间、文件到块的映射和每个块副本的位置,以及对块租…
无锁编程—RCU
当我们对链表等数据结构进行并发读写时,通常会通过读写锁进行保护。但是,每一次对读写锁的操作都必须直接在内存中进行,不能够使用cache,这也就导致了读写锁的效率其实是比较低的。即使是在没有写者的情况下,每一次上读锁仍然需要访问内存。更严重的是如果多个CPU同时执行到CAS指令,…
MapReduce原理及简单实现
MapReduce是Google在2004年发表的论文《MapReduce: Simplified Data Processing on Large Clusters》中提出的一个用于分布式的用于大规模数据处理的编程模型。 MapReduce将数据的处理分成了两个步骤,Map和…
Protobuf入门
在Kafka中,发送的消息是字节数组,因此就需要一个方法来将消息对象序列化为字节数组,在消费者端再反序列化为对象。最常用的序列化格式就是JSON了。虽然JSON对人类非常友好,但是对于机器来说,更容易进行序列化和反序列化的格式还是二进制的格式。 Protobuf(Protoco…
Kafka学习(1)入门
消息引擎(消息队列)是后端最常用的中间件,其主要功能有解耦、异步、削峰。而Kafka是Apache开发的最常用的消息引擎之一。 直接到Kafka的官网下载二进制包然后解压就行了,Kafka需要Java的运行环境。首先启动Zookeeper作为Kafka的服务协调工具,之后启动K…
CS144学习(4)IP路由
最后一个实验是要实现一个IP路由表,只需要实现添加路由表项和前缀匹配两个部分,不涉及路由协议。这个实验就很简单了,就20行代码就差不多了。 实验的关键在于如何存储路由表,最简单当然也是最慢的方法就是直接保存在一个数组中,然后一个个匹配过去,时间复杂度为O(n)。 一种方法是通过…
CS144学习(3)ARP协议
第五个实验主要的内容是ARP地址解析协议。ARP协议位于IP层的底部,用于将下一跳的IP地址转换成MAC地址传给数据链路层。在主机中一般会有一个ARP缓存表,用于缓存最近的IP和MAC地址对应信息。ARP数据包是封装在以太网帧当中发送。 ARP请求的源IP地址和源MAC地址设置…
CS144学习(2)TCP协议实现
Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了。之后经过包装就可以进行TCP的接收和发送了。 代码全部在github上了。 这一个实验是要实现一个流重组器,传入数据的片段以及起始位置,之后对其进…
CS144学习(1)Lab 0: networking warmup
第一个Lab是环境配置和热身,环境按照文档里的配置就行了,前面两个小实验就是按照步骤来的,就不细讲了。 这一个实验是要用他封装好的socket库写一个简单的http客户端。看看文档里Address和TCPSocket类的介绍就行了。 注意就是输出的时候要原封不动地输出内容,也不…
XV6学习(16)Lab net: Network stack
最后一个实验了,代码在Github上。 这一个实验其实挺简单的,就是要实现网卡的e1000_transmit和e1000_recv函数。不过看以前的实验好像还要实现上层socket相关的代码,今年就只有网卡驱动了。 虽然实验文档里面给了一本400多页的网卡文档,但其实也不需要怎…
下一页
个人成就
文章被点赞
16
文章被阅读
34,540
掘力值
837
关注了
0
关注者
30
收藏集
0
关注标签
9
加入于
2020-07-04