CS 3210 Operating System Design Homework 1 - Spring 2005, Assignments of Operating Systems

The first homework assignment for the cs 3210 operating system design course at georgia tech, college of computing, due on january 27, 2005. It covers topics such as os/kernel introduction, booting/kernel init, system calls, modules, /proc, memory addressing, and includes questions related to microkernels and exokernels, linux kernel logging subsystem, bogomips, and paging vs segmentation.

Typology: Assignments

Pre 2010

Uploaded on 08/05/2009

koofers-user-z54-2
koofers-user-z54-2 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 3210 Operating System Design
Spring 2005 y Hutto
Georgia Tech, College of Computing
Homework 1
DUE: 3:05 pm (class time) Th 27 January 2005
Topics Covered:
OS/Kernel Intro
Booting/Kernel Init
System Calls, Modules, /proc
Memory Addressing
Work individually on this. Please prepare printed solutions using the word processing software of
your choice to the following questions (no handwritten solutions accepted) and bring to class on the
due date. Answers should be short but concise. Questions amplify material from the lectures and the
assigned readings. Questions frequently require you to investigate Linux or OS features and
capabilities. Please make use of all available resources (web, man pages, kernel source, discussions
with staff, etc.). Most questions can be answered in a well-constructed paragraph or two. We aren’t
trying to kill you with the homeworks. These are mostly to acquaint you with some interesting
additional material. So have fun!
1. Two popular contemporary approaches for structuring operating systems are microkernels and
exokernels. Compare and contrast the two approaches. How are they similar? How are they different?
MIT Exokernel Operating System - www.pdos.lcs.mit.edu/exo.html
DMOZ Microkernel page – dmoz.org/Computers/Software/Operating_Systems/Microkernel/
2. The Linux kernel provides a moderately complex subsystem for logging status and error
messages printed by the kernel during boot and normal operation. Briefly describe the following
components of the kernel logging subsystem and explain how they are related. (Hints: A picture
might be nice. Start with the man pages and then try looking at the source code for printk() in
kernel/printk.c. There is also a nice discussion in the Debugging chapter of Love.)
dmesg
console log level
kernel log buffer
klogctl()
syslogd
klogd
/proc/kmsg
3. Read about BogoMips and why they are so bogus (dude!) in your textbooks and on the web.
Describe how the function calibrate_delay() in kernel/main.c computes (calibrates, estimates)
BogoMips for the current processor. Compare the BogoMips value reported by your iPAQ and by a
workstation in the States Cluster or your own Linux workstation or laptop. How are BogoMips
reported on an SMP machine?
pf2

Partial preview of the text

Download CS 3210 Operating System Design Homework 1 - Spring 2005 and more Assignments Operating Systems in PDF only on Docsity!

CS 3210 Operating System Design

Spring 2005 y Hutto

Georgia Tech, College of Computing

Homework 1

DUE: 3:05 pm (class time) Th 27 January 2005

Topics Covered:

  • OS/Kernel Intro
  • Booting/Kernel Init
  • System Calls, Modules, /proc
  • Memory Addressing

Work individually on this. Please prepare printed solutions using the word processing software of your choice to the following questions (no handwritten solutions accepted) and bring to class on the due date. Answers should be short but concise. Questions amplify material from the lectures and the assigned readings. Questions frequently require you to investigate Linux or OS features and capabilities. Please make use of all available resources (web, man pages, kernel source, discussions with staff, etc.). Most questions can be answered in a well-constructed paragraph or two. We aren’t trying to kill you with the homeworks. These are mostly to acquaint you with some interesting additional material. So have fun!

  1. Two popular contemporary approaches for structuring operating systems are microkernels and exokernels. Compare and contrast the two approaches. How are they similar? How are they different?

MIT Exokernel Operating System - www.pdos.lcs.mit.edu/exo.html DMOZ Microkernel page – dmoz.org/Computers/Software/Operating_Systems/Microkernel/

  1. The Linux kernel provides a moderately complex subsystem for logging status and error messages printed by the kernel during boot and normal operation. Briefly describe the following components of the kernel logging subsystem and explain how they are related. (Hints: A picture might be nice. Start with the man pages and then try looking at the source code for printk() in kernel/printk.c. There is also a nice discussion in the Debugging chapter of Love.)
    • dmesg
    • console log level
    • kernel log buffer
    • klogctl()
    • syslogd
    • klogd
    • /proc/kmsg
  2. Read about BogoMips and why they are so bogus (dude!) in your textbooks and on the web. Describe how the function calibrate_delay() in kernel/main.c computes (calibrates, estimates) BogoMips for the current processor. Compare the BogoMips value reported by your iPAQ and by a workstation in the States Cluster or your own Linux workstation or laptop. How are BogoMips reported on an SMP machine?
  1. Compare and contrast paging and (hardware) segmentation as alternative ways of organizing computer memory. What advantages and disadvantages are there to combining both approaches? How are they combined in the Intel i386 architecture? (Hint: A standard OS textbook is a good place to start on this question.)