CSC422 Operating Systems - Exam 1

0.0(0)
Studied by 54 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/72

flashcard set

Earn XP

Description and Tags

For Dr. Bennet's CSC422 class at Mississippi College

Last updated 7:26 PM on 9/14/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

73 Terms

1
New cards

Memory hierarchy

A system where smaller, faster storage (like cache) is used to keep recent data, working with larger, cheaper storage (like main memory) to create a seemingly large and cheap storage system

2
New cards

Address Mapping

The process where the CPU translates virtual addresses used by programs into real addresses before sending them to the memory unit

3
New cards

Real addresses

The actual memory locations used by the hardware
Virtual addresses

4
New cards

Kernel

The core component of an operating system

5
New cards

Applications

Programs designed for specific user tasks, distinct from the operating system kernel and utilities

6
New cards

Utilities

Software tools that provide services between the operating system kernel and applications

7
New cards

Extended machine

The concept that an operating system adds functionality to the machine, making it seem more capable (also sometimes called a virtual machine in this context)

8
New cards

Resource manager

The role of an operating system in allocating and enforcing the use of resources such as memory, disk, and exclusive devices

9
New cards

First Generation (OS History)

The earliest era (1940s-1950s) of computing, characterized by hardware like relays or vacuum tubes, direct programmer interaction, and no operating systems

10
New cards

Second Generation (Batch systems)

An era (mid-1960s to mid-1970s) using transistors, where jobs were collected into batches on magnetic tape and run sequentially by the computer

11
New cards

Third Generation

An era (1965-1980) marked by integrated circuits, multiprogramming, spooling, and time-sharing systems like the IBM 360

12
New cards

Multiprogramming

A technique allowing multiple programs to reside in memory at the same time, combining compute- and I/O-bound jobs to improve CPU utilization

13
New cards

Spooling

A method allowing the CPU and peripheral devices to operate in parallel on a single machine

14
New cards

Time-sharing

An application of multiprogramming that allows multiple users to interact with a computer simultaneously, often via text-based terminals (TTYs)

15
New cards

Multics

A large, ambitious joint project (MIT and ATT) to create a utility-like computing service, which was a commercial failure but advanced technology

16
New cards

Unix

An influential operating system developed by ex-Multics programmers at ATT, known for its "small-is-beautiful" approach and having many descendants

17
New cards

Minicomputers

Smaller and cheaper computers than mainframes, such as the DEC PDP series, on which Unix was first developed

18
New cards

Fourth Generation (Personal computing)

The era (1980-present) defined by integrated CPUs, personal computers (e.g., Apple II, IBM PC), and graphical user interfaces (GUIs)

19
New cards

GUI (Graphical User Interface)

A user interface paradigm, pioneered at Xerox PARC and popularized by Apple Mac, which uses visual elements like windows, icons, and menus

20
New cards

Fifth Generation (Mobile computing)

The current generation of computing, characterized by devices with limited power, computing power, and peripherals, such as smartphones running iOS or Android

21
New cards

Registers

Small, high-speed storage locations within the CPU, including general-purpose registers, the program counter, stack pointer, and program status register

22
New cards

Program counter (PC)

A CPU register that stores the memory address of the next instruction to be executed

23
New cards

Context switch

The process of saving the current CPU state (registers) of one program and loading the saved state of another program to allow the CPU to switch between them

24
New cards

Multi-threaded processor

