/OS5

The fifth assignment of the Course - Operating Systems at Ariel University.

Primary LanguageC++

OS_5

Alon Barak & Idan Philosoph.

The fifth assignment of the Operating Systems Course.
This repo contains an implementation of a forked server which serves as a stack to its client.
Each Client preform as a sub-process of the Server, sub-processes communicate with each-other using mmap().
In this project we were inspired by https://github.com/andrestc/linux-prog/blob/master/ch7/malloc.c repo,
for the Malloc and Free functions.

  • The server can handle up to 10 clients in real time.
  • The implementation of the Stack and the Dynamic Memory Allocation functions you can find at the "Stack.cpp" file.

How to run the Project on your Machine:

  1. Git Clone the Project to your Machine:
$ git clone https://github.com/Pianissimo7/OS5.git
  1. Compile the code :
$ make all
  1. Run the Server :
$ ./server
  1. Run a Client :
$ ./client 127.0.0.1
  • Please noitce that the server is listen on port 3600 at 127.0.0.1

  • P.S. The client connect directly to the server and no work should be done by the user!

Test:

1.Compile the code :

$ make all
  1. Run the Test:
$ ./test
  1. Stop the server when done:
$ ctrl + c

More Information:

You might find the next videos very helpful in understanding the principles that guide us throught the Project, enjoy :-)