6.s081通关小结

news2026/4/2 2:50:49

6.s081通关小结

终于是完成6.s081的所有lab了,感慨万千。已经忘了第一次听说这个lab是在什么时候了,只是模模糊糊地感觉是大三。那时的我第一次找到了刷题之外的新方向。但囿于小镇做题家对计算机认识的滞后性,什么Linux、Ubuntu之类的新系统如同一座大山横亘在我于s081之间。又或是在刷题这种片段性的学习中沉浸了太久,偏工程型的lab也令我望而却步。正巧彼时我又发现了一本名为《30天自制操作系统》的书籍,这仿佛成了另一缕穿透迷雾的光。对于任何一个在黑暗中独自摸索前行的来旅人来说,即便是一丝几乎微不可见的光线,也应当被牢牢抓住。就这样,我跟随着这一缕曙光开启了操作系统的学习之路。

大四那一整个暑假我都在折腾这本书,顺便学习Linux。书上所有的代码我都会自己手敲一遍,即便是当时在我看来晦涩难懂的汇编也不例外。但是《30天》这本书本身就有个致命的缺点——难以debug,并且难以兼容现在的键盘。导致调试的时候只能肉眼来核对与书上思路不一致的地方,堪称折磨。最终在day23我倒在了bug上,并且核对了几遍也没发现出错的地方。由于前面进行了太多自己的修改,bug可能出在之前看似正确的代码中。终于,这个bug成为了压死骆驼的最后一根稻草。

我放弃了。

仔细想来我从这本书上学到的真正知识就是把整个大文件拆分成小文件的必要性,以及学会坚持。有了这次的经历,我眼中的s081慢慢褪去了神秘的面纱。

“是时候攀登上这座高峰了”,我对自己如是说。

还记得在完成lab1的时候,什么文件描述符、管道等概念总是让我百思不得其解。那个时候感觉每一步前进都是沉重的——困难的不是解决问题的过程,而是寻找着手点。就像在捋顺一团混乱的丝线,准确拆开每个绳结固然困难重重,但准确找到线头才是一切的根本。彼时的我就处于找线头的阶段,不得不说四处碰壁真的很打击自信心,没有同路者则让这个阶段更加难熬。

所幸这次我坚持了下去,跌跌撞撞地叩开了lab2的大门。其实这次的内容也相当于找线头的过程。但有了lab1的拷打,我慢慢找到了那种可意会不可言传的解题感觉,理清思路然后完成lab变成了一个自然而然的过程。虽然可能进度缓慢,但至少有了着手之处。

再然后就到了pgtbl。说实话这个lab给我带来的感觉是全系列最难,要考虑的点实在太多了,重重陷阱让我一次又一次地跌倒。在网上借鉴其他博客成了唯一的解决之道,然而纵使如此还是没能改变不断 “踩坑—掉坑”的主旋律。东拼西凑搞了好几天之后终于思路变得明了起来,pagetable的概念不说了如指掌至少也是烂熟于心。终于,踩完了无数坑之后我和“All tests passed”相遇了。过程虽然充满坎坷,结局还算是可以接受。

再后来啊,路依旧难走,但有了“坚持”与“信心”加持下的我还是一步一个脚印走踏过来。从挑战cow,到尝试locks,再到攻克fs,直至完成mmap。每个lab都带走了我数不清的脑细胞,又不断巩固着我的道心。当networking最后出现“Score 100/100”的时候,这两个多月的历程终于圆满画上了一个句号。也算是给大三的自己递过去一个差强人意的答复。

为了在周三这天晚上写一篇总结我可是等了五天哈哈哈,终于总结也到了尾声。如今,是时候给这阶段s081的学习历程画上具号了。

不过属于s081的故事还没结束,还有少数遗留的challenge等着我去完成。属于操作系统的学习诗篇也还未完结,6.845将是我下一段征途,虽难必克。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1721336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CrossOver支持M4新品吗?苹果M4芯片对游戏支持的怎么样?

CrossOver是一款可以在不同平台之间无缝切换的软件,它可以让你在MacOS或者Linux操作系统上运行Windows应用程序,无需安装双系统或虚拟机。CrossOver是基于Wine项目开发的,Wine是一个可以在非Windows平台上运行Windows应用程序的兼容层。 那么…

十四天学会Vue——Vue核心下篇(理论+实战)(第三天)

一、Vue核心下篇 1.15 常用的内置指令 1. v-text <!--准备好一个容器 --><div id"root"><!-- 1.v-text中的字符替换掉div整个字符 --><div v-text"name">你好,{{name}}</div><!-- 2.将标签当做字符串解析 --><di…

前端3剑客(第1篇)-初识HTML

100编程书屋_孔夫子旧书网 当今主流的技术中&#xff0c;可以分为前端和后端两个门类。 前端&#xff1a;简单的理解就是和用户打交道 后端&#xff1a;主要用于组织数据 而前端就Web开发方向来说&#xff0c; 分为三门语言&#xff0c; HTML、CSS、JavaScript 语言作用HT…

文件夹损坏0字节:原因、恢复方案与预防措施

在使用电脑或移动设备时&#xff0c;我们有时会遇到文件夹突然损坏并显示为0字节的情况。这种故障不仅令人困惑&#xff0c;更可能导致重要数据的丢失。本文将深入探讨文件夹损坏0字节的现象&#xff0c;分析其产生的原因&#xff0c;并给出两种有效的数据恢复方案&#xff0c;…

特别实用的8个机器学习算法总结!建议收藏,反复观看!

个人主页&#xff1a;.Boss.-CSDN博客 目录 1.线性回归&#xff08;Linear Regression&#xff09; 2.多项式回归&#xff08;Polynomial Regression&#xff09; 3.岭回归&#xff08;Ridge Regression&#xff09; 4.Lasso回归&#xff08;Lasso Regression&#xff09; …

