-
Essay / Modern Operating Systems
In our daily lives, we all tend to perform a series of tasks. In most cases, these tasks are repetitive and therefore can be scheduled. Thanks to electronic machines, the level of productivity has increased exponentially over the years. These electronic components have reduced a lot of excess work, but to further improve productivity, these tasks must be automated. As a result, the software implementation becomes an integral part of the design and performance specifications of the actual hardware. Hardware can't do much, but with well-designed software, a metal box can perform complex tasks such as real-time object detection to help identify one or more targets in a crowd. Operating systems are used to make these tasks easier to manage and perform. Say no to plagiarism. Get a tailor-made essay on “Why Violent Video Games Should Not Be Banned”? Get the original essay One of the main jobs of the operating system is to control the computer's resources, both hardware and software. The operating system allocates the necessary resources to ensure that each application receives the appropriate amount. In addition to resource allocation, operating systems provide a consistent application interface so that all applications use the hardware in the same way. This is especially important if more than one type of computer uses the operating system or if the computer's hardware is likely to change. By having a consistent application program interface (API), software is written on one computer and can run on other types of computers. Developers face the challenge of keeping the operating system flexible enough to control hardware from thousands of different computer manufacturers. Operating systems must accomplish five main tasks: ; CPU management, storage/memory management, device management, application interface and also user interface. The operating system must allocate enough processor time to each process and application so that they can run as efficiently as possible. This is especially important for multitasking. When the user has multiple applications and processes running, it is up to the operating system to ensure that the device has enough resources to function properly. The operating system must also ensure that each process has enough memory to run the process, while ensuring that one process does not use memory allocated to another process. This must also be done in the most efficient way possible. A computer has four general types of memory. In order of speed, they are: high-speed cache, main memory, secondary memory, and disk storage. The operating system must balance the needs of each process with the different types of memory available. Most computers are connected to additional hardware, such as printers and scanners. These devices require special drivers or programs that translate electrical signals sent by the operating system or application program to the hardware device. The operating system manages the computer's input and output. It often assigns high priority blocks to drivers so that the hardware can be released and available for the next use as soon as possible. Programmers use application program interfaces (APIs) tocontrol the computer and operating system. When software developers write applications, they can insert these API functions into their programs. When the operating system encounters these API functions, it performs the desired action. The programmer therefore does not need to know the details of hardware control. The user interface, on the other hand, sits as a layer above the operating system. This is the part of the application through which the user interacts with the application. Some operating systems, such as Microsoft Windows and Apple Macintosh, use graphical user interfaces. Other operating systems, such as Unix, use shells. In theory, there are six different classes of operating systems: multitasking, single-user and multi-user, distributed, model-based, embedded, real-time, and library. A single-tasking system can only run one program at a time, while a multitasking operating system allows multiple programs to run simultaneously. This is achieved through time sharing. Time sharing divides available CPU time between multiple processes that are each interrupted repeatedly in time slices by a task scheduling subsystem of the operating system. Multitasking can be characterized into preemptive and cooperative types. In preemptive multitasking, the operating system cuts CPU time and devotes a slot to each program. Unix-like operating systems, for example Solaris, Linux, as well as AmigaOS support preemptive multitasking. Single-user operating systems are defined by the name itself. These operating systems do not have any functionality to distinguish users, but can allow multiple programs to run in tandem. [1] A multi-user operating system extends the basic concept of multitasking with features that identify processes and resources, such as disk space, owned by multiple users, and the system allows multiple users to interact with the system at the same time. . Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for allocating the costs of processor time, mass storage, printing, and other resources to multiple users. A distributed operating system manages a group of separate computers and makes them appear to be one computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed calculations are performed on multiple machines. When computers in a group work cooperatively, they form a distributed system. [2] In an operating system, distributed cloud computing, and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system and then saving as a tool for multiple running virtual machines. The technique is used in both virtualization and cloud computing management, and is common in large server warehouses. [3]Embedded operating systems are designed for use in embedded computing systems. They are designed to run on small machines like PDAs with less battery life. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is a system, 2017.