본문 바로가기

Operating System

[xv6]Homework 1: boot xv6 Boot xv6 xv6 환경 세팅 호스트 OS Window 10 (64bit) 가상 머신 VMware Workstation 14 게스트 OS Ubuntu 14.04 컴파일러 Gcc version 4.4.7 게스트 OS의 가상머신 qemu version 2.1.2 xv6 프로젝트는 "make" 커맨드를 이용해서 빌드하고, "make qemu" 커맨드를 이용하여 부팅한다. Exercise : What is on the stack? (스택에 어떤 것이 있는가?) 스택 포인터는 bootasm.S에서 부트 로더의 시작 주소로 초기화된다.(그림 2) call bootmain 인스트럭션이 실행 되면 eip에 저장되어있는 다음 인스트럭션 주소가 스택에 저장되고 eip에는 bootmain 함수의 주소가 들어가면서 프로그.. 더보기
[xv6] introduce xv6 xv6는 MIT PDOS lab에서 2006년에 자체 개발한 연습용 운영체제이다. 이전에는 v6 (Unix Version 6)를 이용해서 실습을 했다고 하는데, 운영체제에 대한 집중적인 학습이 부족하여서 새로 만들었다고 한다. 그래서 v6, Intel x86 멀티 프로세서, ANSI C를 기반으로 xv6가 만들어지게 되었다. 스탠포드에서 만들어진 핀토스 (PintOs)도 굉장히 유명한 프로젝트이다. 핀토스도 물론 매우 공부가 많이 되는 프로젝트이긴 하지만 이론과 설명서 과제등의 구성을 봤을 때, xv6가 훨씬 더 완성도가 높다. 그래서 처음 운영체제를 공부하려고 하거나, 운영체제를 배웠지만 프로젝트를 빠르게 몇 개 해보고 싶을 때 xv6를 강력히 추천한다. 아래의 Course URL로 들어가면 ‘.. 더보기