Wk1L2 - Intro to Threads & Processes Flashcards

1
Q

What is a Process in the context of computer architecture?

A

A process includes the code, data, and state information of a single program. Each process has its own address space in memory and is managed by the operating system.

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

What is a Thread?

A

A thread is a subset of a process. It is an independent path of execution that shares memory and code with other threads in the same process.

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

How do Threads differ from Processes?

A

Threads are lightweight, have a lower memory footprint, and share memory, making communication easier.
Processes are more resource-intensive and use separate memory spaces, offering better isolation and reliability.

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

What is Cache in computer architecture?

A

Cache is a small block of fast, expensive memory used to store frequently accessed data, reducing the time it takes to retrieve information from the main memory.

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

What are the two types of Locality in memory access patterns?

A

Temporal Locality: Programs tend to access the same data repeatedly over time.

Spatial Locality: Programs tend to access data that is close in memory to other previously accessed data.

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

What is Cache Coherency?

A

Cache coherency ensures that when multiple processors cache the same shared memory, updates to the data are properly synchronized so that all processors see the correct, consistent data.

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

What is Symmetric Multiprocessing (SMP)?

A

SMP is a memory architecture where all processors have equal access to shared memory, allowing them to communicate and collaborate efficiently.

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

What is the purpose of Context Switching?

A

Context switching refers to the process of pausing the execution of one thread and switching to another.
This allows the operating system to manage multiple threads effectively by saving the state of the current thread and loading the state of the new one.

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

What is the Memory Hierarchy?

A

The memory hierarchy organizes memory devices based on speed and cost. Faster devices (like cache and registers) are more expensive but smaller, while slower devices (like SSDs) offer larger capacities at lower costs.

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