os/161 overview
TRANSCRIPT
1
COMP 3500 Introduction to Operating Systems
Project 2 – An Introduction to OS/161Overview
Dr. Xiao QinAuburn University
http://www.eng.auburn.edu/[email protected]
A Survey Question in Fall’16Our OS projects should be due on:
(A)Friday (my vote)(B) Saturday(C) Sunday(D)Monday(E) Tuesday(F) Wednesday (G)Thursday
Candidate Programing Environments
2. Your Own Linux Machine 1. OS Lab
3. Gate/Tux Machine 4. Virtue Machine on your PC
Same as the OS Lab case except that its your PC
Remote access: using ssh. Local access: Davis Hall room 123
(Aerospace)
You have installed CentOS. You may use IDE or Vim/gcc/gdb
Install VirtualBox, then CentOS, then its your virtual
OS Lab
Options 2-3: How to use CVS to maintain the source code developed by multiple group members? GitHub.com?
3
Project Objectives
• To use your installed CentOS for project 2• To configure and build OS/161 kernels• Discover design aspects of OS/161• To learn CVS - a version control system• To learn GDB to debug OS/161
Two weeks to achieve the above objectives!
Eight Tasks• Task 1-Environment (toolchains): 10%, 30 min - 4 hours • Task 2-Setup CVS: 10%, 10 min• Task 3-Reading Code: 30%, 4 hours (Wait for me)• Task 4-Build OS161: 10%, 10-30 min• Task 5-Run OS161: 10%, 10-30 min• Task 6-Rebuild os161: 10%, 10-30 min• Task 7-Use GDB: 10%: 10-30 min• Task 8-Use CVS: 10%, 10 min
Collaboration Strategies• A Bad (really bad) Plan: One member works on
COMP4300; one member works on COMP3500
• Two members A and B (who are not familiar with Linux): work on projects 0/1 in Week 1
• One member C (who are a Linux expert): immediately work on project 2 in Week 1
• Members A and B start working project 2 in week 2.• Member C is the mentor for A and B.
Overall StrategyProject 2 – An Introduction to OS/161
Build OS/161: Section 6
Setup CVS reposition: read Section 3.1 Walkthrough Sections 4.1 and 4.4
Run OS/161: Section 7
Modify OS/161: Section 8
Setup the toolchain including cs161-gcc, cs161-gdb, and sys161: Sections 4.2 and 4.3
Run OS/161: Section 7
Code Reading: Section 5(wait for me)
Tool 1: the script command
• Save a session of your Linux terminal.• A typescript of everything that happens.
$ script$Script started, file is typescript$ cd$ lsfile1 file2 file3$ exitexitScript done, file is typescript
Tool 1: the script command
$ script sample.script$Script started, file is typescript$ cd$ lsfile1 file2 file3$ exitexitScript done, file is sample.script
Tool 2: CVS (Concurrent Versions System)
• Source code version control system
• To merge multiple programmers' modifications
• To detecting conflicts when merges fail
Tool 2: CVS (Cont.)
• Create CVS repository directory %cvs –d ~/cs161/cvsroot • Set your CVSROOT environment variable %export CVSROOT=~/cs161/cvsroot• Start CVS %cvs init• Import your source tree %cd ~/cs161/os161%cvs import -m "Import of os161" src os161 os161-1_10
Tool 2: CVS (Cont.)• Delete your os161 source tree %cd .. %rm -rf os161
• Checkout now % cd ~/cs161 % cvs checkout src