Halcyon
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链

使用Yadm管理Linux配置文件

今年暑假看Missing-course的时候开始意识到备份Linux配置文件的重要性,以后即使切换机器也可以很容易的恢复自己喜欢的编程环境。在简单搜索了几个方式以后,决定使用yadm作为管理工具,并且写了一个模板,便于分享和使用。 Yadm Dotfiles 使用说明 该仓库的主要用途为使用yadm作为管理工具,通过Github来同步自己的Dotfiles 先在自己当前环境下安装yadm
2022-12-12
小技巧
#Linux #Yadm

计算机网络:TCP Sender的实现

TCP Sender 需要实现的主要逻辑 追踪Receiver返回的windows_size(可接受的剩余容量)和ackno(已经确认接收的字符位置) 只要数据来了就直接对数据进行封装并发送,只有在窗口被消耗为零的情况下才停止发送 将没有被acknowledge的数据包存储起来,在超时的时候进行发送 实现细节 对于超时重传的时间判断,使用已经提供的tick()函数,每次调用的时候传入多
2022-12-03
知识记录
#cs144 #network

计算机网络:TCP Receiver的实现

TCP Receiver Index和Seqno的转换 为了节省在TCP Header当中的空间,在StreamReassembler里面写的index虽然是一个uint64_t的类型,但是在实际的Header中是使用一个uint32_t的seqno来进行标记位置的。对于uint32_t的seqno和uint64_t的index的相互转换则是通过以4GiB (2^32 bytes)为一个长度进
2022-11-22
知识记录
#cs144 #network

计算机网络:字节流重组器

思路总结 有问题的方案 这个方案是采用了一个无限长的字符串cache,所有的TCP段先寄存在cache当中。之后通过创建一个在cache上滑动的写入位指针write_p来将能够顺序写入的内容写入_output当中,其中write_p每次滑动的距离len受限于_output还剩下的可容纳空间。 添加的私有成员: 12345678// 用于存放缓存std::string cache;// 用于标
2022-11-07
知识记录
#cs144 #network

计算机网络:流的输入和读出

热身 lab0前后分为两个较为简单的小任务,第一个任务是写一个类似telnet中通信的webget小应用,第二个任务是实现一个简单的ByteStream的类,只需要在单线程的情况下能正常运行即可 任务一 第一个任务的参考主要是从项目文件本身的doctests开始着手,其中在提示中已经说了我们将会使用到TCPSocket和Address,在对应的doctests/socket_example_2
2022-10-29
知识记录
#cs144 #network

ArchWSL安装及基础配置

准备工作 在Windows上安装ArchWSL直接使用scoop来安装是比较便捷的一种方案,具体如何在Windows上配置·scoop`可以参考这篇教程: Windows上通过Scoop管理和安装软件 在配置好了scoop以后,首先通过以下指令安装ArchWSL 1scoop install archwsl 只要按正常流程,按win+s,通过Windows搜索找“Turn Windows f
2022-07-09
安装引导
#WSL #Arch

Shell:管道符与重定向

前言 到目前位置自己还没专门花时间研究过Linux上那些日日都在用的工具(如Shell和Vim)他们本来的用法和含义,本来觉得没必要,不过在看了missing-semester之后顿时感觉效率提高了不少。因此做一个笔记,把一些很实用但是自己并不会去关注的简单用法给记录一下。 参考文章 Linux shell管道与重定向实例分析 Shell预览 How does “<<” oper
2022-07-04
知识记录
#missing-semester #shell

快速部署rclone为services

参考链接 Rclone配置 Autostart rclone mount using systemd 安装Rclone 在Linux上安装rclone可以直接使用默认发行版仓库的版本,也可以官方脚本安装 1curl https://rclone.org/install.sh | sudo bash 配置Rclone 安装完成了之后通过输入以下指令可以在交互式页面当中添加、修改或删除连接信
2022-06-29
小技巧
#rclone

操作系统:分页的计算

第二十章:分页:较小的表 对于线性页表,只要知道第一个Page的地址,存于寄存器当中,就可以通过这个地址依次陆续推算下一个或后面任意一个有效的地址范围。对于多级页表,通过多次搜索,依旧可以在只有最初的页表的地址的情况下,通过多次的偏移查询来定位到最后需要的特定地址。 这里取例子说明算法,具体答案通过-c参数可直接输出 这里以seed为0的时候为例 首先,在README.md中可以得到以下
2022-05-12
知识记录
#os

操作系统:TLB缓存命中和非命中的开销差距

第十九章:实际操作系统的TLB表项 本章为测量实验,主要要求为写一份tlb.c来测试在TLB miss和TLB hit的情况下性能开销的变化,以感受TLB的重要性 对于题中问题的回答 由于gettimeofday()的函数只能精确到微秒,不足以测试较为精确的时间,因此使用CLOCK_PROCESS_CPUTIME_ID和clock_gettime();搭配即可获得纳秒级的时间测量,具体代码实
2022-05-09
知识记录
#os
123…9

搜索

Hexo Fluid
载入天数... 载入时分秒...
总访问量 次 总访客数 人