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 Unix-like teaching operating system developed by MIT – Port of the sixth edition Unix (v6) in ANSI C – Runs on multi-core x86 systems
Install Xv6
• Prepare Linux 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 설정할 폴더 내에서 “ctags –R” – “vi ~/.vimrc (root 권한에서의 vimrc는 별개) – 입력
– “vi”(or English)
– “:cs find 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) 권한 획득 가능