Skip to main content
Department of Information Technology

Lab Assignments

Assignments for Computer Systems DV1, autumn 2007.

RESULTS

Lab 3 has been corrected, and can be picked up outside my office (room 1237).
Results are posted here (for those who have agreed to post their results online).

Lab assistant: John Håkansson, johnh@it.uu.se

General instructions

  • Lab solutions are to be handed in before deadline to John's mailbox (4th floor, box 136).
  • The solutions should be printed, and contain answers to questions (marked Q1 for the first question, etc.), and relevant code for the programming problems (marked P1 etc.)
  • The assignments must be solved individually or in groups of two students. More than two students are not allowed in the same group.
  • Deadlines are hard! If you hand in before deadline your report will be graded with U, K, or G. U means that the report is very poor and you have failed the course. K means that you need to improve the report and hand in again. G means pass.

Lab 1: UNIX Processes

08:15-12:00 september 12, room 1515. Deadline: september 24

  • Read this about zombies (undead processes in UNIX).
  • Run man -s1 ps to read about ps(1), i.e. the command ps of section 1 in the manual pages.
  • In the lab we will use system calls fork(2), wait(2) and pipe(2) (thats right, all system calls are in section 2 of the manual pages).

Detailed lab instructions are in this PDF file.
The source code you need is in this tgz archive.

Make a new directory in your home directory, copy the tgz-file to the new directory, and unpack it using
bash$ tar xzf OSLab.lab1.SunOS.tgz
Use the provided makefile to compile the code.

Lab 2: Semaphores

08:15-12:00 september 20, room 1515. Deadline: october 9

  • Read and understand sections 3.1 (mutual exclusion) and 3.2 (rendez-vous) of the lab-instructions before attempting to solve P1 (but of course you always read lab-instructions...)

Detailed lab instructions are in this PDF file.
The source code you need is in this tgz archive.

If there is a problem with creating semaphores, try 'rlogin' to e.g. 'pilspetsen' as a workaround.

Lab 3: UNIX File System

13:15-17:00 october 9, room 1515. Deadline: october 22

  • Be careful to handle all possible errors after calls to external functions (system calls or library functions). Use perror(3C) to report errors for system calls.
  • Read this about inodes (UNIX filesystem object, e.g. file or directory).

Detailed lab instructions are in this PDF file.
The source code you need is in this tgz archive.

Simics Lab

13-17 october 25, rooms 1412 and 1413 (No hand-in)

This lab is part of the project course, for you to learn the tools and target architecture.
The lab is located to rooms 1412 and 1413 because Simics is slower on the thin clients of room 1515.

Updated  2007-10-24 13:46:30 by John Håkansson.