Skip to content

Lesords/MIT6.1810

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT6.1810

Dependencies

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

Usage

run qemu

make qemu

exit qemu

Ctrl + a x

Lab Utilities

See: Lab: Xv6 and Unix utilities

run all tests

make grade
# Or
./grade-lab-util

run the grade tests for one assignment

make GRADEFLAGS=<cmd> grade
./grade-lab-util <cmd>

# eg
make GRADEFLAGS=sleep grade
./grade-lab-util sleep

Lab System calls

See: Lab: System calls

run all tests

make grade
# Or
./grade-lab-syscall

run the grade tests for one assignment

make GRADEFLAGS=<syscall> grade
./grade-lab-syscall <syscall>

# eg
make GRADEFLAGS=sysinfotest grade
./grade-lab-syscall sysinfotest

Notes: Lack answers-syscall.txt file, need to use gdb to retrieve the corresponding question results

Lab Page tables

See: Lab: page tables

run all tests

make grade
# Or
./grade-lab-pgtbl

run the grade tests for one assignment

./grade-lab-pgtbl pgtbltest
./grade-lab-pgtbl pte printout

Lab Traps

See: Lab: Traps

run all tests

make grade
# Or
./grade-lab-traps

run the grade tests for one assignment

./grade-lab-traps backtrace
./grade-lab-traps alarm

manual test

backtrace

make qemu
bttest

# Open another terminal(don't enter qemu), then
addr2line -e kernel/kernel
# Inputting the address output by bttest will convert it to the corresponding function name

alarm

make qemu

alarmtest
usertests -q  # It will take some time

Notes: Lack answers-traps.txt file

Lab Copy on-write

See: Lab: Copy-on-Write Fork for xv6

run all tests

make grade
# Or
./grade-lab-cow

manual test

make qemu
cowtest
usertests -q

Notes: usertests failed in manual test

Lab Multithreading

See: Lab: Multithreading

run all tests

make grade
# Or
./grade-lab-thread

run the grade tests for one assignment

./grade-lab-thread uthread

./grade-lab-thread ph
./grade-lab-thread ph_safe
./grade-lab-thread ph_fast

./grade-lab-thread barrier

manual test

switching between threads

make qemu
uthread

Using threads

make ph
./ph 1
./ph 2

Barrier

make barrier
./barrier 2

Lab network driver

See: Lab: networking

run all tests

make grade

manual test

make server

# Open another terminal
./grade-lab-net
## Or
make qemu
nettests

Lab Lock

ToDo

Lab File system

ToDo

Lab mmap

ToDo

About

MIT 6.1810, 2023 Fall, Operating System Engineering solution repository.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors