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

Sector sparing, What is sector sparing is proper definition

What is sector sparing is proper definition

Os, why we say" OS is a resource allocator" and “OS is a control program"?

why we say" OS is a resource allocator" and “OS is a control program"?

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

THREADS, advantage and dis advantage of threads

advantage and dis advantage of threads

Explain about operating system services, Q. Explain about Operating System ...

Q. Explain about Operating System Services? An operating system offers services to programs and to users of those programs. It provided by one environment for execution of

Difference among pre-emptive and non pre-emptive scheduling, Q. Define the ...

Q. Define the difference among pre-emptive and non pre-emptive scheduling. Answer: Pre-emptive scheduling permits a process to be interrupted in the midst of its execution ta

Page-table lookups, How exactly is a page table used to look up an address?...

How exactly is a page table used to look up an address? The CPU has a page table base register (PTBR)which points to the base (entry 0) of the level-0 page table. Each process h

Describe the purpose of the checkpoint mechanism, Describe the purpose of t...

Describe the purpose of the checkpoint mechanism. How habitually must checkpoints be performed? Explain how the frequency of checkpoints affects: System performance while no

Describe paging technique used in unix systems, Describe paging technique u...

Describe paging technique used in UNIX systems. When a process begin in UNIX, not every its memory pages are read in from the disk at once. In its place, the kernel loads into

Briefly explain the process management in unix., Briefly explain the proces...

Briefly explain the process management in UNIX. UNIX makes use of the easy but powerful process facility that is visible to the user. UNIX follows the model in which the majori

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