UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS
University of West Attica · Department of Computer Engineering and Informatics
Operating Systems II
Vasileios Evangelos Athanasiou
Student ID: 19390005
Supervision
Supervisor: Vasileios Mamalis, Professor
Co-supervisor: Nikolaos Psarras, Applications Lecturer
Athens, June 2022
This repository contains an assignment for Operating Systems II, focusing on inter-process communication using UNIX-domain stream sockets to validate Fibonacci number sequences exchanged between a client and a server.
| Section | Folder/File | Description |
|---|---|---|
| 1 | assign/ |
Assignment material |
| 1.1 | assign/ASK-2C-OS-II-LAB-2021-22.png |
Assignment description in English |
| 1.2 | assign/ΑΣΚ-2Γ-ΛΣ-ΙΙ-ΕΡΓ-2021-22.png |
Assignment description in Greek |
| 2 | src/ |
Source code implementations |
| 2.1 | src/server.c |
Server program implementation |
| 2.2 | src/client.c |
Client program implementation |
| 3 | README.md |
Project documentation |
| 4 | INSTALL.md |
Usage instructions |
The project implements communication between two programs using UNIX-domain stream sockets:
- A server program listens for client connections.
- A client program sends a sequence of integers.
- The server checks whether the received numbers match the first N values of the Fibonacci sequence.
- The server returns a response indicating whether the sequence is valid.
This assignment demonstrates inter-process communication techniques in Unix-like systems.
- Implement socket-based communication using UNIX-domain sockets.
- Exchange structured data between client and server programs.
- Validate Fibonacci sequences on the server side.
- Return validation results to the client.
- Demonstrate client-server interaction in a local system environment.
-
Client–Server Communication
Programs communicate locally using UNIX sockets. -
Sequence Validation
Server verifies correctness of Fibonacci sequences. -
Interactive Client
Client allows repeated sequence submission. -
Local IPC Mechanism
Uses UNIX-domain sockets instead of network sockets.
- Create UNIX-domain socket.
- Bind to a socket path.
- Listen for client connections.
- Receive integer sequences.
- Validate Fibonacci sequence.
- Send result back to client.
- Connect to server socket.
- Send integer sequences.
- Receive server response.
- Allow repeated user input.

