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

Use of c and c++, One reason to learn C and C++ is simply that so much soft...

One reason to learn C and C++ is simply that so much software is written in these languages. A related, butmore fundamental reason, is that C and C++ are relatively low-level, allo

What are a safe state and an unsafe state, What are a safe state and an uns...

What are a safe state and an unsafe state? Answer:  A state is safe if the system can allocate resources to every process in some order and still avoid a deadlock. A system is

Explain about memory-management scheme, Q. In the IBM/370 memory protectio...

Q. In the IBM/370 memory protection is offered through the use of keys. A key is a 4-bit quantity every 2K block of memory has a key (the storage key) associated with it. The CPU

Define lru page replacement policy, Define ‘LRU’ page replacement policy ...

Define ‘LRU’ page replacement policy LRU is Least Recently Used page replacement policy.

Show the multithreading performance, Q. Provide two programming instances i...

Q. Provide two programming instances in which multithreading provides better performance than a single-threaded solution. Answer: (1) A Web server that services every request

Linux, Discuss the risks of having a single root user

Discuss the risks of having a single root user

Address operator and pointers, We are use to using variables within C witho...

We are use to using variables within C without thinking about where they are stored. Most variables are dynamic i.e. can change, therefore they are stored in Ram, unlike a program

How many disk operations are needed to fetch the i-node, How many disk oper...

How many disk operations are needed to fetch the i-node for the file /usr/ast/courses/os/handout.t? Assume that the i-node for the root directory is in memory, but nothing else alo

Explain busy waiting semaphores, Explain Busy Waiting Semaphores Weak, ...

Explain Busy Waiting Semaphores Weak, Busy-wait Semaphores a) The simplest way to implement semaphores. b) Useful while critical sections last for a short time, or we com

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