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

What happens when you execute a program in unix, When you run a program on ...

When you run a program on your UNIX system, the system prepares a special environment for that program. This environment owns everything needed for the system to execute the progra

Memory management, example of first fit best fit and worst fit

example of first fit best fit and worst fit

Explain quick fit algorithams, QUICK FIT ALGORITHAMS Here we keep apart...

QUICK FIT ALGORITHAMS Here we keep apart lists for holes and processes. Therefore this reduces the searching time for holes Hole list and Process list. If we organize the li

List the task regions in the spiral model, List the task regions in the Spi...

List the task regions in the Spiral model.  Customer communication - In this region it is suggested to set up customer communication.  Planning - All planning activities

What is the hardware support required to implement paging, What is the hard...

What is the hardware support required to implement paging? Each operating system has its own techniques for storing page tables. The majority allocates a page table for each pr

Define dynamic loading, Define dynamic loading. To obtain better memory...

Define dynamic loading. To obtain better memory-space utilization dynamic loading is used. With dynamic loading, a routine is not loaded until it is called. All routines are ke

Explain and differentiate programmed and interrupt i/o, Question 1 Explain...

Question 1 Explain the structure of operating system in detail Question 2 Explain the following scheduling algorithm                                     1) First come Firs

What is the use of FIFOs in client-server applications, What is the use of ...

What is the use of FIFOs in client-server applications

Does windows xp offer any user-mode processes, Q. Does Windows XP offer any...

Q. Does Windows XP offer any user-mode processes that enable it to run programs developed for other operating systems? Describe two of these subsystems. Answer: Environmental

Ubuntu shell script - linux, Task 1 description: Design and implement the ...

Task 1 description: Design and implement the disableuser.sh script. Required script functionality: disableuser.sh -v : prints the script version number and exits dis

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