Lecture 2 Flashcards

1
Q

Multiprogramming abstraction

A

multi-programming abstraction over many programs means that the execution of
these programs is scheduled such that each runs, bit by bit, but rapid switching
between them gives the impression that all are running smoothly in parallel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why cant all data reside in the main memory permantely?

A

First, main
memory is usually too small to store all needed programs and data permanently.
Second, main memory is a volatile storage device that loses its contents when power
is turned off.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Where are most programs stored?

A

most programs (system and application) are stored on a disk until they are loaded into memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Resource sharing

A

This resource sharing is made possible by virtual memory and is a memory management function of the OS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

extended machine interface

A

This resource abstraction means that these N programs use virtual memory to share the space
of limited main memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

multiplexing

A

sharing of main memory by multiple programs

programs are partially loaded

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

OS=kind of virtual machine

A

each process seems to execute on its own

processor with its own memory, and devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Java Virtual Machine (JVM)

A

The Java Virtual Machine (JVM) allows Java code to be portable between various hardware and OS platforms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Concurrency

A

running of multiple programs on a single CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Parallelism

A

the computational speed-up via running multiple programs in parallel on multiple
CPUs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the key problem with concurrency?

A

The key problem with concurrency is that multiple programs (processes) must be
simultaneously executed on a single CPU, and that these multiple processes must
safely interact (e.g. not over-write each other)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Multi-threading

A

a program is split into multiple processes (threads)

that run concurrently on one CPU.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

multiple virtual processors

A

a virtual processor is its own virtual machine representing all of the functionality of the underlying
physical processor, meaning that a program can run on a virtual processor just as it would on the physical processor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Virtual processors in parallelism

A

one virtual processor would be run for each physical processor. This N virtual processor for N physical processor setup is used so as the
processes running on each processor are protected from and cannot interfere with each other during the parallel running of the N programs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly