This chapter explains process management in FreeBSD in detail, covering topics like context and thread switching, signals, and jails. Included are some exercises to help you put your new knowledge into practice.
FreeBSD Process Management
2005-03-07 FreeBSD 10 Comments
What a great book (The Design and Implementation of the FreeBSD Operating System) it is, indeed.
I would recommend it to anybody, who is interested in the inner workings of the FreeBSD kernel.
I also have this book! Its great in order to understand the FreeBsd kernel and more generally for everyone who wants to understand modern operating system design.
Nice to see an update to the classic 4.4 book (which I’ve purchased, but wasn’t fun to read – way to dry for my liking).
Processes that execute for the duration of their slice have their priority lowered, whereas processes that give up the CPU (usually because they do I/O) are allowed to remain at their priority. Processes that are inactive have their priority raised.
This is OK for multiuser (time-sharing) systems, but for desktop systems, this is a no-no. Would-be games would have their rendering priority lowered, my video capturing thread would start dropping frames, my high priority MPEG encoding process will drop to low priority, generally making this OS not useful on the desktop
They are most likely randomly generated but at any rate, I enjoyed being tempted by a Microsoft Office advert while _trying_ to read up on this article!
I’m so motivated by the advert that I’m going to install XP now (of course _purchase_ it first), so I’ll see you all later… =)
Speaking of FreeBSD (in general), when is 5.4 due?
And how is Java support in 5.x? it’s been some time since I’ve checked in on FreeBSD, but back then the Java support in 5.x was somewhat lacking iirc.
Is there similat quality book for linux?
This is OK for multiuser (time-sharing) systems, but for desktop systems, this is a no-no.
It has nothing to do with multiuser systems, and everything to do with multiprocessing systems. Your argument only makes sense if you’re only using ONE process. You mentioned games, video capture, and MPEG encoding, but fail to realize that those are three separate and distinct processes. If you have a set of processes that need higher priority, then simply bump their priority. The above scheme only applies within a priority, so that your high priority processes aren’t going to be lowered down to the level of background daemons.
Ofcourse there is. There is Linux Kernel Development by Robert Love.
Linux Device Drivers v3
and Understanding the Linux Kernel Virtual Memory Manager, which is also availible online.
There are also other books, but these are the notable ones that atleast mention or cover the 2.6 kernel.
Check the release schedule here:
About Java, I have been running java without problems since 5.1 or 5.2 (don’t remember 😉