CS 430 -- Operating Systems -- The Final
-
Chapter 1 -- Introductions
-
What is the most COMMON reason we want to overlap computation
and I/O?
-
therwise operating system class would be boring.
-
DOS does not, so there is no need to.
-
Some common computations are not possible without overlapping computation
and I/O.
-
Total system throughput can be faster with overlapped computation and
I/O.
-
Dennis Miller is just not that funny.
-
Please connect by a line the application and the type of operating
system best suited for that application.
Word Processing
Real Time
Payroll
Interactive
Factory Control
Batch
-
Please list one disadvanage of an asymetric multiprocessing system.
__________________________________________________________________________
__________________________________________________________________________
-
Chapter 2 -- Computer System Structures
-
(T/F) One common use hardware interrupts is to notify the operating
system that an I/O operation is complete.
-
Which of the following should be privlidged instructions? (Cicle
all that apply).
-
Change the page table.
-
Read the real-time clock.
-
Clear physical memory
-
Halt the CPU
-
Compiler invocation
-
Reject Microsoft software
-
Suppose the operating system was placed in ROM. Would this be
suffecient protection in a multiuser operating system? If not, what
else need be protected?
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
-
Chapter 3 -- Operating System Structures
-
(Kernel/User) On an operating system such as DOS or UNIX, does the
command interpreter run in the kernel or as a user process?
-
Which of the following should be done on every system call. (Cicle
all that apply.)
-
Transfer control to the kernel.
-
Check arguments (if any) for validity.
-
Create/fork a new process to handle the request.
-
Write console error message.
-
Reboot computer if day-of-week = Sun.
-
Place the components listed below into a reasonable layered scheme.
Each layer should be implementable by the layers below. Feel free
to explain your layout to me in person if you think it's not obvious.
Hardware
____________________________
User Programs
____________________________
Virtual Memory
____________________________
CPU Scheduling
____________________________
Filesystem
____________________________
Timer
Interrupts
_____________________________
-
The Exokernel is closest in idea to (choose exactly one).
-
A macrokernel
-
A microkernel
-
A kernel of popcorn
-
An object-oriented kernel
-
Chapter 4 -- Processes
-
(T/F) A process waiting for an I/O operation to complete but otherwise
ready to run is in the READY queue?
-
One problem with user-level threads (as opposed to kernel implemented
threads) is (circle all that apply)
-
Excessively slow thread switch time.
-
Can only be used with operating systems that implement inverted page
tables.
-
One thread can block all the other threads with a single system call.
-
Threading needles is a pain in the fingers.
-
What operation must be done when switching processes that need not
be done when switching threads.
_____________________________________________________________________________________
_____________________________________________________________________________________
-
What information does a shortest job next scheduler need that first
come first serve and round robin does not?
_____________________________________________________________________________________
-
Chapter 5 -- CPU Scheduling
-
Which CPU scheduling algorithm is provably optimal amoung the non-preemptive
schedulers? (choose all that apply)
-
First come first serve
-
Round Robin
-
Shortest Job Next
-
Highest Priority Next
-
Multilevel feedback queue without aging
-
Which of the following algorithms is subject to starvation? (choose
all that apply).
-
First Come First Serve
-
Round robin
-
Shortest Job Next
-
Highest Priority Next
-
Multilevel feedback queue without aging
-
The VMS process scheduler gives processes that just finished waiting
for terminal I/O an priority boost. Why? (pick ONE)
-
To avoid deadlock among processes holding resources.
-
To prevent starvation.
-
To give interactive processes more CPU time.
-
All or none of the above.
-
_____ Suppose you have the following processes to run under Shortest
Job Next (without premption). Which process is running at time slice
#10? Low numbers are low priorities.
Job
Priority Arival Time
Length
---------------------------
1
10
1
5
2
5
2
3
3
12
3
17
4
6
4
8
-
Suppose a particular process was listed twice in the READY queue of
a round-robin scheduler. What effect would this have ________________________________________________________________________________________
________________________________________________________________________________________
-
Chapter 6 and 7 -- Process Synchronization and
Deadlocks
-
(T/F) Suppose two processes are each waiting for a lock held be the
other. Process A will wait 10 minutes for the desired lock, and process
B will wait 10 seconds. Are these processes in a deadlock?
-
Suppose process A is waiting on B which is waiting on C. Which
of the following actions will completely break the deadlock.
-
Kill process A (but not B nor C).
-
Release process B's access to the resource wanted by A, granting that
resource to A.
-
Force process C to re-request the resource it wants.
-
Reduce the priority of process B and C, giving more CPU to A so A can
finish.
-
Buy only Apple Mac products.
-
Chapter 8 -- Memory Managment
-
Which memory management technique results in the smallest physical
memory needs with adaquate runtime performance and no thrashing.
-
Use of Lotus Notes instead of the WWW.
-
Overlays
-
Paging with page tables
-
Paging with inverted page tables.
-
I'm designing an operating system for a CPU with no MMU. Thanks
to my special compiler that all users will use, I can change the starting
address of both code and data at process load time. I need
to run multiple processes at one time. Which memory managment
would be best?
____________________________________________________________________________________
____________________________________________________________________________________
-
(Normal/Inverted) Consider a machine with a HUGE virtual memory size,
and a SMALL physical RAM size. Which type of page table would be
best?
-
What is the average internal fragmentation wastage for a computer with
2K pages? ______________________
-
___________________ Where in physical RAM is virtual address 3054.
Assume 1000 byte (not 1kilobyte) pages.
Entry Number
|
1
|
2
|
3
|
4
|
5
|
Ram Location
|
5000
|
3000
|
5000
|
1000
|
7000
|
-
Chapter 9 -- Virtual Memory
-
Suppose you have a virtual memory system with an access time to memory
of 10 ns, and it takes 1000 ns to bring a page into memory off backing
store. Further, assume that 99% of all memory requests are to pages
already in RAM, and only 1% are to pages that need to be brought in.
What is the effective access time? __________________________
-
(FIFO/LRU) Which page replacement algorithm provides better performance,
First-in-first-out or Least recently used?
-
When do page faults occur?
___________________________________________________________________________________________
-
Consider a demand-paging system with the following measurements:
CPU Utilization
20%
Paging Disk
Utilization 97%
Other I/O
devices Util 5%
Which of the following will significantly improve overall system
performance. (circle all that apply)
-
Install a faster CPU
-
Install a bigger paging disk
-
Increase the degree of multi-programming
-
Decrease the degree of multi-programming
-
Install more main memory (RAM)
-
The system is running all out. There is little that can be done.
-
Chapter 10 and 11-- File System Stuff
-
Why do we have an explicit file open operation? Why do most file
systems not just have you pass the file name to read and write?
_________________________________________________________________________________
_________________________________________________________________________________
-
(T/F) A file system supporting only contigiously allocated files will
offer high performance for both sequential and random access applications.
-
(T/F) A file system supporting only files linked block by block will
offer high performance for both sequential and random access applications.
-
Consider a multilevel indexed file allocation method as used in UNIX.
Which of the following statements are true (cicle all that apply)?
-
Large and small files use equal amounts of space for index pointers
-
Large files can only access the first part of the file without an extra
disk seek operation.
-
Very large file sizes are supported.
-
.sdrawkcab depyt sgnith daer ot drah yrev si tI
-
All or none of the above.
-
(Read/Seek) Which normally costs more time, to seek the disk head to
a block or to read that block once seeked?
-
Which file allocation method makes it hardest to add a block to the
FRONT of a file? Assume the block before the first block of the file
is allocated to other uses.
-
The contigious method
-
The indexed method.
-
The linked method.
-
The File Allocation Table (FAT) Method.
-
Chapter 12 -- Secondary Storage Structure
-
Connect with lines the statement on the left and the associated disk
scheduling algorithm on the right.
First Come First Serve
Offers reasonable perfomance with no starving
Shortest Seek Time First
Often perfoms badly
Circular-Look
Can have starvation
-
________ Consider the following requests. If the disk head is
at block #125, and and just serviced a request at block #120, which request
gets serviced next under C-Look?
Request #
|
1
|
2
|
3
|
4
|
5
|
Block #
|
345
|
2345
|
12
|
698
|
2341
|
-
Where would you rather be right now?
-
Disneyland
-
Disneyworld
-
New Orleans Marti Gras