Page 1 of 6
RMIT Classification: Trusted
COSC 1114 Operating Systems Principles
Semester 2, 2021
Programming Assignment 2
Assessment
Type
Individual assignment.
Marks are awarded for meeting requirements as closely as possible.
Clarifications/updates may be made via announcements/relevant discussion forums.
Submission
Policy
Submit online to Canvas → Assignments → PrgAsg2 .
2 submissions are required . The first in week 13, and the final submission in start of week 14.
Late final submissions are penalized at the rate of 10% per day, pro-rata to 1%. In other words,
the formula is floor(hoursLate*10/24) as percentage of the mark received. So 12 hours late for a
submission given the mark 20/30 will be penalized as per
newMark = origMark (1 – (floor(hoursLate10/24) / 100)) = 20 * (1 – 0.05) = 19
to 19/30.
NB. In any dispute over late submissions, GitHub commit dates (which can be falsified) will NOT
be considered acceptable as evidence.
Submission
Due Date
Start of week 14.
Marks 30 (30% of semester)

  1. Overview
    One of the other large areas in operating systems beyond process management is the domain of File Systems. As you can see
    in the Group Project title list, there are a lot of them. But they all have some features in common, and in this assignment, we
    will cover some of these common features.
    In this assignment, you will build a very simple file system (VSFS), which is essentially a large text file. You will write a program
    or script that will insert entries from outside into this FS and vice-versa, as well as many other common file actions. For
    documentation, you will reflect how certain additions, such as file blocking, FS compression, FS defragmentation, could be
    implemented into your code (without doing it). For higher marks, you will implement some of these
  2. Learning Outcomes
    This assessment relates to all the learning outcomes of the course which are:
    • Summarise the full range of considerations in the design of file systems, summarise techniques for achieving
    synchronisation in an operation system,
  3. Project Details
    3.1 Command Line
    You must create a program, called, say, VSFS, that creates a file system called, say, FS, that can be called from the command
    line and will work as follows. (General format: “VSFS command FS rags…”, where command is {list copyin; copyout; mldir;
    rm; rmdir…})
  4. VSFS list FS List the contents of FS in “ls -lR” format
    a. Format:
    AAAAAAA NNN OOOOOOOO GGGGGGGG SSSSSSSS DATETIME [PATH/]FILENAME
    Where
    All elements are separated by a single space char.
    A = attribute. Use the same file attribute as the FS, except where d=”-” if the entry
    is a file, and “d” if a directory.
    Page 2 of 6
    RMIT Classification: Trusted
    N = number of hard link if a file or number of subdirs if a fir.
    Use “ 1” (3 chars) for file as links not allowed, else use number of dirs. 1 level below.
    O,G = owner and group of the VSFS file Use the owner/group of the FS
    S = size of the file in bytes
    (optional, make size = nyuumber of lines in the file)

WX:codehelp


rkv70qp7
1 声望1 粉丝