Differences b/w user level and kernel supported threads, Computer Engineering

Assignment Help:

What are the differences between user level threads and kernel supported threads?

A thread, sometimes termed a lightweight process (LWP), is a fundamental unit of CPU utilization; this comprises a thread ID, a register set, a program counter and a stack.

A thread shares along with other threads belonging to similar process its data section and code section and other operating-system resources, as signals and open files.

If the process has many threads of control, this can do more than one task at a time.

User Level Threads Vs Kernel Supported Threads

i. User threads are supported above the kernel and are implemented through a thread library at the user level.

Here, kernel threads are supported directly through the operating system.

ii. For user threads, the thread library gives support for thread creation, scheduling and management within user space with no support from the kernel as the kernel is unaware of user-level threads. In case of kernel threads, the kernel does thread creation, scheduling and management inside kernel space.

iii. As there is no require of kernel intervention, user-level threads are usually fast to create and manage it. As thread management is made by the operating system, kernel threads are usually slower to create and manage which is a user thread.

iv. Any user-level thread performing blocking system call, if the kernel is single-threaded, will cause the whole process to block, even if other threads are available to run inside the application.

Though, as the kernel is managing the kernel threads, whether a thread performs a blocking system call, the kernel can schedule the other thread in the application for execution.

v. User-thread libraries contain POSIX P threads, Mach C-threads and Solaris 2 UI-threads.

Several of the cotemporary operating systems which support kernel threads are Windows NT, Windows 2000, Solaris 2, BeOS and Tru64 UNIX (formerly Digital UNIX).


Related Discussions:- Differences b/w user level and kernel supported threads

Explain the page stealer and the fault handler, How the Kernel handles both...

How the Kernel handles both the page stealer and the fault handler? The page stealer and the fault handler thrash because of the shortage of the memory. If the sum of the worki

Project, how many pins does a floppy drive connector have

how many pins does a floppy drive connector have

Weka uses a gaussian - radial basis function, A data set with 1000 rows is ...

A data set with 1000 rows is input to a neural network in Weka. The test option is set to 10-fold cross validation and the neural network option validationSetSize = 20%. How many r

What is reflection, What is Reflection?  It extends the benefits of met...

What is Reflection?  It extends the benefits of metadata by permitting developers to inspect and use it at runtime. For example, dynamically verify all the classes contained in

Future trends of microcontrollers, Currently microcontrollers are embedded ...

Currently microcontrollers are embedded within most products, typical uses are in Camera's for auto focus and display drivers, Laser printers to compute fonts and control printing.

Define memory allocation scheme in ''external'' fragmentation, The memory a...

The memory allocation scheme subject to “external” fragmentation is? Segmentation is the memory allocation scheme subject to “external” fragmentation.

Routines which handle dynamic processes, Q. Routines which handle dynamic p...

Q. Routines which handle dynamic processes? number of routines which handle dynamic processes:  int pvm_joingroup( char *group ) Enrolls calling process in a na

Explain bernstein conditions for detection of parallelism, Bernstein Condit...

Bernstein Conditions for Detection of Parallelism For execution of a number of instructions or a block of instructions in parallel, it must be made certain that instructions ar

Explain demand paging, What is Demand paging? Virtual memory is commonl...

What is Demand paging? Virtual memory is commonly executed by demand paging. In demand paging, the pager brings only those essential pages into memory instead of swapping in a

What is a macro, What is a macro ? How it is defined ? Preprocessor' is...

What is a macro ? How it is defined ? Preprocessor' is a translation phase that is applied to  source code before the compiler  proper  gets  its  hands on  it.  Generally,  th

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd