More

    Operating Systems: Understanding Functions and Components

    Article Goal:

    Explore the roles and components of operating systems.

    Content:

    Computers, as we’ve learned in prior lessons, are built from a variety of hardware and software components. Ensuring that these components operate correctly and securely requires effective resource management. Additionally, to be an appealing tool for users, computers need a user-friendly interface to bridge the communication between humans and machines.

    The operating system (OS) is central to computer management, with two primary functions: providing an intuitive user interface and managing hardware and software resources. In this lesson, we’ll dive into the inner workings of operating systems and examine their essential components.

    To start, it’s important to recognize that the earliest computers did not have operating systems as we know them today. Tasks were manually fed to computers by human operators, who executed them in a sequential order.

    Over time, repetitive tasks were gradually automated, leading to the development of rudimentary operating systems. Early operating systems were single-tasking, meaning only one program could occupy memory and run at a time. This setup led to underutilization of both the processor and memory. The processor would remain idle during input/output operations, and any unused memory space went to waste.

    With the advent of multiprogramming, which allows multiple programs to be loaded in memory simultaneously, these inefficiencies were mitigated. While one program waited for input/output, the processor could switch to another task, increasing overall system efficiency. However, this advancement necessitated new features and controls within operating systems.

    Another key function of the OS is to provide a user-computer interface. For those who used computers in the late 1980s and early 1990s, it’s clear how much less user-friendly those interfaces were compared to today’s systems. Consider Figure 1, showing a computer using the DOS operating system, once prevalent in older computers. This command-line interface required users to type out commands to open files or configure settings—an unintuitive process for most users.

    Figure 1: Screen with the DOS operating system

    Figure 1: Screen with the DOS operating system
    Photo: Wikipedia.

    Modern operating systems, by contrast, are far more visually intuitive. Icons and colors make operations easy to understand, enhancing the experience for both tech-savvy users and newcomers. Figure 2 displays a graphical interface from Windows 11, highlighting the vast improvements in accessibility and usability that have popularized personal computers.

    Figure 2: Windows 11 graphical screen

    Figure 2: Windows 11 graphical screen
    PHoto: Reprodução/Windows.

    Operating systems can be broken down into two main parts: the kernel and the shell.

    The kernel is the OS core, comprising a series of routines executed under specific conditions to ensure system security and reliability. User programs invoke system calls—requests to the OS for critical tasks that involve protected resources and must run in kernel mode. The shell, on the other hand, is a user-facing layer that provides accessible services.

    In Figure 3, you can see the relationship between the shell, kernel, and hardware. Positioned closest to the hardware, the kernel manages direct access to it. In open-source operating systems like Linux, the kernel is customizable to meet user needs, unlike proprietary systems such as Windows, where modifications aren’t allowed.

    Figure 3: Operating system structure and hardware

    Figure 3: Operating system structure and hardware
    Photo: https://ivanix.wordpress.com/2008/10/23/breve-visao-sobre-o-linux.

    Next, we’ll examine the capabilities an OS must have to keep computers efficient and secure.

    Operating systems manage multiple programs in memory, all competing for computer resources, particularly the processor and memory. To clarify future discussions, let’s define a process as any program that’s currently in memory, either running or waiting to execute. This term will be used throughout.

    When managing several processes vying for processor time, the operating system must decide the order of execution, allocate time for each process, and prioritize certain processes that need more time or have a higher priority. This control over processor use, known as process scheduling, is a core function of the OS.

    Regarding memory management, the OS has four key responsibilities:

    • Occupation Control: Tracking which memory locations are occupied and which are free.
    • Allocation: Assigning memory space for new processes, as each process requires memory to operate.
    • Protection: Preventing a process from accessing memory allocated to others.
    • Virtual Memory Management: When physical memory is insufficient, virtual memory allows the system to handle additional processes.

    Another critical function is deadlock resolution. Deadlocks occur when processes lock resources in a way that prevents other processes from continuing, resulting in system standstills. In such cases, the operating system steps in to resolve the issue, much like an authority managing traffic.

    Additionally, OS handles input and output operations, where devices communicate with the processor through interrupts. When an I/O device needs attention, it triggers an interrupt that the OS handles by pausing the current process, addressing the interrupt, and then resuming the paused process.

    The OS, in short, ensures smooth computer operation beyond just providing a user-friendly interface. The ease of use and widespread adoption of computers are largely due to advancements in OS technology.

    Final Thoughts

    we’ve seen how the OS is the backbone of a computer, allowing even non-technical users to interact easily with complex technology. The OS manages processor time among multiple programs, controls memory occupation and allocation, and ensures optimal use of computer resources.

    With this foundation, you now have a better understanding of the OS’s essential role in computer functionality.

    Recent Articles

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Stay on op - Ge the daily news in your inbox