Introduction
This page contains my documents related to computing. Most are from past lectures I have given or tutorials that I have created.
Distributed Computing
- A taxonomy of distributed systems
- Client-server communication
- Naming and binding
- Remote Procedure Calls
- RPC case studies
- Distributed File Systems
- Clock synchronization
- Group communication
- Mutual exclusion & election algorithms
- Distributed shared memory
- Clusters
- Virtualization
- Distributed Loookup Services
- OpenID
- Distributed deadlocks
- Distributed transactions
- Concurrency control
- Fault Tolerance
- Serverless networking
- Process migration
Computer Security
- Intro to Cryptography
- Authentication protocols
- Secure communication protocols
- Security and Firewalls
- Virtual Private Networks
- Steganography
- Sandboxing and signed software
C/UNIX Quick Programming HOWTOs
- Use getpid to get your process' ID
- Use getppid to get a parent process' ID
- Use fork to create processes
- Use exec to run another program
- Use fork and exec to create a new process and run a program
- Use wait to wait for a child to exit
- Use signal to be alerted that a child process terminated
- I/O redirection with the dup2
- Interprocess communication with the pipe
C Essential Programming HOWTOs
- Parsing command-line options with getopt.
- Using strtok to parse words (tokens) in a string.
- How to create and use a simple linked list