This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ECE398SSL: Computer Systems Engineering Fall 2005 Study Guide Sample Questions for the First Midterm This guide contains example questions to help you study for the coming midterm. Most of these questions are short answer, whereas the test will include a larger portion of questions that require some code or analysis of code. The questions here are also not as carefully designed for clarity, in part so as to encourage you to think about different angles. On tests, we try to make our questions more precise. You may bring one 8.5x11” sheet (both sides) of handwritten notes to the test. No other materials are allowed. No calculators or other electronic devices are allowed. 1. As you may recall, Virtual PC is a simulator that runs most of the simulated code on the hardware itself, resorting to software emulation only for those instructions for which the additional level of virtualization makes emulation necessary. For example, a MOV instruction that writes into a memory-mapped I/O register on the emulated network card, telling it to send a packet, must be handled by delivering the packet to the real network card. Compare the performance of this type of simulation with both full software emulation and with execution without a virtual machine layer, then describe a couple of advantages of using a virtual machine over using the computer hardware directly. 2. Explain the basic abstraction supported by the make tool and give an example of how it can be used to express the process of compiling a software system consisting of several headers and source code files. 3. Describe two scenarios in which use of a source control tool can make a programmer’s life easier. 4. You compile a program, and it crashes due to a segmentation violation error. Estimate the time necessary to find the source code line that generated the error using print statements, assuming that the error is completely deterministic and that the program otherwise generates no output. State any assumptions that you find it necessary to make. Do the same exercise assuming the use of a symbolic debugger. 5. Breaking a software system into modules that can be tested individually can reduce the complexity of testing and debugging. Are there drawbacks to such design? If so, describe one. 6. Why is processor support for multiple data sizes useful ( e.g. , 8-, 16-, and 32-bit 2’s complement data types)?...
View Full Document
This test prep was uploaded on 04/18/2008 for the course ECE 391 taught by Professor Kalbarczyk during the Spring '08 term at University of Illinois at Urbana–Champaign.
- Spring '08