Operating System Variations

The operating system(OS) is the collection of software that directs a computer’s operations, controlling and scheduling the execution of other programs, and managing storage, input/output,and communication resources.Basically, the operating system is an interface between the user and machine. It helps user to communicate with machines. Below are the list of widely used variations of the operating system:

  1. Mainframe operating systems
  2. Server operating systems
  3. Multiprocessor operating systems
  4. Personal computer operating systems
  5. Handheld operating systems
  6. Embedded operating systems
  7. Sensor node operating systems
  8. Real-time operating systems
  9. Smart card operating systems 

Mainframe operating systems

  • Mainframe OS are heavily oriented toward processing many jobs at once, most of which needs a prodigious amount of I/O
  • Services Provided:
    • Batch
    • Transaction processing, and
    • Timesharing
  • The batch system is one that processes routine jobs without any interactive user present.
  • Transaction-processing systems handle large numbers of small requests, for example, check processing at a bank or airline reservations
  • Each unit of work is small, but the system must handle hundreds or thousands per second
  • Timesharing systems allow multiple remote users to run jobs on the computer at once, such as querying a big database.
  • Example mainframe OS: OS/390.
  • However, mainframe operating systems are gradually being replaced by UNIX variants such as Linux.

Server operating systems

  • One level down is the server operating systems.
  • Run-on servers (either large personal computers, workstations or even mainframes)
  • serve multiple users at once over a network and allow the users to share hardware and software resources
  • Services: print service, file service, or web service
  • Examples: Solaris, FreeBSD, Linux, and Windows Server 201x.

Multiprocessor Operating Systems

  • The increasingly common way to get major computing power is to connect multiple CPUs into a single system
  • The increasingly common way to get major-league computing power is to connect multiple CPUs into a single system
  • even conventional desktop and notebook operating systems are starting to deal with at least small-scale multiprocessors and the number of cores is likely to grow over time.
  • Examples: Windows and Linux, run on multiprocessors

Handheld operating systems

  • Smaller and smaller systems, tablets, smartphones, and other handheld computers
  • PDA(Personal Digital Assistant)
    • A small computer that can be held in  a hand during operation
  • Runs mostly on UNIX based systems

Embedded Operating Systems

  • Embedded systems run on computers that control devices that are not generally thought of as computers and which do not accept user-installed software.
  • microwave ovens, TV sets, cars, DVD recorders, traditional phones, and MP3 players
  • The main property which distinguishes embedded systems from handhelds is the certainty that no untrusted software will ever run on them.
  • All software is in ROM

Sensor-Node Operating Systems

  •  Sensor networks are used to protect the perimeters of buildings, guard national borders, detect fires in forests, measure temperature and precipitation for weather forecasting, glean information about enemy movements on battlefields, and much more
  • sensors are small battery-powered computers with built-in radios
  •  runs a small, but real operating system, usually one that is event-driven, responding to external events or making measurements periodically based on an internal clock
  • nodes have little RAM and battery lifetime is a major issue
  • Example: TinyOS

Smart Card Operating Systems

  • smallest operating systems run on smart cards, which are credit-card-sized devices containing a CPU chip
  •  Some are powered by contacts in the reader into which they are inserted, but contactless smart cards are inductively powered, which greatly limits what they can do
  • ROM on the smart card holds an interpreter to interpret a programming language