-
.Which functions would one normally find in a micro-kernel? (circle all
that apply)
-
Interprocess communications
-
Memory management
-
CPU scheduling and allocation
-
File system
-
None or all of the above
-
Which of the following things are needed to make a multi-user operating
system with protection between users? (circle all that apply)
-
A memory management unit.
-
Privileged as well as unprivileged instructions.
-
A compiler that enforces protection between users.
-
All or none of the above.
-
Which of these are normally privileges instructions (circle all that apply)
-
Turn off interrupts
-
Clear memory
-
Read the clock timer
-
Change the memory map
-
Consider a process with multiple threads. Put a 'P' next to those things
that all threads in the process share. Put a 'T' next to those things that
are not shared.
-
Stack.
-
Address space.
-
Program counter.
-
Open file descriptors.
-
Set of registers.
-
.One problem with the Least Recently Used page replacement algorithm is
... (choose ONE)
-
Can be unfair to processes that need lots of CPU time.
-
Is not the provably optimal strategy like the frequency based approaches.
-
Has a common worst case.
-
None of the above.
-
All of the above except that choice containing the word "none".
-
(Higher/Lower) Do we normally give a higher or lower priority to a process
that leaves the run queue before using its whole time slice?
-
(Share/Not share)A processes does a fork(). Do the child and parent
use the same code segment, or different code segments?
-
Give one advantage of compile time binding over load time binding. __________________________________________________________
__________________________________________________________________________________________________________________
-
(Small/Large)Suppose I had a time sharing system with many computationally
expensive tasks, and few I/O bound or interactive tasks. Should
I use a small or a large time slice?
-
When does a context switch normally occur?
-
As processes complete I/O
-
As memory is allocated, changing the virtual address space.
-
As users log on and off the computer.
-
All or none of the above
-
Consider the memory map below. A request is made for 102K of
RAM. Where does each placement strategy allocate these 102K?
Worst Fit_________________ Best Fit ______________________ First
Fit______________________
50K Allocated |
197K Free |
291K Allocated |
104K Free |
72K Allocated |
300K Free |
-
In the realm of CPU scheduling, define starvation. ___________________________________________________
_____________________________________________________________________________________________
-
(Yes/No) Must you clear the TLB when switching processes (during a
context switch).
-
What fields are present in an inverted page table. Give at least
three fields.
field1 ____________________ field 2_________________________ field 3_____________________
-
(Virtual/Physical) Say a program generates a memory request for address
10232, somethng like this: MOVE R1, (10232). Is that 10232
a virtual address, or a physical address?
-
Unix is an example of what approach to operating system design?
-
Ad-hoc
-
Micro-kernel
-
Layered
-
Object Oriented
-
If I have two copies of the same program running, how many processes do
I have? ____________________
-
Consider the page replacement policy of a virtual memory system.
Which type of pages should the policy choose to be victimized (forced out
of physical RAM)? ______________________________________________________________________________________________________
-
Suppose I have a CPU that can access it's cache in 10ns, and takes 80ns
to get to RAM. The cache hit rate is 90%. What is the effective
access time? _______________________________
-
Name at least two ways a process can leave the ready queue: _______________________________________________________
___________________________________________________________________________________________________________
-
Consider the processes below. When does P2 finish using round robin,
assuming the current time is T=0?
Process |
Burst Length |
Priority |
P1 |
15 |
3 |
P2 |
5 |
1 |
P3 |
3 |
2 |
-
What type of scheduler is provably optimal at minimizing average wait time,
and why is it not used more often (what it its big problem)?
____________________________________________________________________________________________________________
____________________________________________________________________________________________________________
-
Suppose I have a computer that is responding very slowly to commands.
The hard drive light is continuously on. Which of these would significantly
help my computer back on its feet?
-
Get more cache
-
Get larger hard drive and allocate more swap/paging area
-
Page more data out to disk
-
Swap more processes out to disk
-
All or none of the above
-
Why do we want computation for one process to temporally overlap I/O for
another process? ___________________________________
_________________________________________________________________________________________________________________
-
Consider the following code. How many page faults might it generate.
Assume that each page is 1024 bytes long, and that the 'a' array is not
currently im RAM Assume there is 100 KB of RAM available for
caching the RAM array, and the average page fault takes 13ms to service.
Assume that the computer is a Gateway 2000 with a Pentium at 200Mhz.
Assume this is part of a complex ray tracing algorithm. Assume the
user is logged in as the super user 'root'. Assume the users birthday is
November 23. Show work.
_________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________
for(i = 0; i < 1024; i++)
for(j = 0; j < 1024; j++)
a[i][j]
= 0;