CSCE 351 OS Assignment 2: Macros vs. Function Calls & Kernel Boot Option, Assignments of Operating Systems

Team programming assignment 2 for csce 351 operating system course in fall 2001. Students are required to modify macros in mpx386.s, measure the change in code size and performance, and explain the better choice between macros and functions. Additionally, students must modify the minix bootstrap/loader code to provide the option of loading the original or evaluation kernels. Proper documentation and testing are essential for grading.

Typology: Assignments

Pre 2010

Uploaded on 08/30/2009

koofers-user-p4t
koofers-user-p4t 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSCE 351 Operating System Kernels
Fall 2001
Steve Goddard
Team Programming Assignment 2 (PA2), November 1
Due: 6:00pm November 12
____________________________________________________________
Macros vs. Function Calls
In this assignment each team will modify the hwint_master and hwint_slave macros in
mpx386.s so the operations now performed by the save function are performed inline.
Measure the change in code size due to making the change.
Measure the change in performance, if any due to the code change.
Are macros or functions better in this case? Explain.
Alternate Kernel Boot Option
Making the changes described above will require rebuilding the MINIX kernel. This is a very
risky thing. If you make a mistake in the code change or in the build process, the system may
simply not boot! A common technique to avoid losing everything is to always keep a “known,
good” kernel from which you can boot. This can be done by making a boot diskette or by
changing the boot/loader program to provide the option of loading the stable kernel or you new
evaluation kernel.
For this assignment, modify the MINIX bootstrap/loader code achieve this goal. You should be
prompted with choice of loading the original kernel or one of the evaluation kernels you have
built.
Grading Policy for Programs
The programs you hand in should work correctly and be documented. When you hand in your
programming assignment, you should include:
1. A program listing containing in-line documentation clearly identifying what changes you
made. Only turn in files that you changed (or created).
pf2

Partial preview of the text

Download CSCE 351 OS Assignment 2: Macros vs. Function Calls & Kernel Boot Option and more Assignments Operating Systems in PDF only on Docsity!

CSCE 351 Operating System Kernels

Fall 2001

Steve Goddard

Team Programming Assignment 2 (PA2), November 1

Due: 6:00pm November 12

____________________________________________________________

Macros vs. Function Calls

In this assignment each team will modify the hwint_master and hwint_slave macros in mpx386.s so the operations now performed by the save function are performed inline.

Measure the change in code size due to making the change.

Measure the change in performance, if any due to the code change.

Are macros or functions better in this case? Explain.

Alternate Kernel Boot Option

Making the changes described above will require rebuilding the MINIX kernel. This is a very risky thing. If you make a mistake in the code change or in the build process, the system may simply not boot! A common technique to avoid losing everything is to always keep a “known, good” kernel from which you can boot. This can be done by making a boot diskette or by changing the boot/loader program to provide the option of loading the stable kernel or you new evaluation kernel.

For this assignment, modify the MINIX bootstrap/loader code achieve this goal. You should be prompted with choice of loading the original kernel or one of the evaluation kernels you have built.

Grading Policy for Programs

The programs you hand in should work correctly and be documented. When you hand in your programming assignment, you should include:

  1. A program listing containing in-line documentation clearly identifying what changes you made. Only turn in files that you changed (or created).
  1. A separate (typed) document of approximately two pages describing the overall program design, a verbal description of "how it work,s" and design tradeoffs considered and made (if any). Also include answers to the questions asked above.
  2. A separate description of the tests you ran on your program to convince yourself that it is indeed correct and how you timed the changes in performance. Also describe any cases for which your program is known not to work correctly.
  3. A make file that compiles your program(s).

Please hand in your source file(s), the Makefile, and your documentation using the Web handin program. If your program is handed in after 6:00 pm on November 12 it will considered late.

The program should be neatly formatted ( i.e. , easy to read) and structured and documented. Use the handin program to submit your program(s) for grading. This is assignment 2. Your grade will be determined as follows:

Program Listing works correctly 40% in-line documentation 15% quality of design/readability 25% Design Document 15% Thoroughness of test cases 05%