Review Questions For Silberschatz & Galvin, 4th Edition ====================================================================== Chapter One ====================================================================== What actions does an operating system perform? What services does an operating system provide? What forces have driven the development of operating systems? List several major milestones in the development of operating systems. Discuss the operation of an old-fashioned batch system. Explain control cards. Explain distributed systems. ====================================================================== Chapter Two ====================================================================== Discuss the basic architectural components of a modern computing system, such as cache, registers, ALU, CPU, system bus, primary memory, device controllers, and hard disks. How are these elements typically structured and organized. How do they interoperate? Explain interrupts and how the functioning of a modern computing system depends on interrupts. Explain DMA. Explain privileged mode and privileged instructions. Discuss some important operating systems capabilities and the hardware support required to implement them. Explain system calls. ====================================================================== Chapter Three ====================================================================== Explain what a process is. What are the services that an operating system provides in relation to: Process Management Main-Memory Management Secondary Storage Management I/O System Management File Management Protection Networking Explain system calls Discuss several approaches to designing an operating system. ====================================================================== Chapter Four ====================================================================== Explain processes and threads. Explain process control blocks. Explain ready queue and I/O queue. Explain the roles of short term and long term schedulers. Explain swapping and context switching. Discuss some important Unix system calls. Explain user-level versus kernel-level threads. Explain the producer-consumer problem. Discuss several styles of interprocess communication. ====================================================================== Chapter Five ====================================================================== Explain preemptive and non-preemptive scheduling. Explain shortest-job-first (SJF) scheduling. What does it achieve? When is it easy to implement, and when is it hard to implement? Explain "aging" and what the need for it is. Explain round robin. Explain symmetric multiprocessing. Explain throughput, turnaround time, waiting time and response time.