Skip to content

A project made for a class with the objective of creating communication between client-server, through pipes/fifos and process concurrency, while exploring the concepts of Operating Systems in c.

License

Notifications You must be signed in to change notification settings

faria-s/ClientServer-SO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SO

Grade: 18.75/20 ⭐️

A Server-Client App, made for our SO class.

This project:

  • Allows communication between a server an client, through FIFOs.
  • Implements a LRU cache, using GLib and linked-lists, allowing for more efficient searches in the server
  • Multi processes concurrent search, allowing for more efficient searches in the server
  • Presistence of information in disk

Compiling

$ make

Running the server

$ ./bin/dserver <dataset_path> <cache_size>

Indexing a file

$ ./bin/dclient -a "title" "authors" "year" "path"

Deleting a file

$ ./bin/dclient -a "title" "authors" "year" "path"

Shutting server down

$ ./bin/dclient -f

Consulting a file meta_information

$ ./bin/dclient -c "key"

Searching for the number of lines that a keyword appeares in a file

$ ./bin/dclient -l "key" "keyword"

Searching for the files where a keyword appears

$ ./bin/dclient -s "keyword" "nr_processes"(optional)

Contributing

As a university group project, we cannot allow external contributors.

Group Members

About

A project made for a class with the objective of creating communication between client-server, through pipes/fifos and process concurrency, while exploring the concepts of Operating Systems in c.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •