OS for Programmers (my set)(OG)

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/81

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

82 Terms

1
New cards

Constant Linear Velocity (CLV)

  • Variable speed of the disk.

  • Bit density stays constant from inner to outer tracks.

  • The disk spins faster on the inner tracks and slows down on the outer tracks, ensuring even spacing of data regardless of the track's position

2
New cards

Constant Angular Velocity (CAV)

  • Constant speed of the disk.

  • Bit density decreases from inner to outer tracks.

  • The disk doesn't change its speed, which is simpler mechanically, but the amount of data you can store and retrieve changes based on the track position.

3
New cards

Two stages of Positioning Time (Random-Access Time)

Seek Time and Rotational Latency

4
New cards

Seek Time

the time it takes the read-write head to position over the desired cylinder.

5
New cards

Rotational Latency

the time it takes the read-write head, once over the desired cylinder, to access the desired track

6
New cards

Raw Disk

Direct access to a secondary storage device as an array of blocks with no file system.

7
New cards

Boot Disk

A disk that has a boot partition and a kernel to load to boot the system. A device that has a boot partition and can store an operating system for booting the computer.

8
New cards

System Disk

A storage device that has a boot partition and can store an operating system and other information for booting the computer.

9
New cards

Virtual Disk

Simulates a disk drive using part of another storage device (like in virtual machines)

10
New cards

Bootstrap

The set of steps taken at computer power-on to bring the system to full operation

11
New cards

Boot Partition

A storage device partition containing an executable operating system

12
New cards

Swapping

A memory management technique where entire processes are moved between main memory (RAM) and secondary storage (disk) to free up physical memory.

13
New cards

Memory Compaction

When the operating system rearranges data in memory to combine scattered empty spaces (or "holes") into one big empty space. This helps free up a large enough block of memory for new processes, instead of leaving memory fragmented into small, unusable pieces.

14
New cards

Preemptive Scheduling

Stops a currently running process and allows the system to pick another process to run.

15
New cards

Non-Preemptive Scheduling

Once a process starts running, it keeps running until it finishes or voluntarily gives up the CPU. It won’t be stopped in the middle

16
New cards

Short Term Scheduler (CPU Scheduler)

Decides which process runs on the CPU next, and it can be preemptive (interrupt processes) or non-preemptive (let processes finish)

17
New cards

Long Term Scheduler (Job Scheduler)

Decides which processes get admitted into the system to run at all.

18
New cards

Bitmap

A bitmap is an array of bits where each bit represents the status of a disk block.

  • 1 means the block is allocated (in use).

  • 0 means the block is free (available for use).

19
New cards

Rotational Delay (Latency)

Waiting for the disk to rotate so the desired data is under the head.

20
New cards

Sector Overhead Time

The small, additional time spent handling administrative data associated with a sector on a hard disk

21
New cards

Partitioning

Creating groups of blocks on secondary storage

22
New cards

Digest

The output or result produced by a hash function

23
New cards

Login Spoofing

Type of attack where an attacker creates a fake login prompt

24
New cards

Back Door

A mechanism that bypasses user authentication. Ex: A systems programmer could modify the login utility to accept a specific user without requiring a password, thus permitting unauthorized access to the system at a later time.

25
New cards

Blocking

A mode of communication in which the sending process is blocked until the message is received by the receiving process or by a mailbox and the receiver blocks until a message is available. In I/O, a request that does not return until the I/O completes.

26
New cards

Non-Blocking

A type of I/O request that allows the initiating thread to continue while the I/O operation executes. In interprocess communication, a communication mode in which the sending process sends the message and resumes operation and the receiver process retrieves either a valid message or a null if no message is available. In I/O, a request that returns whatever data is currently available, even if it is less than requested.

27
New cards

.Logic Bomb

Unauthorized code inserted into the system and executed at a specified time to perform some destructive action (often for blackmail/revenge)

28
New cards

Information Leaking

The disclosure of confidential or secret information by a legitimate user to an unauthorized user.

29
New cards

Virus

A piece of executable code that embeds itself into legitimate programs and copies itself to other programs and systems with the intention of causing harm

30
New cards

Phishing

An unsuspecting user is presented with a fake webpage that looks like a legitimate site. Can be attempted from outside of the system using email or other means of communication.

31
New cards

Kernel

Minimal set of functions necessary to manage the system resources safely and efficiently

32
New cards

Paging

Translates logical pages to physical frames, allowing non-contiguous memory allocation with equal-sized units.

33
New cards

Dynamic Linking

Loading external libraries or modules at runtime, only when needed, to save memory and allow code sharing among processes.

34
New cards

Static Linking

Including all external libraries or modules in the executable at compile time, resulting in a larger file that uses more memory.

35
New cards

Dynamic Linking Library (DLL)

A file format used to store shared code, functions, and resources that can be used by multiple programs

36
New cards

50% Rule

In dynamic memory allocation, fragmented memory is about 50% of the allocated memory, resulting in one-third of total memory being lost to fragmentation

37
New cards

Linked List

linear data structure where elements, called nodes, are connected using pointers.

38
New cards

Probe

A location to which DTrace can bind a request to perform a set of actions

39
New cards

Belady’s Anomaly

More frames can end up equating to more page faults

40
New cards

Resource Allocation

Operating system service that ensures the efficient operation of the CPU, memory, and I/O

41
New cards

Communications

This service manages the exchange of data between processes or devices, facilitating interaction within the system.

42
New cards

Program Execution

The process of loading, running, and managing programs, allowing them to execute instructions in the CPU.

43
New cards

Distributed Processing

Emerged around the 4th and 5th generations, involving networked systems that share resources and collaborate on tasks.

44
New cards

Batch Processing


Introduced in the 2nd generation of computers, this processing method groups jobs together and runs them sequentially without user interaction

45
New cards

Real-Time Processing

Characterized by continual input, which must be processed fast enough to generate nearly instantaneous output. Each arriving input item is subject to a deadline

46
New cards

Interactive Processing

Allows users to directly interact with the system, responding to user inputs quickly. Became prominent in the 3rd generation.

47
New cards

Daemon

A background process that is part of the OS, responsible for tasks like scheduling, network management, and printing, ensuring services run smoothly.

48
New cards

Worm

An unauthorized program, which exploits one or more systems weaknesses to spawn copies of itself on other systems via computer networks

Typical objective is to cause harm to the system by destroying information or causing denial of service. A buffer overflow attack is a common approach for this to enter a system.

49
New cards

Virus

A piece of executable code that embeds itself into legitimate programs and copies itself to other programs and systems with the intention of causing harm

A Trojan horse attack is a common way for this to enter into a system as part of a service program downloaded by a user from the Internet

50
New cards

Master Boot Record (MBR)

Windows boot code, stored in the first sector of a boot partition

51
New cards

Boot Sector

The first sector of a Windows boot device, containing the bootstrap code

52
New cards

Bootstrap

The set of steps taken at computer power-on to bring the system to full operation

53
New cards

Mounting

Making a file system available for use by logically attaching it to the root file system.

54
New cards

Segmentation

Translates logical segments to physical segments, supporting non-contiguous allocation with variable-sized units.

55
New cards

Frames

Fixed-size physical memory blocks that correspond to logical pages, ensuring non-contiguous allocation in paging systems.

56
New cards

Page Table

A data structure that maps logical pages to physical frames, enabling the OS to translate logical addresses into physical addresses.

57
New cards

Semaphore

A synchronization primitive that controls access to the critical section. It can be a binary …(also called a mutex), which takes values of 1 (available) or 0 (occupied), ensuring mutual exclusion.

58
New cards

Queue

A data structure that maintains the order of processes, typically used to manage tasks waiting for resources

59
New cards

Contiguous Allocation

Stores files in adjacent blocks, requiring continuous space. Fast access but prone to external fragmentation

60
New cards

Linked Allocation

Uses a linked list of blocks, where each block points to the next. Allows files to grow non-contiguously

61
New cards

Indexed Allocation

Uses an index block to hold pointers to all file blocks. Supports random access and non-contiguous storage

62
New cards

Clustered Allocation

Groups blocks into clusters for file storage, reducing the number of disk accesses and improving speed

63
New cards

Multiprogramming

Increases CPU utilization, keeps the CPU busy by switching between processes, ensuring that the CPU doesn't sit idle.

64
New cards

Application Programming Interface (API)

A set of commands, functions, and other tools that can be used by a programmer in developing a program

65
New cards

Common Internet File System (CIFS)

A network file-sharing protocol used to allow users to access files on a remote server over a local network, commonly used in Windows environments

66
New cards

Network Attached Storage (NAS)

A dedicated storage device connected to a local network that provides file-based storage to multiple users and devices

67
New cards

Storage Area Network (SAN)

A local-area storage network allowing multiple computers to connect to one or more storage devices

68
New cards

Multilevel Feedback Queue

Uses multiple queues with different priorities and allows processes to move between queues based on behavior (e.g., CPU usage).

69
New cards

Rotation Delay (Latency)

The time to wait for the desired data item to pass under the r/w head

70
New cards

Track

One of many concentric rings on a magnetic disk surface

71
New cards

Sector

A portion of a track and is the smallest unit of data that can be read or written with a single r/w operation

72
New cards

Salting

Used to prevent efficient brute-force attacks and the use of precomputed hash tables, making it more challenging for attackers to crack hashed passwords.

73
New cards

Swap Space

A dedicated area on the disk reserved for temporary storage of swapped-out processes. Acts as an extension of main memory.

74
New cards

Inode

In many file systems, a per-file data structure holding most of the metadata of the file. The FCB in most UNIX file systems

75
New cards

Device Driver

Device-specific program that implements I/O operations, requested by user applications or the OS, by interacting with the device controller

76
New cards

Device Controller (Adapter)

An electronic circuit capable of operating a specific I/O device using binary signals

77
New cards

Programmed I/O (PIO)

A method of transferring data between a CPU and a peripheral device in which data are transferred one byte at a time

78
New cards

Interrupt

A hardware mechanism that enables a device to notify the CPU that it needs attention

79
New cards

Direct Memory Access (DMA)

A resource-conserving and performance-improving operation for device controllers allowing devices to transfer large amounts of data directly to and from main memory

80
New cards

Trap

A software interrupt. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed

81
New cards

Host-Attached Storage

Storage accessed through local I/O ports. These ports use several technologies, the most common being SATA, as mentioned earlier. A typical system has one or a few SATA ports

82
New cards

Polling

A technique to determine whether a device is busy or idle by reading a flag set and reset by the device controller