Navigating the World of Operating Systems and Linux: Day 3 Insights
Tags: 120daystowardsdevops, linus, virtualization
Published: 2023-06-17 21:20:57

**Introduction**
Welcome back to my 120-day of DevOps! On day 3, I delved into the fascinating realm of operating systems (OS) and the significance of Linux in the DevOps landscape. I explored the basics of OS, the concept of virtualization, and the Linux file structure. Join me as I share my key takeaways from day 3, where I gained a deeper understanding of how OS serves as an intermediary between hardware and software, the benefits of virtualization, and why Linux is a preferred choice for DevOps practitioners, cloud engineers, and server-side engineers. Let's dive in!

**Operating Systems**
_The Bridge between Hardware and Software_
Operating systems play a vital role as intermediaries between hardware and software, enabling users to interact with and exchange information with the underlying hardware. Here are a few key insights I gained about operating systems:
1.	User Interface: Operating systems provide a user interface that allows users to interact with the computer or device. This interface can be graphical (GUI) or command-line (CLI), depending on the specific OS.
2.	Resource Management: OS manages system resources such as CPU, memory, storage, and devices, ensuring efficient allocation and utilization among different applications and processes.
3.	File System: Operating systems provide a file system that organizes and stores data on storage devices. It allows users to create, access, modify, and delete files and directories.

**Virtualization**
_Harnessing the Power of Virtual Environments_
Virtualization is the process of creating virtual versions of resources such as operating systems, servers, storage devices, or networks. Here's what I discovered about virtualization:
1.	Benefits of Virtualization: Virtualization offers several advantages, including hardware consolidation, cost savings, improved scalability, enhanced disaster recovery, and increased flexibility in deploying and managing applications and services.
2.	Virtual Machines (VMs): Virtual machines emulate the functionality of physical machines, enabling multiple operating systems and applications to run concurrently on a single physical server. VMs provide isolated environments, allowing better resource utilization and easier management.
3.	Hypervisor: A hypervisor, also known as a virtual machine monitor, is a software or firmware layer that enables the creation and management of VMs. It abstracts and manages the underlying physical hardware resources, facilitating the execution of multiple VMs on a single physical host.
The Power of Linux in DevOps
Linux, an open-source operating system, holds significant importance in the DevOps ecosystem. Here's what makes Linux preferable for DevOps practitioners, cloud engineers, and server-side engineering:
1.	Flexibility and Customization: Linux offers a high degree of flexibility, allowing users to customize and tailor the OS to suit their specific needs. This flexibility is crucial in DevOps environments where various tools and technologies need to be integrated seamlessly.
2.	Strong Command-Line Interface: Linux provides a robust command-line interface (CLI), empowering DevOps professionals to automate tasks, write scripts, and efficiently manage and configure systems and applications.
3.	Vast Ecosystem and Community Support: Linux enjoys a vast ecosystem of open-source software and tools that are extensively used in DevOps practices. The Linux community provides excellent support, frequent updates, and security patches, ensuring a reliable and stable environment.

**Linux File Structure**
_Navigating the Directory Hierarchy_
Understanding the Linux file structure is essential for efficient navigation and management. Here are the key components of the Linux file structure:
1.	Root Directory (/): The root directory is the top-level directory in Linux, serving as the starting point for the file hierarchy.
2.	/bin and /sbin: These directories contain essential binaries and system commands, accessible to all users (/bin) and system administrators (/sbin).
3.	/home: The /home directory contains individual user directories, where users store their personal files and configurations.
4.	/etc: The /etc directory holds system-wide configuration files, including network settings, user management, and software-specific configurations.

**Conclusion**
Day 3 of my 120-day DevOps challenge has been an enlightening journey into the world of operating systems and Linux. I explored the role of operating systems as intermediaries between hardware and software, the benefits of virtualization, and why Linux is a preferred choice for DevOps practitioners, cloud engineers, and server-side engineering. Understanding the Linux file structure has also empowered me to navigate and manage files efficiently.
I'm grateful for the opportunity to share my insights and learn alongside my fellow journey companions: **Uwabor Collins**, **Kenneth**,**Fiyin**, **Ceemie** and **Marion**. Stay tuned for my next post, where I will delve deeper into more practical concepts around Linux and its significance in the DevOps landscape.

Resources:
https://www.youtube.com/watch?v=IVquJh3DXUA
https://www.youtube.com/watch?v=42iQKuQodW4
https://www.youtube.com/watch?v=A3G-3hp88mo