Operating System Concepts - User and Kernel Threads

ReachableMatrix avatar
ReachableMatrix
·
·
Download

Start Quiz

Study Flashcards

26 Questions

In the One-to-One threading model, each user-level thread maps to a ______ thread

kernel

Creating a user-level thread in the One-to-One model creates a ______ thread

kernel

The Many-to-Many threading model allows many user-level threads to be mapped to many ______ threads

kernel

The Two-level model is similar to Many-to-Many but allows a user thread to be bound to a ______ thread

kernel

Thread library provides programmer with API for creating and managing ______

threads

Two primary ways of implementing thread libraries: Library entirely in ______ space

user

Pthreads may be provided either as ______-level or kernel-level

user

A POSIX standard API for thread creation and synchronization is known as ______

Pthreads

Java threads are managed by the ______

JVM

Rather than explicitly creating threads, Java allows thread creation around the ______ interface

Executor

Thread-local storage (TLS) allows each thread to have its own copy of ______

data

TLS is useful when you do not have control over the thread creation process, for example, when using a ______ pool

thread

Local variables are visible only during a single function invocation, while TLS is visible across function invocations, similar to ______ data

static

Scheduler Activations in the context of thread models require communication to maintain the appropriate number of kernel threads allocated to the ______

application

In the context of Scheduler Activations, typically an intermediate data structure like lightweight process (LWP) is used between user and kernel threads, where each LWP is attached to a kernel ______

thread

Scheduler Activations involve creating LWPs to determine how many ______ to create

LWPs

The ForkJoinTask is an abstract base class. RecursiveTask and RecursiveAction classes extend ______ Task

ForkJoin

Grand Central Dispatch is an Apple technology for macOS and iOS operating systems. It provides extensions to C, C++, and Objective-C languages, API, and runtime library. It allows identification of ______ sections

parallel

Intel Threading Building Blocks (TBB) is a template library for designing parallel C++ programs. It includes a serial version of a simple for loop. The same for loop can be written using TBB with ______ statement

parallel_for

OpenMP is a set of compiler directives and an API for C, C++, FORTRAN. It provides support for parallel programming in shared-memory environments. It identifies parallel regions – blocks of code that can run in ______

parallel

Grand Central Dispatch manages most of the details of threading. A block in Grand Central Dispatch is enclosed in “^{ }”. Blocks placed in a dispatch queue are assigned to an available thread in the thread pool when removed from the ______

queue

Two types of dispatch queues in Grand Central Dispatch are: serial – blocks removed in FIFO order, queue is per process, called main queue, and ______ – removed in FIFO order but several may be removed at a time

concurrent

For the Swift language, a task is defined as a closure – similar to a block, minus the caret. Closures are submitted to the queue using the ______() function

dispatch_async

Semantics of fork() and exec() system calls involve the duplication of only the calling thread or ______ threads?

all

Thread Libraries handle various threading issues such as semantics of fork() and exec() system calls, signal handling, synchronous and asynchronous thread cancellation of target thread, thread-local storage, and ______ Activations

Scheduler

Fork-Join Parallelism in Java involves the ForkJoinTask as an abstract base class. RecursiveTask returns a result via the return value from the compute() method, while RecursiveAction does not return a ______

result

Explore the concepts of user and kernel threads in operating systems, as discussed in 'Operating System Concepts – 10th Edition' by Silberschatz, Galvin, and Gagne. Learn about the differences between user threads managed by user-level threads libraries like POSIX Pthreads, Windows threads, and Java threads, versus kernel threads supported by the OS kernel.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser