Subject: 32547 UNIX Systems Programming

Posted codejava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Subject: 32547 UNIX Systems Programming相关的知识,希望对你有一定的参考价值。


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

32547留学生作业代写
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.

因为专业,所以值得信赖。如有需要,请加QQ99515681 或邮箱:99515681@qq.com 

微信:codehelp

以上是关于Subject: 32547 UNIX Systems Programming的主要内容,如果未能解决你的问题,请参考以下文章

最新的hosts

UNIX中system函数的实现为啥要阻塞SIGCHLD信号?

Hosts文件的位置

Syste类

关于MYSQL group by 分组按时间取最大值的实现方法!

Linux Syste m Call Table