Pthreads, Operating System

Assignment Help:

A thread is defined as an independent stream of instructions that can be scheduled to run as such by the operating system. Each program contains a number of threads which can be running in parallel.

The program  intro.c is a demonstration of using  pthread_create(thread,attr,start_routine,arg) function to create a new thread. The parameter thread is used as a way to pass variable between the main programs to the thread. The  attr parameter is used to set the thread attributes, which is usually set to NULL. The start_routine parameter is the C routine being executed when the thread starts. The arg parameter is the argument passed to the routine.

A thread is terminated using the function pthread_exit(NULL).
 
In the beginning of the main program a  thread_id of 1 is assigned to the first thread via the thread_data structure that is declared at the beginning of the program. This is used to identify which process is being run by the processor. Then the thread is created using the pthread_create() function with the rc variable which is used to identified the problem if the thread fail to be created. The first thread will execute the PrintProcess1 routine when the thread is created. After the first thread is created we create the second thread with a thread_id of 2 using the same procedure, but this time the PrintProcess2 routine will be used for the second thread.

In each of the PrintProcess routine the thread_id will be passed onto a process_id variable via the threadid data structure. Then the process will print a message saying the process is running, then delay by the number of seconds that is decided by the process_id, and display a message saying the process is finished. The pthread_exit(NULL) function will be used to terminate the current thread.


Related Discussions:- Pthreads

What is the main difficulty real-time environment, What is the main difficu...

What is the main difficulty that a programmer must overcome in writing an operating system for a real-time environment? The main difficulty is keeping the operating system with

Dynamically linked segmentation system, Sharing segments between processes ...

Sharing segments between processes without requiring the same segment number is possible in a dynamically linked segmentation system. a. Define a system that permits sta

Explain the os/2 operating system, Explain the OS/2 Operating System Li...

Explain the OS/2 Operating System Like NetWare, OS/2 manage resources at three levels, as shown in Figure 4.5 Resources may be maintained at the session, process, and thread le

Relationship among the capabilities of domain level j and i, Q. In a ring-...

Q. In a ring-protection system the level 0 has the greatest access to objects and level n (greater than zero) has fewer access rights. The access rights of a program at a partic

Illustrate scope of consumer behaviour, Q. Illustrate Scope of Consumer beh...

Q. Illustrate Scope of Consumer behaviour ? Scope of consumer behaviour is extremely wide due to following reasons: >>Ever rising intensifying competition. >>Additional a

What is the concept of an atomic operation, Question: Concurrency and Sync...

Question: Concurrency and Synchronization a) Define the following terms: I. Critical section II. Mutual Exclusion III. Deadlock IV. Starvation. b) Name three methods w

Explain process scheduling, Explain Process scheduling Process scheduli...

Explain Process scheduling Process scheduling consists of the subsequent sub-functions: 1.      Scheduling : Selects the process to be implement next on the CPU 2.      D

Inter-process Communication !, My code it didn''t run properly ,i tried to ...

My code it didn''t run properly ,i tried to pass 2 parameter example : ./a.out ls -ll ,but it execute only the ls instead of the ls -ll ! plz help amd thank you ! #include #inclu

Macro, What is macro expansion

What is macro expansion

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