Past Questions Flashcards
What is an OS?
Program that manages different aspects of the operation of a machine (processes, data storage, I/O, networks, UI, security/ protection). It is the intermediary between the user and the hardware. Controls system resources, decides their allocation. Always running on a machine in operation.
What is a process?
A program in execution. It is an active entity. Each execution of a program is treated as a separate process.
What is a batch OS?
Execute jobs in sequence. Programs were prepared as jobs and submitted to the operator. Operators grouped jobs together and submitted batches to the machine. Very non-interactive system.
What is spooling?
Simultaneous peripheral operations on line. Pipeline of jobs for peripheral devices. Need a secondary storage medium (disk)
What is a multi-programmed batch system?
Several jobs are held in main memory. Instead of CPU being idle while a it waits (for a job that is waiting for I/O), OS switches to another job, keeping track of where it left the old job of course.
What is a multitasking/time sharing system?
Aka multitasking system. Multiple users able to use the same system at the same time. Effectively shares the CPU. When several interactive programs are multi-programmed and CPU switches fast between them, it behaves/appears as though they are running independently.
What is a kernel?
Restricted space, core of OS. The part that is always running, is in charge and is allowed to interact with hardware.
What is a system call?
Service request to OS kernel eg “open file”, “write to screen”. Also a function, hence can return values (eg child processes).
What is a process control block?
Process control block, the record in the OS of the process. Contains info on – PID – pointer – state – PC – register contents – memory management info – I/O status info – accounting info
What is a parent process?
Process that created a new process via copying itself
What is a child process?
A new process that is initially a copy of it’s parent.
What is a zombie process?
A child process that terminates when its parent process isn’t waiting for it. Nothing to receive its exit status means it stays in process table. Also caused by kill().
What is a thread?
Like a smaller part of a process. It just has PC, register set and stack space. All other PCB info is shared with other threads belonging to the same process. Allows more complex data sharing. Threads can create children/be blocked. Have state too.
What is a kernel-level thread?
Implemented via system calls. Kernel can “see” these ones. But switching between threads is a lot slower.
What are the data race condition?
Situation where several processes access/manipulate the same data concurrently, and the outcome depends on the particular order. It is a problem of unrestrictedly running on the same data. Can still occur in systems that aren’t multiprocessing.