CSE 12: Survey of Computer Science
Assignment #6 (OS, networks and algorithms)

I) Hand in your answers to the following questions, based on the multimedia for operating systems and networks:

Operating systems:
1. What is the purpose of virtual memory? If a program tries to access an address that is not in main memory, what happens?
2. What's the difference between a queue and a priority queue? Why might a batch OS use a priority queue to organize jobs?
3. What is ROM? What is the role of ROM when booting a computer?
4. What is an interrupt? Which part of an OS responds first to an interrupt?
5. What is a process? What can happen if two processes compete for the same resources?
6. Describe a couple of configurations (numbers of philosophers, how many eat, release/no release of forks) that lead to a deadlock and explain why. What aspect of the configuration appears to be most likely to cause a deadlock. How is the dining philosophers problem analogous to how an OS allocates resources?
7.What are threads? What's the pros and cons of thread scheduling with preemption, compared with "without preemption"?
8. Suppose two jobs arrive at a spooler, job 1 first and later job 2. If job 2 has a higher priority, will it interrupt job 1 and finish first? Why or why not? What if both jobs arrive at the same time--which job will finish first?

Networks:
1. What are some resources (name at least three) that servers provide clients via a network?
2. Given what you learned about Ethernet bus networks, why is Lehigh replacing the current 100-megabit Ethernet with a 1-gigabit Ethernet network in Packard Lab?
3. What does a Domain Name Service (DNS) do?
4. What are packets on the Internet? Describe the kind of information that at least one or two different layers of the OSI network model add to each packet.
5. What is encryption? Why is the Data Encryption Standard more secure than the Caesar cipher algorithm?
6. What's the difference between a virus and a worm?
7. What is a router? Why might one might to have a router in one's home?

Homework exercises:
In addition to the above questions from your lab work, do the following exercises in The Universal Computer: 6.3 (by "several" we mean at least two for each definition), 6.10, 6.11, 6.15, 6.20, 6.27, 6.28, 6.34, 6.37, 7.3, 7.13, 7.16, 7.20, 7.43, 7.44, 7.58, 7.62, 7.65.

Extra credit: 6.29,6.30, 6.41 and/or 7.41.

Due: Monday, 11/7, anytime before midnight.

Hand in: When you're ready to submit your assignment, combine the answers to all the exercises into one text file. Then, attach your file to assignment #6 (where you got this assignment) in Blackboard.

Prof. Blank