1/36
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
What makes a computer?
processor, memory, I/O devices, system bus
registers
small, fast storage location within the CPU, data that needs quick access, holds operands for arithmetic and addresses for memory access
on cpu cache
small, high speed memory located inside/very close to the cpu, includes L1, L2, L3 caches, managed by cpu, avoids unnecessary read/write on BUS
main memory
large storage media that the cpu can access directly, volatile
secondary storage
non volatile slower memory, hdds and ssds
PC (Program Counter)
Keeps track of the memory address of the next instruction to be executed
IR (Instruction Register)
Holds the current instruction being executed
MAR (Memory Address Register)
Contains the address in memory that is to be read from or written to
MBR (Memory Buffer Register)
Temporarily holds data being transferred to or from memory
I/O AR (Input/Output Address Register)
Stores the address of a specific I/O device for communication
I/O BR (Input/Output Buffer Register)
Temporarily holds data being transferred to or from an I/O device.
Execution Unit
Executes instructions, performing calculation or operations as required.
Main memory
stores both instructions and data required for execution, memory location has an address (0,1,2, …, n-1), stored sequentially at lower addressed while data is stored at higher addresses
I/O module
handles communication between CPU and external devices, includes buffers to store data moving between devices
System Bus
transfers data, addresses, and control signals between components
Fetch Decode Execute Flow
PC → MAR → Memory → MBR → IR → Decode → Execute
Decode
Control unit decodes IR, figures out what operands/registers are needed and what to perform
Execute
Perform instruction, ALU/registers/memory do actual work, store result if needed
Fetch
Address of next instruction goes into MAR, instruction is fetched from memory into MBR, instruction moves to IR, PC moves to next instruction
abstraction
give applications a simple interface while hiding complicated details
resource managment
let the os decide how limited hardware resources are shared
isolation and protection
keeps programs separated, controls what they are allowed to access
API (Application Programming Interface)
defines interface at source code level, how software or programs interact
ABI (Application Binary Interface)
defines interface at binary level, specifying how compiled programs and libraries interact with the os or hardware
CPU time overhead
context switching, process scheduling, handling system calls
memory overhead
kernel code, device drivers, page tables, process control blocks
storage overhead
os binaries, system configurations, swap space, system logs
os abstractions
process, thread, file, socket, memory pages
os mechanisms
create, schedule, open, write, update, allocate, etc
policies
least recently used (LRU), FIFO, Shortest Job next (SJN), etc
kernel
core component of an operating system that interacts directly with the hardware
operating system
system software that provides an interface between user and hardware
program
static representation of operating and data, code, set of instructions to perform specific task stored on disk, passive entity
process
dynamic, instance of an active execution, active entity execution of a program in the memory
multiprogramming
technique in OS that allow multiple programs to reside in memory and execute concurrently by sharing system resources like cpu and memory, appearance of running multiple
pseudo paralellism
no true simultaneous execution of different programs
multiprogramming benefits
keeps cpu busy, reduces idle time, ensures resources are efficiently shared among multiple programs, multiple programs can progress simutanously.