- DevOps Weekly
- Posts
- Simplifying Operating System for Backend DevOps Engineers
Simplifying Operating System for Backend DevOps Engineers
In this article, I covered the most important concepts to learn in operating systems as a Backend DevOps Engineer
Hello “👋”
Welcome to another week, another opportunity to become a great DevOps and Backend Engineer
Today’s issue is brought to you by DevOpsWeekly→ A great resource for devops and backend engineers. We offer next-level devops and backend engineering resources.
The operating system is a broad topic; we can not finish it in just one newsletter issue, no matter how hard we try.
However, the plan here is not to turn you into an Operating System expert but to give you direction into what to learn in Operating Systems that will be useful in your career as a Great Backend DevOps Engineer.
Are you ready?
An operating system is the most important software in a computer. It is system software that manages the resources of a computer. It manages the memories, processes, and other software.
These resources include but are not limited to the central processing unit(CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
Types of operating systems
If you’re starting, you’ll probably start using the operating system that comes pre-loaded with the system. However, updating, removing, and installing a new operating system on your machine is possible. For instance, you can remove the Windows operating system and install the Linux one.
Below are the three main types of operating systems:
Windows
Mac
Linux
Next, explore important concepts to learn as a backend engineer in operating systems.
The 10 Operating System Concepts for Backend Engineers
POSIX Basics
POSIX (Portable Operating System Interface) is a set of standards that define a common interface for compatibility between operating systems. It was developed to promote software portability and interoperability across UNIX-like operating systems.
Processes and Process Management
A process is a running program in an operating system, and these running programs are executed sequentially. For instance, when you write and execute a program, it becomes a process that executes all the instructions you specified in the program accordingly.
Threads and Concurrency
Threads A thread is the smallest unit of execution within a process. A process is an independent program with its own memory space, while threads within a process share the same memory space. Threads allow multiple tasks to be executed concurrently within a single process, enabling better resource utilization and responsiveness.
Concurrency refers to the ability of an operating system to manage multiple tasks and execute them seemingly simultaneously. In a concurrent system, multiple tasks progress independently, and the operating system switches between tasks to give the illusion of simultaneous execution. This allows efficient utilization of CPU time, especially when some tasks are waiting for input/output or other resources.
Scheduling
Scheduling in operating systems refers to determining which processes or threads should be allocated CPU time and in what order. The scheduler is a critical component of an operating system that manages the execution of processes or threads to achieve efficient and fair utilization of system resources.
Memory Management
Memory management in operating systems efficiently manages the computer's primary memory (RAM) to enable the execution of multiple processes or programs simultaneously. The main goals of memory management are to ensure that processes can coexist peacefully in memory, prevent conflicts, and optimize memory utilization.
Inter-Process Communication
Inter-process communication (IPC) in operating systems refers to the mechanisms and techniques that allow different processes to exchange data, share resources, and communicate. IPC is essential for coordinating activities, enabling cooperation between processes, and facilitating parallel execution of tasks.
I/O Management
I/O (Input/Output) Management in operating systems manages the communication and interaction between the computer's hardware devices and software processes.
Virtualization
Virtualization in operating systems refers to creating virtual resources or environments that abstract and mimic physical hardware or software components. It allows multiple virtual instances (e.g., virtual machines, virtual storage, virtual networks) to coexist on a single physical machine, providing isolation, flexibility, and resource optimization.
Distributed File Systems
A Distributed File System (DFS) in operating systems is a network-based file system that allows multiple computers or nodes in a distributed computing environment to access and share files and data stored on remote storage devices.
Distributed Shared Memory (DSM) in operating systems is a concept that allows multiple processes running on different nodes in a distributed computing environment to share a common memory space.
That will be all for this one. See you on Saturday..
Did you learn any new things from this newsletter this week? Please reply to this email and let me know. Feedback like this encourages me to keep going.
It will help if you forward or share this email with your friends and leave a comment to let me know what you think. Also, if you've not subscribed yet, kindly subscribe below.
Remember to get Salezoft→ A great comprehensive cloud-based platform designed for business management, offering solutions for retail, online stores, barbershops, salons, professional services, and healthcare. It includes tools for point-of-sale (POS), inventory management, order management, employee management, invoicing, and receipt generation.
Weekly Backend and DevOps Engineering Resources
DevOps and Backend Engineering Basics by Akum Blaise Acha
Why Engineers Should Embrace the Art of Writing by Akum Blaise Acha
Multi-Tenancy and Agile Software Development: A Perfect Match? by Akum Blaise Acha
Continuos Integration/Continuous Deployment by Akum Blaise Acha
From Good to Great: Backend Engineering by Akum Blaise Acha
Web Servers for Backend and DevOps Engineering by Akum Blaise Acha
Reply