/xv6-riscv-fall19

mit 6.828, an unix v6 like operating system

MIT 6.828-2019

write an unix like operating system

Labs

Lab1: Xv6 and Unix utilities

Familiar with xv6 and its system calls.

Lab2: Simple xv6 shell

Implement a shell

Lab3: Memory allocator

Allocator for xv6

Lab4: xv6 lazy page allocation

Lazy page allocation

Lab5: Copy-on-Write Fork for xv6

Copy-on-Write Fork

Lab6: User-level threads and alarm

User-level threads and alarm

Lab7: Locks

Improving parallelism

Lab8: File system

Support large files and symbolic links

Lab9: mmap

Implement mmap

Lab10: Networking

Support NIC device diver and UDP network sockets

Reference

https://pdos.csail.mit.edu/6.828/2019/schedule.html

https://pdos.csail.mit.edu/6.828/2019/xv6/book-riscv-rev0.pdf

https://my.oschina.net/u/1378920/blog/1546760

https://blog.mky.moe/tags/#tag-MIT%206.828

https://cppisgood.github.io/2020/02/27/MIT-6.S081

https://www.cs.dartmouth.edu/~doug/sieve/sieve.pdf

https://swtch.com/~rsc/thread/

http://bitsquid.blogspot.com/2015/08/allocation-adventures-3-buddy-allocator.html

https://en.wikipedia.org/wiki/Buddy_memory_allocation

https://pdos.csail.mit.edu/6.828/2019/lec/l-usingvm.pdf

https://github.com/skyzh/6.S081-xv6-riscv-fall19

https://book.douban.com/subject/4843567

https://pdos.csail.mit.edu/6.828/2019/lec/l-networking.pdf

https://pdos.csail.mit.edu/6.828/2019/readings/hardware/8254x_GBe_SDM.pdf