Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What is the diference between PROCESSOR and THREAD?

Status
Not open for further replies.

nvp

Member level 4
Joined
Sep 16, 2003
Messages
71
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
EARTH
Activity points
555
Hello Friends,

What is the diference between PROCESSOR and THREAD?

Thanks and Regards
NVP
 

the processor is hardware
the threading
is to make the processor work in more than one process it appers that the processor do them all in the same time but this not happen
the processor divide it's time between the threads

but i am not sure of that
 

Yes you are absolute right.

a PROCESSOR is hardware. If you need more performance, then computer will consist of several processors.

The task of an OPERATING SYSTEM is to manage PROCESSes, which will be executed by the processor (or multiple processors).

Imagine a process as a task with some defined environment and conditions under which the process has to work (e.g. a graphical transformation of a picture)

Some processes are dividable in smaller pieces. these process are called "multi-threaded". In this case, some kind of load ballancing may happen (if multiple processors are available). (e.g. the picture programm may work in that way that it splits the transformation process in 4 seperate threads, which do all 1/4 of the work, if this is eligible).
 

TIME SHARING is A ORGANIZATION OF PROGRAM EXECUTION .THAT ALLOWS SEVERAL SEPARATE PROGRAM BLOCKS EXECUTE INDEPENDENTLY WHILE SHARING THE CPU RESOURCES ... THIS LOOK GREAT ..BUT IN PRACTICE THERE IS AN OVERHEAD WHEN SWITCHING FROM ONE PROCESS TO ANOTHER.. .. THE STATUS OF THE CURRENT TASK HAS TO BE PRESERVED AND THE NEW ONE RELOADED.. THERE IS ANOTHER WAY .. IF WE CAN USE NON OVERLAPING RESOURCES WE CAN SWITCH BETWEEN PROCESS MORE EFFICIENTLY NO RELOADING OR BACKING UP : THAT'S MULTITHREADING!
OF COURSE IT WILL HELP IF THE CPU HAS ENOUGH RESOURCES TO ALLOCATE AVOIDING CONFLICTS OR AT LEAST MINIMIZING THEM!
THATS A CPU WITH MULTITHREAD CAPABILITY!
 

If you mean process and thread - those are little bit the same but differences are thread is created and can have its own memory space and common memory space accessible for threads opened from the same task . That improves interrpcess communication by directly accessing memory of one thread from another (parent taks must be the same ). The scheduling management for threads opened from one task (process ) can vary .
Process - it is standalone task with its own memory not accessible from other tasks (processes) . Said is true for systems where memory management unit (MMU) is present and there is process memory protection implemented within mcu hardware . On processors without MMU any process or thread memory can be addressed via absolute memory addressing directly .
These are mainly building blocks to be supported by particular operating system to facilitate multitasking environment design and execution . The properties of threads and processes can vary dependent on operating system providing API to creation suspend, resume , schedule and deletie . So particular OS description must be consulted to clarify all details .
 

A thread and a task are similar and are often confused. Most computers can only execute one program instruction at a time, but because they operate so fast, they appear to run many programs and serve many users simultaneously. The computer operating system gives each program a "turn" at running, then requires it to wait while another program gets a turn. Each of these programs is viewed by the operating system as a task for which certain resources are identified and kept track of. The operating system manages each application program in your PC system (spreadsheet, word processor, Web browser) as a separate task and lets you look at and control items on a task list. If the program initiates an I/O request, such as reading a file or writing to a printer, it creates a thread. The data kept as part of a thread allows a program to be reentered at the right place when the I/O operation completes. Meanwhile, other concurrent uses of the program are maintained on other threads. Most of today's operating systems provide support for both multitasking and multithreading. They also allow multithreading within program processes so that the system is saved the overhead of creating a new process for each thread.
 

Process is a complex identity in a multiprograming environment wheres thraeds are lighter counter parts
that is no context switiching in threads
 

Processor is the entity on which processes and threads run. On processor there is execution of processes. Processes are entities that have their own memory space. Threads can be created out of processes. There can be many threads for one process and threads share memory address space. It can be created and destroyed easily. It does not have context switching which is elsewhere found a lot in processes.

I am looking for book: Foundations of Multithreaded, Parallel, and Distributed Programming. If any one can suggest where i can find this book.
 

process have its own stack, TCB, messege box, and so on.but the thread share of them.in embed system, the have little diffirent, in POSIX, the thread is the process. or task.
 

Processor is hardware & thread is a part of process. A process may have one or many threads. Process has its own memory space. THread shares memory space. thrad has it's own stack but all threads share global data in a process. In a process all threads can run independently. also context switching in thread is easy.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top