A CPU designed to run multiple threads concurrently, often by having multiple sets of registers (e.g., Intel's Hyperthreaded technology)

25
New cards

Multi-core

A CPU architecture where multiple processing units (cores) are integrated onto a single chip, essentially providing multiple CPUs

26
New cards

Solid-State storage (flash)

A type of storage (e.g., SSDs) that offers much faster reads than mechanical disks, without concern for operation order, but where writes cause wear and must be distributed

27
New cards

Memory-mapped I/O

A technique where device control registers are assigned memory addresses, allowing the CPU to communicate with devices by reading from and writing to these addresses

28
New cards

Port address space I/O

A technique where device control registers have their own dedicated address space, separate from memory, for CPU communication

29
New cards

Polling

A method of device control where the CPU continuously checks the status of an I/O device until it is ready

30
New cards

Interrupts

Hardware signals that cause the CPU to suspend its current task and transfer control to an interrupt handler in the operating system, used for I/O completion, errors, or periodic clock ticks

31
New cards

DMA (Direct Memory Access)

A hardware feature that allows I/O devices to transfer data directly to and from main memory without involving the CPU, improving efficiency

32
New cards

Traps

Software-initiated events, such as system calls, that cause the CPU to switch from user mode to supervisor (kernel) mode, transferring control to the operating system

33
New cards

CPU modes (User and Supervisor/Kernel)

Distinct operating modes of the CPU; user mode restricts access to privileged instructions (like direct I/O), while supervisor (kernel) mode grants full access to hardware

34
New cards

System Call (Syscall)

An interface through which user programs request services from the operating system kernel, typically involving a trap to switch to kernel mode

35
New cards

Memory Protection

Hardware mechanisms that enforce memory allocations, preventing programs from accessing memory regions they are not authorized to use, and generating an interrupt on violations

36
New cards

Clock interrupt

A periodic interrupt generated by a hardware timer, used by the operating system to regain control, enforce time-sharing, and perform scheduling

37
New cards

Process

An operating system abstraction that represents a running program, encompassing its identity, ownership, communication, control, and its own address space

38
New cards

Address space

The range of memory addresses that a process can refer to

39
New cards

Files

An abstraction used by the operating system to store and organize data on storage devices, characterized by hierarchy, permissions, and handles

40
New cards

Protection

The mechanisms, both hardware and software, used by the operating system to control access to system resources like memory and files

41
New cards

I/O (Input/Output)

Operations that involve data transfer between the computer and the outside world, which are exclusively performed by the OS at the request of user programs

42
New cards

Shell

A program that acts as a command interpreter, allowing users to interact with the operating system, either through a text-based interface or a graphical one

43
New cards

Monolithic structure

An operating system architecture where the entire OS, including all services, runs as a single, large program in kernel mode

44
New cards

Layered system

An operating system architecture where functions are organized into hierarchical layers, with each layer only communicating with the layer directly below it

45
New cards

Microkernels

An operating system architecture that minimizes the kernel by moving most OS services (like file systems and device drivers) into user-space server processes, which communicate via message passing

46
New cards

Virtual machines

Software that simulates a complete hardware environment, allowing one or more guest operating systems to run on top of a host system

47
New cards

Hypervisor (Type 1)

A virtual machine monitor that runs directly on the host hardware without a separate host operating system

48
New cards

Hypervisor (Type 2)

A virtual machine monitor that runs as an application on a host operating system, which then hosts guest operating systems

49
New cards

Paravirtualization

A virtualization technique where the guest operating system is modified to cooperate with the hypervisor, improving performance and efficiency, though sacrificing some generality

50
New cards

Multiprogramming

The rapid switching of the CPU among multiple processes, giving the illusion that they are running concurrently (pseudoparallelism)

51
New cards

Pseudoparallelism

The appearance of multiple processes running at the same time, achieved by rapid CPU switching in a single-processor system

52
New cards

Program in execution

Synonymous with a process; it includes the program code and its complete execution context (CPU state, registers, memory, etc.)

53
New cards

Process switching

The operating system's action of saving the current process's CPU state, updating system records, and loading the state of another process to give it control of the CPU

54
New cards

Process Creation

The act of initiating a new process, typically done by the kernel either during system boot, at the request of an existing process, or by a user command

55
New cards

Process Termination

The ending of a process, which can be voluntary (normal exit, error) or involuntary (killed by another process)

56
New cards

Process Hierarchies (Unix)

A system where processes are organized in a parent-child relationship, forming a tree structure, with process 1 (init) as the ultimate ancestor

57
New cards

Process table (Process Control Block / PCB)

A data structure maintained by the OS for each running process, containing essential information like process ID, state, scheduling parameters, resources, and saved register values

58
New cards

CreateProcess (Windows)

A Windows API function used to create a new process and execute a specified program, returning a handle for future management

59
New cards

Fork (Unix)

A Unix system call that creates an exact copy of the calling process, with both parent and child processes returning from the call

60
New cards

Exec (Unix)

A Unix system call that replaces the current process's memory space with a new program, effectively running a new program within the existing process context and not returning to the caller

61
New cards

CPU Utilization

The percentage of time the CPU is actively performing work, which can be estimated by the formula 1 - p^n, where p is the fraction of time a process waits for I/O and n is the degree of multiprogramming

62
New cards

Degree of multiprogramming

The number of active programs currently loaded into memory at the same time

63
New cards

Thread

A light-weight unit of execution within a process that has its own program counter, registers, and stack, but shares the memory space and other resources (like open files) with other threads in the same process

64
New cards

Traditional process

A process that contains only a single thread of execution

65
New cards

Threaded process (Modern process)

A process that can contain multiple threads of execution

66
New cards

Race condition

A situation that occurs when multiple threads access and modify shared data concurrently, and the final outcome depends on the non-deterministic order in which the threads' operations are interleaved

67
New cards

User space threads

Threads managed entirely by a user-level library without kernel awareness, meaning the kernel only schedules the containing process

68
New cards

Kernel threads

Threads that are directly managed and scheduled by the operating system kernel

69
New cards

Hybrid threads

A threading model that combines aspects of both user-level and kernel-level threads, often by mapping multiple user-level threads to a smaller number of kernel threads

70
New cards

Scheduler Activations

A model where the kernel provides a set of virtual processors (kernel threads) to a user-level thread library, and the kernel notifies the library (via an "up-call") of events like a thread blocking

71
New cards

Up-call

A mechanism where the operating system (kernel) invokes a function in a user-space scheduler, essentially a "system call in reverse"

72
New cards

Pop-up thread

A thread that is automatically created by the system in response to an incoming event, such as a network message, often used for quickly handling requests

73
New cards

Thread-local storage

A mechanism that allows each thread to have its own private copy of data that would otherwise be shared global or static variables, preventing race conditions without explicit synchronization

Explore top flashcards

flashcards
CĂ´ Yáşżn 5/12/2024
22
Updated 480d ago
0.0(0)
flashcards
EXAM 2 - part 6
22
Updated 250d ago
0.0(0)
flashcards
Einheit 1 Freunde
75
Updated 229d ago
0.0(0)
flashcards
Biology Honors Evolution
51
Updated 1096d ago
0.0(0)
flashcards
Matiekos egzas
73
Updated 819d ago
0.0(0)
flashcards
Livy 2.10 Vocab
20
Updated 1215d ago
0.0(0)
flashcards
CĂ´ Yáşżn 5/12/2024
22
Updated 480d ago
0.0(0)
flashcards
EXAM 2 - part 6
22
Updated 250d ago
0.0(0)
flashcards
Einheit 1 Freunde
75
Updated 229d ago
0.0(0)
flashcards
Biology Honors Evolution
51
Updated 1096d ago
0.0(0)
flashcards
Matiekos egzas
73
Updated 819d ago
0.0(0)
flashcards
Livy 2.10 Vocab
20
Updated 1215d ago
0.0(0)