My favorites | Sign in
Project Hosting will be READ-ONLY Thursday at 3:00pm UTC for up to 3 hours for network maintenance.
Project Home Downloads Wiki Issues Source
Search
for
ShellProjectInstructions  
Instructions for the Shell Project
Updated Feb 4, 2010 by monaco...@gmail.com

Instructions for the Shell Project

What to do

Write a shell with the following functionality

  • Execution of build-in commands (at least: exit, help; but you will find interesting to implement also 'cd', 'pwd' etc.)
  • Execution of external commands via exec syscall (in foreground and background)
  • Redirection of input and output (<, >, >>, <<,)
  • Pipes (unlimited sequential pipes, p.ex. cmd1 | cmd2 | cmd3....)
  • Job control (suspend jobs, put in background, foreground etc.)

Recomendations

We strongly recommend that you

  • Write your code in English (so that more people can read it). This include name of variables and functions, comments, documentation.
  • Add an open source license to your software and indicate the authors as the copyright holders of the code (so that one cannot take if from you when you publish it on the Web)

Rules

  • Use exclusively the libc, and nothing else,
    • o, not even readline lib (if you want to implement history functionality (congratulations), make it yourself.
    • es, you can use POSIX semaphores
  • Use gcc as the compiler
  • Upload your source into your repository regularly, according to the schedule

Due date

  • The work shall be finished by April 14th 2009
  • We will evaluate what is in the repository by this date

Evaluation

  • Your shell will be downloaded from the repository and tested
  • The instructor and the monitor will evaluate it
  • Other experts from industry or free software community may be invited to evaluate it also and help to assess the correction of the project
  • The scores will be based on those evaluations

Sign in to add a comment
Powered by Google Project Hosting