An operating system (or OS according to abbreviationfinder) is the program or set of programs that carry out the management of the basic processes of a computer system and allows the normal execution of the rest of the operations.
At the beginning of computing, the programmer had to have a deep knowledge and contact with the hardware, and in the unfortunate event that his program failed, he had to examine the values of the registers and indicator light panels of the computer ‘s status to determine the cause of the failure and be able to correct your program, in addition to facing again the procedures of saving system time and fine-tuning the compilers, linkers, etc. to run the program again.
The importance of operating systems is born historically since the 1950s, when it became evident that operating a computer through plug-in boards in the first generation and then through batch work in the second generation, could be greatly improved, since the operator always carried out a sequence of repetitive steps, which is one of the characteristics contemplated in the definition of what a program is. In other words, it began to be seen that the operator’s tasks themselves could be captured in a program, which over time and due to its enormous complexity was called an “operating system”. Thus, among the first operating systems is the Fortran Monitor System (FMS) and IBSYS.
Every computer system can be roughly divided into two parts:
- the hardware(the material or mechanical part of the computer) and
- software(the programs that make the computer work).
Software makes hardware useful and can be divided into two classes:
- the underlying software (the programs that make the computer work) that manage the operation of the computer, and
- applicationsoftware, which performs useful actions for users.
System programs include:
- operating systems (the most important of the whole set),
For the other programs to work, every general-purpose computer must have an operating system.
History and evolution
Operating systems have historically been related to the architecture of the computers on which they run, which is why their history. Operating systems, like computer hardware, have undergone a series of revolutionary changes called generations.
In the case of hardware, the generations have been marked by great advances in the components used, going from valves (first generation) to transistors (second generation), to integrated circuits (third generation), to large-scale and very small integrated circuits. large scale (fourth generation).
Each successive generation of hardware has been accompanied by substantial reductions in cost, size, heat output, and power consumption, and by notable increases in speed and capacity. Currently there is a wide variety of operating systems such as Windows 98, Windows NT, Linux, etc.
First generation (late 1950s)
In this decade, batch processing systems appeared, where jobs were gathered by groups or batches. When any task was executed, it had full control of the machine. At the completion of each task, control was returned to the operating system, which cleaned up, read, and started the next task. The concept of system file names appears to achieve information independence. The research laboratories of the General Motors company are credited with being the first to put into operation an operating system for its IBM 701.
Second generation (mid-1960s)
In this generation, shared systems with multiprogramming are developed, in which several processors are used in a single system, in order to increase the processing power of the machine. The program simply specified that a file was to be written to a tape drive with a certain number of tracks and a certain density. The operating system would then locate an available tape drive with the desired characteristics, and instruct the operator to mount a tape in that drive.
At this time, the IBM/360 family of computers emerged, designed as systems for general use, which required handling large volumes of information of different types, which caused a new evolution of operating systems: multi-mode systems, which support simultaneously batch processes, timesharing, real-time processing and multiprocessing.
Fourth generation (mid-1970s to present day)
The operating systems known at the present time are considered fourth generation systems. With the widespread use of computer networks and online processing, it is possible to gain access to geographically remote computers through various types of terminals. With these operating systems, the concept of virtual machines appears, in which the user does not get involved with the hardware of the computer with which he wants to connect and instead the user observes a graphical interface created by the operating system.
An operating system is a set of programs or software, intended to allow communication between the user and the machine in a comfortable and efficient way; It is in charge of managing the resources of the computer, this includes the management of the hardware from the most basic levels.
Operating system components
The operating system is made up of a set of software packages that can be used to manage interactions with hardware. These items are typically included in this software suite:
- The kernel, which represents the basic functions of the operating system, such as memory management, process management, file management, main input/output management, and communication functions.
- The command interpreter, which enables communication with the operating system through a control language, allowing the user to control the peripherals without knowing the characteristics of the hardware used, the management of physical addresses, etc.
- The file system, which allows files to be recorded in a tree structure.
Operating systems are an interface with:
- Application programmers.
- System programmers (operating system administrators).
Functions of operating systems
- Processor management: The operating system manages the distribution of the processor among the different programs through a scheduling algorithm. The type of programmer depends entirely on the operating system, depending on the desired goal.
- Random access memory management: the operating system is responsible for managing the memory space allocated for each application and for each user, if applicable. When physical memory is insufficient, the operating system can create a memory area on the hard disk, called « virtual memory ». Virtual memory allows you to run applications that require more memory than the available RAM on your system. However, this memory is much slower.
- Input/output management: the operating system allows unifying and controlling the access of programs to material resources through drivers(also known as peripheral managers or input/output managers).
- Application execution management: the operating system ensures that applications run smoothly by allocating the resources they need to run. This means that if an application does not respond correctly it can “succumb”.
- Authorization management: The operating system is responsible for security in relation to the execution of programs, guaranteeing that resources are used only by programs and users that have the corresponding authorizations.
- File management: The operating system manages the reading and writing in the file system, and the access authorizations to files of applications and users.
- Information management: the operating system provides a certain number of indicators that can be used to diagnose the correct operation of the equipment.
Characteristics of operating systems
- An operating system makes using a computer more convenient.
- An operating system allows the computer’s resources to be used in the most efficient way possible.
- Ability to evolve. An operating system should be built in a way that allows the effective development, testing, or introduction of new system features without interfering with the service.
- Responsible for managing the hardware. The operating system is responsible for better managing the resources of the computer in terms of hardware, that is, assigning each process a part of the processor to be able to share the resources.
- Relate devices (manage through the kernel). The operating system must be in charge of communicating with peripheral devices, when the user requires it.
- Organize data for rapid and secure access.
- Manage network communications. The operating system allows the user to easily manage everything related to the installation and use of computer networks.
- Bytestream processing through the data bus.
- Provide inputs and outputs. An operating system should make it easy for the user to access and manage the computer’s input/output devices.
- Error Recovery Techniques.
- Prevents other users from interfering. The operating system prevents users from blocking each other by informing them if that application is being used by another user.
- Generation of statistics.
- It allows hardware and data to be shared between users.
Operating system as resource manager
The other task of an operating system is to manage a computer ‘s resources when there are two or more programs running simultaneously that require the use of the same resource—such as CPU (central processing unit) time, memory, or a printer.
Furthermore, in a multi-user system, it is often necessary or convenient to share, in addition to physical devices, information. At the same time, security considerations must be taken into account: for example, confidential information should only be accessed by authorized users, an ordinary user should not be able to overwrite critical areas of the system, etc. (In this case, a user can be a person, a program, or another computer.) In short, the operating system must keep track of who is using what resources; grant resources to those who request them (provided that the requester has adequate rights to the resource); and arbitrate in case of conflicting requests.
Resources managed by operating systems
- processors. _
- Input and output devices.
Tasks performed by an operating system
- Realize the system-user interface.
- Share hardware resources between users.
- Allow users to share their data with each other.
- Prevent the activities of a user from interfering with those of other users.
- Schedule user resources.
- Facilitate access to I/O (input and output) devices.
- Recover from crashes or errors.
- Keep track of the use of resources (among others).
Classification of the operating systems
Due to the evolution of operating systems, it was necessary to make a classification; Considering the differences between their components, we can classify them into:
- batch operating systems.
- multiprogramming operating systems.
- multiuser operating systems.
- timesharing operating systems.
- real-time operating systems.
Batch operating systems
Batch operating systems require that information be put together in a block or “batch” (the program, the data, and the instructions). Jobs are processed in the order they are received, according to the “first come, first served” model. In these systems the memory is divided into two zones. One of them is occupied by the operating system, and the other is used to load transient programs for execution. When the execution of a program ends, a new program is loaded into the same memory area.
Multiprogramming operating systems
Multiprogramming systems are capable of supporting two or more multiple concurrent processes, allowing instructions and data from two or more processes to reside in primary memory at the same time. These systems imply the operation of multiprocess, for the handling of the information. They are mainly characterized by a large number of simultaneously active programs competing for system resources, such as the processor, memory, and “I/O devices” (input and output). These systems monitor the status of all active programs and system resources.
Multi-user operating systems
Multi- user operating systems allow simultaneous access to a computer system through two or more terminals. Currently this type of operating system is fundamental in the management of computer networks.
Timesharing operating systems
Timesharing operating systems try to provide a fair share of common resources to give users the impression that they have a separate computer. In these systems, the memory manager provides isolation and protection of the programs, since they generally have no need to communicate with each other. I/O (input and output) control is responsible for assigning or deallocating devices in a way that preserves system integrity and provides service to all users. The file manager provides protection and control over information access, given the possibility of concurrence and conflicts when trying to access files.
real time operating systems
These systems aim to provide faster response times, process information without downtime. In these systems the memory manager is relatively less demanding because many processes permanently reside in memory. The file manager is typically found in large real-time systems and its primary purpose is to manage access speed, rather than efficient secondary storage utilization.
Types of operating systems
There are several types of operating systems, defined according to their ability to simultaneously manage 16-bit, 32-bit, 64-bit or more information.
Examples of operating systems
- Windows 95
- Windows 98
- Windows ME
- Windows NT
- Windows 2000
- Windows 2000 Server
- Windows Xp
- Windows Server 2003
- Windows CE
- Windows Mobile
- Windows XP 64 bit
- Windows Vista (Longhorn)
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10
- Windows 11
- Mac OS 7
- Mac OS 8
- Mac OS 9
- Mac OSX
- System V
Use of open source operating systems
The vertiginous development achieved, the absence of restrictive licenses for copying, modification and redistribution make the Linux operating system a very strong candidate to gain more users every day in the world and in particular in Cuba, with the limitations imposed by the United States blockade United against Cuba, hence the general guidelines for the use of free software on the Island, thus contemplate creating the necessary conditions for migration, being the Young Club the main way to bring the Cuban population in general closer to free software. They, the aptly named Cuban Family Computer, play a vital role in the introduction of any computer program in Creole society, since it is there where the vast majority of our population has their first contact with a computer, there the adolescent, the university student, the adult and the elderly and are prepared in the modality of operating system (Windows) and free software (Linux), an operating system that favors the use of open codes, therefore now with the insertion of free software in our country. These centers are called to develop educational programs according to the potential of the users and aimed at satisfying the needs of the entire surrounding community and to which the Island is betting to replace the use of Microsoft in official institutions.