Operating Systems for Computer Scientists (chapter 1)

5.0(1)
studied byStudied by 56 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/129

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.

130 Terms

1
New cards

hardware

The CPU, memory devices, input/output (I/O) devices, and any other physical components that are part of a computer.

2
New cards

application program

A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.

3
New cards

ease of use

The amount of difficulty and complexity involved in using some aspect of computing.

4
New cards

resource utilization

The amount of a given resource (hardware or software) that is being used.

5
New cards

touch screen

A touch-sensitive screen used as a computer input device.

6
New cards

voice recognition

A computer interface based on spoken commands, which the computer parses and turns into actions.

7
New cards

Siri

The Apple voice-recognition system.

8
New cards

embedded computer

A computer system within some other, larger system (such as a car) that performs specific, limited functions and has little or no user interface.

9
New cards

resource allocator

An operating system or application that determines how resources are to be used.

10
New cards

control program

A program that manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.

11
New cards

Moore's Law

A law predicted that the number of transistors on an integrated circuit would double every eighteen months/ the idea that the number of parts on a computer chip doubles about every 18 months  

12
New cards

kernel

The operating system component running on the computer at all times after system boot.

13
New cards

system program

A program associated with the operating system but not necessarily part of the kernel.

14
New cards

middleware

A set of software frameworks that provide additional services to application developers.

15
New cards

bus

A communication system; e.g., within a computer, a bus connects various components, such as the CPU and I/O devices, allowing them to transfer data and commands.

16
New cards

device driver

An operating system component that provides uniform access to various devices and manages I/O to those devices.

17
New cards

interrupt

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

18
New cards

interrupt vector

An operating-system data structure indexed by interrupt address and pointing to the interrupt handlers. A kernel memory data structure that holds the addresses of the interrupt service routines for the various devices.

19
New cards

interrupt-request line

The hardware connection to the CPU on which interrupts are signaled

20
New cards

interrupt-handler routine

An operating system routine that is called when an interrupt signal is received.

21
New cards

interrupt-controller hardware

Computer hardware components for interrupt management.

22
New cards

nonmaskable interrupt

An interrupt that cannot be delayed or blocked (such as an unrecoverable memory error)

23
New cards

maskable

Describes an interrupt that can be delayed or blocked (such as when the kernel is in a critical section).

24
New cards

interrupt chaining

A mechanism by which each element in an interrupt vector points to the head of a list of interrupt handlers, which are called individually until one is found to service the interrupt request.

25
New cards

interrupt priority level

Prioritization of interrupts to indicate handling order.

26
New cards

random-access memory (RAM)

Rewritable memory, also called main memory. Most programs run from RAM, which is managed by the kernel.

27
New cards

dynamic random-access memory (DRAM)

The common version of RAM, which features high read and write speeds

28
New cards

bootstrap program

The program that allows the computer to start running by initializing hardware and loading the kernel.

29
New cards

volatile

Describes storage whose content can be lost in a power outage or similar event.

30
New cards

firmware

Software stored in ROM or EEPROM for booting the system and managing low level hardware.

31
New cards

bit

The basic unit of computer storage. A bit can contain one of two values, 0 or 1.

32
New cards

byte

Eight bits

33
New cards

word

A unit made up of one or more bytes. For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-byte) words.

34
New cards

kilobyte (KB)

1,024 bytes

35
New cards

megabyte (MB)

1,024^2 bytes

36
New cards

gigabyte (GB)

1,024^3 bytes

37
New cards

terabyte (TB)

1,024^4 bytes.

38
New cards

petabyte (PB)

1,024^5 bytes.

39
New cards

von Neumann architecture

The structure of most computers, in which both process instructions and data are stored in the same main memory.

40
New cards

secondary storage

A storage system capable of holding large amounts of data permanently; most commonly, HDDs and NVM devices.

41
New cards

hard disk drive (HDD)

A secondary storage device based on mechanical components, including spinning magnetic media platters and moving read-write heads.

42
New cards

nonvolatile memory (NVM)

Persistent storage based on circuits and electric charges.

43
New cards

tertiary storage

A type of storage that is slower and cheaper than main memory or secondary storage; frequently magnetic tape or optical disk.

44
New cards

semiconductor memory

The various types of memory constructed from semiconductors

45
New cards

memory

Volatile storage within a computer system

46
New cards

nonvolatile storage (NVS)

Storage in which data will not be lost in a power outage or similar event

47
New cards

nonvolatile memory (NVM)

Persistent storage based on circuits and electric charges.

48
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.

49
New cards

bus

a pathway that moves data and instructions between parts of a computer, like the CPU and devices 

50
New cards

device driver

software that helps the operating system talk to and control hardware like printers or keyboards 

51
New cards

interrupt

a signal from a device telling the computer’s brain (the CPU) that something important needs attention right away

52
New cards

interrupt vector

