Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

So continuing from the other side of this line...

File Descriptors

In the FLAT and PROTECTED builds, the file descriptors are maitained in a table internal to the OS.  In PROTECTED mode, this requires a system call to access the file descriptors.  In the KERNEL build mode, however, this system call overhead is wasteful.  Ideally, the file descriptor table would be moved out of the OS and into the process address space where it can be accessed directly.

Libraries

Libraries. But not all of the symbols that might be exported from the base code map to system calls. Many of the NuttX facilities operate simply in user mode: Think of strlen(), printf(), rand(), etc. With this strict enforcement of address spaces, the only way that these addition functions can be called is if they are brought into the same address space as the program.

...