打卡程序
花了一个星期的时间 ,终于算是把项目完成了个七七八八,现在做一下总结,感想。
首先,给我最大的感触就是一定要多敲,这是最重要的,还有要打牢基础,比如说简单的网络请求,go语言应该怎么写,还有结构体如何定义,来和api接口传输的数据相对应,以此来解析成功,等等。
遇到不会做的,我们可以查阅有关资料,学会排查bug,查一查是哪方面出问题了,是数据格式不对,还是参数的原因。一定要学会调试,打日志。jyy老师说过,计算机世界没有什么神奇的事情,他只是0和 1的叠加(后面是我说的orz),我们只要能沉得住气,不畏困难,这样才有可能完成目标,毕竟,不积跬步无以至千里,不积小流无以成江海!
比较晚了,今天就到这里,goodnight
mit6.s081 一些函数的解析 备查
本文主要是对xv6中一些常用函数的解释,备查,毕竟有很多函数你不去读源码你是看不懂的。当然也要结合手册和授课内容。
参考的相关链接
[]: http://xv6.dgs.zone/tranlate_books/book-riscv-rev1/c2/s1.html “xv6教材中文”[]: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081 “授课内容”
关于页表相关操作函数其实大多跟虚拟内存的函数都定义在了vm.c中 感兴趣的可以看一下,这里介绍一些常用的。
walk函数123456789101112131415161718walk(pagetable_t pagetable, uint64 va, int alloc){ if(va >= MAXVA) panic("walk"); for(int level = 2; level > 0; level--) { pte_t *pte = &pagetable[PX(le ...
mit6.s081 lab5 补档
鸽了好久,决定还是把之前做的实验都给记录一下吧orz。
Lab 5 的懒分配(Lazy Allocation)这个实验主要是为了实现一种内存分配策略。即在进程实际访问内存时才分配物理内存,而不是在调用 sbrk 时立即分配。这可以提高内存利用率,减少不必要的内存浪费。(有点像线段树中的lazy tag 就是 打一个标记,em 你要用,我在给你,不要浪费)。
修改 sbrk 函数1.只增加进程的大小分配字段 myproc() -> sz; 但是不给他分配实际的物理页面。
2.当进程访问未分配的内存时,会引发page fault。
123456789101112uint64sys_sbrk(void){ int addr; int n; if(argint(0, &n) < 0) return -1; addr = myproc()->sz; myproc()->sz += n; return addr;}
处理缺页异常因为我们修改的sbrk函数 会导致page fault 所以 ...
利用vscode 远程连接阿里云 ecs服务器 用gdb 调试
前言:
学习任何一件事情之前不要轻言放弃,看不懂是正常的,除非你是天才。任何事物的本身,除非你是机器,否则看不懂是很正常的,因为你第一次见到ta,就想全部了解ta的一切是很困难的。古人云 书读百遍其义自见。希望遇到困难能够认真的分析,而不是去抱怨。
首先 暑假7,8月的补档:看了22 24 jyy老师 的os 课程,给我感触最深的是,究竟大学学到怎么样才算完成期望了?是期末考试之前复习一个月,能拿一个好成绩,这样就算功德圆满了吗。把工科课学成文科课,当某些同学拿着95+的成绩而沾沾自喜时,我却深刻地意识到:这样子是不行的。当看到jyy老师现场debug 代码的时候,我知道我们落后太多,我们课堂上就像是 一个一个知识概念背诵,反复琢磨做题方式,但是无奈,应试教育就是这样。谁分高就用水, 这些都是闲话了
进入正题
看到 mit的大牛老师在mac的控制台进行gdb 调试,jyy老师用vscode 在调试代码,俗话说:工欲善其事,必先利其器。一个好的工具能大大节省我们的时间。那么如何配置好vscode 的调试工具呢。
我用的是阿里云ecs服务器,首先在vscode 下载相对应的ssh插件。 ...
动手学习深度学习全纪录
记录全过程前言:折腾了一天终于折腾完了。
wsl2 链接到代理为什么要连接? 因为下载anaconda实在是太慢了。。
首先是wsl2 搭载 windows代理,如何让wsl2 能够跟windows一样可以访问google呢?通过资料的收集,查找到以下解决方法。
将下列内容添加到.bashrc文件中
1234host_ip=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')export http_proxy="http://$host_ip:7890"export https_proxy="http://$host_ip:7890"
然后启动生效
1source ~/.bashrc
这样就能链接到网络了,这样下载镜像不至于很慢。另外思考 wsl 跟本机是如何连接的?看了相关资料,发现相当于一个局域网。我们可以打开clxxh的 允许局域网连接就行,,这样同时允许多个接入。
即使你电脑代理关了,但是wsl2还是可以连接到的,所以没事。
...
wsl + docker 配置深度学习环境
配置深度学习环境 wsl + docker之前配置过相关的环境但是现在忘了,所以重新回顾一下。我打算用wsl + docker 来搭配我的深度学习环境。我参考了这个blog 做的 Setup Windows 10/11 machines for Deep Learning with Docker and GPU using WSL
首先是安装wsl2 ,由于 我之前配置过docker 所以安装了wsl2,并不需要重新安装,直接跳到下一步,后面就是需要安装NVIDIA 的驱动,由于之前打游戏,换过驱动,我又不想重装,就用了497.09版本,有点老 ,凑合着用吧。
之后安装 CUDA Tookit
什么是 CUDA Tookit?
下面是gpt给出的回答
12345678910111213CUDA Toolkit 是由 NVIDIA 提供的一套开发工具,用于创建和优化基于 GPU 加速的高性能应用程序。它包含了多个组件,帮助开发者充分利用 GPU 的计算能力。以下是 CUDA Toolkit 的主要组成部分:编译器:NVCC:CUDA 的编译器,用于将 CUDA 代码编译成可以在 G ...
序章-0
前言:如何学习好一门新的学科,我觉得学习好新的知识,静下心来学习会比较好,不要畏难,而不去开始,那么你就会原地踏步。总的来说,不是选择做有意义的事情,而是做了才会有意义,相信自己,给自己正向的心理暗示。不宜妄自菲薄,引喻失义。(此外很久之前就看过了,这次再来做一个记录)。
链接
原书
深度学习需要的能力?
前提假设
真相
大量专业的数学背景
高中知识即可
大量的数据
目前已知,破纪录的数据不超过50项
大量昂贵的电脑
可以通过各种途径去获得
如何学习深度学习书中提到,教学就应该像教学生如何玩游戏一样,不要想多么花哨的技巧,首先你得先让他接触,带他们看打棒球或者让他们联系打棒球。不需要教他们的物理原理。如果死记硬背能够成功的话,那么人工智能早就可以取代我们了(有些是我本人的观点)。通过死记硬背的方式会导致学生早早放弃了学习教学。记住一点,无需仰望他人,你亦是自己的光,即使没有非常专业的学术背景,你也可以学好深度学习。马斯克曾经说过:一个优秀的人才需要深刻理解人工智能,并有实打实的能力来运用人工智能,一个人有实力,不会在乎他的学历背景。
可能用到的库、环境? py ...
wsl配置
wsl相关配置上次配置wsl已经很久了,想着还是记录一下,这次重新又配一次 ,由于遇到了 vscode的问题 ,说之前装的系统,vscode已经不支持了,所以这次打算新装一个系统 ubuntu20.08的,我之前装docker desktop的操作差不多,都是先导出,然后注销,重新安装。
下面具体操作
Ubuntu的下载首先从mircosoftware 下载Ubuntu 系统,结果第一步就卡住了,商店一直刷新不出来,试了一堆办法 ,最后发现把梯子关了,然后登录下微软账号就可以了。
接下来打开ubuntu 设置相关配置
第一次打开有username 和 password的配置
这里忘记截图了 , 很简单,接下来 注销一下之前的centOS
导出ubuntu
1wsl --export Ubuntu-20.04 E:\zaqizaba\tool\Ubuntu-20.04.tar
导出 然后注销
在导入
1wsl --import Ubuntu-20.04 E:\zaqizaba\tool\Ubuntu-20.04 E:\zaqizaba\tool\Ubuntu-20. ...
题解-树网的核
题目原题链接 树网的核
题目大致意思是,找一条路径,在满足小于s的情况下,使得偏心距最小。什么是偏心距呢?偏心距指的是树网中所有点离路径距离最大的距离,我们要使最大值最小化,乍一听有点像二分。题目大致就是这个意思
题解对于树的直径,这是一个板子题,大致思路就是随机找一个点,找到离这个点最大距离的点,然后再在这个点,继续搜索,找到距离这个点最大的点,那么这两点链接的长度即为树的直径,具体证明可以看,树的直径
这里有详细的证明,好了,我们在解决树的直径之后,那么如何求解偏心距呢?是这样的,我们以某条直径来说,通过缩小直径,根据贪心的思想,路径在不超过S的情况下,尽可能越大越好,这样到每个点的距离都会缩小。我们在讨论 如果直径上我们只选取一个点,那么距离这个点最大的一定是,我们选出直径中某一个点距离这个点最大距离的点,如果这个点距离这个点最大且不是直径上的,那么我们可以说之前找的直径有误,因为我们可以把这个点到所找的点的距离给拼接上,舍去之前找到的直径,所以假设不成立。他一定是直径上的点。我们要考虑的答案来源有两个:
我们看橙色路径 ,在满足路径长度不大于s的情况下,这个树网的直径可以 ...
配置域名
讲一下具体过程 可以借助vercel 来部署,但是 vercel需要科学上网,这里就不多说了 ,主要记录一下今天配置个人域名的情况。首先去腾讯云买一个域名。
腾讯云
购买一个自己喜欢的域名,然后前往vercel。
找到自己关联的项目。
点domains 进入编辑
添加你所需要的添加的域名,之后会提示你进行配置
然后你就可以去,你所买的域名进行管理,进行域名解析。
完成之后,等待一阵子,就可以正常访问了。
至此全部结束