Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cinema administration and booking app using diverse Linux IPC mechanisms and file locking

Attention: this app was implemented for Linux Operating Systems.

This is a terminal app written in C that simulates a cinema administration and booking system.

Two types of architectures were implemented:

Insecure Mode

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
$ ./makeNoIpc

After that, the executable run was created.

$ chmod +x run
$ ./run
Secure Mode

In 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 server

In two different terminals, run

$ ./client
$ ./server

Attention: server must be running for make actions with clients

Screenshots

Screenshots

Screenshots

Screemshots

This was the final project of Operating Systems course, at ITBA.
Made By:

About

Cinema administration and booking app using diverse Linux IPC mechanisms

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages