From e8b1808eaf87a49e4c34ebbfb66854baa627418c Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Mon, 18 Feb 2019 07:35:54 -0500 Subject: Moves assignments to given course folder. --- sync/assign.rst | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 sync/assign.rst (limited to 'sync/assign.rst') diff --git a/sync/assign.rst b/sync/assign.rst deleted file mode 100644 index ea4a566..0000000 --- a/sync/assign.rst +++ /dev/null @@ -1,41 +0,0 @@ -================ -Syncronization 1 -================ - -Write a program that uses semaphores to implement a readers/writers solution. Your program should: - - - be written in C and use the standard kernel IPC mechanisms (semget,semop,shmget etc) - - be written as a single top level source file compiled as: gcc –o myprog myprog.c - - take two arguments on the command line: myprog NR NW where NR,NW are each integers specifying the number of reader/writer processes respectively - - use fork/exec to create the readers/writers - -The shared memory segment should be 16k bytes in size, with all bytes initialized to 0x30 - -Reader: - -.. code :: - - open a file (for append) named reader.N, where N is the reader number - while (1) { - for (i=0; i<16k; i++) { - read the next byte of the shared memory segment - write that byte to the file - flush the file - } - sleep a random number of seconds, between 0 and N inclusive - } - -Writer: - -.. code :: - - while (1) { - for (i=0; i<16k; i++) - shared memory segment[i] = N + 0x30; - sleep a random number of seconds between 0 and 2*N inclusive - } - -readers and writers should be mutually exclusive -multiple concurrent readers are allowed -writers have priority over readers -writers are mutually exclusive relative to each other -- cgit v1.1