0% found this document useful (0 votes)
35 views4 pages

Department of Computing: CLO4 (Develop Programs To Interact With OS Components Through Its API)

This document provides instructions for a lab assignment to build a file management server. Students will work in groups of up to 5 to develop a server and client program to provide file management functionality like create, delete, update, and query files remotely. The tasks involve designing a protocol for the client-server communication and implementing this protocol in the server and a client program. The server must handle multiple client requests concurrently using threads and bind to port 95. It will execute file operations on requests from the client. The client will allow specifying the server IP, a username, and interface to invoke the file operations and view responses. The deliverables are the code for server and client, a sample data file, and a user guide.

Uploaded by

Bright Info
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views4 pages

Department of Computing: CLO4 (Develop Programs To Interact With OS Components Through Its API)

This document provides instructions for a lab assignment to build a file management server. Students will work in groups of up to 5 to develop a server and client program to provide file management functionality like create, delete, update, and query files remotely. The tasks involve designing a protocol for the client-server communication and implementing this protocol in the server and a client program. The server must handle multiple client requests concurrently using threads and bind to port 95. It will execute file operations on requests from the client. The client will allow specifying the server IP, a username, and interface to invoke the file operations and view responses. The deliverables are the code for server and client, a sample data file, and a user guide.

Uploaded by

Bright Info
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Department of Computing

CS 330: Operating Systems


BESE 9AB
Lab 11: File Management Server

CLO4 (Develop programs to interact with OS components through its API)

Date: 1 Jan 2021


Time: 10:00 AM – 01:00 PM
&
02:00 PM – 05:00 PM
Instructor: Mr. Taufeeq Ur Rehman

CS330: Operating Systems Page 1


[Course Code]: [Course Title] [Instructor Name]
Class: [Batch] [Semester YYYY]

Lab 11: File Management Server


Instructions

 You are allowed to form groups of up to 5 students per group.


 The code should be developed within the team and any form of plagiarism will
automatically result in zero for both the groups involved without any questions asked.
 Each student is responsible to understand the code being submitted under his or her
name. Division of work is not explicitly required, however, each group member will be
given average viva marks of the group. This implies that if a group member gets zero in
viva and another gets full marks then both will score 50%.
 The submission deadline is 11L55 PM Thursday. Viva will be held during the lab hours.
 Any questions and comments on the lab must reach the faculty before 10AM on
Thursday through email or in person meeting. No questions will be answered after 10
AM on Thursday.

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

CS330: Operating Systems Page 2


[Course Code]: [Course Title] [Instructor Name]
Class: [Batch] [Semester YYYY]
Socket programming in Python https://www.journaldev.com/15906/python-socket-programming-
server-client

Socket programming in Java https://www.journaldev.com/741/java-socket-programming-server-client

Socket programming C++ https://www.educba.com/socket-programming-in-c-plus-plus/

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

1. You must provide two programs, a server and a client.


2. The client must allow the user to specify the ip address of the server
3. The client will allow user to first specify the user name (which will be used later).
4. The client must provide an interface to apply the operations developed in the previous.
5. The client must give errors when the server is not available.
6. The client must display the response of the actions performed.
7. The server must respond to multiple requests at the same time (this will require threads)
8. The server must bind to port 95.
9. The server and clients can be run on different machines.

Deliverables

Submit

CS330: Operating Systems Page 3


[Course Code]: [Course Title] [Instructor Name]
Class: [Batch] [Semester YYYY]
1. Complete code
2. Sample data file (sample.dat) consisting of files and directories to show your output.
3. User guide to teach how to use your system. The user guide must include description of
your directory structure.

CS330: Operating Systems Page 4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy