CPSC 351

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/120

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

121 Terms

1
New cards

I/O Management

A major component of OS design that handles device diversity, performance management, and provides uniform device-access interface

2
New cards

Port

Connection point for an I/O device to interface with the computer

3
New cards

Bus

Communication pathway that can be daisy chain or shared direct access; PCI and PCIe are common examples

4
New cards

Controller (Host Adapter)

Electronics that operate port, bus, and device; contains processor, microcode, private memory, and bus controller

5
New cards

Memory-Mapped I/O

Device data and command registers mapped to processor address space, especially useful for large address spaces like graphics

6
New cards

Direct I/O Instructions

Method where devices have addresses used by specific I/O instructions

7
New cards

Polling

Busy-wait cycle where host reads status register until ready; reasonable if device is fast but inefficient if device is slow

8
New cards

Interrupt-Request Line

CPU line triggered by I/O device and checked after each instruction to handle I/O completion

9
New cards

Interrupt Handler

Receives and processes interrupts based on priority; performs context switch at start and end

10
New cards

Interrupt Vector

Dispatch mechanism to route interrupt to correct handler

11
New cards

Maskable Interrupts

Interrupts that can be ignored or delayed; some interrupts are nonmaskable

12
New cards

Direct Memory Access (DMA)

Technique to avoid programmed I/O by bypassing CPU to transfer data directly between I/O device and memory

13
New cards

DMA Controller

Device that handles bus mastering to grab bus from CPU and perform cycle stealing for efficient data transfer

14
New cards

DVMA

DMA version aware of virtual addresses; more efficient than standard DMA

15
New cards

Device Driver

Software layer that encapsulates device details and hides differences among I/O controllers from kernel

16
New cards

Block Devices

Devices like disk drives with commands including read, write, seek; support raw I/O, direct I/O, or file-system access

17
New cards

Character Devices

Devices like keyboards, mice, serial ports with commands including get() and put()

18
New cards

Nonblocking I/O

I/O call returns as much as available immediately; returns quickly with count of bytes read or written

19
New cards

Asynchronous I/O

Process runs while I/O executes; I/O subsystem signals process when I/O completed

20
New cards

Blocking I/O

Process suspended until I/O completed; easy to use but insufficient for some needs

21
New cards

Vectored I/O

Allows one system call to perform multiple I/O operations; scatter-gather method better than multiple individual calls

22
New cards

Buffering

Storing data in memory while transferring between devices to cope with speed/size mismatches and maintain copy semantics

23
New cards

Double Buffering

Two copies of data: kernel and user, or full/being processed and not-full/being used

24
New cards

Caching

Faster device holding copy of data; key to performance, sometimes combined with buffering

25
New cards

Spooling

Hold output for a device that can serve only one request at a time (e.g., printing)

26
New cards

Device Reservation

Provides exclusive access to a device through system calls for allocation and deallocation

27
New cards

Programmed I/O

Moving data one byte at a time; inefficient for large data movement

28
New cards

STREAMS

Full-duplex communication channel between user-level process and device in Unix; consists of stream head, driver end, and zero or more modules

29
New cards

I/O Performance Factors

CPU execution of device driver/kernel code, context switches due to interrupts, data copying, and network traffic

30
New cards

Improving I/O Performance Methods

Reduce context switches, reduce data copying, reduce interrupts with large transfers/smart controllers, use DMA, use smarter hardware, balance CPU/memory/bus/I/O performance

31
New cards

Fetch file attributes and disk addresses

Fetch file attributes and disk addresses into RAM for speedy access

32
New cards

Close Operation

Free memory allocated to keep track of file state

33
New cards

Memory Mapped Files

Store file contents in process virtual memory; reading/writing file is like reading/writing local memory

34
New cards

Hierarchical Directory System

Directories containing subdirectories containing subdirectories; used by modern systems like Windows, Linux, macOS

35
New cards

Absolute Path

Path from root to file (e.g., /usr/ast/mailbox)

36
New cards

Relative Path

Path from current working directory to file

37
New cards

Partition

Division of disk; can be active (bootable OS) or inactive

38
New cards

Partition Table

Stores information about all present partitions (sizes and starting addresses)

39
New cards

Master Boot Record (MBR)

Stores boot program; BIOS executes MBR to find active partition and execute boot block

40
New cards

Boot Block

Contains program that boots OS on partition

41
New cards

Superblock

Contains magic number (identifies partition type), number of blocks, and administrative information

42
New cards

Free Space Management

Stores information about free blocks on disk

43
New cards

inodes

Array of data structures, one per file, containing file information and block addresses

44
New cards

Contiguous File Allocation

Store each file as contiguous run of disk blocks; easy but causes external/internal fragmentation

45
New cards

External Fragmentation

No hole big enough to store file in contiguous allocation

46
New cards

Internal Fragmentation

Unused space within blocks is wasted

47
New cards

Linked List Allocation

Store file blocks in linked list with first word of each block containing pointer to next

