[GCC-Study] Operating System (2)
Interacting with the OS: User Space
Okay, 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 create files and folders, open applications, delete items, you get the idea. There are two ways that we can interact with our OS, with a shell or a graphical user interface.
A graphical user interface or GUI, is a visual way to interact with a 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. 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 GUIs in 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 GUIs today, the shell is still commonly used to run commands, especially by power users. Power users are above average computer users. In Linux especially, it's essential that you actually know commands, not just a GUI. This is because most of the 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 shells. Some have different features, some handle 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. There's also a shell for Windows called Powershell, but we won't be covering it here. Operating systems and you becoming a power user.
Logs
Logs are files that record system events on our computer. Just like a systems diary our computer will record events like when it was turned on, when a driver was loaded and even when something isn't working in the form of error messages. In all operating systems, logs are kept so we can refer back to them when we need to find out something that happened. But logs can be hard to navigate because our computer will essentially record everything. Here's what a log looks like(under the paragraph). As you can see, it can be tough to make your way through a log but with a little bit of elbow grease we can figure out what happened on our computer and piece together a solution.
The Boot Process
In this lesson, we're going to learn how our operating system starts up. It's important to know the steps an operating system takes so you can help diagnose the sort of issue. Booting a computer or starting a computer comes from the phrase(구절) to pull oneself up by one's bootstraps(신발끈). Basically, it means to start from nothing and follow a series of steps to arrive at a fully operational system. When we start up a computer, we use the term boot.
For most operating systems, the boot process follows a general pattern. Much like how we have different cars start up in the same way. Put in the key, turn on the ignition, et cetera. Here's a rundown of the boot process.
- First, the computer is powered on. Remember what we learned about the BIOS/UEFI in earlier videos? The BIOS/UEFI is a low-level software that initializes our computer's hardware to make sure everything is good to go.
- So next, the BIOS/UEFI runs a process called the Power On Self Test or POST. The POST performs a series of diagnostic tests to make sure that the computer is in proper working order.
- Next, depending on the BIOS/UEFI configuration, a boot device will be selected. Devices that are attached to our system, like hard drives, USB drives, CD drives, et cetera are configured in a certain boot order. The devices will be checked in this order and the computer will search for what's known as a bootloader.
- The bootloader is a small program that loads the operating system. Once our computer finds a bootloader on a device in the listed order, it will start to execute this program. This will then start to load a larger and more complex program and eventually loads our operating system.
- Once the bootloader loads up our operating system, our kernel gets loaded. The kernel controls access to our computers resources. It also loads up drivers and more, so that our hardware can talk to our software.
- Next, essential system processes and user space items are launched. These include processes like user log in, spinning up a desktop environment, and more which basically allows us to interact with our system.
And that's it. After these simple steps, you'll be able to get to work.
2. Installing an Operating System
Choosing an Operating System
So how do you decide which operating system to install? Well, you need to ask yourself a couple of questions. The operating systems in use by an organization have a lot to do with the applications and systems that they need to run.
Are you working with an organization or service that requires the use of a specific operating system? If so, you're done that's easy. If the decision hasn't been made on what OS to use, or if you're looking for an operating system for personal use, then you need to ask yourself, what software will need to be run on this device. In lots of cases, the software will be designed to run on a specific operating system. It's also possible that the software is cross platform, meaning it can run on more than one operating system.
Another question to ask is, what hardware will be used? Modern operating systems do a pretty good job of supporting common hardware. You should keep in mind that some manufacturers allow their operating system to be only installed on their hardware. Still a little confused about which operating system is best for you or your organization?
There's one more thing I should call out. Remember that we have different CPU architecture's, 32-bit and 64-bit. Our operating systems will also be optimized for this architecture, so make sure that the CPU and OS are compatible. If you have a 64-bit CPU, you should also install the 64-bit version of the operating system you choose.
Okay, now that you've chosen an operating system that you want to use, let's work on getting it installed on our hardware. Many computers come with an operating system pre-installed. If you boot the computer in this condition, the operating system will continue from whatever point the vendor left it at. You'll need to do a couple of things to finish the installation, like choosing a computer name, or host name, or configuring the network for the device. There's more, but we won't worry about that now. When we walk through an installation of an operating system, you'll be able to see this. If you're going to be installing an operating system from scratch(처음부터), you can use different installation media. Some operating system manufacturers sell their operating system in disc form or USB form. Some let you do reinstalls directly over the internet. As an IT support specialist, you'll install an operating system many times, so using one single disk won't be time efficient or scalable. Scalability(확장성) is an important concept that we'll cover later.
https://www.makeuseof.com/tag/operating-system-choose-next-pc/
Which Operating System Should You Choose for Your Next PC?
Buying a new PC? You have more operating system choices than ever. Which is the best operating system for your computer?
www.makeuseof.com
Virtual Machines
Before we start installing our operating system, we need to be familiar with the concept of Virtual Machines or VMs. A virtual machine is just a copy of a real machine. Why would you want that? We've been working with physical machines so far, but there are cases in IT support where we need access to a machine that isn't physically in front of us. Let's say I have a Windows machine and I want to learn another operating system like Linux. I don't want to buy another computer or have two separate operating systems on my disk. Instead, I can use an application like Virtual Box, to install Linux and have it completely isolated from my machine. Virtual machines use physical resources like memory, CPU and storage, but they offer the added benefit of running multiple operating systems at once. They're also easier to maintain and provision(공급). Virtual machines have become a staple in many IT departments since they allow IT support specialists to create new virtual computers on-demand(맞춤제작). They can also reclaim(회수) the resources they use when they're no longer needed. If you wanted to use software that's only available on one specific OS, it's easier to create a new virtual machine, use the software, and then delete the virtual machines once you're done.
Enterprise Open Source and Linux | Ubuntu
Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.
ubuntu.com
balenaEtcher - Flash OS images to SD cards & USB drives
A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.
etcher.balena.io
What is Chrome OS?
We called out earlier that Chrome OS is an operating system based on Linux. Now, let's dive into how it's different from other Linux based distributions. Unlike other operating systems, Chrome OS has one main purpose: to be a secure and simple way for the user to interact with the web. Not so long ago(얼마 전까지만 해도), the idea of having an operating system dedicated to running a web browser would've seemed weird like it was under using(이상하게 사용함) the computer. But today, you can do so much just through your web browser. You can communicate through email, create and share documents, edit photos and even connect remotely to another computer and the list continues to grow. The development of new web applications increases the number of things users can do all within the web browser. This means that for a lot of people, most of their daily computer use happens inside the browser. So, having an operating system built around a web browser makes a lot of sense(합리적인 생각).
That said, Chrome OS is more than just a web-browsing operating system. It can also run Android and Linux applications inside containers. The user interface in Chrome OS is customized so you can only see the chrome interface. Process management, memory and input and output are still happening behind the scenes. But you don't need to deal with any of that. You only need to deal with the browser. Chrome OS machines come pre-installed with the operating system. So, there's nothing for us to install. When you log into a Chrome OS machine, you're also signing into the Chrome browser. Let's do that now. I've logged into my Chrome OS machine. It's pulling up my Chrome settings and extensions from the configuration stored in external servers provided by the Chrome infrastructure. This means that Chrome OS machines are interchangeable(기기를 교체할 수 있음) because most data is stored in the cloud, not locally. Two other characteristics of Chrome OS are that it's extremely simple to use and very hard for users to meddle with. Since users don't have administrator rights on their Chrome OS machines, they won't be able to alter the system configuration. Also, Chrome OS has an automatic update mechanism that includes a fail-safe in case anything goes wrong. This means that the user doesn't need to worry about problems or hacks in the system because it's designed to stay up and running(문제가 발생해도 계속 실행 됨). Finally, Chrome OS has strong security, which we'll learn about in an upcoming course. For now, you just need to know that Chrome OS allows users to browse the web without worrying about malware and to share machines while keeping their data private. It also ensures that data won't be compromised(손상되다) if the machine is stolen. In short, there is no need to worry about harmful software that might be out there because Chrome OS defends against these threats.
Qwiklabs
Qwiklabs is an online learning environment that takes you through live real world scenarios you may encounter as an IT support specialist. As we said earlier, a virtual machine or VM simulates computers using software. This virtual machine will be running on either Linux or Windows, depending on the exercise. Qwiklabs supports both. This way you can learn to work in either operating system regardless of which operating system you are running on your machine. The Qwiklabs virtual machines run in the Cloud, so you can access them over the internet from wherever you are. As we've shared before, when we say that a service is running in the Cloud, we mean that it's running in a data center or on other remote servers.
That' all for the third module. Operating Systems are very very important and difficult to learn.
Remember that practice makes perfect, whether you're learning something new, or trying to improve your skills