Вы находитесь на странице: 1из 5

Methodology of operating system

Operating systems are there from the very first computer generation and they keep evolving with time.
In this chapter, we will discuss some of the important types of operating systems which are most
commonly used.

The users of a batch operating system do not interact with the computer directly. Each user prepares his
job on an off-line device like punch cards and submits it to the computer operator. To speed up
processing, jobs with similar needs are batched together and run as a group. The programmers leave
their programs with the operator and the operator then sorts the programs with similar requirements
into batches.

The problems with Batch Systems are as follows −

• Lack of interaction between the user and the job.

• CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU.

Time-sharing is a technique which enables many people, located at various terminals, to use a particular
computer system at the same time. Time-sharing or multitasking is a logical extension of
multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as
time-sharing.

The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in case
of Multiprogrammed batch systems, the objective is to maximize processor use, whereas in Time-Sharing
Systems, the objective is to minimize response time.

Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently.
Thus, the user can receive an immediate response. For example, in a transaction processing, the
processor executes each user program in a short burst or quantum of computation. That is, if n users are
present, then each user can get a time quantum. When the user submits the command, the response
time is in few seconds at most.
The operating system uses CPU scheduling and multiprogramming to provide each user with a small
portion of a time. Computer systems that were designed primarily as batch systems have been modified
to time-sharing systems.

Advantages of Timesharing operating systems are as follows −

• Provides the advantage of quick response.

Disadvantages of Time-sharing operating systems are as follows −

• Question of security and integrity of user programs and data.

Distributed systems use multiple central processors to serve multiple real-time applications and multiple
users. Data processing jobs are distributed among the processors accordingly.

