Laboratory 1
Due Date: Wednesday, January 26, 2000
Points: 100
- (20 points) Write a program to determine the maximum number
of simultaneous processes that MINIX will support for a single user.
Once this number is determined, any processes created to compute this
number are to be terminated. Don't forget that the user's shell is
itself a process!
Hint: Spawn processes until the fork fails. To terminate
these processes, keep track of their PIDs as they are created, and use
signals.
- (20 points) The FreeBSD command stat prints information about
a file in the following format:
File: "/"
Size: 1024 Allocated Blocks: 2 Filetype: Directory
Mode: (0755/drwxr-xr-x) Uid: (0/root) Gid: (0/wheel)
Device: 132096 Inode: 2 Links: 28
Access: Thu Apr 1 22:56:24 1999
Modify: Thu Apr 1 12:08:59 1999
Change: Thu Apr 1 12:08:59 1999
Please implement this command for MINIX.
- (20 points) Write a program to print the numeric and symbolic
names of any signals it receives. For example, if I send the process a
signal 1, it should print:
Thu Apr 1 23:34:19 1999 Received signal 1 (SIGHUP)
The program should not attempt to catch signal 9 (SIGKILL).
- (40 points) Write a program script that spawns a shell, and
records all input to the shell and output from the shell into a file
named "typescript". If your program is given an argument, use
that to name the file rather than "typescript"..
Send email to
cs150@csif.cs.ucdavis.edu.
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 1/7/00