Programs: Operating systems
Project
The topic of the project is "cooperative text editing environment". It consists of a server program in C and a client in Qt3 (C++). Several clients can connect to one server and start editing a text file stored by the server; all modifications made by one client are automatically broadcast to the rest of the clients.
This program uses GPL license. Full license text is available here, for human-readable version see Wikipedia.
- medit-server-0.2.tar.gz (12.6 KB) - server source (C)
- medit-client-0.2.tar.gz (24.6 KB) - client source (Qt3)
Labs
- Shell, Awk, Sed, Perl
- zad1 (332 B) - a shell script which finds all files with specified extension and changes their extension to another
- zad2 (454 B) - a shell script which counts number of processes on terminals and logs that to a file
- zad3a (365 B) - a script using Sed which replaces all occurences of "Unix" with "Linux"
- zad3b (378 B) - a script using Sed which finds all lines with a number and a dot after it, and adds a word "Rozdział" ("chapter") before it
- zad4a (402 B) - a script using Awk which prints selected lines from a file
- zad4b (98 B) - a script using Awk which counts the number of users which use csh shell
- zad4c (309 B) - a script using Awk which counts the number of Fridays 13th in a given year
- zad5 (502 B) - a Perl script which counts number of occurrences of words in a file
- zad6 (576 B) - a Perl script which finds a word which is before the n-th occurence of another word in a file
- syst-lab1-shell.zip (2.8 KB) - all files
- File operations
- copy.c (4.8 KB) - a program copying a file using getc/putc or read/write
- Processes
- zad1.c (416 B) - a parent process forks a child process, then they both output their environment variables
- monfile.c (806 B) - a program which monitors a file and creates its copies when it's modified
- zad3.c (883 B) - a parent process forks two child processes, which perform some operations and return results to the parent
- syst-lab5-process.zip (1.4 KB) - all files
- Signals
- sigint1.c (389 B) - a program which intercepts SIGINT signal
- sigint2.c (381 B) - same as above, another version
- zad2.c (851 B) - a program which creates a number of child processes, and later kills them with SIGKILL
- sigusr-v1.c (1.3 KB) - two programs which communicate using SIGUSR signals
- sigusr-v2.c (2 KB) - another version of the previous program
- syst-lab6-signals.zip (2.7 KB) - all files
- Pipes
- zad1.c (1.5 KB) - a reader and a writer communicating through a pipe
- zad2.c (1 KB) - five child processes communicating with the parent through a pipe
- zad3.c (646 B) - two programs communicating through a FIFO queue
- syst-lab7-pipes.zip (1.9 KB) - all files
- IPC
- syst-lab8-ipc.zip (1.6 KB) - a client and a server communicating through a IPC message queue
- Shared memory
- syst-lab9-sharedmem.zip (1.4 KB) - two processes communicating through shared memory area
- Threads (pthread)
- prod-cons.c (2.5 KB) - producer & consumer using threads
- reader-writer.c (2.1 KB) - readers & writers using threads
- Everything: os-all.zip (36.3 KB)