The processors communicate with one another through various communication lines (such as high-
speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems.
Processors in a distributed system may vary in size and function. These processors are referred as sites,
nodes, computers, and so on.

The advantages of distributed systems are as follows −

• With resource sharing facility, a user at one site may be able to use the resources available at another.

• Speedup the exchange of data with one another via electronic mail.

• If one site fails in a distributed system, the remaining sites can potentially continue operating.

• Better service to the customers.

• Reduction of the load on the host computer.

A Network Operating System runs on a server and provides the server the capability to manage data,
users, groups, security, applications, and other networking functions. The primary purpose of the
network operating system is to allow shared file and printer access among multiple computers in a
network, typically a local area network (LAN), a private network or to other networks.
The advantages of network operating systems are as follows −

• Upgrades to new technologies and hardware can be easily integrated into the system.

• Remote access to servers is possible from different locations and types of systems.

The disadvantages of network operating systems are as follows −

• Dependency on a central location for most operations.

A real-time system is defined as a data processing system in which the time interval required to process
and respond to inputs is so small that it controls the environment. The time taken by the system to
respond to an input and display of required updated information is termed as the response time. So in
this method, the response time is very less as compared to online processing.

Real-time systems are used when there are rigid time requirements on the operation of a processor or
the flow of data and real-time systems can be used as a control device in a dedicated application. A real-
time operating system must have well-defined, fixed time constraints, otherwise the system will fail. For
example, Scientific experiments, medical imaging systems, industrial control systems, weapon systems,
robots, air traffic control systems, etc.

There are two types of real-time operating systems.

Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems,
secondary storage is limited or missing and the data is stored in ROM. In these systems, virtual memory
is almost never found.

Soft real-time systems are less restrictive. A critical real-time task gets priority over other tasks and
retains the priority until it completes. Soft real-time systems have limited utility than hard real-time
systems. For example, multimedia, virtual reality, Advanced Scientific Projects like undersea exploration
and planetary rovers, etc.

Operating system (OS), program that manages a computer’s resources, especially the allocation of those
resources among other programs. Typical resources include the central processing unit (CPU), computer
memory, file storage, input/output (I/O) devices, and network connections. Management tasks include
scheduling resource use to avoid conflicts and interference between programs. Unlike most programs,
which complete a task and terminate, an operating system runs indefinitely and terminates only when
the computer is turned off.

Modern multiprocessing operating systems allow many processes to be active, where each process is a
“thread” of computation being used to execute a program. One form of multiprocessing is called time-
sharing, which lets many users share computer access by rapidly switching between them. Time-sharing
must guard against interference between users’ programs, and most systems use virtual memory, in
which the memory, or “address space,” used by a program may reside in secondary memory (such as on
a magnetic hard disk drive) when not in immediate use, to be swapped back to occupy the faster main
computer memory on demand. This virtual memory both increases the address space available to a
program and helps to prevent programs from interfering with each other, but it requires careful control
by the operating system and a set of allocation tables to keep track of memory use. Perhaps the most
delicate and critical task for a modern operating system is allocation of the CPU; each process is allowed
to use the CPU for a limited time, which may be a fraction of a second, and then must give up control
and become suspended until its next turn. Switching between processes must itself use the CPU while
protecting all data of the processes.

The first digital computers had no operating systems. They ran one program at a time, which had
command of all system resources, and a human operator would provide any special resources needed.
The first operating systems were developed in the mid-1950s. These were small “supervisor programs”
that provided basic I/O operations (such as controlling punch card readers and printers) and kept
accounts of CPU usage for billing. Supervisor programs also provided multiprogramming capabilities to
enable several programs to run at once. This was particularly important so that these early multimillion-
dollar machines would not be idle during slow I/O operations.

Computers acquired more powerful operating systems in the 1960s with the emergence of time-sharing,
which required a system to manage multiple users sharing CPU time and terminals. Two early time-
sharing systems were CTSS (Compatible Time Sharing System), developed at the Massachusetts Institute
of Technology, and the Dartmouth College Basic System, developed at Dartmouth College. Other
multiprogrammed systems included Atlas, at the University of Manchester, England, and IBM’s OS/360,
probably the most complex software package of the 1960s. After 1972 the Multics system for General
Electric Co.’s GE 645 computer (and later for Honeywell Inc.’s computers) became the most sophisticated
system, with most of the multiprogramming and time-sharing capabilities that later became standard.
The minicomputers of the 1970s had limited memory and required smaller operating systems. The most
important operating system of that period was UNIX, developed by AT&T for large minicomputers as a
simpler alternative to Multics. It became widely used in the 1980s, in part because it was free to
universities and in part because it was designed with a set of tools that were powerful in the hands of
skilled programmers. More recently, Linux, an open-source version of UNIX developed in part by a group
led by Finnish computer science student Linus Torvalds and in part by a group led by American computer
programmer Richard Stallman, has become popular on personal computers as well as on larger
computers.

In addition to such general-purpose systems, special-purpose operating systems run on small computers
that control assembly lines, aircraft, and even home appliances. They are real-time systems, designed to
provide rapid response to sensors and to use their inputs to control machinery. Operating systems have
also been developed for mobile devices such as smartphones and tablets. Apple Inc.’s iOS, which runs on
iPhones and iPads, and Google Inc.’s Android are two prominent mobile operating systems.

From the standpoint of a user or an application program, an operating system provides services. Some of
these are simple user commands like “dir”—show the files on a disk—while others are low-level “system
calls” that a graphics program might use to display an image. In either case the operating system
provides appropriate access to its objects, the tables of disk locations in one case and the routines to
transfer data to the screen in the other. Some of its routines, those that manage the CPU and memory,
are generally accessible only to other portions of the operating system.

Contemporary operating systems for personal computers commonly provide a graphical user interface
(GUI). The GUI may be an intrinsic part of the system, as in the older versions of Apple’s Mac OS and
Microsoft Corporation’s Windows OS; in others it is a set of programs that depend on an underlying
system, as in the X Window system for UNIX and Apple’s Mac OS X.

Operating systems also provide network services and file-sharing capabilities—even the ability to share
resources between systems of different types, such as Windows and UNIX. Such sharing has become
feasible through the introduction of network protocols (communication rules) such as the Internet’s
TCP/IP.

Вам также может понравиться