关于一篇知乎答案的重现 〇、前言早上在逛知乎的时候,瞥见了一篇答案:如何通俗解释Docker是什么?感觉很不错,然后就耐着性子看了下,并重现了作者的整个过程。但是并不顺利,记载一下这些坑。嫌麻烦的话可以直接clone 研究,git仓库。 一、构建 ubuntu 文件系统具体可以看这篇文章:**Ubuntu Base构建根文件系统**。 主要步骤就是: 下载镜像 ubuntu-base-20.04.1-base-arm 2024-03-31 OS > 系统编程 > Unix/Linux #docker #系统编程 #tips
2023 个人总结 〇、前言这一年是成长的一年,记录一些感悟。这里没有吃吃喝喝与娱乐休闲,主要是对自己过去的总结、反思以及对未来的展望。 一、学习这一年经过了两个学期,分别是大一下以及大二上。 大一下,认真学习了学校开的《离散数学》、《线性代数》、《高等数学》,并且取得了不错的成绩。也杂七杂八地在课外学了一些其它的知识,比如 python 爬虫、Golang 爬虫、一些 web 基础知识、一点系统编程、多线程、协 2023-12-31 Personal_Summary #个人总结
mit6.s081【目录】 〇、前言现在是 2023 年 12 月 24 日,我终于完成了 mit6.s081课程的学习,期间读完了xv6book、OSTEP、xv6 部分内核源码,也写了 近 20 篇的博客,可以说是学习之旅收获颇丰。本文将会起一个目录,方便查找和阅读。 一、Lab:目录[mit6.s081] 笔记 Lab10: Networking | 网络 [mit6.s081] 笔记 Lab9: Mmap | 文 2023-12-24 OS > 系统编程 > Unix/Linux #学习 #笔记 #操作系统 #MIT 6.S081
MIT 6.S081学习笔记(第十章) 〇、前言本文主要完成 MIT 6.S081 实验 net 。开始之前,切换分支: 123$ git fetch$ git checkout net$ make clean Lab: networking(hard)Question requirements Your job is to complete e1000_transmit() and e1000_recv(), both in k 2023-12-24 OS #学习 #笔记 #操作系统 #MIT 6.S081 #文件系统
MIT 6.S081学习笔记(第九章) 〇、前言本文主要完成 MIT 6.S081 实验 mmap 。开始之前,切换分支: 123$ git fetch$ git checkout mmap$ make clean Lab: mmap (hard)Question requirements The mmap and munmap system calls allow UNIX programs to exert detailed 2023-12-23 OS #学习 #笔记 #操作系统 #MIT 6.S081
Shell Tools of Missing Semester(二) Shell toolsshell 脚本Bash中的字符串通过 ' 和 " 分隔符来定义,但是它们的含义并不相同。以 ' 定义的字符串为原义字符串,其中的变量不会被转义,而 " 定义的字符串会将变量值进行替换。 12345foo=barecho "$foo"# 打印 barecho '$foo'# 打印 $foo ba 2023-12-23 Missing Semester #学习 #笔记 #bash #脚本
Course Shell of Missing Semester(一) 〇、前言本文是 The Missing Semester of Your CS Education 课程的课后题答案,课程网站点击这里,以后系列文章不再描述前言。 本文实验环境:阿里云Ubuntu 22.04 Course shell1、本课程需要使用类Unix shell,例如 Bash 或 ZSH。如果您在 Linux 或者 MacOS 上面完成本课程的练习,则不需要做任何特殊的操作。如果 2023-12-22 Missing Semester #Shell #学习 #笔记
MIT 6.S081学习笔记(第八章) 〇、前言本文主要完成MIT 6.S081 实验八:file system开始之前,切换分支: 123$ git fetch$ git checkout fs$ make clean Large files (moderate) The format of an on-disk inode is defined by struct dinode in fs.h. You’re particul 2023-12-21 OS #学习 #笔记 #操作系统 #MIT 6.S081 #文件系统
xv6 文件系统面临的问题 〇、前言本文将讨论 xv6 文件系统面临的挑战。 一、xv6 文件系统面临的挑战1、cache eviction在这个情景中,假设正在进行的事务(transaction)导致了对第 45 块(block 45)的更新。但在这个过程中,缓冲池已经被填满了,所以需要撤回第 45 块。这个撤回操作意味着将第 45 块写回磁盘。然而,这里存在的问题是:如果写回磁盘后发生了系统崩溃,会破坏被称为”wri 2023-12-20 OS #笔记 #操作系统 #xv6 #OS
实现个人日志命令行工具(C语言) 〇、前言中午上课的时候,打开 github 看了一下个人主页,虽然最近很忙,但是这个活动记录有点过于冷清:于是我就想着写一个日志命令行工具,输入以下命令就能将我的日志立即同步到 github 上: 1mylog today is really a long day! 之后 today is really a long day! 这句话就会被同步到 github 上的今天的文件中了。 一、思路 2023-12-19 系统编程 > C语言 #开发语言 #c语言 #命令行工具 #个人记录