Unix System Calls Advanced Operating Systems (CS 5500)- Fall 2020 Assignment 1 (60 points) Due by 14th September (Monday) 11:59pm You are all

Unix System Calls

Advanced Operating Systems (CS 5500)- Fall 2020

Don't use plagiarized sources. Get Your Custom Assignment on
Unix System Calls Advanced Operating Systems (CS 5500)- Fall 2020 Assignment 1 (60 points) Due by 14th September (Monday) 11:59pm You are all
From as Little as $13/Page

Assignment 1 (60 points)

Due by 14th September (Monday) 11:59pm

You are allowed to discuss the problem and solution design with others, but the code

you submit must be your own. Your solution must include the certification of authenticity

I certify that the code in the method functions including method function main of this

project are entirely my own work.

Unix System Calls

Write a C or C++ program to run on a Unix platform. This program will take three

arguments. The first argument will be the pathname of a directory on the system.

The second argument will be a character string. The third argument is the

maximum number of output lines, N. Your program should display at most N

entries in the directory tree in a text file.

You need to implement three system calls: Open, Read, and Stat

Details of the system calls are given below. You can also use man command

pages to learn more about these system calls.

1. Open system call: DIR *opendir (const char *dirname)

Opendir system call opens a directory and returns a pointer to a struct DIR.

DIR represents a directory stream, which is an ordered sequence of all

directory entries in a particular directory.

2. Read system call: struct dirent *readdir (DIR *dirp)

Once the directory has been opened, you can read the directory with readdir

system call. Each time you call readdir system call, it returns another entry

in the directory.

3. Stat system call: int stat (const char *path, struct stat *sb)

Once you have the name of an entry, you can use the stat system call to get

more information about it. stat function takes two arguments, the first is a

path name and second is a pointer to struct stat, which contains information

about the file.

Submission Guidelines and Requirements
1. You can use either C or C++ for this programming assignment.

2. Your program should run on a UNIX platform

3. Include your name and UCM ID in the code

4. Add the following statement in your solution I certify that the code in the
method functions including method function main of this project are entirely
my own work.

// Your Name
// Your UCM ID
//Certificate of Authenticity: I certify that the code in the method functions
including method function main of this project are entirely my own work.

5. Add comments (about the function/variable/class) to your code as much as
possible

6. Zip your project including source file(s) and input text data files (if any)
7. Upload the zipped project file onto Blackboard
8. Grading standards:

a. Compiles: 40%
b. Prints the correct answer on the directory passed in as an

argument: 20%
c. Prints the correct answer for all subdirectories as well: 20%
d. Handles error conditions gracefully: 10%
e. Is well commended and well designed: 10%
f. There will be automatic 10 points penalty if your program is

missing certificate of authenticity

Leave a Comment

Your email address will not be published. Required fields are marked *