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!
Notices
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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.