Computer Science

Types of Operating Systems

Operating systems can be categorized into several types, including real-time, single-user, multi-user, and multi-tasking systems. Real-time operating systems are designed for time-critical applications, while single-user systems are intended for individual use. Multi-user systems allow multiple users to access the system simultaneously, and multi-tasking systems enable concurrent execution of multiple tasks. Each type serves specific computing needs and requirements.

Written by Perlego with AI-assistance

6 Key excerpts on "Types of Operating Systems"

Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.
  • The Electrical Engineering Handbook
    4

    Operating Systems

    Yao-Nan Lien,     Department of Computer Science, National Chengchi University, Taipei, Taiwan
    4.1. Introduction
    4.2. Operating System Concepts
    4.2.1. Process 4.2.2. Files 4.2.3. System Calls 4.2.4. Shell: Command-Based User Interface 4.2.5. Graphical User Interface
    4.3. Operating Systems History
    4.4. A Model Operating System
    4.4.1. Single-Machine Levels 1 through 7 4.4.2. Multi-Machine Levels 8 through 14
    4.5. Case 1: UNIX
    4.5.1. Introduction to UNIX 4.5.2. Using UNIX 4.5.3. Linux: An Open Source UNIX Clone for a Personal Computer
    4.6. Case 2: MS-DOS
    4.6.1. Introduction to MS-DOS 4.6.2. Using MS-DOS
    References

    4.1 Introduction

    The operating system of a computer is software, which controls all the computer’s resources and provides the base upon which the application programs can be written. Modern operating systems also provide numerous services, such as interprocess communication, file and directory systems, data transfer over networks, and a command language for invoking and controlling programs.
    A modern computer system consists of one or more processors, some main memory, clocks, terminals, disks, network interfaces, and other input/output devices. Writing programs that keep track of all these components and use them correctly is an extremely difficult job. The operating system puts a layer of software on top of the bare hardware, manages all parts of the system, and presents the user with an interface or virtual machine that is easier to understand and program. Thus, an operating system can be defined as a set of software extensions of primitive hardware, culminating in a virtual machine that serves as a high-level programming environment and manages the flow of work in a network of computers.
    The virtual machine visible to the user is only the outermost of a series of software layers refining the base hardware. The principle behind the layered architecture is called information hiding—confining the details of managing a class of “objects” in a module that has a friendly interface with its users. With information hiding, designers can protect themselves from extensive reprogramming if the hardware or some part of the software changes: the change affects only the small portion of the software interfacing directly with that system component. By nesting these modules, a hierarchy of levels of abstraction is created so that at any level, users can ignore the details at all lower levels. At the highest level is system users who, ideally, are insulated from everything except what they want to accomplish. Operating systems structured in this way can support diverse environments: programming, game playing, real-time processing, office automation, database, and so on. This situation is shown in Figure 4.1
  • Cyber Careers
    eBook - ePub

    Cyber Careers

    The Basics of Information Technology and Deciding on a Career Path

    • Pee Vululleh(Author)
    • 2022(Publication Date)
    • CRC Press
      (Publisher)
    Software plays a mediating role between the user and the computer hardware. In the absence of software, a user essentially cannot perform any task on a computer. This means that software encompasses all the data, applications, and programs stored electronically. A system can be created with the help of hardware. However, this system without any software will be nothing but a showpiece. To work efficiently, the system needs various kinds of software. The software will help the system run efficiently, protect it from viruses, or help navigate the Internet. Software may seem more expensive than hardware. However, when you buy software like Office 365 you get not only a product but also a continuing service. The service provided by such software becomes better with every update. Hence, the value of the software increases over time.

    3.3 Types of Software

    Software can be categorized into two types: operating system (system software) and application software.

    3.3.1 Operating System

    The operating system (OS) controls and manages the hardware and other software on the hardware. The OS is used to manage the computer hardware’s behavior in order to offer basic functionalities to meet user needs. In other words, the OS acts as an intermediary between the user and the hardware.
    To illustrate, let’s use the example of a child’s fire truck toy with lights and sound. The toy’s inner part contains a digital circuit board (PCB board), mounted in external rubber buttons that can be pressed. The PCB board contains a basic micro-controller, read-only memory (ROM) chip, and wires that go to the lights and speakers. When the child presses the buttons (input), a signal triggers a circuit on the micro-controller that reads from random-access memory (RAM) and executes an instruction that plays sounds through the speakers and triggers the light (output). The board itself, in this scenario, acts as the operating system.
    The operating system makes the hardware usable and operates directly on hardware devices (Figure 3.1
  • Distributed Computer Control Systems in Industrial Automation
    • Dobrivojie Popovic, Vijay P. Bhatkar(Authors)
    • 2017(Publication Date)
    • CRC Press
      (Publisher)
    5-1 possible components of system software are shown for general orientation. Of course, no available DCCS has necessarily all components of the system software, given in Fig. 5-1. For comparison, system software of MOD 300 (Taylor) is presented in Fig. 5-2. In the system, the software utility packages and the system funtionality packages have, as essential components of system software, modules for supporting the display and system configuration facilities. That this is generally the case can also be seen from Fig. 5-3, where system software of YEWPACK II (Yokogawa) is presented. 5.1 Real-time operating system Operating system (also called program executive, program organizer, etc.) is that part of system software which arbitrates and controls the resources of a computer system, such as processors, memories, mass storage devices, input and output facilities, etc. It resolves conflicts, optimizes the performance, and helps the user to easily implement device-oriented application programs. A real-time operating system (RTOS), well known from the process control computer engineering, is an operating system, capable of managing real-time resource scheduling and control problems, for instance in computer-based automation systems. In such systems, the most time-critical requirements arise from process interface, especially in the automation systems with high-speed control devices
  • Purchasing and Financial Management of Information Technology
    • Frank Bannister(Author)
    • 2012(Publication Date)
    • Routledge
      (Publisher)
    A key decision factor in choosing an operating system is how well the business applications run on it and how widespread this particular combination is. Always try to avoid being only one of three users world-wide of the Unix version of package X. •  Ease of administration. All operating systems are complex, but some are more so than others (even within the one family). • Stability. There is an old rule of thumb in the computer business that says never buy version 1.0 of anything, and nowhere is this more true than of systems software generally and operating systems in particular. Except in an emergency, never install new or major new releases of operating systems until they have had the time to settle down and the vendor has most of the bugs weeded out. Some operating system releases in the past decade have been followed by a positive rash of patches and bugs fixed in the months after they were launched. •  Standards. Operating systems should conform with industry standards such as POSIX. Most do, but some of the more eccentric flavours of Unix and other operating systems may not. With other system software, make sure that it conforms with widely used systems standards such as TCP/IP for communications or CORBA for object brokers. Communications software should support all appropriate protocols. •  Special features. Ensure that the operating system specification supports your hardware features. For example, if servers use symmetric multi-processing or have multiple processors, the operating system should support these. One special type of software is network management systems (sometimes referred to as systems management systems, although the latter is a slightly wider concept). Such systems are used for managing and administering complex networks
  • DSP Software Development Techniques for Embedded and Real-Time Systems
    • Robert Oshana(Author)
    • 2006(Publication Date)
    • Newnes
      (Publisher)
    Figure 8.1 ). The function of the system software is to manage the resources for the application. Examples of system resources that must be managed are peripherals like a DMA, HPI, or on-chip memory. The DSP is a processing resource to be managed and scheduled like other resources.
    Figure 8.1 Embedded DSP software components
    The system software provides the infrastructure and hardware abstraction for the application software. As application complexity grows, a real-time kernel can simplify the task of managing the DSP MIPS efficiently using a multitasking design model. The developer also has access to a standard set of interfaces for performing I/O as well as handling hardware interrupts.
    Migration to next generation processors is also easier because of the hardware abstraction provided by a real-time kernel and associated peripheral support software. The applications make use of the operating system by making requests for services through a defined application program interface (API). A general-purpose operating system performs these services for applications:
    • In a multitasking operating system where multiple programs can be running at the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.
    • It manages the sharing of internal memory among multiple applications. • It handles input and output to and from attached hardware devices, such as hard disks, printers, and dial-up ports. • It sends messages to each application or interactive user about the status of operation and any errors that may have occurred.
    • It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work.
    • On computers that can provide parallel processing, an operating system can manage how to divide the program so that it runs on more than one processor at a time.
    In some respects, almost any general-purpose operating system (Microsoft’s Windows NT for example) can be evaluated for its real-time operating system qualities. But, here we will define a real-time operating system (RTOS) to be a specialized type of operating system that guarantees a certain capability within a specified time constraint.
  • Software Engineering for Embedded Systems
    eBook - ePub

    Software Engineering for Embedded Systems

    Methods, Practical Techniques, and Applications

    • Robert Oshana, Mark Kraeling(Authors)
    • 2019(Publication Date)
    • Newnes
      (Publisher)
    6

    Operating Systems

    Jean J. Labrosse    Founder and Chief Architect, Micrium LLC, Weston, FL, United States

    Abstract

    Real-time systems are systems in which correctness and timeliness of computed values are at the forefront; there are two types—hard and soft real-time systems.

    Keywords

    Ethernet; Fragmentation; Kernels; Preemptive; Stack size; Task
    Chapter Outline
    • 1  
      Foreground/Background Systems     
    • 2  
      Real-Time Kernels     
    • 3  
      RTOS (Real-Time Operating System)     
      • 3.1  Critical Sections    
      • 3.2  Task Management    
    • 4  
      Assigning Task Priorities     
    • 5  
      Determining the Size of a Stack     
      • 5.1  The Idle Task    
      • 5.2  Priority Levels    
      • 5.3  The Ready List    
    • 6  
      Preemptive Scheduling     
    • 7  
      Scheduling Points     
    • 8  
      Round-Robin Scheduling     
    • 9  
      Context Switching     
    • 10  
      Interrupt Management     
      • 10.1  Handling CPU Interrupts    
      • 10.2  NonKernel-Aware Interrupt Service Routine (ISR)    
      • 10.3  Processors with Multiple Interrupt Priorities    
      • 10.4  All Interrupts Vector to a Common Location    
      • 10.5  Every Interrupt Vectors to a Unique Location    
    • 11  
      The Clock Tick (or System Tick)     
      • 11.1  Wait Lists    
      • 11.2  Time Management    
    • 12  
      Resource Management     
      • 12.1  Resource Management—Disable/Enable Interrupts    
      • 12.2  Resource Management—Semaphores    
      • 12.3  Resource Management—Notes on Semaphores    
      • 12.4  Resource Management—Priority Inversions    
      • 12.5  Resource Management—Mutual Exclusion Semaphores (Mutex)    
      • 12.6  Resource Management—Deadlocks (or Deadly Embrace)    
    • 13  
      Synchronization     
      • 13.1  Synchronization—Semaphores    
      • 13.2  Synchronization—Credit Tracking    
    • 14  
      Bilateral Rendez-vous     
    • 15  
      Message Passing     
      • 15.1  Messages    
      • 15.2  Message Queues    
    • 16  
      Flow Control     
    • 17  
      Clients and Servers     
      • 17.1  Memory Management    
    • 18  
      Summary     
    Real-time systems are systems in which correctness and timeliness of computed values are at the forefront; there are two types—hard and soft real-time systems.
    What differentiates hard and soft real-time systems is their tolerance to missing deadlines and the consequences associated with such issues. Correctly computed values supplied after a deadline has passed are often useless.