Operating System

Project #0 16.09.12 Project Plan

• 5 projects – Install Xv6 – System call + scheduling – Thread-support – Virtual memory – Concurrency

• Single-handed project

What is Xv6?

• A simple -like teaching developed by MIT – Port of the sixth edition Unix (v6) in ANSI – Runs on multi-core x86 systems

Install Xv6

• Prepare environment – Install Ubuntu • Virtual machine (last of slide) • Booting disk – “sudo apt-get upgrade” – “sudo apt-get install build-essential” – “sudo apt-get install gcc-multilib” – “sudo apt-get install git”

• Install Xv6 – “git clone git://github.com/mit-pdos/xv6-public.git” – “cd xv6-public” – “make” Install Xv6 (cont.)

• Install qemu – “sudo apt-get install qemu”

• Run Xv6 – “cd xv6-public” (설치한 경로로 접근) – “make qemu” Project #0 – Install Xv6

• Result Project #0 – Install Xv6 (cont.)

• Submit a screenshot of qemu emulator

• Send email to T.A – [SSE3044]Project#0-YOURID-YOURNAME • ex) [SSE3044]Project#0-2016710580-이규선 – Email address : [email protected] – Wrong title is not allowed

• Due date – 2016-09-21(Wed) PM 23:59 – Get no point for late submission Install Ubuntu (vmware)

• Prepare VMware Workstation – www.vmware.com → 다운로드 → Workstation Player – Windows 64비트용 VMware Workstation 12 Player → next... -> install • Prepare Ubuntu – www.ubuntu.com → 상단의 Download → Desktop → Ubuntu 16.04.1 Download – 각 항목을 왼쪽으로 이동 (3$ → 0$) – Pay with PayPal에서 Download로 변경 → 저장 • Install Ubuntu – VMware Workstation 12 Player 실행 → Create a New Virtual Machine – Install disc image file (iso)에 위에서 받은 ubuntu file 입력 – 이름 설정 후 next... → Finish Tools

• cscope – “sudo apt-get install cscope” – cscope 설정할 폴더 내에서 “ –R” – “ ~/.vimrc (root 권한에서의 vimrc는 별개) – 입력

– “vi”(or English)

– “:cs t pinit” (example)

– 탈출할 때 : “:q”command 입력

Tools

• ctags – sudo apt-get install ctags – ctags 설정할 폴더 내에서 “ctags –R” – vi ~/.vimrc (root 권한에서의 vimrc는 별개) – 입력

– xv6-public 폴더 내에서 “vi main.c” – main 함수 내의 pinit() 위에 커서를 두고 ctrl+] – 나올 때는 ctrl+t

• Tips – Terminal에서 sudo su 입력시 관리자(root) 권한 획득 가능