In our daily lives, we all tend to perform a variety of tasks. In most cases, these activities are repetitive and can therefore be planned. With the help of electronic machinery, the level of productivity has increased exponentially over the years. These electronic components have significantly reduced excess labor, but to further improve productivity these tasks need to be automated. As a result, the software implementation becomes integral to the hardware's actual performance and design specifications. Hardware can only do so much, but with well-designed software, a metal box can perform complicated tasks like real-time object detection to help identify one or more targets in a crowd. Operating systems are used to manage and perform these tasks. Say no to plagiarism. Get a tailor-made essay on "Why Violent Video Games Shouldn't Be Banned"? Get an 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 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 have to perform five main tasks; processor management, storage/memory management, device management, application interface and also user interface. The operating system must allocate a sufficient amount of 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 it, while at the same time ensuring that one process does not use memory allocated to another process. This also needs to be done in the most efficient way. 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 have additional hardware connected to them, such as printers and scanners. These devices require special drivers or programs that translate the electrical signals sent by the operating system or application program to the hardware device. The operating system manages input and output from the computer. It often assigns high-priority blocks to drivers so that hardware can be released and available for next use as soon as possible. Programmers use application program interfaces (APIs) to control the computer and operating system. As 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,so the programmer 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. It 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: single multitasking, single and multiuser, distributed, model-based, embedded, real-time, and library. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows multiple programs to run simultaneously. This is achieved through time sharing. Time sharing divides available processor time among multiple processes that are each repeatedly interrupted in time slots by a task scheduling subsystem of the operating system. Multitasking can be characterized into preemptive and cooperative types. In preventative multitasking, the operating system divides the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris, Linux, and AmigaOS, support preemptive multitasking. Single-user operating systems are defined by the name itself. These operating systems do not have features to distinguish users, but they can allow multiple programs to run in tandem. [1] A multiuser operating system extends the basic concept of multitasking with features that identify processes and resources, such as disk space, belonging to 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 distinct computers and makes them appear to be a single computer. The development of networked computers that could be connected and communicate with each other gave rise to distributed computing. Distributed computations are performed on more than one machine. When computers in a group work cooperatively, they form a distributed system. [2] In an operating system, distributed, and cloud computing context, the model refers to creating a single virtual machine image as a guest operating system, then saving it 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 computer systems. They are designed to run on small machines such as PDAs with less battery life. I am 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 an operating system that ensures the processing of events or data within a specific point in time. A real-time operating system can be single or multitasking, but when it is multitasking it uses specialized scheduling algorithms so as to achieve a deterministic nature of behavior. An event-based system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts A library operating system is one in which provided the services provided by a typical operating system, such as the, 2017.
tags