OS/161 Overview

12
1 COMP 3500 Introduction to Operating Systems Project 2 – An Introduction to OS/161 Overview Dr. Xiao Qin Auburn University http://www.eng.auburn.edu/~xqin [email protected]

Transcript of OS/161 Overview

Page 1: OS/161 Overview

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]

Page 2: OS/161 Overview

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

Page 3: OS/161 Overview

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

Page 4: OS/161 Overview

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!

Page 5: OS/161 Overview

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

Page 6: OS/161 Overview

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.

Page 7: OS/161 Overview

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)

Page 8: OS/161 Overview

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

Page 9: OS/161 Overview

Tool 1: the script command

$ script sample.script$Script started, file is typescript$ cd$ lsfile1 file2 file3$ exitexitScript done, file is sample.script

Page 10: OS/161 Overview

Tool 2: CVS (Concurrent Versions System)

• Source code version control system

• To merge multiple programmers' modifications

• To detecting conflicts when merges fail

Page 11: OS/161 Overview

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

Page 12: OS/161 Overview

Tool 2: CVS (Cont.)• Delete your os161 source tree %cd .. %rm -rf os161

• Checkout now % cd ~/cs161 % cvs checkout src