Lecture 8: Operating Systems Flashcards
Name the three layers of an Operating System and describe them.
Command Layer (shell/GUI): the user’s interface to the operating system. Accepts commands and requests from user.
Service Layer: contains a set of functions (API) called by programs and command layer for loading, managing and executing programs.
Kernel: interacts with and manages computer’s hardware resources, allocating them to users and apps as necessary.
Describe the Bootstrapping process.
Bootstrapping is the initiating of the operating system. The BIOS looks for OS in fixed location, loads OS into RAM, transfers control to the OS and then loader program in OS can begin loading and using programs.
List some functions the Kernel performs.
Process Management, CPU Management, Memory Management, User Management, I/O Device Management, File System Management.
What is a process?
A unit of executing software that is managed independently by the OS.
A program is not equivalent to a process. A program usually runs as a single process and sometimes as multiple processes.
Describe the difference between a single process OS and multitasking OS.
Single process: only allow one user program to be executing at a given time.
Multitasking: allows user programs to be executed concurrently. Not in parallel, however.
What are the three states a process can be in?
Ready state: process is ready and waiting to access CPU.
Running state: process is running and using CPU.
Blocked state: process is suspended while interrupt is processed.
What is the process of switching back and forth rapidly between programs?
Time-slicing.
What is the process of selecting which program is to run?
Dispatching/scheduling.
Name 3 different ways to CPU-schedule and describe them.
First come first served, explicit priority ranking and shortest remaining time.
Describe pre-emptive and non pre-emptive OSs.
Pre-emptive: OS can interrupt and force process to yield CPU to other processes.
Non Pre-emptive: OS allows processes to decide which controls CPU.
What is Time-sharing?
Time-sharing is the process of an OS having a timer which generates an interrupt in order to allow the OS to start another process to run on the CPU. It is inherently pre-emptive.
What is dispatching?
The task of switching between processes.
What is a process’s context/volatile portion?
The information that defines a process and is contained within the CPU ‘s registers.
What is context-switching?
The process of saving current process’ context to the stack and loading another’s from the stack into the CPU’s registers.
What is context-switching?
The process of saving current process’ context to the stack and loading another’s from the stack into the CPU’s registers.