Linux sudo用户权限管理小实验001

Linux sudo用户权限管理和审计-初步 1、设置历史指令的保存数量 默认history指令可以查看当前用户执行的1000条历史命令的条目 2、使用export指令设置HISTSIZE环境变量的数量为999999条。 3、基于date指令&#xff0c;输出日期和时间 4、设置linux系统history相关变量&…

【Springboot】——项目的创建与请求参数应用

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

【Qt秘籍】[001]-从入门到成神-前言

一、Qt是什么&#xff1f;[概念] Qt是一个跨平台的应用程序开发框架&#xff0c;简单来说&#xff0c;它是一套工具和库&#xff0c;帮助软件开发者编写可以在多种操作系统上运行的图形用户界面&#xff08;GUI&#xff09;应用程序。比如&#xff0c;你用Qt写了一个软件&#…

Spring-Cloud-CircuitBreaker-Resilience4j (3.1.1)

介绍 Resilience4j 是一个专为函数式编程而设计的轻量级容错库。Resilience4j 提供高阶函数&#xff08;装饰器&#xff09;&#xff0c;以增强任何功能接口、lambda 表达式或方法引用&#xff0c;包括断路器、速率限制器、重试或隔板。您可以在任何函数接口、lambda 表达式或…

LeeCode热题100(两数之和)

本文纯干货&#xff0c;看不懂来打我&#xff01; 自己先去看一下第一题的题目两数之和&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 简单来说就是让你在一个数组里面找两个数&#xff0c;这两个数的和必须满足等于目标值target才行。 我认为你要是没有思路的话&a…

CANDela studio基础使用

ECU Information 可以修改ECU的名称 里面有个Supported Interfaces&#xff0c;可以在CDDT里面选择支持的通讯接口 可以在tools下面新建internface&#xff0c;也可以从其他CDDT文件里面复制过来&#xff0c;复制的时候注意要另外将里面的参数再复制一次。 也可以在这里点击新…

Spring Boot 官方不再支持 Spring Boot 的 2.x 版本!新idea如何创建java8项目

idea现在只能创建最少jdk17 使用 IDEA 内置的 Spring Initializr 创建 Spring Boot 新项目时&#xff0c;没有 Java 8 的选项了&#xff0c;只剩下了 > 17 的版本 是因为 Spring Boot 官方不再支持 Spring Boot 的 2.x 版本了&#xff0c;之后全力维护 3.x&#xff1b;而 …

SpringBoot 七牛云 OSS 私有模式 获取访问链接

目录 一、问题引出 二、在SpringBoot中获取私有访问路径的操作 一、问题引出 由于七牛云OSS的公有模式存在被盗刷的风险&#xff0c;可能导致服务器额外的费用&#xff0c;于是我选择私有模式进行操作。私有模式的访问路径是一个问题&#xff0c;因为需要对应着token和e这两…

Gradio 案例——将文本文件转为词云图

文章目录 Gradio 案例——将文本文件转为词云图界面截图依赖安装项目目录结构代码 Gradio 案例——将文本文件转为词云图 利用 word_cloud 库&#xff0c;将文本文件转为词云图更完整、丰富的示例项目见 GitHub - AlionSSS/wordcloud-webui: The web UI for word_cloud(text t…

一个浏览器插件,绕过限制,登录微信网页版!

摘要 早在2017年开始&#xff0c;微信网页版就已经住逐渐开始停止登录&#xff0c;以为了保障你的账号安全为由引导你使用电脑版微信。具体如下&#xff1a; 当然这个影响并不是所有账号&#xff0c;还是有一些账号不明觉厉地没有被影响到&#xff0c;我自己有2个号都还是可以…

MinIO 使用

MinIO自建对象存储 1、dock-compose 使用dock-compose拉取 minio:image: "minio/minio"container_name: minioports:- "9000:9000"- "9001:9001"volumes:- "./minio/data1:/data1"- "./minio/data2:/data2"restart: on-fai…

32. 【Java教程】集合

在前面的小节中&#xff0c;我们学习了数组&#xff0c;本小节学习的集合同样用于存放一组数据&#xff0c;我们将学习什么是集合、集合的应用场景 &#xff0c;在应用场景部分我们将对比 Java 数组与集合的区别&#xff0c;还将系统介绍 Java 集合的架构&#xff0c;也将结合实…

调查问卷和考试系统SurveyKing

什么是 SurveyKing &#xff1f; SurveyKing 是功能更强大的调查问卷、考试系统&#xff0c;很多功能体验超过问卷网、问卷星。支持在线考试/调查问卷/公开查询/题库刷题/投票。 软件特性 &#x1f947; 支持 20 多种题型&#xff0c;如填空、选择、下拉、级联、矩阵、分页、签…

TCP的重传机制

TCP 是一个可靠的传输协议&#xff0c;解决了IP层的丢包、乱序、重复等问题。这其中&#xff0c;TCP的重传机制起到重要的作用。 序列号和确认号 之前我们在讲解TCP三次握手时&#xff0c;提到过TCP包头结构&#xff0c;其中有序列号和确认号&#xff0c; 而TCP 实现可靠传输…

FPGA高端项目:FPGA解码MIPI视频+图像缩放+视频拼接,基于MIPI CSI-2 RX Subsystem架构实现,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案本方案在Xilinx Artix7-35T上解码MIPI视频的应用本方案在Xilinx Artix7-100T上解码MIPI视频的应用本方案在Xilinx Kintex7上解码MIPI视频的应用本方案在Xilinx Zynq7000上解码MIPI视频的应用本方案在…