CMU Final SP 2011 Flashcards
Which of the following is a legitimate difference between IA-32 and x86-64? (a)Buffer overflow exploits are impossible under x86-64.
(b) IA-32 has caller-and callee-saved register conventions, while x86-64 does not.
(c)Under x86-64, any instructions that take 32-bit operands are illegal.
(d)None of the above.
(d)None of the above.
Which of the following is the best justification for using the middle bits of an address as the set index into a cache rather than the most significant bits?
(a) Indexing with the most significant bits would necessitate a smaller cache than is possible with middle-bit indexing, resulting in generally worse cache performance.
(b) It
is impossible to design a system that uses the most significant bits of an address as the set index.
(c) The process of determining whether a cache access will result in a hit or a miss is faster using middle-bit indexing.
(d)A program with good spatial locality is likely to make more efficient use of the cache with middle-bit indexing than with high-bit indexing.
(d)A program with good spatial locality is likely to make more efficient use of the cache with middle-bit indexing than with high-bit indexing.
Which of the following is not true about POSIX-style signals?
(a) Certain signals cannot be blocked. (b)A process can send a signal to itself. (c)A signal handler executing as the result of a received signal can never be interrupted by another incoming signal. (d) Signals can only be delivered when returning from system mode.
(c)A signal handler executing as the result of a received signal can never be interrupted by another incoming signal.
Which of the following is not a benefit of virtual memory?
(a) It allows the virtual address space to be larger than the physical address space
(b)No process can accidentally access the memory of another process
(c) The TLB is more effective since without it dereferencing a virtual address now requires two or more memory accesses
(d)Different processes can have overlapping virtual address spaces without conflict
(c) The TLB is more effective since without it dereferencing a virtual address now requires two or more memory accesses
Which of the following is a difference between blocking and ignoring a signal? (a)Once a blocked signal is unblocked, it will be handled by the process. A signal that comes while it is being ignored will never be handled.
(b) SIGSTOP and SIGINT can be ignored, but not blocked.
(c) Ignoring a signal only causes it to have no effect, while blocking a signal returns the signal to its sender. (d)None of the above
(a)Once a blocked signal is unblocked, it will be handled by the process. A signal that comes while it is being ignored will never be handled.
Where is the first argument to a function located in 32-bit assembly code, immediately after the call instruction is executed?
(a)%ebp+0x4
(b)%ebp-0x4
(c)%esp+0x4
(d)%exp-0x4
(c)%esp+0x4
Consider the following piece of code, where out.txt’s contents are“abc”: int main(int argc, char** argv) { intfd=open(“out.txt”,O_RDWR); charstr[]=”xyz”; charc; write(fd1,str,1); read(fd1,&c,1); write(fd1,&c,1); return0; } What is the contents of out.txt after the code is run? Assume all system calls succeed.
(a) xbb
(b) xba
(c) xac
(d) boat
(a) xbb
Which of the following is the best reason to choose Fast CGI over CGI?
(a) Superior support by web servers like Apache
(b) Lower process creation costs
(c) Lower process communication costs (d)Better process locality (all tasks can be executed locally)
(b) Lower process creation costs
Which of the following system calls can fail due to a network failure?
(a) socket(…)
(b) listen(…)
(c) bind(…)
(d) gethostbyname(…)
(d) gethostbyname(…)
Which of the following are copied on fork and preserved on exec?
(a)Global variables.
(b) File descriptor tables.
(c)Open file entry structs.
(d)None of the above.
(b) File descriptor tables.
Why would the kernel designer opt
for a 2-level page table when a full 2-level page table takes up more memory than a full 1-level page table?
(a) 2-level tables can translate virtual addresses faster.
(b) 2-level tables can reference more memory than 1 level tables.
(c)Most of the time, a 2-level page table will take up less memory than a 1 level page table.
(d) They wouldn’t. Adding more tables offers no advantages.
(c)Most of the time, a 2-level page table will take up less memory than a 1 level page table.
What section of memory holds the assembly for printf?
(a) Stack
(b)Kernel memory
(c) Shared libraries
(d)Heap
(c) Shared libraries
Every thread has its own:
(a)Heap
(b)Global values
(c) Stack
(d) Text data
(c) Stack
Why is gethostbyname not threadsafe?
(a)Only one thread at a time can do a DNS lookup
(b) It doesn’t have a mutex around it
(c) It returns a pointer to global shared memory
(d) It shares instructions with other threads
(c) It returns a pointer to global shared memory
If a page table on a 32-bit system is 2KB in size, how many entries does it contain?
(a) 2048
(b) 1024
(c) 512
(d) 256
(c) 512