Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OS/161 Overview


Published on

Project 2 in COMP3500 Operating Systems class at Auburn University. The objectives of this project are:
• Use your installed CentOS to build OS/161 and run Sys/161
• Configure and build OS/161 kernels
• Discover important design aspects of OS/161 by examining its source code
• Manage OS/161 using a version control system called cvs; apply cvs to create a repository and tracking your source code changes
• Use GDB to debug OS/161

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

OS/161 Overview

  1. 1. 1 COMP 3500 Introduction to Operating Systems Project 2 – An Introduction to OS/161 Overview Dr. Xiao Qin Auburn University
  2. 2. A Survey Question in Fall’16 Our OS projects should be due on: (A)Friday (my vote) (B)Saturday (C)Sunday (D)Monday (E) Tuesday (F) Wednesday (G)Thursday
  3. 3. Candidate Programing Environments 2. Your Own Linux Machine1. 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? 3
  4. 4. 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!
  5. 5. 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
  6. 6. 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.
  7. 7. Overall Strategy Project 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)
  8. 8. 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 $ ls file1 file2 file3 $ exit exit Script done, file is typescript
  9. 9. Tool 1: the script command $ script sample.script $Script started, file is typescript $ cd $ ls file1 file2 file3 $ exit exit Script done, file is sample.script
  10. 10. Tool 2: CVS (Concurrent Versions System) • Source code version control system • To merge multiple programmers' modifications • To detecting conflicts when merges fail
  11. 11. 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
  12. 12. Tool 2: CVS (Cont.) • Delete your os161 source tree %cd .. %rm -rf os161 • Checkout now % cd ~/cs161 % cvs checkout src