Operating Systems: A Comprehensive Guide

The Operating System is the basic computer software. This software manages all hardware resources of a computer system and provides the basis for the creation and implementation of application software. The system consists of a set of programs, services, and functions that manage and coordinate the operation of the hardware. Thanks to the operating system, the hardware is recognized and the computer system starts to work. Through programs and applications of the operating system, the user can perform certain functions and duties.

Types of Operating Systems:

  • SOMO: In this system, hardware and software resources are available to a single user.
  • SOMU: Multiple users can use hardware and software resources of a single computer.

History of Operating Systems:

Charles Babbage, an English mathematician, dedicated his life to the automatic processing of information. His concept followed an input-process-output model.

1st Generation (1940s-1950s):

  • Vacuum tubes were used for computers.
  • These machines used machine language (direct language to the machine: 0 and 1).
  • They were large in size and consumed a lot of electricity.
  • They were very slow machines, with operations reduced to simple mathematical calculations.
  • Data entry was performed manually, similar to a telephone switchboard, using panels full of holes.
  • From the 1950s, punched cards allowed data to be entered more quickly.

Second Generation (1950s-1960s):

  • Transistors were introduced, making computers smaller, cheaper, faster, and more energy-efficient.
  • Two types of personnel emerged: the punch card operator and the console operator.
  • Batch processing appeared, allowing multiple programs to run at the same time.
  • Peripherals were introduced.
  • Multi-user operating systems emerged.

3rd Generation (1960s-1980s):

  • Integrated circuits were used, further reducing size, consumption, and heat.
  • IBM 360 was created, capable of performing mathematical and logical operations.
  • Basic hardware and software design (operating system) allowed machines to perform several processes at once.

The 4th Generation (1980s-Present):

  • Personal computers were created.
  • Electronic component integration techniques advanced, leading to the silicon chip.
  • Mass storage devices increased in capacity and safety.
  • Optical devices emerged, offering ease of manufacture and lower cost.
  • User-friendly operating systems appeared.
  • Computer networks and the internet/intranet were born.

Process State:

The state of a process is defined as its position regarding the use of hardware resources. A process may be running or blocked. The possible states of a process are:

  1. Implementation-Executing: The processor is executing instructions comprising the program and has the time allowed for use at a particular CPU.
  2. Ready, Pending, or Active: A process is ready to be executed and is waiting for its turn to use the time interval and operate its instructions, accessing system resources.
  3. Blocked: The process is retained due to multiple causes. One reason is that two processes use the same resources, such as a data file.

Time = Arrival – Time Completion

Timeout = Time Service – Execution

Index = Runtime service / service time

Operating System Hierarchy:

The operating system coordinates programs in use at two levels: software and hardware. A three-level hierarchy exists: application, OS, and hardware.

Services:

Services are applications that run in the background. They provide users with various forms of using operating system resources. Some services are multi-user. In certain cases, services are launched by the operating systems as client/server applications, web servers, database servers, and other local server-based applications accessible through a network. These services can be used to:

  • Create programs (editors, compilers, debuggers).
  • Run these programs by providing resources to the system hardware and software.
  • Access files in a controlled and secure manner.
  • Access I/O devices in a controlled manner.
  • Access information in a controlled and secure manner.
  • Check and fix errors caused by hardware or software.
  • Provide statistical information, security, and record system activity.

Services are essential to the operation of many applications and the operating system. Without these programs or services, many applications would not work, and even common tasks like internet access would be impossible.

Current Operating Systems:

Current operating systems are defined by layers:

  1. User: Responsible for controlling user-level processes, showing the user which processes are running or to be executed.
  2. Supervisor: Responsible for performing each process of communication between the system and the user. It manages and coordinates the input/output of different processes to the peripherals and external storage devices.
  3. Executive: Manages storage and memory. It stores processes in pages (segmentation, paging, etc.) in both main memory and disk.
  4. Kernel: Responsible for controlling the CPU. It manages access to computer processes to be executed. These are multi-user operating systems. This level is responsible for the system to perform basic tasks, communication with hardware, process planning, etc.

Functions of an Operating System:

An operating system is able to perform the following functions:

Control and implementation of programs, control, management and administration of peripherals, control, management and User Management Process Control, Control system errors and application, control and management of security against intrusion or virus. The memory- The part of the system that manages memory is the memory manager. Their role is clear: bringing a log of parts of memory being used and not. This memory space reserved for new processes and free up the space of processes have been completed. Interface type text à If the operating system is in text format, all the user to enter commands and responses that the operating system will be introduced or displayed by strings. Example: text-OS: DOS, UNIX – All orders are placed through keyboard and displayed on screen. Interface type graphic Currently most operating systems use means of communication between the machine and computer graphic type. In this type of interface the user uses the mouse-screen information displays blocks or independent displays, these blocks are called windows and they are a number of components and targets used to send or receive information without typing anything. A data structure is called a process control block (CDB) and for each process contain the following information. Current status. A process may be running, stopped or blocked. ID of the process. Each process is assigned code (PID) This code is usually the number that the operating system assigns as their priorities and design parameters established taking into account the use and level of each process. Priority of the process. This priority is determined automatically by the OS depending on the parameters that have been designed. Can be modified by the administrator. Location in memory. Taking into account the technique used to locate programs in memory and depending on the type of program that the OS will try to locate each process in a separate area of memory or the worst in memory areas shared with other processes . Resources used. Each process must have certain resources available hardware and some software resources to run. These resources are made available to the process at the same time that it starts running. These resources will make the OS.