Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
1> Light-weight processes(created by Linux-specific clone()) share address space with parent process and they and the parent process is in charge of kernel thread. Right? If YES, may user control(set,change and etc.) the priority of each light-process? If YES, how to control the priority of each light-weight process?
2> User process have individual address space and is in charge of kernel thread one-to-one. And user process may create several threads(complying to POSIX) and each such thread is in charge of one kernel thread. So, how to control the priority of each thread?
There isn't really anything like a LWP in Linux, as I understand it. Everything is a standard process. However, because of the semantics of clone "processes" can share their entire address space and other stuff (signal handlers etc.). This makes "processes" that do this indistinguishable from a multithreaded application (in fact the PID is really just a thread group ID so a multithreaded process is really just a collection of threads that happen to be in the same thread group).
Compare these semantics to an OS like Solaris that has explicit threading support and LWPs built into the kernel.
Therefore, LWP and user process have same priority control attribute because kernel tasks serving user process or LWP is unaware which type of process is served. Right?
All LWP and their parent process have same PID(group ID). Thus how to distinct each LWP in controling their priority? Do LWP have thread ID?
Like I said, in Linux there's no such thing as a LWP (Lightweight Process). Everything is a thread. Some threads may share a PID, memory space, etc., but that's it. Threads are scheduled equally. You might find this page helpful in understanding some of the differences.