User Tools

Site Tools


user_space

This is an old revision of the document!


User Space

In short: The environment where user code is running within the operating system.

It's what you read on the label. A space for the user. This space is provided by the operating system. At its core; the kernel you are about to write.
This is extremely basic and low level. Within user space you will, for example, have access to files and (if done correctly) you will not have to worry about allocating physical memory or talking directly to hardware (like disk or USB or what have you). The only reason you have this access is that the operating system have defined what the file system is. Any call to reference the file system will be a call to the operating system to do the work of figuring our what the user space code wants. This is the part we will create.

What you have enbarked upon is the most basic and low level functionality of a computer.

Food for thought
In Linux, any peripheral like a USB port or disk or serial port or even a device driver to emulate whatever will be visible in the file directory tree.
If you want a random number generator, Linux have one that is usable as if it was a disk drive. You read it, and it will yield a random number every time. For a user space program, it will look like a disk that always returns random numbers. Or a memory location that always return random numbers. For Linux, it's all the same in user space.
This is what Linux do. What will you do? What is your user space interface?
It's all up to you down to the most extreme detail.

user_space.1488534137.txt.gz · Last modified: 2017/03/03 09:42 by admin