What Is an Operating System?
One of the most significant innovations of the 20th century is the computer. Everything seems to run on computers now. Even lightbulbs are smart. However, the operating system serves as an intermediary between computer users and the hardware, and without it, the “computer” hardware would not exist. We’ll go over the functions and significance of operating systems in the following section. We’ll also learn about the different types of operating systems. (Windows, Mac OS X, Linux, Android, and iOS are not the only ones.) Let’s get started.
Table of Contents
ToggleWhy is an operating system important?
An operating system makes software development much easier. Without one, a Software Developer would have to know a lot of details about the hardware that the software will run on and — and possibly have to create a different version of the software for each device.
Each application would have to include a custom user interface for creating windows and managing data. Instead of interacting with the operating system, the application would speak directly to the hardware with machine code (low-level code that handles disk storage, network calls, and other hardware interactions).
A distinct code would be required for each disk drive or Wi-Fi adapter. And if hardware got replaced on the computer, you’d likely have to update every application to account for the change.
Who wants to carry out all of that? Operating systems prevent us from having to.
What does an operating system do?
The majority of operating systems perform numerous tasks and are quite intricate. Here are the most common things an operating system does:
Processor management
An operating system decides which processes use the CPU and how long they get to use them. This is called process scheduling. It uses a traffic controller to keep track of processes, allocates CPU cores to processes, and de-allocates the CPU when the processes are finished.
Memory management
An operating system also manages the memory of a computer or its RAM. It keeps track of the memory to determine how much is being used, allocates memory to a process if there is still RAM available, and frees up the RAM when the process is complete.
Device management
When an operating system is installed, it also comes with drivers to interact with the computer’s hardware. The operating system controls access to the hardware using these drivers with an I/O controller. When a process wants to use hardware like a Wi-Fi adaptor, the operating system allows it to access the device if it is available and handles the input and output between the process and the hardware.
File management
An operating system also comes with a file system that handles all the files and directories on the computer’s hard drives. It keeps track of location, information about creation and modification, and any other metadata related to the file. It defines the file directory structure of the operating system and maps this virtual structure to the physical location of the data on the computer. It also handles and controls access to the files.
Security
An operating system handles the accounts of users who access files and applications on the computer. It makes sure that users can only access files they have created or have been allowed access to from another user. Operating systems also handle the encryption of files for an extra layer of security.
An operating system’s components There are two key parts of operating systems — the kernel and the shell.
Kernel
The kernel is the program that is at the core of an operating system. It launches when the computer starts up and is always resident in the memory. The kernel controls all the hardware of the computer and handles interactions between the hardware and any installed software. The kernel handles most of the tasks of the operating system, including:
Memory management
Process management
Device management
Input-output management
System calls
Shell
The shell is the outer layer of the operating system. It handles the interactions between the user and the kernel.
The operating system’s processes, files, and programs are controlled by the shell through the use of programming languages. A user can interact with the shell using the command line. Applications that run on the computer interact with the operating system through the shell.
Types of operating systems
Although all operating systems have similar functions, quite a few different types are used for various kinds of hardware and use cases.
General-purpose operating systems
One of the most prevalent types of operating systems is general-purpose software. If you have a laptop or desktop computer, you are familiar with this type of system.
These are intended to run a large selection of applications on various hardware configurations and to be installed on all types of laptop and desktop computers. Some common general-purpose operating systems include:
Windows: Windows was first released in 1985 by Microsoft. It is now one of the most common operating systems for personal or business use and comes installed on many retail computers.
Mac OSX: Mac OSX is an operating system designed and used for Apple laptops and computers. It can’t be installed on a generic computer without a lot of extra work.
Unix: Unix was one of the first operating systems created in the 1970s. It is designed to be used by multiple users.
Linux: Linux is a free and open-source operating system based on Unix. It is efficient and lightweight and is the most common operating system used for web services.
Mobile operating systems
In that they are made to run on a variety of hardware, mobile operating systems are similar to general-purpose operating systems. Although there have been many mobile operating systems, the two most common are Android, which is designed for phones built by various manufacturers, and iOS, which is specifically for models of the Apple iPhone.
Operating systems for networks A distinct type of operating system (OS) called a “network operating system” was developed to facilitate device-to-device communication on a local area network (LAN). It provides the functionality needed to understand network protocols and network packets. This type of operating system is used in routers, switches, firewalls, and other networking devices.
Embedded operating systems
Embedded operating systems are used in specialized computers. ATMs, retail point-of-sale systems, and internet of things devices can only do so much, and they have to do it right. An OS for a machine like these is stripped down to just the basics but is also designed to be resilient and handle errors gracefully so they can remain running in all conditions.
Systems for operating in real time Real-time operating systems are designed for computing devices that interact with the real world using sensors. A common use for them is in industrial control systems, where they react to signals from sensors in an industrial plant and send signals to valves, actuators, and other devices that control a manufacturing process.
Conclusion
Developers deal with operating systems day in and day out. Learning to code means learning how to work with the operating system instead of fighting it.
Our Build Basic Apps with Android course will teach you how to write optimal code for the Android operating system, and our Build iOS Apps with SwiftUI course will teach you how to write code that runs well on the iOS operating system.To write code for other operating systems, like Windows, Mac OSX, or Linux, you can choose a cross-platform programming language course from our course catalog. Popular ones include JavaScript, Python, and Java.