I had been heard that There is member called u_area in the proc structure on BSD.
So I tried to find u_area, but only to fail.
Anyone who knows why the u_area was removed on proc structure?
1 Answers
User area (uarea) contained kernel stack and some private structures of a process, which are normally not accessed by other processes and not needed when that process blocks (sleeps). These structures occupied an entire page (4KB or sometimes even more depending on the system). Back in the day computers had small memory, so it made sense to group those structures together and make those pages swappable into the disk.
However, many of those structures nowadays can be accessed and every time that happens, uarea has to be explicitly "locked" in memory. Because computers have much more RAM these days and due to the potential of bugs, it is no longer worth to keep this functionality.
Today, uarea is just a kernel stack and process control block (PCB). NetBSD removed uarea swap-out support, FreeBSD might have done that too.

- 11
- 1