COMP3301-无代写-Assignment 3
时间:2023-10-24
COMP3301 Assignment 3 Marksheet 25 Marks (25%)
$Revision: 477 $
Surname First Name Student ID Session/Date Marker Initials
Reflection
Criteria Excellent (eX) Good (gX) Satisfactory (sX) Weak (wX) Poor (pX)
Reflection
• (e1) Reflection is clear
and concise and de-
scribes the steps taken.
If a flow chart is in-
cluded, it must be clear
about the steps taken.
• (e2) An error in the code
was clearly identified and
fixed
• (e3) Analysis is in-depth
and identifies all relevant
aspects of the error
• (e4) Demonstrates
strong command of
debugging methods and
tools
• (g1) Reflection is not
clear but mostly de-
scribes the steps taken.
Or a flow chart is in-
cluded and is clear about
the steps taken.
• (g2) An error in the
code was clearly identi-
fied and a fix attempted
• (g3) Analysis is in-depth
and identifies most rele-
vant aspects of the er-
ror, but may have missed
some details
• (g4) Demonstrates us-
age of debugging meth-
ods and/or tools
• (g5) Fix is sensible and
specific, but may contain
minor errors or be incom-
plete
• (s1) An error in the code
was identified
• (s2) Basic analysis was
done, but some major
details may have been
missed
• (s3) A fix was at-
tempted, but may con-
tain errors or be incom-
plete
• (p1) Reflection is given
but is poorly worded and
is not clear. Or a flow
chart is included but it is
not clear.
• (p2) Some attempt at
analysis
• (p3) A fix may or may
not be attempted
• (z1) Reflection is not
given or is not under-
standable
• (z2) No clear error iden-
tified
• (z3) Analysis not at-
tempted
• (z4) No evidence of de-
bugging methods or tool
usage
• (z5) No attempt to fix
/3 3 – 2 – 1 0
Writing Style
• (e1) Clear written En-
glish with appropriate
word choices
• (s1) Difficult to under-
stand, but some mean-
ing evident. Signifi-
cant errors in grammar
or spelling.
• (z1) No response pro-
vided, or was unintelligi-
ble.
/2 2 – 1 – – 0
QCOW Functionality
Criteria Excellent (eX) Good (gX) Satisfactory (sX) Weak (wX) Poor (pX)
Code Style
• (e1) No style errors
were detected in lines
changed or added.
• (s1) Code was submit-
ted, and some lines of
code contained no style
violations.
• (z1) No code submit-
ted, or every line sub-
mitted contains style vi-
olations.
/2 2 – 1 – – 0
Read/Write Support
• (e1) Can obtain logi-
cal offset from disk la-
bels for both the raw
disk and partition in the
disk
• (e2) Can read all re-
quire metadata from
the backing file
• (e3) Able to allocate
L2 tables and Guest
clusters on a write()
call that will never over-
write other clusters
• (e4) Able to read data
from already allocated
clusters and return 0s
on non-allocated clus-
ters
• (e5) Able to write data
to clusters at the cor-
rect offset for any given
sector.
• (e6) Able to success-
fully mount to and write
to a file system stored
in a qcow file
• (g1) Can obtain logi-
cal offset from disk la-
bels for at least the raw
disk
• (g2) Can read all re-
quired metadata from
the backing file
• (g3) Able to allocate
L2 tables and Guest
clusters on a write()
call but may overwrite
other clusters
• (g4) Able to read data
from already allocated
clusters and return 0s
on non-allocated clus-
ters
• (g5) Able to write data
to clusters but may not
correctly map sectors.
• (s1) Can obtain logi-
cal offset form disk la-
bels for at least the raw
disk
• (s2) Can read the
header from the back-
ing file
• (s3) Can get the off-
sets for the L1 and L2
tables that are already
allocated
• (s4) Able to read
data from an already
allocated cluster but
may not handle non-
allocated clusters prop-
erly
• (s5) Able to read back
data that has been writ-
ten but may not be
written to the correct
location
• (s6) Returns 0 if a clus-
ter is not allocated
• (w1) Can obtain logi-
cal offset form disk la-
bels for at least the raw
disk
• (w2) Can read the
header from backing
file
• (w3) Can get the off-
sets for L1 and L2 ta-
bles that are already al-
located
• (p1) Can obtain logi-
cal offset from disk la-
bels for at least the raw
disk
• (p2) Can read header
from backing file but
may not correctly han-
dle endianness
• (z1) Not attempted
/10 10 8 6 4 2 0
IOCTL
• (e1) Can attach and
detach from backing
file
• (e2) All resources al-
located in attach are
freed in detach
• (e3) Both file name
and stats are imple-
mented
• (s1) Can attach and
detach from backing
file, but resources allo-
cated in attach may not
be freed in detach
• (s2) Both file name
and stats are imple-
mented
• (p1) Can attach and
detach from backing
file
• (p2) File name or Stats
implemented
• (z1) Cannot attach to
a backing file
• (z2) Neither file name
nor states are imple-
mented
/3 3 – 2 – 1 0
Robustness
Criteria Excellent (eX) Good (gX) Satisfactory (sX) Weak (wX) Poor (pX)
Robustness
• (e1) Correctly denies
any files that are not
of the qcow2 format,
are misformatted or cor-
rupted, or contain unsup-
ported features.
• (e2) Checks the bounds
of all read offsets and
addresses throughout im-
plementation
• (e3) Checks all sizes of
data is appropriate and
no residual data remains
after a read or write com-
mand.
• (e4) Appropriately up-
dates the backing file for
any and all changes of
metadata.
• (e5) Appropriate use of
locks
• (e6) Appropriate use of
defensive programming
• (e7) Successfully ex-
pands the backing file on
allocates where appropri-
ate
• (g1) Correctly denies
files that are not of the
qcow2 format and are
corrupted or misformat-
ted but may contain un-
supported features
• (g2) Checks the bounds
of most read offsets and
addresses throughout im-
plementation
• (g3) Checks most sizes
of data is appropriate and
no residual data remains
after a read or write com-
mand.
• (g4) Appropriately up-
dates the backing file for
most changes of meta-
data.
• (g5) Some appropriate
appropriate use of locks
• (g6) Some appropri-
ate use of defensive pro-
gramming
• (g7) Attempts to ex-
pand the backing file size
on allocates where appro-
priate
• (s1) Correctly denies
any files that are not
of the qcow2 format but
may allow for corrupted
or misformatted qcow2
files
• (s2) Checks the bounds
of read offsets and ad-
dresses in at least the
strategy function and at-
tempts made to do this in
other areas of the code.
• (s3) Checks some sizes
of data is appropriate
but might not check that
residual data remains af-
ter a read or write com-
mand.
• (s4) Appropriately up-
dates the backing file for
some changes of meta-
data.
• (s5) Attempts to use
locks
• (s6) Attempt to use de-
fensive programming
• (w1) Checks the magic
and version number in
the header of a qcow2
file
• (w2) May check some
sizes of data or that off-
sets exist in bounds
• (w3) Doesnt update the
metadata except where
absolutely essential.
• (w4) Some attempt to
use locks.
• (w5) Some attempt to
use defensive program-
ming
• (p1) Checks either the
magic number of version
number of the header of
a qcow2 file
• (p2) Does not check any
data sizes or that offsets
exist in bounds
• (p3) Doesnt update the
metadata except where
absolutely essential.
• (p4) No attempt to use
locks
• (p5) No attempt to use
defensive programming
• (z1) Not attempted
/5 5 4 3 2 1 0
Total / 25
Comments


essay、essay代写