xv6
xv6는 MIT PDOS lab에서 2006년에 자체 개발한 연습용 운영체제이다. 이전에는 v6 (Unix Version 6)를 이용해서 실습을 했다고 하는데, 운영체제에 대한 집중적인 학습이 부족하여서 새로 만들었다고 한다. 그래서 v6, Intel x86 멀티 프로세서, ANSI C를 기반으로 xv6가 만들어지게 되었다.
스탠포드에서 만들어진 핀토스 (PintOs)도 굉장히 유명한 프로젝트이다. 핀토스도 물론 매우 공부가 많이 되는 프로젝트이긴 하지만 이론과 설명서 과제등의 구성을 봤을 때, xv6가 훨씬 더 완성도가 높다. 그래서 처음 운영체제를 공부하려고 하거나, 운영체제를 배웠지만 프로젝트를 빠르게 몇 개 해보고 싶을 때 xv6를 강력히 추천한다.
아래의 Course URL로 들어가면 ‘6.828: Operating System Engineering’ 들어갈 수 있다. 딱히 링크로 들어가지 않더라도 ‘MIT Open Course Ware’에 들어가서 찾아봐도 된다. 여기서 xv6프로젝트 수업자료 뿐만 아니라 Operating System 이론 수업 내용도 다 찾아 볼 수 있으니 공부를 많이 하고 싶은 사람들은 이용하면 될 거 같다.
Course URL : https://pdos.csail.mit.edu/6.828/2018/index.html
Xv6 material
Xv6 source code
Github에 들어가면 xv6 소스코드를 받을 수 있다.
git clone git://github.com/mit-pdos/xv6-public.git
text
Text book은 printout( 소스코드 복붙한거) 와 book (개발 설명서 같은 책)이 있다. Printout은 cscope나 ctags를 이용해서 소스코드를 분석하면 되니 그리 필요하지 않지만 book은 xv6 프로젝트를 하기에 매우 도움된다. 그러므로 book은 꼭 받아서 보면 좋다.
git clone git://github.com/mit-pdos/xv6-book.git
또는 아래 링크로 받으면 된다.
xv6 printout : https://pdos.csail.mit.edu/6.828/2018/xv6/xv6-rev10.pdf
xv6 book : https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev10.pdf
homework
schedule에서 들어가면 일정표가 나와있고, 거기에 맞춰서 하나하나 다운받으면 되는데, hw 1에서 12까지 링크를 모아 놓았으니 아래 링크를 통해 받아도 된다.
Homework 1: Boot xv6
Homework 2: shell
Homework 3: system calls
Homework 4: lazy page allocation
Homework 5: xv6 CPU alarm
Homework 6: multithreaded programming
Homework 7: xv6 locks
Homework 8: uthreads
Homework 9: barrier
Homework 10: big files
Homework 11: crash
Homework 12: mmap
Revision History
2018.12.23 |
최초 업로드 |
'Operating System > xv6' 카테고리의 다른 글
[xv6]Homework 1: boot xv6 (1) | 2019.08.09 |
---|