The heart of a computer is its operating system. Also known as OS for short, this software sits between the user and the computer hardware, and controls various interactive processes between the two. Here are some questions you may hear in your OS interview:
Q. What steps, if any, would you take before loading an operating system onto your machine?
A. Before installing any operating system, it is essential to partition and format the hard drive, as this will allocate space on the drive for the OS. You need to name the drive and create the desired file system structure.
Q. What is turnaround time? What is response time?
A. Turnaround time is the duration between a job being submitted and completed. Response time is the duration between a request being submitted and a response being received.
Q. List some reasons for a process to terminate, besides successful completion.
A. A process could terminate early due to memory unavailability, timeout, protection error, arithmetic error, bounds violation, input-output failure, data misuse. There may be other possible reasons as well. You should know the details of each in order to successfully respond to operating system interview questions.
Q. What is paging? How to decide the page size of your operating system at the design stage?
A. Paging is the way that an operating system manages its memory allocation. Each process can have non-contiguous placement of its physical address space, since memory chunks are of varying sizes. There are no fixed rules for page size; your design considerations will depend on the type of system, page table, paging time, and how they interact to affect the operating system’s efficiency.
Q. An operating system loads programs into the CPU memory either via load-time or run-time dynamic linking. What is the difference between the two?
A. With load-time dynamic linking, the load module is read into memory. If it references any external module, the latter is also loaded into memory. The references are updated to a relative address from the application module’s base address. With run-time linking on the other hand, the module is loaded and linked only when it is actually referenced during execution. It is especially useful for large pieces of code, and helps in better allocation of memory space.
Q. What are Time Sharing Systems?
A. When the CPU switches between multiple jobs in a multi-tasking fashion, it is a time-sharing system. The switching speed is high enough for the user to interact with any program at a given point in time.
Q. What is SMP?
A. SMP stands for Symmetric Multi-Processing. It has the usual advantages of any multi-processor system, such as increased throughput and cost savings through resource sharing. What makes it the most popular type of multi-processor system is that in this mode of operation, any thread or process can be assigned to any processor, thereby enabling maximum reliability and efficiency. Each processor runs an identical copy of the operating system, and can communicate with the other processors as and when needed.