Welcome to another article from your favorite cloud technical writer. Today I will be taking you on a quick tour of Linux. This article is divided into two parts; this is the first part, please anticipate the second part. There won’t be much understanding here if I don’t take you a little bit back to what is an operating system, so let’s dive right in.
An operating system is an interface between the user and the computer hardware. The hardware of the computer cannot understand the human-readable language as it works on binaries i.e. 0’s and 1's.
Types of Operating Systems:
∙ Single User — Single Tasking Operating System
∙ Single User — Multi-tasking Operating System
∙ Multi-User — Multitasking Operating System
Single User — Single Tasking Operating System: In this type of operating system only one user can log into the system and can perform only one task at a time. E.g.: MS-DOS
Single User — Multi-tasking Operating System: This sort of operating system allows only one user to log onto the system, but the user can conduct numerous tasks at once, such as accessing the internet while playing music. E.g.: Windows -98, Xp, vista, Seven etc.
Multi User — Multi Tasking Operating System: These types of operating systems allow numerous users to log into the system at the same time, and each user can accomplish multiple tasks at the same time. In a broader sense, numerous users can log in to the system and share its resources at the same time. E.g.: UNIX, LINUX etc.
For the sake of this article, we will be discussing examples of multi-user- multitasking OS.
UNIX
Ken Thompson of Bell Labs created UNIX in 1969 so he could play games on a repurposed DEC PDP-7. Ken recreated UNIX fully in “C” with the help of Dennis Ritchie, the inventor of the “C” programming language so that it could be used on multiple computers. The OS was licensed to universities for instructional purposes in 1974. Hundreds of people contributed to and refined the system over time, and it extended into the business sector.
UNIX PRINCIPLES.
∙ Everything is a file: Many powerful programs are available on UNIX systems for creating and manipulating files. The UNIX security concept is built around file security. You can secure access to hardware in the same manner that you secure access to a document by considering everything as a file.
∙ Configuration data stored in text: Storing configuration in text lets an administrator simply move a configuration from one machine to another, as well as roll back a system configuration to a specific date and time.
∙ Small, Single-Purpose Programs: UNIX provides many utilities like small and single-purpose programs.
∙ Avoid captive user interfaces: A CUI is a method of interacting with an application that lies beyond the reach of the system’s highest-level command interpreter. Once you launch an application through the command interpreter, you cannot communicate with the command interpreter again until the application terminates. You are effectively held captive within the application’s user interface until you perform steps that trigger it to release you.
∙ Ability to chain programs together to perform complex tasks: The fact that the output of one program can be used as the input for another is a key design feature of UNIX. This allows the user to combine several small applications to execute a larger, more complex operation.
Now to our main focus:
LINUX
Linus Torvalds had a dream. He wanted to create the coolest operating system in the world that was free for anyone to use and modify. Based on an obscure UNIX flavor called MINIX, Linus took the source code and created his own flavor, called Linux. Using the power of the Internet, he distributed copies of his OS all over the world, and fellow programmers improved upon his work. In 1999, with a dozen versions of the OS and many GUIs to choose from, Linux is causing a UNIX revival. Knowing that people are used to the Windows tools, Linux developers are making applications that combine the best of Windows with the best of UNIX.
WHY LINUX?
1) Linux is a UNIX-like OS: Linux is similar to UNIX as the various UNIX versions are to each other.
2) Multi-User and Multi-tasking: Linux is a multi-user and multi-tasking operating system. That means that more than one person can be logged on to the same Linux computer at the same time. The same user could even be logged into their account from two or more terminals at the same time; Linux is also Multi-Tasking. A user can have more than one program executing at the same time.
3) Supports a wide variety of hardware: Red Hat Linux supports most pieces of modern x86 compatible PC hardware.
4) Fully Supported: Red Hat Linux is a fully supported distribution Red Hat Inc. provides many support programs for the smallest to the largest companies.
5) Fresh implementation of UNIX APIs: Linux implements the standard Unix process management APIs such as fork(), exec(), and wait(), as well as standard POSIX threads. However, Linux processes and threads are implemented particularly differently than other kernels.
6) Open source development model.
7) Supports many networking protocols and Configurations.
A COMPARISON OF LINUX TO WINDOWS AND MAC OS
Linus likely refers to Linux, which is a popular open-source operating system kernel. Comparing Linux to other operating systems typically involves looking at various factors such as functionality, licensing, user interface, security, performance, community support, and software availability. Here are some key points of comparison between Linux and other major operating systems:
- Windows:
· Linux is open-source, while Windows is a proprietary operating system developed by Microsoft.
· Windows has a larger market share on desktop PCs, while Linux dominates in servers and embedded systems.
· Linux is known for stability, security, and flexibility, while Windows provides broad compatibility with a wide range of applications and hardware.
2. MacOS (formerly OS X):
· MacOS is proprietary and developed by Apple, while Linux is open-source and community-driven.
· MacOS is designed exclusively for Apple hardware, while Linux runs on a vast array of hardware platforms.
· MacOS has a strong focus on user experience and design, while Linux distributions offer more customization options.
DIFFERENT WAYS LINUX CAN BE USED.
Linux offers various ways to be used, catering to different types of users and needs. Here are some common ways people use Linux:
1. Desktop/Laptop OS: Linux can be used as a full-fledged operating system on desktops or laptops. Many distributions provide user-friendly interfaces and a wide range of applications to meet everyday computing needs.
2. Server OS: Linux is widely used as a server operating system due to its stability, security, and cost-effectiveness. It powers a significant portion of web servers, cloud infrastructure, and data centers.
3. Embedded Systems: Linux is frequently used in embedded systems, such as routers, smart TVs, IoT devices, and other specialized hardware, due to its flexibility and ability to be customized.
4. Virtual Machines: Linux is often utilized as a host operating system for virtual machines, allowing users to run multiple operating systems simultaneously for testing, development, or isolation.
5. Containers: With technologies like Docker and Kubernetes, Linux is a go-to choice for containerization, allowing applications to be isolated and deployed easily across different environments.
6. Network Devices: Many network devices, like switches and routers, use Linux-based firmware for their operating systems.
7. Penetration Testing and Security: Linux is the OS of choice for many cybersecurity professionals, as it offers numerous tools and distributions tailored for penetration testing, security auditing, and digital forensics.
These are just some examples, and the versatility of Linux means it can be adapted for many other purposes based on user requirements and creativity.
Here are a few resources to help you get started with learning Linux:
Linux Documentation Project: A vast collection of Linux documentation, guides, and how-tos covering various topics and distributions.
Ubuntu Documentation: Ubuntu’s official documentation provides comprehensive guides and tutorials for beginners and experienced users alike.
Linux Journey: A step-by-step learning platform with interactive lessons to learn Linux fundamentals.
Remember that learning Linux requires hands-on experience, so don’t be afraid to try out different distributions, setups, and tools. Continuous learning is essential for mastering Linux, whether you’re a newbie or an experienced user. I hope this article has been helpful, stay tuned for part two!