CMSC 417 Midterm #1 (Fall 1997)

1. (12 points) Define or explain the following terms:
1. ATM cell
2. virtual circuit vs. packet switched
3. POTS
4. Frequency Division Multiplexing

2. (18 points) Limits on information exchange.
1. If we wish to send 1,000 octets per second through a 800hz channel, what is the minimum signal to noise ratio in decibels?
2. Explain why using additional bits per baud will not increase the maximum transmission rate through a channel with a fixed bandwidth and signal to noise ratio?

3. (15 Points) What is the difference between a protocol and a service interface? Explain your answer in terms of a the ISO seven layer model.
4. (20 Points) A proposed way to fix the count-to-infinity problem in distance-vector routing is that on a link failure the two routers at either end of the line immediately broadcast (via flooding) that the link between the two routers has failed. Will this solve the problem? Explain your answer.
5. (20 points) The following C program runs two threads, t1, t2, that share two integer variables, x and y. Thread t1 executes xdec() and thread t3 execute ydec(). xdec() should repeatedly do the following: decrement x by 2 and increment y by 1 if x is at least 2, otherwise block until x is at least 2. ydec() should repeatedly do the following: decrement y by 2 and increment x by 2 if y is at least 1, otherwise block until x is at least 2.
6. Using Pthreads, supply the missing code in the boxes to achieve this:

```int x = 10 ;
int y = 10 ;
xdec() {
while (1) {
x = x-2 ;
y = y-1 ;
}
}

ydec() {
while (1) {
y = y-2 ;
x = x-1 ;
}
}

main() {