Determine the requiring variables on the scope of a thread, Operating System

Assignment Help:

Determine the Requiring Variables on the Scope of a Thread

It is very common in server application programs to require variables on the scope of a thread. To provide such a scope, the per-thread data item must be introduced. This data item may be used as a global variable, but each access needs to be made within the scope of a thread (that is, be unique for each thread). For instance, information such as errno must be unique to each thread or unpredictable results may occur. errno is a variable generally set by the operating system when certain application function are executed. Within NetWare , UnixWare, and OS/2, the variable is named errno. To receive the per-thread errno in Windows NT, the application must call GetLastError( ). Assume that two threads named A and B are making library function calls in which the errno variable will be set. If the two threads used the same global variable, the following might occur.

1. Thread A makes a call that results in an error and sets errno to 0X 10.

2. Thread B is then scheduled, makes a system call that executes properly, and sets errno to 0XX00.

3. Because Thread A and Thread B are using the same global errno, when Thread A queries errno it will have the results from Thread B.

This could be avoided if errno was of threads scope and thus was unique for each thread. All platforms with the exception of UnixWare consider errno with a thread scope, so each reference would only change the current thread's copy of errno UnixWare provides errno on the scope of the process, as threads are not supported. In addition, our thread-based platforms provide a mechanism for developers to access application-defined thread data areas.


Related Discussions:- Determine the requiring variables on the scope of a thread

File system versus swap space, Q. What are the tradeoffs concerned in rerea...

Q. What are the tradeoffs concerned in rereading code pages from the file system versus using swap space to store them? Answer: If codes pages are accumulate in swap space th

Explai basic concepts of demand paging, Basic concepts When a process i...

Basic concepts When a process is to be changed in, the pager guesses which pages will be used before the process is changed out again. Instead of swapping in a entire process,

Several cpu-scheduling algorithms, Q. Several CPU-scheduling algorithms are...

Q. Several CPU-scheduling algorithms are parameterized for instance the RR algorithm requires a parameter to indicate the time slice. Multilevel response queues require parameters

What are the advantages of linked allocation, What are the advantages of Li...

What are the advantages of Linked allocation? The benefits are a. No external fragmentation b. Size of the file does not require to be declared

Explain benefits of time-sharing system, Under what circumstances would a ...

Under what circumstances would a user be better off using a time-sharing system, rather than a personal computer or single-user workstation? When there are some other users, th

What are the various scheduling criteria for cpu scheduling, What are the v...

What are the various scheduling criteria for CPU scheduling? The various scheduling criteria are CPU utilization

Recognition of essential syntactic constructs by reductions, Recognition of...

Recognition of essential syntactic constructs by reductions, this task is carried out by Recognition of essential syntactic constructs by reductions, this task is carried out

What kind of protection structure do we have, Q. Consider a calculating en...

Q. Consider a calculating environment where a unique number is associated with each process and each object in the system. Suppose that we permit a process with number n to acce

Briefly discuss on i/o hardware, Briefly discuss on I/O hardware? A con...

Briefly discuss on I/O hardware? A controller is a collection of electronics that can operate a port, a bus, or a device. A serial-port controller is an easy controller. It is

Deadlock-avoidance safety algorithm, Q. Presume that you have coded the de...

Q. Presume that you have coded the deadlock-avoidance safety algorithm as well as now have been asked to implement the deadlock-detection algorithm. Can you do thus by simply usin

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