AMCAT Operating Systems Fundamentals Flashcards
6 cards from real AMCAT practice questions. Tap to flip, then mark Knew It or Still Learning โ missed cards come back until you master them.
Read the first 6 AMCAT Operating Systems Fundamentals flashcards as text
Which of the following scheduling algorithms can lead to starvation of low-priority processes?
Answer: Priority Scheduling (without aging)
In Priority Scheduling without aging, low-priority processes may wait indefinitely if higher-priority processes keep arriving. This is called starvation. FCFS processes jobs in order (no starvation), RR gives each process a time slice (no starvation), and while SRTF can cause starvation, Priority Scheduling is the classic example.
What is the primary difference between a process and a thread?
Answer: Threads within the same process share memory space, while processes have separate memory spaces
The fundamental difference is in memory: threads within the same process share the same address space (heap, global variables, code), while processes have completely separate memory spaces. This makes inter-thread communication faster but also introduces synchronization challenges.
In virtual memory management, what is a page fault?
Answer: An event that occurs when a program accesses a page that is not currently in physical memory (RAM)
A page fault occurs when a running process tries to access a memory page that is mapped in its virtual address space but is not currently loaded into physical RAM. The OS then loads the required page from secondary storage (disk) into RAM, which causes a significant delay.
Which of the following is NOT a necessary condition for deadlock according to Coffman's conditions?
Answer: Preemption
The four necessary conditions for deadlock (Coffman conditions) are: Mutual Exclusion, Hold and Wait, No Preemption, and Circular Wait. 'Preemption' (the ability to forcibly take resources) actually prevents deadlock. It is 'No Preemption' (resources cannot be forcibly taken) that enables deadlock.
What is the purpose of a semaphore in operating systems?
Answer: To synchronize concurrent processes and control access to shared resources
A semaphore is a synchronization primitive used to control access to shared resources in a concurrent system. It uses a counter and two atomic operations (wait/signal or P/V) to ensure that critical sections are accessed safely, preventing race conditions.
In the context of memory management, what is internal fragmentation?
Answer: Wasted space within an allocated memory block because the block is larger than the requested size
Internal fragmentation occurs when allocated memory blocks are larger than what was actually requested. For example, if memory is allocated in fixed 4KB blocks and a process needs only 3KB, the remaining 1KB within that block is wasted. External fragmentation (option A) is wasted space between blocks.