1/27
Flashcards Based on lecture material, made by Gemini 3 Pro.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What is an Operating System (OS)?
An abstraction layer providing a software interface between application programs and the hardware. It acts as a resource manager and hardware controller.
What were the functions of the earliest, simplest Operating Systems (Resident Monitors)?
To load, execute, and terminate a single program.
What is the Kernel?
The core of the operating system that handles fundamental functions like scheduling, memory management, synchronization, and interrupt handling.
What is BIOS?
Basic Input Output System. It abstracts peripheral control and takes care of details involved in handling devices to get the OS started.
What is a Boot Loader?
A small program that starts automatically when a computer is turned on and loads the rest of the Operating System into memory.
What is a Context Switch?
The process of halting the currently running process, saving its state, and loading the state of another process so it can use the CPU.
How does a Time Sharing system work?
Each program/process is run for a specific time slice (quantum) and then swapped out for another program to allow shared access to the CPU.
What is the difference between Long-term and Short-term scheduling?
Long-term scheduling determines which process is granted access to the system/CPU queue. Short-term scheduling determines which specific process runs on the CPU at any particular moment.
Describe the First-Come, First-Served (FCFS) scheduling algorithm.
Jobs are serviced in the order they arrive and run to completion if resources are available.
Describe the Round Robin scheduling algorithm.
Each job is allotted a specific amount of CPU time (time slice). If it doesn't finish, a context switch occurs, and it goes back to the queue.
Describe the Priority scheduling algorithm.
Jobs are assigned a priority level. The CPU preempts a lower-priority job when a higher-priority job needs to execute.
What is Process Starvation?
A problem in priority scheduling where low-priority jobs never get executed because higher-priority jobs keep arriving.
What is the difference between High Level Languages (HLL) and Low Level Languages (LLL)?
HLLs are closer to how humans think and solve problems. LLLs are closer to how the machine hardware implements the solution.
What is an Assembler?
A tool that translates mnemonic instructions (assembly language) directly into machine code.
Describe the First Pass of an Assembler.
The assembler reads the code to build a symbol table that maps labels (variables/jump points) to memory references.
Describe the Second Pass of an Assembler.
The assembler replaces the operands/labels in the instructions with the actual memory addresses found in the symbol table to generate the final machine code.
What is a Compiler?
A program that translates code written in a High Level Language into machine code (or assembly).
What are the three Analysis phases of a compiler?
Lexical Analysis
Syntax Analysis
Semantic Analysis
What happens during Lexical Analysis?
The source code is broken down and tokens are extracted (e.g., reserved words, variables).
What happens during Syntax Analysis (Parsing)?
The compiler checks the sentence structure/grammar of the code (often building an Abstract Syntax Tree).
What happens during Semantic Analysis?
The compiler checks for logical consistency, such as data types and the validity of operators.
What are the three Synthesis phases of a compiler?
Intermediate Code Generation
Optimization
Code Generation
What is Code Optimization in a compiler?
The process of improving the intermediate code to make the final program run more efficiently (e.g., removing redundant instructions).
What is a Virtual Machine (VM)?
A software emulation of a computer system. It acts as an imaginary computer running on top of a real one, managed by the kernel.
What is the Java Virtual Machine (JVM)?
A 'miniature operating system' that loads, verifies, and interprets Java bytecode so it can run on any host system.
What is the function of the Bytecode Verifier in the JVM?
It checks the integrity of the loaded bytecode to ensure security and valid code structure before execution.
What is the function of the Class Loader in the JVM?
It loads the bytecode (classes) into memory and performs run-time checks.
How does Java code run on different hardware?
Java source code is compiled into Bytecode (.class files), which is platform-independent. The JVM on the specific device then interprets this bytecode.