首页 > > 详细

32547留学生辅导、讲解Systems Programming、辅导Python程序设计、讲解Python讲解Java程序|讲解Pyth

University of Technology Sydney
Faculty of Engineering and Information Technology
Subject: 32547 UNIX Systems Programming, Spring 2019
Assignment
Description
This assignment is an individual programming assignment using Perl. It addresses objectives 2
and 3 as listed in the Subject Outline document.
No limits apply to the number of lines of code of the program.
Assignments are to be completed individually (this might be checked with the use of antiplagiarism
tools such as Turnitin). You should not receive help in the preparation of this
assignment, nor ask anyone else to prepare it on your behalf in any way.

Marks
The assignment corresponds to 30% of the total marks.
Submission
The completed assignment is due by 5:00pm of Friday 18 October 2019.

PLEASE PAY ATTENTION TO THE FOLLOWING SUBMISSION INSTRUCTIONS:
1. Your Perl program has to be submitted on UTSOnline, following the “Assignments”
menu and then the “Assignment” link by the due date.
2. Please submit only your Perl program, and nothing else.
3. Late submissions will be deducted one mark per day late, more than seven days late the
assignment will receive zero. Special consideration, for late submission, must be arranged
in advance with the Subject Coordinator.

2
Academic Standards
The assignments in this Subject should be your own original work. Any code taken from a
textbook, journal, the Internet or any other source should be acknowledged. For referencing,
please use the standard referencing conventions (http://www.lib.uts.edu.au/help/referencing).
Marking Scheme
Mark Range
30 All requirements of the assignment are met. The submitted
program can be executed by the lecturer “as is” and produces the
requested output.
24-29 The program works correctly with any valid file and for all options,
but its execution experiences some minor problems.
18-23 The program does not work as expected with one of the options.
0-17 This range goes from no submission at all (0 marks) to a
submission which does not meet major requirements of the
assignment.
Examples:
 the program does not work as expected with two or more
options;
 the program generates unhandled errors;
 the program does not solve the assignment problem.
The assignments will be marked within two weeks from the submission deadline.
Important notes:
 Submission of this assignment is not compulsory to pass the subject; do not feel that you
have to submit it “at all costs” and perhaps be tempted to seek unauthorised assistance.
 There are no minimum requirements on the marks on this assignment to pass the subject.
3
Title: Process information with Perl
In this assignment, you will write a Perl program that reads from a file similar to the output of
Unix’ command ps (information about the processes running on a Unix computer). These are the
specifications for your Perl program:
1. The file containing your program must be named pslog.pl
2. Your program must use the following syntax:
pslog.pl option argument_file
Your program must check that the argument_file argument is an existing and readable file.
If not, it must print a message of your choice to the standard output and exit. The format
for file argument_file and the values for the option argument are described below.
NB: Please do not worry about the path to your program: we will ensure that its directory is
in the path when we mark it. We will also ensure that your program is executable.
3. File argument_file can have any arbitrary name. It must be a file of text with the following
format:
a. The file consists of an arbitrary, yet reasonable, number of lines (including,
possibly, zero lines). Each line corresponds to a process.
b. Each line must contain four fields separated by one or more space characters.
c. The four fields are: process ID, terminal, time and command name.
d. Field process ID is a string of characters representing an integer between 0 and
32768. If the string’s length is less than 5 characters, this field is padded to the left
with space characters (see the examples below).
e. Field terminal is a string of minimum 1 / maximum 8 characters representing the
terminal associated with the process.
f. Field time is a string of 8 characters representing the cumulated CPU time in
format hours(2 digits):minutes(2 digits):seconds(2 digits). Examples: 66:45:52;
00:00:00; 00:05:00; 08:11:01; 99:59:59.
g. Field command name is a string of characters with the name of a command (no
spaces allowed).
The following example should be regarded as the reference specification for the format of
file argument_file:
2809 tty4 00:00:00 getty
21367 pts/17 00:00:00 sh
21375 pts/17 21:59:07 alexnet.py
25369 pts/0 00:00:00 sh
Important note: your program does not need to verify that file argument_file complies with the
specifications. You can simply assume that the file meets all the specifications given above.
4
Suggestion: After reading a line from the file, try to use function split(' ') to split it into its
four fields.
4. Your program can be invoked with option: -a. In this case, it must print all the command
names present in the file, one per line, in the order in which they appear in the file.
Example with the example argument_file given above:
Command line:
pslog.pl -a argument_file
Output:
kmirrord
getty
sh
alexnet.py
apache2
sh
In the case in which file argument_file is empty, your program must instead only print:
No commands
5. Your program can be invoked with option: -t. In this case, it must print all the unique
terminals present in the file (each terminal only once), one per line, in the order in which
they first appear in the file.
Example with the example argument_file given above:
Command line:
pslog.pl -t argument_file
Output:
tty4
pts/17
pts/0
In the case in which file argument_file is empty, your program must instead only print:
No terminals
6. Your program can be invoked with option: -s time threshold. In this case, it must print all
the lines of file argument_file where the value of field time is greater than or equal to the
value of argument time threshold, in the order in which they appear in the file. The format
of argument time threshold is the same as that of field time.
5
Example with the example argument_file given above:
Command line:
pslog.pl -s 00:02:00 argument_file
Output:
728 ? 00:05:45 kmirrord
21375 pts/17 21:59:07 alexnet.py
In the case in which no values of field time meet the requirement (including the case of an
empty file), your program must print:
No processes above threshold
7. Your program can be invoked with option: -n. In this case, it must only print your name,
surname, student ID and date of completion of your assignment, in a format of your choice.
Please note that argument argument_file is still required.
8. If your program is invoked with any other syntax than those specified above, it must print a
message of your choice to the standard output and exit.
Examples of incorrect syntax:
pslog.pl -Z argument_file
pslog.pl -u
Please be reminded that:
 This assignment must be your own work and you should not be helped by anyone to
prepare it in any way; your assignment may be tested by anti-plagiarism software that
detects superficial changes such as changing variable names, swapping lines of code and
the like.
 Understanding the assignment specifications is part of the assignment itself and no
further instructions will be provided; on the other hand, whatever is not constrained
you can implement it according to your own best judgment.

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!