What’s up monkeys! Let’s talk about operating systems. The program to govern all other programs. The gateway to your computer hardware. The piece of the puzzle that makes our lives so much easier. Monkeys and monkettes, I present to you… the Operating System, or OS for short.

What is an Operating System?

An Operating System (OS) is system software that manages computer hardware, software, and provides a way for other software programs to access computer hardware resources. The OS is like a manager of two different departments, the hardware department and the software department. For example, A company with an office and warehouse. The office doesn’t directly interact with the warehouse and vice versa. No, Mr. Operating System regional manager manages and keeps both parts working properly and efficiently. Shout out to Dunder Mifflin.

Content Overview
  • Life before the OS
  • Main Purposes of the OS
  • Operating System Components
  • Common Operating Systems

Life before the OS

Do you know how computers were operated before Operating Systems? They were managed by human operators… Cue the “Dunh dunh dunhhhh” sound. Look I know what you’re thinking monkeys, “But wait, I’m operating my computer right now. What are you talking about dude.” Well let me explain. Remember that an operating system is just a computer program coded up in programming language like C. Take away the operating system program and you’re left with a box with a bunch of computer parts. If you can get those parts to run all the necessary programs you need, utilizing the right amount of resources per program, to communicate with all the other intricate parts of the computer then hell I guess you’re a legit computer operator and probably hold a PHD in computer science and mathematics.

Before Operating System software, computer operators would physically walk up to a “computer” and physically load their programs via punch card or magnetic tape. What a process it was to have to take individual programs and feed them into this machine and then wait for it to produce some sort of output. As computers got faster and faster, the time to feed the program took longer than the program itself. This speed paved the way for creating a way for computers to operate themselves.

Main Purposes of the OS

  1. Resource Management: Operating systems manage hardware resources like your CPU, memory, storage and input/output devices. They allocate these resources to the various programs running on your computer system. Think logistics department.
  2. Process Management: Operating systems handle processes, which are just running programs on your computer. They manage running programs by scheduling them for execution, switching between them, and providing ways programs to communicate to each other.
  3. Memory Management: Operating systems oversee memory usage, allocating memory to running programs as needed and reclaiming memory when it’s no longer in use.
  4. File System Management: Operating systems manage files on storage devices, providing a structure for organizing data and controlling access through permissions.
  5. Device Management: Operating systems manage input/output devices such as keyboards, mice, displays, printers, and network interfaces. They provide device drivers, which are just software programs designed to interact and communicate with a particular device.
  6. User Interface: Operating systems provide user interfaces that allow users to interact with the computer system. This can be command-line interface (CLI), or graphical user interface (GUI) depending on the system.
  7. Security: Operating Systems enforce security measures to protect the system and its data from unauthorized access, malware (malicious software), and other threats. This includes user authentication, access control, encryption, and security patches to address vulnerabilities of the computer system.
  8. Error Detection and Handling: Operating systems monitor the system for errors and exceptions, handling them gracefully to prevent system crashes and data loss.

Operating System Components

The two major components of an operating system are the kernel, and the shell. The kernel and the shell are just two abstracted ideas of the various features of an OS.

The Shell (Outer OS layer)

The Shell is the outermost layer of the operating system that the user interacts with. The graphical user interface, and the command line interface are both examples of a shell. The shell then interfaces with the kernel to perform the low-level actions required.

The Kernel (Inner OS layer)

The Kernel is at the core of the operating system, or the inner layer of the OS. It is comprised of low-level resource management tasks and communicates directly with the hardware. The kernel accepts machine understandable language from the shell with which the user interacts.

System Calls (The interaction between)

To communicate with the operating systems kernel, we must make a system call. Like any form of communication, we need an accepted set of rules that is recognized by both communicating parties so that both sides can understand each other. A system call is a way for a shell or computer program to interact and make requests from the kernel of the operating system. System calls serve as communication endpoints for which can be programmatically engaged to request hardware resources.

The flow of operations starts with the user inputting something into the shell interface, and then the shell interface making a system call to the kernel, which responds to the system call and translates that into low-level tasks to be carried out on the machines hardware, then finally hardware works its magic and produces, hopefully, the desired output or action requested by the user. It is a complex and intricate process, but it is the stuff that underpins all the computers around the world.

Common Operating Systems

Operating systems exist on many types of devices such as personal computers, servers, smart phones, networking devices, and much more. Here are some common operating systems you might’ve heard of and are probably using at this very moment.

Windows

The Windows operating system is a proprietary software owned by the company Microsoft. They also have a windows server operating system. It’s been around since 1985 and has evolved into the most widely used operating system in the world. Lots of gamers, home users, and enterprises, use windows OS.

MacOS

MacOS is an operating system that is proprietary software owned by the company Apple. Ever heard of a mac book? Yeah, that’s macOS. It’s an operating system specifically designed for the Apple’s Mac computers.  The Mac provides a stable and user-friendly environment for users to be productive, creative and entertained.

Linux

Linux is an open-source operating system. Developed in 1991 as a personal project by Linus Torvalds. The Linux kernel’s source code was released and from it created many different distributions of Linux, some of which are, Red Hat Enterprise Linux, Ubuntu, Fedora, Kali, Arch, and many, many more. Linux is definitely not the most user-friendly operating system but it does offer a low-level availability that no other operating system offers making it a great system to tinker around with and really come to know the architecture of a computer.

Mobile Device OS

Chances of you reading this and you owning a smart phone I reckon is high. In the age of information if you have a phone its probably a smart phone and guess what the phone is basically a mobile computer with an operating system. Some of note are Apple’s IOS, and Android to name a few.

Conclusion

As you probably know computers are all around us, and they continue to play a bigger part in our lives every day. Operating Systems have revolutionized our understanding of computers and how we interact with them. Without operating systems, we would be living in a very different world putting in punch cards into a machine. Times have changed and they changed for the better. I hope this has given you more insight into what an operating system is and why it’s important. See you later monkeys!