Department of Computing: CLO4 (Develop Programs To Interact With OS Components Through Its API)
Department of Computing: CLO4 (Develop Programs To Interact With OS Components Through Its API)
Introduction
The purpose of this lab is for you to build the server for the file management component of
distributed file management system you built in previous lab. The goal of this lab is to build the
structure for file management to provide access to user(s) to create, delete, update and query
files in the system remotely. You are required to build the system in the language of your
choice and in the operating system of your choice. You are also free to make the design choices
as discussed in book or a combination thereof as long as the requirements for the system are met.
Objectives
By the end of this lab you will be able to build a server to provide file structure and understand
the operations on how to make a server by using threads and socket programming.
Tasks
Before you start your main task go through the links below to learn how to make a server. You
can use code from the following links to understand what a server is. The codes (in different
languages) have socket programming to send and receive simple messages
Your team has two tasks for this lab which are interrelated. First you have to design a protocol
to provide all the services developed in previous lab. A protocol is a pre-defined system of rules
to exchange information. Here the client will be calling functions at the server. That means that
server is the file server you implemented and the client will be remotely executing the tasks on
the server machine. A protocol may mean that you assign numbers to each of the function and
use some sort of symbols to separate the parameters or some other scheme. You may read some
of the protocols such as POP3 or SMTP to understand how they work.
Your second task will be to implement this protocol through server and provide a client
program to the user. The server program will receive the message through socket, execute
the task and return the value. The client will provide an interface to the user where different
operations can be executed and results shown.
Requirements
Deliverables
Submit