Your job is to make a music playing device.  Here's the task list:
 
Points Task
3 Registers a major number
3 Can be written to
6 Rejects any write that contains any byte outside of A-G (all uppercase) or 1-9
6 Makes a sound
6 Makes different notes when different letters are sent
6 Can play "Mary Had A Little Lamb"
6 The digits 1-9 change the duration of following notes
6 Octave changes
2 has an 'r' for rest
10 Has a clear top and bottom half
5 Uses some locking something to regulate data changes
10 Can play a sound and receive data at the same time
10 Uses either a circular buffer or a linked list to hold requests (or something else that's O(n) and approved by me).
5 Has a status file describing the current amount of notes in the queue, and the metadata for the data structure.
For a linked list ... number of links and their addresses
For a circular buffer ... head and tail pointers

Here's a list of frequencies
 
Note Frequency
A 220
B 247
C 262
D 294
E 330
F 349
G 392

Here's the notes of "Mary Had a Little Lamb"
EDCDEEEDDDEGGEDGDEEEEDDEDG