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 进入编辑
添加你所需要的添加的域名,之后会提示你进行配置
然后你就可以去,你所买的域名进行管理,进行域名解析。
完成之后,等待一阵子,就可以正常访问了。
至此全部结束
日常随笔-12-08
所得所失关于一些,问题,不要太纠结细节。面对失败,我们更多的应该保持乐观积极态度,善于总结,直面困难是最好的。by the way 今天刚买的域名,打算给博客用,不过可能还有一点小问题,就是域名相关的权限好像还未分发,所以明天再看一下,不要太纠结了。为什么想写这一篇随笔,就是陪伴两年的物品,由于个人疏忽,导致损坏,感觉还是有点难过的,个人不应该在路上看手机,导致直接摔坑里了orz。就当算个教训了。人生总是在失败中前进,没有人能够一帆风顺。活在当下,稍作调整,继续前进。东西坏了就是坏了,无法破镜重圆,就像是时间,一去不复返,如若停留在原地,那么便会陷入桎梏,再也无法逃出来,或许人生来就不完美,但是我们可以接受这个不完美,毕竟,真正完美的人,是一个少数,我们只需要做到最好就好了。活在当下,珍惜每一秒的时光,保持热爱,不负青春
博弈论
金币游戏有感没下注之前,我感觉我自己每次都能赢,还在想着,像这个游戏,我怎么可能输呢。可是,当我下注之后,我就输了,输的一塌糊涂。我想,这个游戏,我怎么可能赢呢。陷入了一种悲观,心砰砰的跳,像这种1/2的几率,咋可能每次都输,遇到不会的直接自己写算法随机模拟一个数选就可以了,但是很多人看到前面出了这么多次小,就会觉得,这次一定是大,然后就会输,这就是人性的弱点,如概率论来说,前后产生的结果并没有什么联系,如果这个游戏是公平的话,前面出了6次小,那么这次出现小的概率也是1/2,并不是说这次一定就是大。我感觉如若庄家说的是对的,开奖结果全凭借玩家下单的结果生成的。保持一个平常心,不要被前面的结果所影响,这样不至于输的一塌糊涂,如果猜对的概率是1/2,我昨天试了下,下注十次只猜对一次,发现自己的运气是真的差啊。不要全凭自己观察已出的结果来下注,可能就会输的很惨,保持平常心即可。为此,我还在图书馆看了一下博弈论,发现博弈论是一个很有意思的学科,我也想学习一下,看看能不能用到生活中。比如说万元陷阱,田忌赛马,等,有些人可能是天选之子,运气确实特别好,通过此次游戏,我觉得心态最重要,保持平常心,通 ...