Module 3
Module 3
Software is the set of instructions, data, or programs used to run the computers and
enables the computers to perform specific tasks. Software is the opposite of hardware,
that is, it can not be touched. These are essential in running the computers.
Some common examples of software that we use on our daily basis are -
(i) Excel,
(ii) Windows, and
(iii) iTunes.
The software tells the computers how to function and perform any task. Without
software, the computers are of no use.
Computer Software
Software Classification
Software can be broadly classified into two types:
System Software
Application Software
1. System Software
System software is the basic and the most important requirement of computers.
System software makes the computer usable as they run the computer hardware, and
the computer itself. System software is responsible for controlling and integrating the
computer system. System software is also responsible for running application
softwares in the computers. System software consists of utilities, operating system,
compilers, and debuggers.
The main function of the system software is to provide a platform or working arena
for the application software.
2. Application Software
Application software is the set of instructions or programs that run on the system
software to perform a specific task. It also helps the users to solve various computing
problems that one might face in its day to day life. Also, all the works done on the
computers include some or the other type of the application software.
Points to Remember
Software is essential for computers to run.
System software provides platform for application software to function.
Interpreter can help in finding errors immediately.
Operating systems enable us to do basic functions like transfer of data, or
deleting of files.
Language processor helps to translate source code to object code.
Interpreter translates one statement of the source code at one time.
There are primarily eight types of Operating Systems, each with its own set of advantages
and disadvantages. Let's take a closer look at these different types of OS:
The fundamental objective of this Operating System was to switch control from one job to
another as soon as it was completed. It had a set of programs known as the resident monitor
which were always kept in one section of the main memory. The remaining portion was used
for maintenance tasks. Learn more about Batch Operating System here.
Pros of Batch OS
The use of a resident monitor increases the efficiency of the computer by reducing the time
the CPU spends switching between tasks.
Cons of Batch OS
Lack of Interactivity: Batch Processing is not suitable for tasks that require user input. Since
the user is not present at the time of execution, a task that requires the input of two numbers
from the console will never receive it in a batch processing scenario.
In the batch, there are five jobs, namely J1, J2, J3, J4, and J5. If J1 takes a significantly long
time to execute, the other four tasks will either never be executed or will have to wait for a
long time. As a result, the other processes suffer.
Pros of Multiprogramming OS
It increases the job throughput of the system as the CPU continually runs one program. It is
also possible to reduce response times as the resources are used very intelligently.
Cons of Multiprogramming OS
While multiprogramming systems create an environment where multiple system resources are
efficiently utilized, they do not allow for any user interaction with the computer.
Multiprocessing performs parallel computing. Having more than one processor in the system
allows it to run multiple processes at the same time, thereby increasing the throughput of the
system. Read more on Multiprocessing Operating System here.
Pros of Multiprocessing OS
Increased throughput: As the number of processors increase, more jobs can be done in less
time.
Cons of Multiprocessing OS
Pros of Multitasking OS
This Operating System is better adapted for handling multiple users at the same time.
Memory management is well-defined in multitasking Operating Systems.
Cons of Multitasking OS
In a multitasking environment, multiple processors are busy at the same time to complete any
task; therefore, the CPU generates more heat.
5. Network Operating System
A Network Operating System (NOS) is a type of Operating System that includes software
and protocols for communicating with other computers over a network in a convenient and
cost-effective manner. Read more on Network OS here.
Pros of Network OS
Since clients and servers are separated in this Operating System, network traffic is reduced.
Setting up and maintaining this type of system is less expensive.
Cons of Network OS
Failure of a node in a system impacts the entire system in this type of Operating System.
Security and performance are crucial considerations; hence, network administration requires
trained network administrators.
Pros of Real-Time OS
Under the real-time OS, it’s easy to design, develop, and run real-time applications.
Maximum utilization of devices and systems is possible with a real-time Operating System.
Cons of Real-Time OS
Since a time-sharing OS allows multiple users to be served at the same time, it requires
sophisticated CPU scheduling algorithms and input/output management. Building time-
sharing Operating Systems are complex and costly. Learn more about Time-Sharing OS here.
Pros of Time-Sharing OS
The time-sharing OS allows for efficient resource utilization and sharing. The CPU idle time
and response time are reduced using this technology.
Cons of Time-Sharing OS
As multiple users access a system at the same time, the security and integrity of user
programs loaded in memory and data must be maintained.
Pros of Distributed OS
Cons of Distributed OS
MS-DOS ENVIRONMENT
DOS is an acronym for Disk Operating System. DOS is manufactured by Microsoft, and is used on PC-
compatible computers to interact with the various parts of your computer’s hardware and provide a
somewhat user-friendly interface to them. Typing in commands are the means to do so. Tasks, which
can be performed with these commands, include: files and directory management, disk
maintenance, hardware configuration, memory optimization, and DOS customization. This system
program must always be present when working with your computer.
There are a variety of reasons why you need DOS. A few of them are listed below to satisfy your
curiosity.
1) DOS controls the flow of information between you and the computer
(translator).
4) DOS interprets and translates the software you have on your computer.
5) DOS gives you access to all its function (i.e. saving, copying, and printing
files).
There are two basic types of Memory RAM and ROM. RAM which, stands for random access
memory, can be read from and written to. You can write to it again and again; new data replaces
older data with no problems. However, RAM is volatile; it loses its data when you shut off the power.
ROM, which stands for read-only memory, has data stored in it by its manufacturer and can be read
from repeatedly, but not written to. A ROM chip usually contains an essential program such as the
Basic Input-Output Operating System (BIOS), which provides the elementary instructions to read and
write data for your hardware. ROM is not volatile; it retains its memory when the power is off so
that its information is available during the early parts of booting, before any programs have been
loaded into RAM.
MS-WINDOWS
Windows gives life to modern PCs; its what sets new PCs apart from their dull typewriter like
forebears. Windows gives you a graphical environment, so you can see what you’re doing. Windows
gives a consistent point and shoot user interface, so that allocation unit of all software works alike.
And Windows gives you the ability to run multiple programs at once, so your computer can keep up
with the most valuable resource around you.
Windows brings together features available in older style operating systems and adds to them user
friendly features so that you can do more work quicker from your desktop or portable computer.
Some of the main benefits include:
1 Improved interface
2 Easier file management, including support for networked connections and long filenames Software
3 New Plug and Play feature automatically detects and uses additional devices you attach to your
computer
4 True 32-bit multitasking enables several programs to run simultaneously so you can get more work
done
6 Better multimedia support Extended communications capability, including E-mail, faxes, bulletin
boards,
UNIX
Overview
After three decades of use, the UNIX computer operating system from Bell Labs is still regarded as
one of the most powerful, versatile, and flexible operating systems (OS) in the computer world. Its
popularity is due to many factors, including its ability to run a wide variety of machines, from micros
to supercomputers, and its portability – all of which led to its adoption by many manufacturers.
History of UNIX
Like another legendary creature whose name also ends in ‘x,’ UNIX rose from the ashes of a multi-
organizational effort in the early 1960s to develop a dependable timesharing operating system. The
joint effort was not successful, but a few survivors from Bell Labs tried again, and what followed was
a system that offers its users a work environment that has been described as “of unusual simplicity,
power, and elegance....” The system also fostered a distinctive approach to software design – solving
a problem by interconnecting simpler tools, rather than creating large monolithic application
programs. Its development and evolution led to a new philosophy of computing, and it has been a
never-ending source of both challenges and joy to programmers around the world.
Main Features
Multi-user Capabilities
A multi-user system permits several users to use the same computer simultaneously. More than one
terminal can be connected to one computer, and the users of the terminal can run allocation unit
programs, access files, and print the documents at once. The O/S manages the requests made to the
computer by managing users, sorts them from interfering with each other, and assigns priorities
when two or more users want to access the same file at the same time. A computer system that can
support multiple users is generally less expensive than the equivalent number of single user
machines.
Multitasking Capabilities
Multitasking means that a given user can do more than one task at the same time. Multitasking with
computer lets you simultaneously perform tasks formerly performed sequentially. This helps the set
of tasks to be completed quickly. This is achieved by placing some tasks in the “background” and
some of the tasks in the “foreground”.
LINUX
Technical Features of Linux
The benefits derived from using the UNIX operating system, and hence Linux, stem from its power
and flexibility. These are the result of the many features built into the system, ready for use as soon
as you turn the system on. The various features available are described below:
Linux is Network-friendly
A team of programmers developed Linux over the Internet, therefore its networking features are
given high priority. Linux is capable of acting as client and/or server to any of the popular operating
systems in use today, and is quite capable of being used to run Internet Service Providers. It is also
well suited to serving as a dial-in network station. Information exchanged by users on the same
systems is called internal communication and is accomplished by terminal-to- terminal
communication, e-mail and an automatic calendar that serves as a scheduler or Information
manager. Linux provides all this networking capabilities. By using Linux operating system you can talk
to another user through an e-mail utility or download large files from another system across the
nation. You can also accomplish internal messaging or file transfer though a number of Linux
commands, such as write, call, mail and mailx. Linux supports most of the major protocols. Support
for Internet, Novell, Windows, and Appletalk networking have been part of the Linux kernel. Linux
support Simple Network Management
Protocol and other services (such as Domain Name Service) and is also well suited to serving large
networks. All these networking options will run acceptably on minimal hardware configurations.
Linux is Multitasking
Multitasking describes the capability to seemingly execute multiple programs at the same time
without hindering each application from running. Most UNIX variants provide a type of multitasking
called Preemptive multitasking. The name is based on the fact that each program is guaranteed a
chance to run, each program executes until the operating system preempts it to allow another
program to run. This type of multitasking is exactly what Linux does.
Linux is Multi-user
Linux is an implementation of the UNIX design concept, which means that it is a multi-user system
from the word “go.” UNIX and Windows NT helped in developing the concept of many user-
accessing applications or processing power from a single PC. The important feature of Linux is that
more than one person can work in the same version of the same application at the same time, from
the same or separate terminals, Linux is capable of managing the traffic.
Linux is Open
Linux is open, that means that for the entire base system, which includes the kernel, the GNU tools,
and all the basic utilities, all the programmers and users have access to the source code as well as
the right to modify it. An important aspect of open software is the ability to write kernel extensions
and drivers as needed. Open system provides a large number of software authors and beta testers.
This makes the software testing and refinement process faster and better. Linux provide the high
quality software, which means less prone to crash, more efficient.
Linux is “Free”
Linux is “Free” in two ways. That is, the Linux consumer is free to modify the system and do anything
he or she wishes with it and also, acquiring Linux does not necessarily require any cash. One of the
greatest advantages of Linux is that it is the freedom to modify the existing code makes it a very
easily extensible platform.
Linux is Reliable
Linux is one of the more stable operating systems because programmers who were writing for other
programmers and not for the corporate system wrote the large part of the Linux. The only people
who made the decisions on what went into the system were programmers. Another factor, which
touches on reliability, is that there are currently two mature program packaging standards in the
Linux world. Debian and Red Hat each have their own packaging systems, both will check
dependencies and both can upgrade an entire running system without a reboot. This makes it easy
to upgrade parts or all of a system, as well as add new software, or remove unwanted software.
Linux is Backwards-Compatible
Linux has very good support for older hardware. What this means for the user is that they can
protect their investment in hardware. When old hardware is rendered obsolete by the latest version
of Windows it can most likely still run enough of Linux to be perfectly useful.
Linux is secure and versatile:
The security model used in Linux is based on the UNIX idea of security, which is robust and of proven
quality. But Linux is not only fit for use as a fort against enemy attacks from the Internet, it will adapt
equally to other situations, utilizing the same high standards for security.