 Have you ever heard about user in Kernel Spaces? If not, you're at the right place. The kernel is the heart of the Linux operating system, and it's responsible for scheduling running programs, file management, and security. If you have a device driver, it's running in the kernel, whereas networking implemented in the kernel. This is what we mean when we refer to kernel space. The kernel's job is also to support user programs which run in user space, like the shell, like a web browser or similar programs. User space programs interact with the kernel through special devices or system calls that they make. An individually running program is called a process, and each process has its own private virtual memory space. It runs as a particular user and a set of groups so that it can access files on the file system. A process also has a state that describes whether it is currently running, waiting to run, or whether it is blocked, waiting for other resources. How we identify processes would be by its unique ID, which we commonly call a PID. Now, there are different types of processes on a Linux system. We have user processes, and they are generally associated with a particular user. They are started by being run from the shell prompt, and therefore are associated with the terminal. They print the output to a terminal, and they get the input from a terminal. If they're getting input from a terminal, we call that a foreground process because they control the shell prompt. It's possible for a process to be put in the background, in which case they are not gonna be taking input from the terminal, but they can display output to the terminal. Now, we have a second class of processes called demon processes. And these are processes that are not associated with the terminal at all. They are started up by the system and provide things like networking services, or do other special housekeeping tasks to keep the system running. And then we have a third class of processes called kernel threads. Now, these are part of the kernel that are running as if they were regular user processes, or system demons, but are not associated with the terminal. They are parts of the kernel, but they are still scheduled as if they were regular processes. Now, we can get information about the processes running in a system by using the PS command. So if I just type in PS on its own like this, it will get information about the processes currently associated with my shell. And you can see that I've got two processes of a year. Here we have the PID or the process ID. You can see the teletype or the terminal. So this is running below PTS, which stands for pseudo terminal session. And you can see that it's running below PTS1. You can see how much compute time it's consumed and then the command that represents this particular process ID. So again, I've got two processes, but surely this is not all the processes that are running on the system. And the answer is no, it's definitely not. So what it could do is that I can make use of options to get more information about the processes running on my system. So I'm gonna use PS-EF. And again, I'm making use of two options over here. And I've got a whole lot of different information over here. So let's go all the way to the top. Now what the E does is that it shows me information about all processes. The F will give me detailed information, would give me a lot of different columns that I could utilize. So just going through some of them over here, you can see that I've got some processes that are running with the privileges of the user route. You can see their process IDs. You can see the PID as well. PID stands for parent process ID, not important to this stage. However, what I want you to focus on right now is the question mark below the TTY column. And this is telling us that this is a process that is running as a demon. It's not attached to a terminal. Also what you can see over here is that we have a number of commands that are being executed. And you may be wondering what the deal is with the commands in square brackets. Remember I told you about that third class of processes called kernel threads? That's exactly what they are. So they still appear in the output of the PS command, but the visual indicator would be the encapsulation of that thread in a square brackets. So guys, that's a basic overview of processes and kernel and user spaces on your system. I will see you in the next video.