Interacting with the OS: User Space
We've covered the kernel's major responsibilities. Now, let's discuss the final major aspect of an operating system, how humans interact with it. This is what we call the userspace. When we interact with an operating system, we want to do certain functions like creating files and folders, open applications, and deleting items, you get the idea. There are two ways that we can interact with our OS. With a shell or graphical user interface. There are also some shells that use graphical user interfaces, but we'll work with a Command Line Interface or CLI shell. For the most part, this just means that we'll use text commands. A Graphical User Interface or GUI is a visual way to interact with the computer. We use our mouse to click and drag, to open folders, etc. We can see everything we do with it. You probably use a GUI every day without realizing you're using one. To watch this video, you probably used GUI clicking icons and navigating menus to open your web browser and navigate to the website. People usually recognize a device or product based on its GUI. You might be able to spot the difference between a computer running Microsoft Windows or Mac OS based on the design of the windows, menus, and icons, you've probably seen GUI's and other places too, like mobile phones and tablets, ATM machines, and airport kiosks. A shell is basically a program that interprets text commands and sends them to the OS to execute. Before we had fancy visual interfaces, commands like create a file had to be typed out. While we have GUI is today, the shell is still commonly used to run commands, especially by power users. Power users are above average computer users. Linux, especially, it's essential that you actually know commands, not just a GUI. This is because most of them Linux machines you interact with in IT support will be accessed remotely. Most of the time, you won't be given a GUI. There are lots of different types of shelves. Some have different features, some handled performance differently. It's the same concept behind different operating systems. For our purposes, we'll just be using the most common shell, Bash or bourne. Again, shell in Linux, you might be thinking, but it's easier for me to navigate a GUI than it is to use commands to do the same thing. Why would I want to learn both? I can't stress this enough. It's vital for you to know how to use a shell in an IT support role. Some tests can only be completed through commands. In more advanced IT roles, you might have to manage thousands of machines. You don't want to have to click a button or drag a window on every machine when you can just run a command once.