Operating System Design Homework 2 - CS 3210, Georgia Tech, Assignments of Operating Systems

Information about a university operating system design course, cs 3210, at georgia tech. Details about the topics covered in homework 2, including virtual file systems (vfs), input/output (i/o) devices, disk caches, ext2/ext3, journaling, logical volume manager (lvm), fast conference paper, fuse filesystem, and user-space device drivers. Students are required to write about one page for each question to answer them properly.

Typology: Assignments

Pre 2010

Uploaded on 08/05/2009

koofers-user-4gc
koofers-user-4gc 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1 / 2
CS 3210 Operating System Design
Fall 2005 — Hutto
Georgia Tech, College of Computing
Homework 2
DUE: Final Project Demo Time (by Saturday 17 December 2005)
Topics Covered:
VFS
IO Devices
Disk Caches, Implementing Read/Write
Ext2/Ext3, Journaling
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 your final
project. 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.).
The questions on this homework are more exploratory so you probably need to write about one
page for each question to answer them properly. Have fun and good luck!
1. Linux has supported a Logical Volume Manager (LVM) for some time. (LVMs were developed in
commercial operating systems originally. The first Linux LVM was inspired by a similar product from
HP.) Learn about LVMs and describe the major features that they support. Then *briefly* describe
how an LVM might be implemented in Linux based on your knowledge of the VFS layer, ext2, the
block device subsystem and block device management. Your answer to this question should be about
a page and a half of text.
2. FAST is the yearly USENIX File and Storage Technology conference. The conference
proceedings are made public one year after each conference and are a good place to learn about
interesting new filesystem technologies. In the 2004 proceedings, the following paper by a bunch of
CMU students won Best Paper Award:
A Framework for Building Unobtrusive Disk Maintenance Applications
Thereska, Schindler, Bucy, Salmon, Lumb, and Ganger
Carnegie Mellon University
http://www.usenix.org/events/fast04/tech/thereska.html
In this paper they discuss how applications can utilize “idle” disk time and blocks for useful
purposes (rather like having the idle process implement some useful function.) Briefly sketch how you
could use this idea in Linux Ext2 to implement a background disk defragmenter (also known as a
“repacker” or “cleaner”).
3. FUSE (Filesystem in USEr Space) is an interesting capability that has been recently implemented
in Linux. It allows simple filesystems to be written entirely in user-space with very little effort.
Read about FUSE on the web and explain, in your own words, how it is implemented in Linux.
pf2

Partial preview of the text

Download Operating System Design Homework 2 - CS 3210, Georgia Tech and more Assignments Operating Systems in PDF only on Docsity!

CS 3210 Operating System Design

Fall 2005 — Hutto

Georgia Tech, College of Computing

Homework 2

DUE: Final Project Demo Time (by Saturday 17 December 2005)

Topics Covered:

  • VFS
  • IO Devices
  • Disk Caches, Implementing Read/Write
  • Ext2/Ext3, Journaling

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 your final project. 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.).

The questions on this homework are more exploratory so you probably need to write about one page for each question to answer them properly. Have fun and good luck!

  1. Linux has supported a Logical Volume Manager (LVM) for some time. (LVMs were developed in commercial operating systems originally. The first Linux LVM was inspired by a similar product from HP.) Learn about LVMs and describe the major features that they support. Then briefly describe how an LVM might be implemented in Linux based on your knowledge of the VFS layer, ext2, the block device subsystem and block device management. Your answer to this question should be about a page and a half of text.
  2. FAST is the yearly USENIX File and Storage Technology conference. The conference proceedings are made public one year after each conference and are a good place to learn about interesting new filesystem technologies. In the 2004 proceedings, the following paper by a bunch of CMU students won Best Paper Award:

A Framework for Building Unobtrusive Disk Maintenance Applications Thereska, Schindler, Bucy, Salmon, Lumb, and Ganger Carnegie Mellon University http://www.usenix.org/events/fast04/tech/thereska.html

In this paper they discuss how applications can utilize “idle” disk time and blocks for useful purposes (rather like having the idle process implement some useful function.) Briefly sketch how you could use this idea in Linux Ext2 to implement a background disk defragmenter (also known as a “repacker” or “cleaner”).

  1. FUSE (Filesystem in USEr Space) is an interesting capability that has been recently implemented in Linux. It allows simple filesystems to be written entirely in user-space with very little effort. Read about FUSE on the web and explain, in your own words, how it is implemented in Linux.
  1. While we are talking about doing things in user-space, there is a related project, Gelato, that seeks to build infrastructure to allow all device-drivers to be implemented in user space. Briefly describe how the Linux kernel needs to be altered to allow user-space device drivers. Briefly list the advantages and disadvantages of this scheme.
  2. Read about the uber-cool ZFS filesystem, a new, open-source filesystem for OpenSolaris, developed at Sun by a team lead by designer of the popular Slab Cache Memory Allocator. (What does uber mean anyway?) Then read about and briefly describe what a filesystem snapshot is. (Many different mechanisms for taking snapshots exists.) Explain how the ZFS team can support the outrageous claim that not taking filesystem snapshots is slower than taking them! (Acckkk!)