MIT6

MIT6.828 Lab1-1(分析boot.S文件)

layout: ../../layouts/MarkdownPostLayout.astro title: 'MIT6.828 Lab1-1(分析boot.S文件)' pubDate: 2024-01-10 description: 'something about 6.828' author: ' ......
文件 MIT6 Lab1 boot MIT

mit6.828 - lab5笔记(上)

文件系统结构 unix的文件系统相关知识 unix将可用的磁盘空间划分为两种主要类型的区域:inode区域和数据区域。 unix为每个文件分配一个inode,其中保存文件的关键元数据,如文件的stat属性和指向文件数据块的指针。 数据区域中的空间会被分成大小相同的数据块(就像内存管理中的分页)。数据 ......
笔记 mit6 lab5 mit 828

MIT6.828官方配置单

/*在网络安全技术领域中各种加密算法的软件实现始终有一个共同话题是如何在普通的PC机上实现大数运算。普通的PC机内部字长最多时32位或64位,但各种加密算法中为了达到一定安全强度,都要求在128位、512位或1024位字长下进行加减乘除等数学运算,这叫做“大数运算”。在此前提下,如何在普通的PC机上 ......
配置单 官方 MIT6 MIT 828

MIT6.828 Lab1环境搭建

layout: ../../layouts/MarkdownPostLayout.astro title: 'MIT6.828 Lab1环境搭建' pubDate: 2024-01-01 description: 'something about 6.828' author: 'liyishui' ......
环境 MIT6 Lab1 MIT 828

MIT6.824 笔记:Lab2 Raft

MIT6.824 笔记:Lab2 Raft 环境配置 goland 环境配置 同级目录下其他包无法引用,需要修改相关参数 ......
笔记 MIT6 Lab2 Raft MIT

Mit6.828 Lab2

lab2 ​ 提交lab1代码的时候,出现了合并冲突的问题,使用git status,发现问题出现在init.c文件与lab分支的文件产生冲突,修改后成功提交。 ​ lab2中多出来了以下几个文件 inc/memlayout.h kern/pmap.c kern/pmap.h kern/kclock ......
Mit6 Lab2 Mit 828 Lab

mit6.828 - lab3笔记

lab3主要内容是 完成进程管理的初始化 完成中断管理的初始化 完成pagefault的中断处理 PartA 初始化envs,内存映射数组,类似内存管理的pages 在 mem_init中预留 envs 的位置,并映射 初始化 envs 数组的内容 完成 env创建功能,涉及 加载用户代码 load ......
笔记 mit6 lab3 mit 828

mit6.828 - lab3练习笔记

Part A Exercise 1 练习 1. 修改 `kern/pmap.c` 中的 `mem_init()` ,分配并映射 `envs` 数组。该数组由 `Env` 结构的 `NENV` 实例组成,分配方式与分配页面数组类似。与页面数组一样,支持 `envs` 的内存也应在 `UENVS`(定义 ......
笔记 mit6 lab3 mit 828

mit6.824lab2B raft

lab2b的内容主要是关于raft之中日志存储,相较于上一个2a的话,这一个部分主要实现的是日志的同步性以及当集群中存在较大规模断连之后的重新选举Leader。 2023/10/8 22:10 目前实现的结果是通过了一部分测试,但是对于TestFailNoAgree2B这个测试有通过的问题。 在最后 ......
lab2B mit6 lab2 raft mit

mit6.824lab2A-Raft

写在前面 最近更新的可能会比较慢,因为分布式系统这个部分到目前还是为爱发电。上个月是在开学考试的阶段,接下来可能会受一些项目或者学习课程安排上的影响,不过这个内容会坚持下去的。 lab2A的内容主要是关于Raft中server选举的实现,论文中的Figure2以伪代码的格式给出了很多较为详尽的解释, ......
lab2A-Raft mit6 Raft lab2 mit

xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得

引言 这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和 "lost wakeup" Coordination 就是有关出让CPU,直到等待的事件发生再恢复 ......
Coordination 进程 心得 lectrue Thread

xv6 中的进程切换:MIT6.s081/6.828 lectrue11:Scheduling 以及 Lab6 Thread 心得

# 絮絮叨 这两节主要介绍 xv6 中的**线程切换**,首先预警说明,这节课程的容量和第 5/6 节:[进程的用户态到内核态的切换](https://www.cnblogs.com/looking-for-zihuatanejo/p/17644000.html)一样,**细节多到爆炸**,连我自己 ......
Scheduling 进程 心得 lectrue Thread

XV6中的锁:MIT6.s081/6.828 lectrue10:Locking 以及 Lab8 locks Part1 心得

这节课程的内容是锁(本节只讨论最基础的锁)。其实**锁本身就是一个很简单的概念**,这里的简单包括 3 点: 1. **概念简单**,和实际生活中的锁可以类比,不像学习虚拟内存时,现实世界中几乎没有可以类比的对象,所以即使这节课偏向于理论介绍,也一点不会感觉晦涩。 2. **使用简单**,几乎所有的 ......
心得 Locking lectrue 6.828 Part1

mit6.824-lab1 MapReduce

#### 杂谈 > - 传统的并行计算要的是:投入更多机器,数据大小不变,计算速度更快。 > - 分布式计算要求:投入更多的机器,能处理更大的数据。 > - 换句话说二者的出发点从一开始就不同,一个强调 **high performance**, 一个强调 **scalability**. 本过程实 ......
MapReduce mit6 lab1 mit 824

MIT6.s081/6.828 lectrue07:Page faults 以及 Lab5 心得

本篇博客主要是复习 MIT6.s081/6.828 lectrue07:Page faults 以及记录 Lab5 :COW fork 的心得 值得一提的是,2020 年之前的版本第 5 个 lab 是 lazy alloction,但是到了 2020 年之后就换成了难度稍高一点的 COW fork ......
心得 lectrue faults 6.828 MIT6

MIT6.s081/6.828 lectrue5/6:System call entry/exit 以及 Lab4 心得

这篇博客主要复习 lecture05:GDB calling conentions 和 lecture06:System call entry/exit 的内容,外加 Lab4:traps 的心得 # 前置知识 这里的前置知识是指 lecture05:GDB calling conentions 的 ......
lectrue5 心得 lectrue System 6.828

MIT6.s081/6.828 lectrue4:page tables 以及 Lab3 心得

不管是计算机组成还是操作系统,**虚拟内存**都是其中的重要内容,所以这一节我会结合 **CSAPP 第九章:虚拟内存** 来一起复习(顺便一说,CSAPP 这一节的 lab 是要求设计一个**内存分配器**,也是很有意思的,有时间一定要把 CSAPP 的 lab 博客也补上!) 这一节主要讨论** ......
lectrue4 心得 lectrue tables 6.828

MIT6.s081/6.828 lectrue2:OS design 以及 Lab2 心得

这节课主要介绍 OS 的顶层设计以及 OS 启动流程和系统调用流程 前置知识:要求阅读 xv6 book chapter2 和 xv6 源码: [kernel/proc.h](https://github.com/mit-pdos/xv6-riscv/blob/riscv/kernel/proc.h ......
lectrue2 心得 lectrue design 6.828

Mit6.s081 Lec15: xv6 的 logging system

Logging layer file system 设计的一大重要问题就是 crash recovery。这是因为文件系统操作往往涉及向磁盘多次写入,而几次写入之后的 crash 可能导致磁盘上的文件系统处于一个不一致的状态。 For example, suppose a crash occurs ......
logging system Mit6 Mit 081

Mit6.s081 Lec14

Logging layer file system 设计的一大重要问题就是 crash recovery。这是因为文件系统操作往往涉及向磁盘多次写入,而几次写入之后的 crash 可能导致磁盘上的文件系统处于一个不一致的状态。 For example, suppose a crash occurs ......
Mit6 Mit 081 Lec 14

MIT6.s081/6.828 lectrue1:Introduction and examples

目前课程官网能够查到 2020,2021.2022 秋季的课程表,但是视频都是 2020 年录制的那一版 简单复习+回顾下自己的 OS 学习之旅 ## 参考资料: 官网:https://pdos.csail.mit.edu/6.828/2022/schedule.html 视频翻译:https:// ......
Introduction lectrue1 examples lectrue 6.828

MIT6.S081学习笔记--lec 1

# 引言 ## 操作系统的目标 + abstract H/W `抽象化硬件` + multiplex `多路复用` + isolation `隔离性` + sharing `共享(进程通信,数据共享)` + security / access control `安全性/权限控制` + perform ......
笔记 MIT6 MIT 081 lec

MIT6.5840 lab2,3 记录

# 参考链接 [课程地址](https://pdos.csail.mit.edu/6.824/index.html) [如何Debug](https://blog.josejg.com/debugging-pretty/):没有它可怎么活,几万行的日志怎么看 [Students' Guide to ......
MIT6 5840 lab2 MIT lab

MIT6.S081 DAY 1 2023.6.10

# MIT6.S081 DAY 1 2023.6.10 希望自己能在这个暑假把整个OS课程跟下来吧,xv6什么的实验和课设都能完成就更好了,希望自己的实力在暑假能得到提升! 加油加油加油! ## 1 - Introduction and Examples ![img](https://img2023 ......
MIT6 2023 MIT 081 DAY

mit6.s081 lab2: system calls

1.system call tracing(moderate) 要求:创建一个系统调用来实现跟踪特性,它采用一个参数来指定跟踪哪一个系统调用,例如:跟踪fork系统调用,程序调用trace(1<<SYS_fork),其中SYS_fork是kernel/syscall.h中的系统调用号。如果在掩码中设 ......
system calls mit6 lab2 mit

MIT6.5830-2022 Lab 1: SimpleDB

SimpleDB 组成: classes: 表示 fields, tuples, tuple schemas。 classes: 作用于 tuples 的谓词和条件类。 methods: 在硬盘上存储关系(如heap files),处理并发控制和事务。 classes: 处理 tuples 的操作类 ......
SimpleDB MIT6 5830 2022 MIT

mit6.s081 lab1:Unix Utilities

1 sleep(easy) 要求:为 xv6实现 UNIX 程序睡眠; 睡眠需要暂停一段用户指定的时间。刻度是由 xv6内核定义的时间概念,即定时器芯片两次中断之间的时间。解决的程序应该在 user/sleep. c 文件中。 一些小提示: 查看user/中的其它程序,如echo.c,grep.c或 ......
Utilities mit6 lab1 Unix mit

MIT6.1810的学习笔记

Chapter 0 Operating system interfaces Processes and memory 这一节主要了解一下基础的xv6中的system call 其中fork是对进程本身进行操作的 它复制当前进程的全部内容以及当前进程的fd表 也就是说子进程会做和原进程相同的事且对相同 ......
笔记 MIT6 1810 MIT

MIT6.828学习笔记3(Lab3)

在这个lab中我们需要创建一个用户环境(UNIX中的进程,它们的接口和实现不同),加载一个程序并运行,并使内核能够处理一些常用的中断请求。 ......
笔记 MIT6 Lab3 MIT 828

MIT6.828 Lab 1: C, Assembly, Tools, and Bootstrapping

环境 实现机器为VMWare的虚拟机,操作系统为 Debian-11(无桌面版本),内核版本为 5.10.0,指令集为 AMD64(i7 9700K),编译器为 GCC-10. 代码 Lab 的代码克隆自 https://pdos.csail.mit.edu/6.828/2018/jos.git Q ......
Bootstrapping Assembly Tools MIT6 MIT
共30篇  :1/1页 首页上一页1下一页尾页