click below
click below
Normal Size Small Size show me how
CSCI 423 EXAM 1
| Question | Answer |
|---|---|
| What is an Operating System (OS)? | A program that acts as an intermediary between the user and computer hardware |
| What are the three main goals of an OS? | Execute user programs and make solving problems easier Make the system convenient to use Use hardware efficiently |
| What are the four components of a computer system? | Hardware Operating System Application Programs Users |
| From a user’s perspective, what does an OS provide? | Convenience, ease of use, performance, and fairness on shared systems. |
| From a system perspective, what is the OS? | A resource allocator and control program. |
| Why is there no universal definition of an OS? | Because definitions vary (e.g., “everything a vendor ships” vs. “the one program always running”). |
| What is always running on a computer? | The kernel. |
| What are system programs? | Programs that provide services to applications but are not the kernel. |
| What are application programs? | Programs that perform specific user tasks. |
| What is the first program that runs when a computer powers on? | The bootstrap program. |
| Where is the bootstrap program stored? | In ROM or EPROM (firmware). |
| What does the bootstrap program do? | Initializes hardware Loads the OS kernel Starts execution |
| What is an interrupt? | A signal that causes the CPU to stop current execution and handle an event. |
| What happens when an interrupt occurs? | Save address of interrupted instruction Use interrupt vector Transfer control to interrupt service routine (ISR) |
| What is an interrupt vector? | A table containing addresses of interrupt service routines. |
| What is a trap? | A software-generated interrupt (exception). |
| Give an example of a software interrupt. | System call, divide-by-zero error. |
| Give an example of a hardware interrupt. | Keyboard input, mouse click, disk completion. |
| Why is the OS called interrupt-driven? | Because it waits for interrupts to determine what to do next. |
| What is caching? | Copying data from slower storage to faster storage temporarily. |
| Why is cache checked first? | It is faster than main memory or disk. |
| Why is cache smaller than main storage? | Faster memory is more expensive. |
| Is RAM volatile or nonvolatile? | Volatile (data lost when power off). |
| Are disks and SSDs volatile? | No, they are nonvolatile. |
| What is the storage hierarchy (fastest → slowest)? | Registers → Cache → RAM → SSD → Disk → Tape. |
| Why are higher levels more expensive? | They are faster. |
| What manages I/O devices? | Device controllers. |
| What provides a uniform interface to devices? | Device drivers. |
| What is interrupt-driven I/O good for? | Small transfers. |
| What is DMA? | Direct Memory Access — large transfers without CPU involvement. |
| Why is DMA efficient? | CPU remains free for other tasks. |
| What defines a single-processor system? | One general-purpose CPU. |
| Are special-purpose processors considered separate CPUs? | No. |
| What is a multiprocessor system? | Two or more CPUs working together. |
| Advantages of multiprocessor systems? | Higher throughput Lower cost Higher reliability |
| What is Asymmetric Multiprocessing (AMP)? | One boss CPU controls worker CPUs. |
| What is Symmetric Multiprocessing (SMP)? | All CPUs are equal and share memory. |
| Which type do modern OSs use? | SMP (Windows, Linux, macOS). |
| What is a multicore system? | Multiple cores on one chip. |
| Advantage of multicore systems? | Faster communication and lower power. |
| What is UMA? | Uniform Memory Access — equal access time. |
| What is NUMA? | Non-Uniform Memory Access — some memory slower. |
| What is a cluster system? | Multiple independent computers connected via network. |
| Why use clusters? | High availability and high performance. |
| What is asymmetric clustering? | One active node, one standby. |
| What is symmetric clustering? | All nodes active. |
| What is a Beowulf cluster? | A Linux cluster built from inexpensive hardware. |
| What is multiprogramming? | Keeping multiple jobs in memory. |
| Why does multiprogramming improve CPU utilization? | CPU switches jobs when one waits for I/O. |
| What is time sharing? | Extension of multiprogramming for interactive use. |
| Difference between multiprogramming and time sharing? | Multiprogramming = maximize CPU efficiency Time sharing = fast interactive response |
| What is a process? | A running program. |
| What is job scheduling? | Choosing which jobs enter memory. |
| What is CPU scheduling? | Choosing which job runs next. |
| What is memory management? | Managing multiple jobs in memory safely. |
| What is virtual memory? | Allows programs to run without being fully in RAM. |
| Why is virtual memory useful? | Allows programs larger than physical memory. |
| What are the two CPU modes? | User mode and Kernel mode. |
| What is the mode bit? | A bit indicating current mode (0 = kernel, 1 = user). |
| What are privileged instructions? | Instructions allowed only in kernel mode. |
| Why are privileged instructions restricted? | To protect the OS and other programs. |
| What is a system call? | A request from a user program to the OS. |
| What happens during a system call? | Switch to kernel mode OS validates request Executes service Returns to user mode |
| What happens on illegal memory access? | Trap to OS. |
| What may the OS do with a faulty program? | Terminate it and generate memory dump. |
| Why does the OS use a timer? | Prevent infinite loops. |
| What happens when timer expires? | control returns to OS. |
| Are timer instructions privileged? | Yes. |
| How does OS stop a user from running privileged instruction? | Dual-mode operation + trap to kernel. |
| How does OS stop infinite loops? | Timer interrupt allows OS to regain control. |
| Why does multiprogramming increase efficiency? | CPU is never idle — runs another job while one waits. |
| What is the main goal of an OS? | Execute user programs and make problem-solving easier. |
| What are the two main roles of the OS? | Resource allocator and control program. |
| Why is symmetric multiprocessing better than asymmetric? | No single point of failure and better load balancing. |