Navigating through files, processes, and threads
If you made it to here – great job! We are going to cover processes and threads thoroughly in Chapter 2, and filesystems in Chapter 3. In the meantime, we will take a short detour here, just to paint a better picture for you, through the definition of three important terms: files, processes, and threads. You probably already noticed two of these in the kernel overview earlier, so we will explain them briefly now in case you are not familiar with them.
File
In short, we require files to represent multiple kinds of resources on our system. The programs we write are files as well. The compiled code, for example, the executable binaries (.bin
, .exe
), and the libraries are all files (.o
, .so
, .lib
, .dll
, and so on). Additionally, we need them for communication mechanisms and for storage management. Do you know what types of files are recognizable on Linux? Let’s brief you on that quickly:
- Ordinary or regular files...