Operating System Os
Operating System Os
com
Tech Accelerator
DEFINITION
An operating system (OS) is the program that, after being initially loaded into the computer by a boot
program, manages all of the other application programs in a computer. The application programs make
use of the operating system by making requests for services through a defined application program
interface (API). In addition, users can interact directly with the operating system through a user
interface, such as a command-line interface (CLI) or a graphical UI (GUI).
An operating system brings powerful benefits to computer software and software development.
Without an operating system, every application would need to include its own UI, as well as the
comprehensive code needed to handle all low-level functionality of the underlying computer, such as
disk storage, network interfaces and so on. Considering the vast array of underlying hardware available,
this would vastly bloat the size of every application and make software development impractical.
Instead, many common tasks, such as sending a network packet or displaying text on a standard output
device, such as a display, can be offloaded to system software that serves as an intermediary between
the applications and the hardware. The system software provides a consistent and repeatable way for
applications to interact with the hardware without the applications needing to know any details about
the hardware.
As long as each application accesses the same resources and services in the same way, that system
software -- the operating system -- can service almost any number of applications. This vastly reduces
the amount of time and coding required to develop and debug an application, while ensuring that users
can control, configure and manage the system hardware through a common and well-understood
interface.
Understand how UEM, EMM and MDM differ from one another
Once installed, the operating system relies on a vast library of device drivers to tailor OS services to the
specific hardware environment. Thus, every application may make a common call to a storage device,
but the OS receives that call and uses the corresponding driver to translate the call into actions
(commands) needed for the underlying hardware on that specific computer. Today, the operating
system provides a comprehensive platform that identifies, configures and manages a range of hardware,
including processors; memory devices and memory management; chipsets; storage; networking; port
communication, such as Video Graphics Array (VGA), High-Definition Multimedia Interface (HDMI) and
Universal Serial Bus (USB); and subsystem interfaces, such as Peripheral Component Interconnect
Express (PCIe).
An operating system provides three essential capabilities: It offers a UI through a CLI or GUI; it launches
and manages the application execution; and it identifies and exposes system hardware resources to
those applications -- typically, through a standardized API.
UI. Every operating system requires a UI, enabling users and administrators to interact with the OS in
order to set up, configure and even troubleshoot the operating system and its underlying hardware.
There are two primary types of UI available: CLI and GUI.
OSThe architecture of an OS
The CLI, or terminal mode window, provides a text-based interface where users rely on the traditional
keyboard to enter specific commands, parameters and arguments related to specific tasks. The GUI, or
desktop, provides a visual interface based on icons and symbols where users rely on gestures delivered
by human interface devices, such as touchpads, touchscreens and mouse devices.
The GUI is most frequently used by casual or end users that are primarily interested in manipulating files
and applications, such as double-clicking a file icon to open the file in its default application. The CLI
remains popular among advanced users and system administrators that must handle a series of highly
granular and repetitive commands on a regular basis, such as creating and running scripts to set up new
personal computers (PCs) for employees.
Application management. An operating system handles the launch and management of every
application. This typically supports an array of behaviors, including timesharing multiple processes, or
threads, so that various tasks can share the available processors' time; handling interruptions that
applications produce to gain a processor's immediate attention, ensuring there is enough memory to
execute the application and its corresponding data without interfering with other processes; carrying
out error handling that can gracefully remove an application's processes; and performing memory
management without disrupting other applications or the OS.
An operating system can also support APIs that enable applications to utilize OS and hardware functions
without the need to know anything about the low-level OS or hardware state. As an example, a
Windows API can enable a program to obtain input from a keyboard or mouse; create GUI elements,
such as dialog windows and buttons; read and write files to a storage device; and more. Applications are
almost always tailored to use the operating system on which the application intends to run.
Additionally, an operating system can perform the following services for applications:
In a multitasking operating system, where multiple programs can be running at the same time, the OS
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 handles input/output (I/O) to and from attached hardware devices, such as hard disks, printers and
dial-up ports.
It sends messages to each application or interactive user -- or to a system operator -- about the status of
operation and any errors that may have occurred.
It can offload the management of 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.
All major computer platforms (hardware and software) require, and sometimes include, an operating
system, and operating systems must be developed with different features to meet the specific needs of
various form factors.
Device management. An operating system is responsible for identifying, configuring, and providing
applications with common access to underlying computer hardware devices. As the OS recognizes and
identifies hardware, the OS will install corresponding device drivers that enable the OS and applications
running on the OS to use the devices without any specific knowledge of the hardware or devices.
An operating system is responsible for identifying the correct printer and installing the appropriate
printer drivers so that an application needs to only make calls to the printer without having to use codes
or commands that are specific to that printer -- that is the operating system's job. The situation is similar
for other devices, such as USB ports; networking ports; graphics devices, such as graphics processing
units (GPUs); motherboard chipsets; and storage devices, such as Serial-Attached SCSI (SAS) disk
adapters and disks that are formatted with a suitable file system.
The OS identifies and configures physical and logical devices for service and typically records them in a
standardized structure, such as Windows Registry. Device manufacturers periodically patch and update
drivers, and the OS should update them to ensure best device performance and security. When devices
are replaced, the OS also installs and configures new drivers.
Although the fundamental roles of an operating system are ubiquitous, there are countless operating
systems that serve a wide range of hardware and user needs.
Windows is Microsoft's flagship operating system, the de facto standard for home and business
computers. Introduced in 1985, the GUI-based OS has been released in many versions since then. The
user-friendly Windows 95 was largely responsible for the rapid development of personal computing.
Mac OS is the operating system for Apple's Macintosh line of PCs and workstations.
Unix is a multiuser operating system designed for flexibility and adaptability. Originally developed in the
1970s, Unix was one of the first operating systems to be written in the C language.
Linux is a Unix-like operating system that was designed to provide PC users a free or low-cost
alternative. Linux has a reputation as an efficient and fast-performing system.
Mobile operating system. Mobile operating systems are designed to accommodate the unique needs of
mobile computing and communication-centric devices, such as smartphones and tablets. Mobile devices
typically offer limited computing resources compared to traditional PCs, and the OS must be scaled back
in size and complexity in order to minimize its own resource use, while ensuring adequate resources for
one or more applications running on the device. Mobile operating systems tend to emphasize efficient
performance, user responsiveness and close attention to data handling tasks, such as supporting media
streaming. Apple iOS and Google Android are examples of mobile operating systems.
Embedded operating system. Not all computing devices are general purpose. A huge assortment of
dedicated devices -- including home digital assistants, automated teller machines (ATMs), airplane
systems, retail point of sale (POS) terminals and internet of things (IoT) devices -- includes computers
that require an operating system. The principal difference is that the associated computing device only
does one major thing, so the OS is highly stripped down and dedicated to both performance and
resilience. The OS should run quickly, not crash, and handle all errors gracefully in order to continue
operating in all circumstances. In most cases, the OS is provided on a chip that is incorporated into the
actual device. A medical device used in a patient's life support equipment, for example, will employ an
embedded OS that must run reliably in order to keep the patient alive. Embedded Linux is one example
of an embedded OS.
Network operating system. A network operating system (NOS) is another specialized OS intended to
facilitate communication between devices operating on a local area network (LAN). A NOS provides the
communication stack needed to understand network protocols in order to create, exchange and
decompose network packets. Today, the concept of a specialized NOS is largely obsolete because other
OS types largely handle network communication. Windows 10 and Windows Server 2019, for example,
include comprehensive networking capabilities. The concept of a NOS is still used for some networking
devices, such as routers, switches and firewalls, and manufacturers may employ proprietary NOSes,
including Cisco Internetwork Operating System (IOS), RouterOS and ZyNOS.
Real-time operating system. When a computing device must interact with the real world within constant
and repeatable time constraints, the device manufacturer may opt to use a real-time operating system
(RTOS). For example, an industrial control system may direct the operations of a sprawling factory or
power plant. Such a facility will produce signals from myriad sensors and also send signals to operate
valves, actuators, motors and countless other devices. In these situations, the industrial control system
must respond quickly and predictably to changing real-world conditions -- otherwise, disaster may
result. An RTOS must function without buffering, processing latencies and other delays, which are
perfectly acceptable in other types of operating systems. Two examples of RTOSes include FreeRTOS
and VxWorks.
The differences between operating system types are not absolute, and some operating systems can
share characteristics of others. For example, general-purpose operating systems routinely include the
networking capabilities found in a traditional NOS. Similarly, an embedded operating system commonly
includes attributes of an RTOS, while a mobile operating system can still typically run numerous apps
simultaneously like other general-purpose operating systems.
Apple iOS
Apple iOS is a proprietary mobile operating system that runs on mobile devices such as the iPhone, iPad
and iPod Touch. See complete definition
attribute
In general, an attribute is a property, quality, or characteristic that something or someone has. See
complete definition
file sharing
File sharing is the public or private sharing of files or folders on a networked computer. See complete
definition
air gap
An air gap is a security measure that involves isolating a computer or network and preventing it from
establishing an external connection.
Google Docs
business sustainability
macrotrend
attribute
cryptojacking
file sharing
Pomodoro Technique
data masking
computer worm
dielectric constant
scale-out storage
-ADS BY GOOGLE
NETWORKING
SECURITY
CIO
HR SOFTWARE
CUSTOMER EXPERIENCE
SearchNetworking
network packet
A network packet is a basic unit of data that's grouped together and transferred over a computer
network, typically a ...
Virtual network functions (VNFs) are virtualized tasks formerly carried out by proprietary, dedicated
hardware.
Browse by Topic
Browse Resources
About Us Meet The Editors Editorial Ethics Policy Contact Us Advertisers Business Partners Events Media
Kit Corporate Site Reprints
Privacy Policy
Wikipedia
Search
We usually invite the world to create the sum of all human knowledge. Now, we are inviting the world
to create the sound of all human knowledge.
Learn more
Operating system
An operating system (OS) is system software that manages computer hardware, software resources, and
provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include
accounting software for cost allocation of processor time, mass storage, printing, and other resources.
For hardware functions such as input and output and memory allocation, the operating system acts as
an intermediary between programs and the computer hardware,[1][2] although the application code is
usually executed directly by the hardware and frequently makes system calls to an OS function or is
interrupted by it. Operating systems are found on many devices that contain a computer – from cellular
phones and video game consoles to web servers and supercomputers.
The dominant general-purpose personal computer operating system is Microsoft Windows with a
market share of around 76.45%. macOS by Apple Inc. is in second place (17.72%), and the varieties of
Linux are collectively in third place (1.73%).[3] In the mobile sector (including smartphones and tablets),
Android's share is up to 72% in the year 2020.[4] According to third quarter 2016 data, Android's share
on smartphones is dominant with 87.5 percent with a growth rate of 10.3 percent per year, followed by
Apple's iOS with 12.1 percent with per year decrease in market share of 5.2 percent, while other
operating systems amount to just 0.3 percent.[5] Linux distributions are dominant in the server and
supercomputing sectors. Other specialized classes of operating systems (special-purpose operating
systems),[6][7] such as embedded and real-time systems, exist for many applications. Security-focused
operating systems also exist. Some operating systems have low system requirements (e.g. light-weight
Linux distribution). Others may have higher system requirements.
Some operating systems require installation or may come pre-installed with purchased computers
(OEM-installation), whereas others may run directly from media (i.e. live CD) or flash memory (i.e. USB
stick).
A single-tasking system can only run one program at a time, while a multi-tasking operating system
allows more than one program to be running concurrently. This is achieved by time-sharing, where the
available processor time is divided between multiple processes. These processes are each interrupted
repeatedly in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be
characterized in preemptive and cooperative types. In preemptive multitasking, the operating system
slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as
Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative
multitasking is achieved by relying on each process to provide time to the other processes in a defined
manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking; 32-bit versions of both
Windows NT and Win9x used preemptive multi-tasking.
Single-user operating systems have no facilities to distinguish users but may allow multiple programs to
run in tandem.[8] A multi-user operating system extends the basic concept of multi-tasking with
facilities that identify processes and resources, such as disk space, belonging to multiple users, and the
system permits 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 cost
allocation of processor time, mass storage, printing, and other resources to multiple users.
Distributed
A distributed operating system manages a group of distinct, networked computers and makes them
appear to be a single computer, as all computations are distributed (divided amongst the constituent
computers).[9]
Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are
designed to operate on small machines with less autonomy (e.g. PDAs). They are very compact and
extremely efficient by design and are able to operate with a limited amount of resources. Windows CE
and Minix 3 are some examples of embedded operating systems.
Real-time
A real-time operating system is an operating system that guarantees to process events or data by a
specific moment in time. A real-time operating system may be single- or multi-tasking, but when
multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is
achieved. Such an event-driven system switches between tasks based on their priorities or external
events, whereas time-sharing operating systems switch tasks based on clock interrupts.
Library
A library operating system is one in which the services that a typical operating system provides, such as
networking, are provided in the form of libraries and composed with the application and configuration
code to construct a unikernel: a specialized, single address space, machine image that can be deployed
to cloud or embedded environments[further explanation needed].
History
Examples
Unix was originally written in assembly language.[19] Ken Thompson wrote B, mainly based on BCPL,
based on his experience in the MULTICS project. B was replaced by C, and Unix, rewritten in C,
developed into a large, complex family of inter-related operating systems which have been influential in
every modern operating system (see History).
The Unix-like family is a diverse group of operating systems, with several major sub-categories including
System V, BSD, and Linux. The name "UNIX" is a trademark of The Open Group which licenses it for use
with any operating system that has been shown to conform to their definitions. "UNIX-like" is commonly
used to refer to the large set of operating systems which resemble the original UNIX.
Unix-like systems run on a wide variety of computer architectures. They are used heavily for servers in
business, as well as workstations in academic and engineering environments. Free UNIX variants, such as
Linux and BSD, are popular in these areas.
Five operating systems are certified by The Open Group (holder of the Unix trademark) as Unix. HP's HP-
UX and IBM's AIX are both descendants of the original System V Unix and are designed to run only on
their respective vendor's hardware. In contrast, Sun Microsystems's Solaris can run on multiple types of
hardware, including x86 and SPARC servers, and PCs. Apple's macOS, a replacement for Apple's earlier
(non-Unix) Mac OS, is a hybrid kernel-based BSD variant derived from NeXTSTEP, Mach, and FreeBSD.
IBM's z/OS UNIX System Services includes a shell and utilities based on Mortice Kerns' InterOpen
products.
Unix interoperability was sought by establishing the POSIX standard. The POSIX standard can be applied
to any operating system, although it was originally created for various Unix variants.
The first server for the World Wide Web ran on NeXTSTEP, based on BSD.
A subgroup of the Unix family is the Berkeley Software Distribution family, which includes FreeBSD,
NetBSD, and OpenBSD. These operating systems are most commonly found on webservers, although
they can also function as a personal computer OS. The Internet owes much of its existence to BSD, as
many of the protocols now commonly used by computers to connect, send and receive data over a
network were widely implemented and refined in BSD. The World Wide Web was also first
demonstrated on a number of computers running an OS based on BSD called NeXTSTEP.
In 1974, University of California, Berkeley installed its first Unix system. Over time, students and staff in
the computer science department there began adding new programs to make things easier, such as text
editors. When Berkeley received new VAX computers in 1978 with Unix installed, the school's
undergraduates modified Unix even more in order to take advantage of the computer's hardware
possibilities. The Defense Advanced Research Projects Agency of the US Department of Defense took
interest, and decided to fund the project. Many schools, corporations, and government organizations
took notice and started to use Berkeley's version of Unix instead of the official one distributed by AT&T.
Steve Jobs, upon leaving Apple Inc. in 1985, formed NeXT Inc., a company that manufactured high-end
computers running on a variation of BSD called NeXTSTEP. One of these computers was used by Tim
Berners-Lee as the first webserver to create the World Wide Web.
Developers like Keith Bostic encouraged the project to replace any non-free code that originated with
Bell Labs. Once this was done, however, AT&T sued. After two years of legal disputes, the BSD project
spawned a number of free derivatives, such as NetBSD and FreeBSD (both in 1993), and OpenBSD (from
NetBSD in 1995).
macOS
macOS (formerly "Mac OS X" and later "OS X") is a line of open core graphical operating systems
developed, marketed, and sold by Apple Inc., the latest of which is pre-loaded on all currently shipping
Macintosh computers. macOS is the successor to the original classic Mac OS, which had been Apple's
primary operating system since 1984. Unlike its predecessor, macOS is a UNIX operating system built on
technology that had been developed at NeXT through the second half of the 1980s and up until Apple
purchased the company in early 1997. The operating system was first released in 1999 as Mac OS X
Server 1.0, followed in March 2001 by a client version (Mac OS X v10.0 "Cheetah"). Since then, six more
distinct "client" and "server" editions of macOS have been released, until the two were merged in OS X
10.7 "Lion".
Prior to its merging with macOS, the server edition – macOS Server – was architecturally identical to its
desktop counterpart and usually ran on Apple's line of Macintosh server hardware. macOS Server
included work group management and administration software tools that provide simplified access to
key network services, including a mail transfer agent, a Samba server, an LDAP server, a domain name
server, and others. With Mac OS X v10.7 Lion, all server aspects of Mac OS X Server have been
integrated into the client version and the product re-branded as "OS X" (dropping "Mac" from the
name). The server tools are now offered as an application.[20]
First introduced as the OpenEdition upgrade to MVS/ESA System Product Version 4 Release 3,
announced[21] February 1993 with support for POSIX and other standards.[22][23][24] z/OS UNIX
System Services is built on top of MVS services and cannot run independently. While IBM initially
introduced OpenEdition to satisfy FIPS requirements, several z/OS component now require UNIX
services, e.g., TCP/IP.
Linux
Linux, a unix-like operating system was first time released on September 17, 1991, by Linus Torvalds.[25]
[26][27] Picture of Tux the penguin, mascot of Linux.[28]
The Linux kernel originated in 1991, as a project of Linus Torvalds, while a university student in Finland.
He posted information about his project on a newsgroup for computer students and programmers, and
received support and assistance from volunteers who succeeded in creating a complete and functional
kernel.
Linux is Unix-like, but was developed without any Unix code, unlike BSD and its variants. Because of its
open license model, the Linux kernel code is available for study and modification, which resulted in its
use on a wide range of computing machinery from supercomputers to smartwatches. Although
estimates suggest that Linux is used on only 1.82% of all "desktop" (or laptop) PCs,[29] it has been
widely adopted for use in servers[30] and embedded systems[31] such as cell phones. Linux has
superseded Unix on many platforms and is used on most supercomputers including the top 385.[32]
Many of the same computers are also on Green500 (but in different order), and Linux runs on the top
10. Linux is also commonly used on other small energy-efficient computers, such as smartphones and
smartwatches. The Linux kernel is used in some popular distributions, such as Red Hat, Debian, Ubuntu,
Linux Mint and Google's Android, Chrome OS, and Chromium OS.
Microsoft Windows
Microsoft Windows is a family of proprietary operating systems designed by Microsoft Corporation and
primarily targeted to Intel architecture based computers, with an estimated 88.9 percent total usage
share on Web connected computers.[29][33][34][35] The latest version is Windows 11.
Microsoft Windows was first released in 1985, as an operating environment running on top of MS-DOS,
which was the standard operating system shipped on most Intel architecture personal computers at the
time. In 1995, Windows 95 was released which only used MS-DOS as a bootstrap. For backwards
compatibility, Win9x could run real-mode MS-DOS[39][40] and 16-bit Windows 3.x[41] drivers. Windows
ME, released in 2000, was the last version in the Win9x family. Later versions have all been based on the
Windows NT kernel. Current client versions of Windows run on IA-32, x86-64 and ARM microprocessors.
[42] In addition Itanium is still supported in older server version Windows Server 2008 R2. In the past,
Windows NT supported additional architectures.
Server editions of Windows are widely used, however, Windows' usage on servers is not as widespread
as on personal computers as Windows competes against Linux and BSD for server market share.[43][44]
Other
There have been many operating systems that were significant in their day but are no longer so, such as
AmigaOS; OS/2 from IBM and Microsoft; classic Mac OS, the non-Unix precursor to Apple's macOS;
BeOS; XTS-300; RISC OS; MorphOS; Haiku; BareMetal and FreeMint. Some are still used in niche markets
and continue to be developed as minority platforms for enthusiast communities and specialist
applications.
The z/OS operating system for IBM z/Architecture mainframe computers is still being used and
developed, and OpenVMS, formerly from DEC, is still under active development by VMS Software Inc.
The IBM i operating system for IBM AS/400 and IBM Power Systems midrange computers is also still
being used and developed.
Yet other operating systems are used almost exclusively in academia, for operating systems education or
to do research on operating system concepts. A typical example of a system that fulfills both roles is
MINIX, while for example Singularity is used purely for research. Another example is the Oberon System
designed at ETH Zürich by Niklaus Wirth, Jürg Gutknecht and a group of students at the former
Computer Systems Institute in the 1980s. It was used mainly for research, teaching, and daily work in
Wirth's group.
Other operating systems have failed to win significant market share, but have introduced innovations
that have influenced mainstream operating systems, not least Bell Labs' Plan 9.
Components
Market share
See also
Notes
References
Further reading
External links
System call
Binary-code compatibility
Ability of a computer system to run the same code as another computer system
Wikipedia