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

8 Key excerpts on "Types of Operating Systems"

  • IC3: Internet and Computing Core Certification Computing Fundamentals Study Guide
    • Ciprian Adrian Rusen(Author)
    • 2015(Publication Date)
    • Sybex
      (Publisher)
    Operating systems have many characteristics that allow them to be classified in multiple ways. The most important characteristics are these:
    • Modern operating systems are real-time.
      They execute applications and commands in real time. The benefit of being real-time is that the operating system delivers a quick and predictable response to the commands issued by the user or by the applications they are using.
    • Modern operating systems are multitasking.
      They allow multiple applications to run at the same time. Hardware resources are allocated and managed automatically by the operating system and shared among all the programs and services that are running.
    • Operating systems can be multiuser or single-user.
      For example, Windows and other operating systems that are designed to run on computers are multiuser. This means that you can create multiple user accounts on the same computer and have them share that computer's hardware and software resources. Single-user operating systems allow only one user account. Generally, these operating systems are found on mobile devices like smartphones and tablets. However, even these types of devices will have multiuser operating systems in the future.
    • Some operating systems can be embedded.
      This means that they are designed to be used in small devices like cash registers, ATMs, and so on. These devices are very compact and have limited resources. Embedded operating systems are optimized to run on limited hardware resources, and they generally provide a small and specialized set of services and interactions.

    How Do They All Work Together?

    When you start a computer or a device like your smartphone, the operating system loads first. Once that is loaded, you will interact with both the application software that is installed on it and the operating system. For example, when you use an application like Microsoft Word to write a document, the application sends your input and commands to the operating system. The operating system then communicates with the hardware, and it automatically manages the resources used by Microsoft Word in order to deliver the desired results.
  • UNIX
    eBook - ePub

    UNIX

    The Textbook, Third Edition

    • Syed Mansoor Sarwar, Robert M. Koretsky(Authors)
    • 2016(Publication Date)
    Operating systems can be categorized according to the number of users who can use the system at the same time and the number of processes (executing programs) that the system can run simultaneously. These criteria lead to three Types of Operating Systems:
    •  Single-user, single-process system: These operating systems allow only one user at a time to use the computer system, and the user can run only one process at a time. Such operating systems are commonly used for PCs. Examples of these operating systems are earlier versions of Mac OS, DOS, and many of Microsoft’s Windows operating systems.
    •  Single-user, multiprocess system: As the name indicates, these operating systems allow only a single user to use the computer system, but the user can run multiple processes simultaneously. These operating systems are also used on PCs. Examples of such operating systems are OS/2, Windows XP Workstation, and batch operating systems. Batch processing is still commonly used in mainframe computers, and most modern operating systems including UNIX, Microsoft Windows, Linux, and Mac OS perform some tasks in batch mode. Even smartphone operating systems including Android and iOS perform tasks in batch mode.
    •  Multiuser, multiprocess system: These operating systems allow multiple users to use a computer system simultaneously, and every user can run multiple processes at the same time. These operating systems are commonly used on computers that support multiple users in organizations such as universities and large businesses. Examples of these operating systems are UNIX, Linux, Windows NT Server, MVS, and VM/CMS.
    Multiuser, multiprocess systems are used to increase resource utilization in the computer system by multiplexing expensive resources such as the CPU. This capability leads to increased system throughput (the number of processes finished in unit time). Resource utilization increases because, in a system with several processes, when one process is performing input or output (e.g., reading input from the keyboard, capturing a mouse click, or writing to file on the hard disk), the CPU can be taken away from this process and given to another process—effectively running both processes simultaneously by allowing them both to make progress (one is performing input/output [I/O] and the other is using the CPU). The mechanism of assigning the CPU to another process when the current process is performing I/O is known as multiprogramming
  • Foundations of Computer Technology
    • Alexander John Anderson(Author)
    • 2020(Publication Date)
    • CRC Press
      (Publisher)
    Operating Systems

    Part Four

    Chapter 10  The Operating System (Part 1)
    10.1    Operating system types
    10.2    Disk operating system (DOS)
    10.3    Operating system functions
    Chapter 11  The Operating System (Part 2)
    11.1    Operating system levels
    11.2    Process scheduling
    11.3    Memory management
    11.4    Input/output control system
    Parts
    Part One:
    Overview
    Part Two:
    Hardware
    Part Three:
    Software
    Part Four:
    Operating Systems
    Part Five:
    Networks
    Part Six:
    Advanced Hardware
    Part Seven:
    Appendix
    Passage contains an image

    Chapter 10

    The Operating System (Part 1)

    In order to control the hardware and software resources, a computer usually comes with some type of system software, the major part of this being the operating system. The operating system is a collection of routines which control both the hardware resources of the system and the flow of information into and out of the computer. It also allows the application programs to handle the various input/output (I/O) devices to perform their specific tasks.
    The primary objective of the operating system handling the system functions in computers is to remove direct control of the system resources, both peripherals and memory, away from the user’s program. In this way the chore of writing software drivers for the hardware in the system is avoided and the standard ones incorporated in the operating system can be shared by multiple users. With these primary goals in mind, additional features such as multitasking, multiuser handling, fault tolerance, and data control may be added to the operating system, thereby increasing the power of the overall computer.
    Apart from the application programs, a computer system will then typically contain the operating system kernel, system processes and utility programs. It can be seen from Figure 10.1
  • Computer Concepts and Management Information Systems
    Resource Allocation: The OS does the proper allocation of computer resources as there might be multiple users or multiple jobs running at the same time. Resources like processing time, main memory (RAM), file storage, devices, etc. must be allocated to all of the users equally, and this is handled by the OS.
    Accounting: The OS keeps full track of how much and what kind of computer resources are used by a user. This record keeping can be used for improving computing services.
    Protection: The OS provides a multilevel protection mechanism to users. This protection is required by users from other users or an outsider. The OS provides a mechanism by which a user can protect his data, and this is done by controlling the access to system resources. For this, the OS uses the authentication process in which each user has to authenticate himself to the system. This is done by means of a multilevel password protection system provided by an OS.
    2.6.3Types and Classifications of Operating Systems
    System software can be broadly classified into the following categories on the basis of their usage:
    Batch Processing System Software: A negligible interaction between the user and the program batch processing system software. In this type of system jobs are processed in the order in which they are entered, that is, on a “first in, first out” basis (FIFO). In a batch processing system, memory is divided into two parts; one is permanently occupied by the software, whereas the other is used as per the need of the user. It simplifies the processing operations because the instructions are executed in batches, and thus saves the processor time.
    Multi-User Operating System Software: The multi-user operating system
  • Computer Fundamentals - 8th Edition
    eBook - ePub

    Computer Fundamentals - 8th Edition

    Concepts, Systems & Applications

    command interpreter ) of an operating system provides a set of commands, which users use to give instructions to a computer for execution of their jobs. Two broad categories of user interfaces supported by modern operating systems are command-line interface and graphical user interface (GUI).
  • OS capability enhancement software is a special category of software, which bridges the gap between functionality of an operating system and needs of users for frequently used programs. Normally, we group such software into three categories - translating programs, library programs, and utility programs.
  • Some popular operating systems are UNIX, MS-DOS, Microsoft Windows, Microsoft Windows Server, Linux, Mac OS, iOS, Watch OS and Android OS.
  • Questions

    1. What is an operating system? Why it is necessary for a computer system?
    2. What are the two primary objectives of having an operating system in a computer system? Explain how an operating system helps in meeting these objectives.
    3. Draw logical architecture diagram of a computer system. Explain the role of an operating system in this architecture.
    4. Explain the role of an operating system as the resource manager of a computer system.
    5. "Operating system tends to isolate system hardware from users". Discuss.
  • Real-Time Systems Design and Analysis
    eBook - ePub

    Real-Time Systems Design and Analysis

    Tools for the Practitioner

    • Phillip A. Laplante, Seppo J. Ovaska(Authors)
    • 2011(Publication Date)
    • Wiley-IEEE Press
      (Publisher)
    3 REAL-TIME OPERATING SYSTEMS
    Every real-time system contains some operating system-like functionality to provide an interface to the input/output hardware and coordination of virtual concurrency in a uniprocessor environment—or even true concurrency with multi-core processors and distributed system architectures. Such a central piece of system software has the following principal aims: to offer a reliable, predictable, and low-overhead platform for multitasking and resource sharing; to make the application software design easier and less hardware bound; and to make it possible for engineers in various industries to concentrate on their core product knowledge and leave the computer-specific issues increasingly to specialized consultants and software vendors. While the variety of real-time applications is enormous, the variety of “real-time operating systems” is also considerable: from application-tailored pseudokernels to commercial operating systems. A pragmatic overview on architectures, principles, and paradigms of real-time operating systems is available in Stankovic and Rajkumar (2004).
    Most application developers would be happy to have the functionality of a full-blown operating system available, but obvious design constraints like system cost and complexity, as well as response times and their punctuality, often direct the practitioner toward understandable compromises. This situation is particularly true with low-end embedded systems having high production volumes. Although complete operating systems would provide highly valuable services for application programmers, the extra online effort of executing system software (or “running the bureaucracy”) is taken from the same processor that is also executing the possibly time-critical application code. Hence, even from the real-time point of view, these services are not free.
  • Microcontrollers
    eBook - ePub

    Microcontrollers

    High-Performance Systems and Programming

    • Julio Sanchez, Maria P. Canton(Authors)
    • 2018(Publication Date)
    • CRC Press
      (Publisher)
    Several terms emerge from this classification: cooperative multitasking refers to a scheduling algorithm in which each task voluntarily cedes execution time to other tasks. This approach has been largely replaced by one referred to as preemptive multitasking. With preempt ive approach, the operati ng syst em assigns a slice of CPU time to each task according to a set of priorities. If an external event takes place that requires immediate attention, then the running task can be preempted in order to respond to the event. Real-time operating systems are based on both cooperative and preemptive multitasking.

    14.2 RTOS Scope

    In the context of real-time programming and of embedded systems, we must define the scope of a software system that can be classified as an operating system. In a conventional computer system, it is clear that the operating system is a stand-alone application that controls devices, allocates resources, prioritizes operations requested by application, and performs other management and control duties. In the sense of Windows, Unix, and Mac OS, the operating system is a monitor program that executes in the foreground.
    Real-time operating systems do not always conform to this model. Microcontroller-based circuits and devices often do not provide the support necessary for a stand-along control programs the likes of Windows or Unix. Although the definition of what constitutes and operating system is a matter of semantics, in the present context we adopt the widest possible description and include all control facilities used in scheduling and resource allocation operations. Thus, RTOS can be implemented in the following forms:
  • Operating  Systems
    eBook - ePub

    Operating Systems

    Evolutionary Concepts and Modern Design Principles

    Reasons for this choice include the timing requirement of applications that are not so hard. That is, even if an operating system does not qualify, it may have some characteristics that enable it to be considered a solution to a particular problem belonging to the category of real-time application. It is to be noted that the objective of a true real-time operating system does not necessarily have to have a high throughput. In fact, the specialized scheduling algorithm, a high clock-interrupt rate, and other similar related factors often intervene in the execution of the system that hinders to yield the needed high throughput. A good real-time operating system thus not only provides efficient mechanisms and services to carry out good real-time scheduling and resource management policies but also keeps its own time and resource consumptions predictable and accountable. In addition, a real-time operating system should be more modular and extensible than its counterpart, a general-purpose operating system. Some early large-scale real-time operating systems were the so-called control program developed by American Airlines and the Sabre Airline Reservations System introduced by IBM. 10.5 REAL-TIME OPERATING SYSTEMS: DESIGN PHILOSOPHIES There are two basic designs: An event-driven operating system that only changes tasks when an event requires service. A time-sharing design that switches tasks on a clock interrupt (clock-driven), as well as on events. The time-sharing design wastes more CPU time on unnecessary task-switches (context-switches) but offers better multitasking, the illusion that a user has sole use of a machine. 10.6 REAL-TIME OPERATING SYSTEMS: CHARACTERISTICS AND REQUIREMENTS Following the accepted definition and the underlying philosophy of the real-time operating system, as already explained, it is expected that data, resources, users, and their computations should be effectively carried out in a predefined manner to meet their ultimate goals
  • 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.