Skip to main content

Application Of Threads

 

Application Of Threads

Application Of Threads

This section discuss various implementation of threads. Multithreading concepts are implemented by pthread (POSIX standard), solaris, linux, window 2000 and java.

1. POSIX THREAD(Pthreads)

·         Pthread refers to the POSIX standard(IEEE 1003.IC) that defines an API for thread creation and sychronisation.

·         Prior to the of POSIX THREADS, each hardware vendor implemented their own version of threads.

·         As each implemented from the other, writing portable multithreaded application was difficult. Thus POSIX standardize the API for thread management.

·         The current Pthread API is defined only for C programming language and it is implemented as function with a header file Pthread.h and thread library.

·         The naming convention for Pthreads is well defined and the prefix of all the object or function is PTHREAD.

      


        Solaries Threads

·         Solaries 2 is a version of UNIX, that implements Pthreads API in addition to supporting user-level threads with a library containing APIs for thread creation and management.

·         Solaries implement multilevel thread support designed to provide considerable flexibility. It make use of four separate thread related concepts:

1.       Process. This is normal UNIX process and includes the user’s address space, stack and PCB.

2.       User level thread. A user level thread is a user created unit of execution within a process.these are created by application programmer.

They provide support for parallel execution within a process.

3.       Lightweight processes. A LWP is a mapping between user level and kernel threads.

4.       Kernel threads. These threads are visible to OS. They are managed by OS


LINUX Threads

·         Threads in linux are handled in a different way as compared to other operating system due to the open source nature of linux.

·         An  important  difference between linux threads and other threads is that linux does not differentiate between a process and a thread . a task represents basics unit of work in linux.

·         To create a child process, linux provides two system calls : fork and clone.

·         Clone call creates a child process like the fork call, but main difference is that, fork creates a child process that has itys own process context similar to that parent process whereas the child process created by clone shares parts of it execution context with the calling process, such as memory space, the file descriptor table and the signal handler table

·         At user level, various libraries that implements Pthreads are available. For example, linuxthreads,NPTL(native POSIX thread library ).


       Windows 2000 threads

·       Window 2000 implements the win32 API.

·       A Window Application  runs as a separate process where each process contains one or more threads.

·       Every thread of a process has access to the virtual address space of a process

·       The various data structure used by threads are:

1.      ETHEREAD (executive thread block).it includes pointer to the process to which thread belongs and the address of the routine in which the thread starts control.

2.      KTHREAD (kernel threads block). It includes scheduling and synchronistion information for the threads. It also includes the kernel stack and a pointer to TEB.KTHREAD also lies in kernel space and only kernel has access to it.

3.      TEB (thread environment block). It is a user space data structure that is accessed when thread is running in user mode. TEB contains a user model stack and an array for thread specific data



Comments

Popular posts from this blog

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that ma...

Classification of Operating System

  Classification of operating systems The operating systems may be classified into different types depending upon the nature of interaction between the user and his/her program. The various types of operating system are : 1.       single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating system   6.         Multiprocessing operating system 7.         Time sharing operating system 8.       Real time system      Distributed system Multi threading operating system       Single user operating system ·          ...

Time Sharing System and its Requirements

  Time sharing  system ·           Time sharing refers to the allocation of computer resources in a time dependent fashion to several program simultaneously ·           A time sharing system has many user terminals that are connected to same computer simultaneously. Using these terminal, different users can work on a system at the same time ·           Thus, it uses multi programming with a special CPU scheduling among all the last one, and then again beginning from the first one ·           In time sharing system, the CPU time is divided among all the users on schedule basis. ·           It release the CPU under any of the following three conditions: 1.         When the allotted time slice expires. 2.    ...

Multitasking System

  Multitasking system ·           Technically , multitasking is same as multi programming ·           In a multitasking operating system, s single user can execute multiple programs at the same time ·           We can also say, multitasking is the system capability to work on more than one job or process at the same time. ·           It means that whenever a job needs to perform I/O operation, the cpu can be used for execting some other job                                                        diagram of multi tasking     ·           There are two type of multitasking : 1.       ...

Distributed system

  Distributed system ·           A distributed system is a collection of processor located in geographical dispersal physical location. ·           In this system, the workhold is distributed or divided between two or more computers that are linked together by communication network . that is the different processors communicate using communication links, such as telephone lines and buses3 ·           The various processors do not share memory, clock ,or peripheral devices instead each processors has its local memory. ·           The purpose of distributed system is to provide an efficient and convenient environment for sharing of resources. ·           Some example of distributed operating system are amoeba, angle, chorus, much, alpha kernel. ·   ...