Operating System Basics

In this article, we will be going through some of the basics of Operating Systems. So without further ado, let’s jump right in!

Introduction

Remote Connection and SSH

SSH or Secure Shell is a protocol implemented by other programs to securely access one computer from another. To use SSH, you need to have an SSH client installed on the computer you’re connecting from, along with an SSH server on the computer you’re trying to connect to. Keep in mind that when we say SSH server, we don’t mean another physical machine that serves data. An SSH server is just software. On the remote machine, the SSH server is running as a background process. It constantly checks if a client is trying to connect to it, then will authenticate its requests. The most popular program to use SSH within Linux is the OpenSSH program and for a Windows machine, we use the popular Open Source program PuTTY.

SSH keys come in a set of two keys called private and public keys. You can think of them as actual physical keys to a bank locker. You can use one key to lock the safe, but it won’t unlock it. The other key can then only unlock the safe, but not lock it. That’s basically how public and private keys work. You can lock something with the public key, but you can only unlock it with a private key and vice versa. This ensures that whatever is in the safe is available to only those with the public and private keys.

Another way that you can connect securely to the remote machine is through a VPN. A VPN is a virtual private network. It allows you to connect to a private network like your work network over the Internet. Think of it as a more sophisticated SSH with a lot more setup. It allows you to access resources like shared file servers and network devices as if you are connected to your work network.

Microsoft actually provides another way to connect to other Windows computers called the Remote Desktop Protocol or RDP. They’re also RDP clients for Linux and OS X too like real VNC and Microsoft RDP on Mac. RDP provides users with a graphical user interface to remote computers provided the remote computer has enabled incoming RDP connections. A client program called the Microsoft terminal services client or mstsc.exe is used to create RDP connections to remote computers. You can enable remote connections on your computer by opening up the Start menu, right-clicking on This PC, then selecting Properties. For more information about remote connections in windows, check out the comparison of various SSH clients, the PowerShell team blog, and click here, to view the latest PuTTY updates.

A lot of us hear the term operating system and think of the interfaces of our desktops and phones like the menus, buttons, and backgrounds. Technically, these are part of the operating system, but it’s a little more complex than that. An operating system is a whole package that manages our computer resources and lets us interact with them. There are two main parts to an operating system, the kernel, and the user-space.

The kernel is the main core of an operating system. It talks directly to our hardware and manages our systems resources. As users, we don’t interact with the kernel directly. Instead, we interact with the second part of an operating system the, user space. The user space is basically made up of everything outside the kernel. Anyways we are not gonna go deep into the individual aspects of the kernel, that’s probably the topic for another blog. Click here, if you want to explore more about the various kernel levels.

Types of Operating Systems

There are hundreds of operating systems out there, but we’ll focus on the major ones used in IT; Windows, Mac, and Linux. The Windows OS is developed by Microsoft and used widely in the business and consumer space. Most PCs you buy come with windows as the default operating system. The Mac OS by Apple is mainly used in the consumer space. If you buy an Apple computer, it’ll come with Mac OS preloaded. The last operating system we’ll dive into is the Linux operating system. Linux is an open-source operating system, which means its software is free to share, modify, and distribute. Linux is used heavily in business infrastructure and in the consumer space. Linux itself is actually a kernel developed by Linus Torvalds. Because of the way it evolved, we call the Linux kernel the Linux operating system. Today, Linux has become a huge community effort with developers all over the world contributing to its success. Because Linux is open-source, lots of different organizations package their own version of it. Operating systems like Windows or Macintosh, on the other hand, are solely developed by their respective companies. We call these different Linux OSes distributions. Some common Linux distributions are Ubuntu, Debian, and Red Hat.

Another operating system that has started to gain popularity is Chrome OS, but we won’t go into detail on that one. You can read more about it here! We also won’t go over any of the operating systems used in mobile devices like Android OS, iOS, and Windows 10 mobile. But you should be aware that mobile phone operating systems are quickly overtaking their desktop counterparts in terms of quantity. Mobile phone usage around the world is more prevalent than desktop computers. One cool thing to call out is that Chrome OS and Android OS both run the Linux kernel underneath the hood. So, there’s a chance you’ve already worked with Linux and don’t even know it.

There are lots of operating systems out there and they all share common characteristics. If you’re able to understand the basic building blocks of one OS, you can apply that to any operating system and understand how it works. In IT support, it’s super common to work with many different operating systems from desktop OSes to smartphone OSes and more.

Choosing an Operating System

Awesome You just took the first step towards understanding the basics of an operating system. It’s not that we have covered everything here, but I believe I have given you a basic overview. If you are really interested in continuing this journey, go on, focus on different kernel levels, especially process management, we might have a part two of this blog where we would be going a little too far from the basics, Anyhow for now this is pretty much it,

I think it’s time to sign off for now, and we’ll meet again in another article, where we will be going into the basics of the Internet and Networking, and after that, a little bit of data analytics and machine learning, until then take care!

[“source=gitconnected”]

Loknath Das