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

Develop a utility in c programming, Develop a utility in C language which w...

Develop a utility in C language which will run in Linux operating systems to display following properties of the system: ? Processor speed ? Ram size ? Computer name ? System time

Student, Explain how the os implements virtual memory phenomenon.

Explain how the os implements virtual memory phenomenon.

Processes, draw a state diagram showing the transissions of a process from ...

draw a state diagram showing the transissions of a process from creation to termination

Garbage collection, The dynamic memory allocator is a layer between the app...

The dynamic memory allocator is a layer between the application and the OS, managing heap objects. When a program requests memory from the allocator (via malloc(), for instance), t

Graph - plotting job, This exercise uses a graph-plotting program ( gnuplot...

This exercise uses a graph-plotting program ( gnuplot ) to convert tabular data into an image. This is a technique that is very widely used to visualize scientific data; with app

Multiprogramming, explain how response time are reduced by allowing time sh...

explain how response time are reduced by allowing time sharing on top of multiprogramming

Describe the actions of sun ultra sparc processor, Q. The Sun Ultra SPARC p...

Q. The Sun Ultra SPARC processor has numerous register sets that describe the actions of a context switch if the new context is previously loaded into one of the register sets. Wha

Solve a generalized dining philosopher problem, In this project, you will i...

In this project, you will implement the Chandy and Misra's (CM) algorithm using POSIX Threads (Pthreads).   The algorithm  is a distributed algorithm to solve a generalized dining

What is independent process, What is independent process? A process is ...

What is independent process? A process is independent it cannot influence or be affected by the other processes implementing in the system. Any process does not share data with

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