48
New cards

File Allocation Table (FAT)

Linked list allocation with table in memory; entire block used for data, list traversed without disk references

49
New cards

I-node (Index Node)

Data structure containing file attributes and list of file block addresses; only in memory when file is open

50
New cards

Directory Entry

Maps file name to information needed to locate data; stores or references attributes

51
New cards

Soft Link (Symlink)

File which references path of another file

52
New cards

Hard Link

Alias of file; associates name with file; pointer to file's i-node

53
New cards

Journaling

Create list of changes (journal) and save to disk before modifying file system; protects from inconsistencies after crashes

54
New cards

Virtual File System (VFS)

Provides object-oriented way of implementing file systems; allows same system call interface for different file system types

55
New cards

Page Cache

Caches information from disk in RAM to speed up disk accesses

56
New cards

Linked-List Free Space Management

Linked list of blocks where each block stores list of free block numbers

57
New cards

Bitmap Free Space Management

Reserve blocks that store bitmap where bit n=1 means block n is free, bit n=0 means used

58
New cards

Security

System is secure if resources used and accessed as intended under all circumstances (unachievable in practice)

59
New cards

Threat

Potential security violation

60
New cards

Attack

Attempt to breach security; can be accidental or malicious

61
New cards

Intruders (Crackers)

Those who attempt to breach security

62
New cards

Breach of Confidentiality

Unauthorized reading of data

63
New cards

Breach of Integrity

Unauthorized modification of data

64
New cards

Breach of Availability

Unauthorized destruction of data

65
New cards

Theft of Service

Unauthorized use of resources

66
New cards

Denial of Service (DOS)

Prevention of legitimate use

67
New cards

Masquerading

Pretending to be authorized user to escalate privileges; breach of authentication

68
New cards

Replay Attack

Resending captured message as-is or with modification

69
New cards

Man-in-the-Middle Attack

Intruder sits in data flow, masquerading as sender to receiver and vice versa

70
New cards

Session Hijacking

Intercept already-established session to bypass authentication

71
New cards

Four Levels of Security

Physical (data centers, servers), Human (avoid social engineering), Operating System (protection mechanisms), Network (prevent interception/interruption)

72
New cards

Trojan Horse

Code segment that misuses its environment; exploits trust mechanisms

73
New cards

Trap Door

Specific user identifier or password that circumvents normal security procedures

74
New cards

Logic Bomb

Program that initiates security incident under certain circumstances

75
New cards

Stack and Buffer Overflow

Exploits bug by writing past arguments on stack into return address; enables privilege escalation

76
New cards

Virus

Code fragment embedded in legitimate program; self-replicating, designed to infect other computers

77
New cards

Virus Dropper

Inserts virus onto system

78
New cards

Boot/Memory Virus

Infects boot sector or memory

79
New cards

Macro Virus

Written in macro language; example: Visual Basic macro

80
New cards

Polymorphic Virus

Changes to avoid having virus signature

81
New cards

Worm

Standalone program using spawn mechanism; can spread across networks

82
New cards

Port Scanning

Automated attempt to connect to range of ports to detect services, OS, and vulnerabilities

83
New cards

Distributed Denial-of-Service (DDOS)

DOS attacks coming from multiple sites simultaneously

84
New cards

Cryptography

Means to constrain potential senders/receivers of messages based on secrets (keys)

85
New cards

Encryption

Constrains set of possible receivers of a message using keys and algorithms

86
New cards

Symmetric Encryption

Same key used to encrypt and decrypt; key must be kept secret; examples: DES, Triple-DES, AES, RC4

87
New cards

DES (Data Encryption Standard)

Block-encryption algorithm; keys now too short, considered insecure

88
New cards

AES (Advanced Encryption Standard)

NIST-adopted block cipher; keys of 128, 192, or 256 bits; works on 128-bit blocks

89
New cards

Asymmetric Encryption (Public-Key)

Each user has public key (published) and private key (secret); RSA is most common

90
New cards

RSA

Block cipher based on difficulty of finding prime factors; public key encrypts, private key decrypts

91
New cards

Authentication

Constraining set of potential senders of message; proves message unmodified

92
New cards

Hash Function

Creates small, fixed-size message digest from message; must be collision resistant

93
New cards

Message Digest

Small, fixed-size block of data (hash value) created from message

94
New cards

Collision Resistant

Infeasible to find different message with same hash value

95
New cards

MD5

Message-digest function producing 128-bit hash

96
New cards

SHA-1

Message-digest function producing 160-bit hash

97
New cards

Message Authentication Code (MAC)

Symmetric encryption used for authentication; cryptographic checksum generated from message using secret key

98
New cards

Digital Signature

Based on asymmetric keys; anyone can verify authenticity; private key signs, public key verifies

99
New cards

Certificate Authority

Trusted party that certifies public key belongs to entity; their public keys included with web browsers

100
New cards

Digital Certificate

Proof of who/what owns public key; public key digitally signed by trusted party