首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
星见遥
掘友等级
学生
|
中科大软件学院
中科大软件学院在读研究生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
星见遥
学生 @中科大软件学院
·
4年前
关注
GFS简介
GFS是Google在2003年提出的一个分布式文件存储系统,是Google三剑客之一。GFS主要适用于大文件的顺序读取以及追加写。 GFS由一个master和多个chun...
0
3
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
无锁编程—RCU
当我们对链表等数据结构进行并发读写时,通常会通过读写锁进行保护。但是,每一次对读写锁的操作都必须直接在内存中进行,不能够使用cache,这也就导致了读写锁的效率其实是比较低...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
MapReduce原理及简单实现
MapReduce是Google在2004年发表的论文《MapReduce: Simplified Data Processing on Large Clusters》中提...
2
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
Protobuf入门
在Kafka中,发送的消息是字节数组,因此就需要一个方法来将消息对象序列化为字节数组,在消费者端再反序列化为对象。最常用的序列化格式就是JSON了。虽然JSON对人类非常友...
1
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
Kafka学习(1)入门
消息引擎(消息队列)是后端最常用的中间件,其主要功能有解耦、异步、削峰。而Kafka是Apache开发的最常用的消息引擎之一。 直接到Kafka的官网下载二进制包然后解压就...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
CS144学习(4)IP路由
最后一个实验是要实现一个IP路由表,只需要实现添加路由表项和前缀匹配两个部分,不涉及路由协议。这个实验就很简单了,就20行代码就差不多了。 实验的关键在于如何存储路由表,最...
2
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
CS144学习(3)ARP协议
第五个实验主要的内容是ARP地址解析协议。ARP协议位于IP层的底部,用于将下一跳的IP地址转换成MAC地址传给数据链路层。在主机中一般会有一个ARP缓存表,用于缓存最近的...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
CS144学习(2)TCP协议实现
Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了。之后经过包装就可以进行TCP的接收和发送...
1
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
CS144学习(1)Lab 0: networking warmup
第一个Lab是环境配置和热身,环境按照文档里的配置就行了,前面两个小实验就是按照步骤来的,就不细讲了。 这一个实验是要用他封装好的socket库写一个简单的http客户端。...
1
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(16)Lab net: Network stack
最后一个实验了,代码在Github上。 这一个实验其实挺简单的,就是要实现网卡的e1000_transmit和e1000_recv函数。不过看以前的实验好像还要实现上层so...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(15)Lab mmap: Mmap
代码在Github上。 这一个实验是要实现最基础的mmap功能。mmap即内存映射文件,将一个文件直接映射到内存当中,之后对文件的读写就可以直接通过对内存进行读写来进行,而...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(14)Lab fs: File system
代码在github上。 这次实验是要对文件系统修改,使其支持更大的文件以及符号链接,实验本身并不是很复杂。但文件系统可以说是XV6中最复杂的部分,整个文件系统包括了七层:文...
0
1
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(13)调度
几乎所有操作系统都会运行数量远多于CPU数量的进程,因此需要对CPU进行分时共享。理想情况下这种共享应该是对用户进程透明的。一个常用的方法是通过多路复用将进程分配到硬件CP...
1
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(12)Lab lock: Parallelism/locking
这一次实验是要对XV6内部的锁进行优化,减少锁争用,提高系统的性能。 第一个实验是对XV6内核的内存页面分配器进行改进,改进的策略在前面的章节中也讲过了。XV6原本是使用一...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(11)Lab thread: Multithreading
代码放在github上。 这一次实验感觉挺简单的,特别是后面两个小实验。主要就是对多线程和锁进行一个学习。 这一个实验是要实现一个简单的用户级线程,写完之后发现原来用户级线...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(10)锁
在包括XV6的绝大部分操作系统都是多个任务交错执行的。交错的一个原因是多核硬件:多核计算机的多个CPU核心独立执行计算,如XV6的RISC-V处理器。多个CPU核心共享物理...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
IO多路复用与epoll机制浅析
epoll是Linux中用于IO多路复用的机制,在nginx和redis等软件中都有应用,redis的性能好的原因之一也就是使用了epoll进行IO多路复用,同时epoll...
1
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(9)Lab cow: Copy-on-write fork
代码在github上。总体来说如果理解了COW机制的话,这个实验的完成也没有很复杂。 这一个实验是要完成COW(copy on write)fork。在原始的XV6中,fo...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习(8)中断和设备驱动
驱动是操作系统中用于管理特定设备的代码:驱动控制设备硬件,通知硬件执行操作,处理中断,与等待该设备IO的进程进行交互。 当设备需要与操作系统进行交互时,就会产生中断(陷阱的...
0
评论
分享
星见遥
学生 @中科大软件学院
·
4年前
关注
XV6学习 (7) Lab lazy: Lazy allocation
代码在github上。 这一个实验是要利用缺页异常来实现懒分配(lazy allocation)。用户态程序通过sbrk系统调用来在堆上分配内存,而sbrk则会通过kall...
1
评论
分享
下一页
个人成就
文章被点赞
16
文章被阅读
39,478
掘力值
852
关注了
0
关注者
31
收藏集
0
关注标签
9
加入于
2020-07-04