a list that shows where the computer should go to handle different kinds of interruptions 

53
New cards

interrupt-request line

a wire or circuit that lets devices send signals to the CPU to ask for attention  

54
New cards

interrupt-handler routine

a special program that the computer runs when it gets an interrupt signal  

55
New cards

interrupt-controller hardware

parts of the computer that manage when and how interrupts are handled  

56
New cards

non-maskable interrupt

an urgent signal that the CPU must deal with immediately, like a major error 

57
New cards

maskable

describes an interrupt that the CPU can choose to ignore briefly, usually when it’s busy doing something very important

58
New cards

interrupt chaining

a method where the computer checks a list of programs to find the right one to handle an interrupt  

59
New cards

interrupt priority level

a way of deciding which interrupts are most urgent, so that the computer can handle them in the right order

60
New cards

random-access memory (RAM)

a computer's main memory that can be used quickly to run programs 

61
New cards

dynamic random-access memory (DRAM)

a type of RAM that is fast and used a lot in computers  

62
New cards

volatile

describes memory that loses its information when the computer turns off 

63
New cards

electrically erasable programmable read-only memory (EEPROM)

a type of nonvolatile memory that can be electrically erased and reprogrammed to store data 

64
New cards

bootstrap program

the first program that starts a computer by getting everything ready for the main software to run when the computer is turned on 

65
New cards

bit

the smallest unit of data storage containing one of two values, 0 (off) or 1 (on) 

66
New cards

byte

eight bits  

67
New cards

word

a unit of data representing multiple bytes, such as 4 bytes in a 32-bit system or 8 bytes in a 64-bit system 

68
New cards

hard disk drive (HDD)

a storage device that uses spinning disks and read/write heads to store and retrieve data 

69
New cards

nonvolatile memory (NVM)

memory that retains data even when power is turned off 

70
New cards

nonvolatile storage (NVS)

storage that keeps data without needing power, such as hard drives and SSDs

71
New cards

solid state drive (SSD)

a storage device that uses flash memory to store data with no moving parts 

72
New cards

big data

Extremely large sets of data; distributed systems are well suited to working with big data.

73
New cards

MapReduce

A Google-created big data programming model and implementation for parallel processing across nodes in a distributed cluster. A layer on top of the Google file system (GFS), it allows developers to carry out large-scale parallel computations easily.

74
New cards

system daemon

A service that is provided outside the kernel by system programs that are loaded into memory at boot time and run continuously.

75
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.

76
New cards

exception

A software-generated interrupt caused either by an error (such as division by zero or invalid memory access) or by a specific request from a user program than an operating-system service be performed.

77
New cards

system call

Software-triggered interrupt allowing a process to request a kernel service.

78
New cards

multiprogramming

A technique that increases CPU utilization by organizing jobs (code and data) so that the CPU always has a job to execute.

79
New cards

process

A program loaded into memory and executing.

80
New cards

multitasking

The concurrent performance of multiple jobs. A CPU executes multiple jobs by switching among them, but the switches occur so frequently that users can interact with the processes.

81
New cards

response time

The amount of time it takes the system to respond to user action.

82
New cards

CPU scheduling

The process by which the system chooses which job will run next if several jobs are ready to run at the same time.

83
New cards

virtual memory

A technique that allows the execution of a process that is not completely in memory. Also, separation of computer memory address space from physical into logical, allowing easier programming and larger name space.

84
New cards

logical memory

Memory as viewed by the user; usually a large uniform array, not matching physical memory in virtual memory systems.

85
New cards

user mode

A CPU mode for executing user processes in which some instructions are limited or not allowed. See also kernel mode.

86
New cards

kernel mode

A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.

87
New cards

supervisor mode

A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.

88
New cards

system mode

A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.

89
New cards

privileged mode

A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.

90
New cards

mode bit

A CPU status bit used to indicate the current mode: kernel (0) or user (1).

91
New cards

privileged instructions

Instructions that can execute only if the CPU is in in kernel mode.

92
New cards

protection rings

A model of privilege separation consisting of a series of rings, with each successive ring representing greater execution privileges.

93
New cards

virtual machine manager (VMM)

The computer function that manages the virtual machine; also called a hypervisor.

94
New cards

timer

A hardware component that can be set to interrupt the computer after a specified period.

95
New cards

batch operating system

executes similar jobs in batches to optimize CPU use without user interaction 

96
New cards

multiprogramming

keeps multiple programs in memory to maximize CPU usage by switching between them

97
New cards

main memory management

the process of handling the system's primary memory (RAM) to ensure efficient use by programs 

98
New cards

CPU scheduling

the method used by an operating system to decide which process gets to use the CPU and for how long

99
New cards

time-sharing system

an operating system that allows multiple users to share computer resources simultaneously 

100
New cards

multitasking

the ability of an operating system to run multiple tasks or programs at the same time