DistributedSystems
A collection of materials and code examples exploring process and thread management, network communication, inter-process communication, and security essentials in distributed applications. Features Java implementations for key distributed system concepts.
Install / Use
/learn @rikulauttia/DistributedSystemsREADME
Distributed Systems Repository
This repository contains code, exercises, and examples from the Distributed Systems course at the University of Turku.
Contents
1. Process and Thread Management
- Code and examples for managing processes and threads in distributed environments
- Concurrency, synchronization, and scheduling in Java
2. Networking with Sockets
- Examples of network communication using TCP and UDP sockets
- Basic client-server model implementations
3. Inter-Process Communication (IPC)
- Demonstrations of IPC mechanisms, including pipes and shared memory
- Implementing communication between processes both locally and over networks
4. Application Communication Protocols
- Exercises on application-level protocols like HTTP
- Data serialization for communication across distributed systems
5. Distributed System Architectures
- Examples of RMI (Remote Method Invocation) and RPC (Remote Procedure Call)
- Basic setups and code for distributed architectures
6. Security in Distributed Systems
- Cryptographic techniques for securing communication
- Code examples covering encryption, digital signatures, and authentication
How to Use
- Clone the repository:
git clone https://github.com/rikulauttia/DistributedSystems.git cd DistributedSystems - Each directory contains relevant code files, with instructions in respective README files where needed.
