Attention: this app was implemented for Linux Operating Systems.
In this architectures client processes interact directly with the DB. The DB is a simple file directory and synchronicity is controlled using file locking.
In order to run the insecure mode, clone or download the repository and then run:
$ chmod +x makeNoIPC$ ./makeNoIpcAfter that, the executable run was created.
$ chmod +x run$ ./runIn this architectures client processes interact with workers, not with the DB. Workers are procceses created by the server to serve clients. Workers interact with de DB. For communication between worker and client, several IPC mechanisms were implemented:
- Sockets
- Message Queues
- FIFO
- Semaphores and Shared Memory
- Signals
To run the secure mode, clone or download the repository and then run:
$ chmod +x [ makeFIFO | makeQUEUE | makeSIGNALS | makeSEM_SHM | makeSOCKET ]$ ./[ makeFIFO | makeQUEUE | makeSIGNALS | makeSEM_SHM | makeSOCKET ]Depending on which IPC mechanism was chosen.
For example, to use FIFO use the makeFIFO script.
After that, the executables client and server were created. Then:
$ chmod +x client$ chmod +x serverIn two different terminals, run
$ ./client$ ./serverAttention: server must be running for make actions with clients
This was the final project of Operating Systems course, at ITBA.
- Ivan Itzcovich
- Kevin Kraus
- Jorge Gomez