0% found this document useful (0 votes)
16 views

Computer Software

Uploaded by

shikha sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Computer Software

Uploaded by

shikha sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Unit 4 :Computer Software

• The computer, as a machine, can do nothing for you without the software.
Software is required for the functioning of computer. Software programs instruct
computer about the actions to be performed, so as to get the desired output.
6.1 INTRODUCTION
• A computer system consists of hardware and software.
• The computer hardware cannot perform any task on its own. It needs to be
instructed about the tasks to be performed. Software is a set of programs that
instructs the computer about the tasks to be performed.
• Software tells the computer how the tasks are to be performed; hardware
carries out these tasks.
• Different sets of software can be loaded on the same hardware to perform
different kinds of tasks. For example, a user can use the same computer
hardware for writing a report or for running a payroll program. The components
like monitor, keyboard, processor, and mouse, constitute the hardware.
6.2 TYPES OF SOFTWARE
Software can be broadly classified in two categories:
1. System Software, and
2. Application Software.
• System software provides the basic functions that are performed by the
computer. It is necessary for the functioning of a computer.
• Application software is used by the users to perform specific tasks. The user
may choose the appropriate application software, for performing a specific task,
which provides the desired functionality.
• The system software interacts with hardware at one end and with application
software at the other end. The application software interacts with the system
software and the users of the computer.
6.3 SYSTEM SOFTWARE
• System software provides basic functionality to the computer. System software
is required for the working of computer itself. The user of computer does not
need to be aware about the functioning of system software, while using the
computer.
• For example, when you buy a computer, the system software would also include
different device drivers. When you request for using any of the devices, the
corresponding device driver software interacts with the hardware device to
perform the specified request.
• If the appropriate device driver for any device, say a particular model of a
printer, is installed on the computer, the user does not need to know about the
device driver, while printing on this printer.
The purposes of the system software are:
• To provide basic functionality to computer,
• To control computer hardware, and
• To act as an interface between user, application software and computer
hardware.
• On the basis of their functionality, system software may be broadly divided into
two categories

• System software for the management and functionality of computer relates to


the functioning of different components of the computer, like, processor, input
and output devices etc. System software is required for managing the
operations performed by the components of computer and the devices attached
to the computer. It provides support for various services, as requested by the
application software. Operating system, device drivers, and system utilities
constitute the system software for management of computer and its resources
• System software for the development of application software provides services
required for the development and execution of application software. System
software provides the software tools required for the development of
application software. The programming language software, translator software,
loader, and linker are also categorized as system software, and are required for
the application software development.
6.4 APPLICATION SOFTWARE
• The software that a user uses for accomplishing a specific task is the application
software. Application software may be a single program or a set of programs.
• A set of programs that are written for a specific purpose and provide the
required functionality is called software package. Application software is
written for different kinds of applications—graphics, word processors, media
players, database applications, telecommunication, accounting purposes etc.
Some examples of application software packages are as follows:
• Word Processing Software: For writing letter, reports, documents etc. (e.g. MS-
WORD).
• Image Processing Software: For assisting in drawing and manipulating graphics
(e.g. Adobe Photoshop).
• Accounting Software: For assisting in accounting information, salary, tax
returns (Tally software).
• Spreadsheet Software: Used for creating budget, tables etc. (e.g. MS-Excel).
• Presentation Software: To make presentations, slide shows (e.g. MS-PowerPoint)
• Suite of Software having Word Processor, Spreadsheet and Presentation Software:
Some examples are MS-Office, Google Docs, Sun Openoffice, Apple iWork.
• CAD/CAM Software: To assist in architectural design. (e.g. AutoCAD, Autodesk)
• Geographic Information Systems: It captures, stores, analyzes, manages, and
presents data, images and maps that are linked to different locations. (e.g. ArcGIS)
• Web Browser Software: To access the World Wide Web to search documents,
sounds, images etc. (e.g. Internet Explorer, Netscape Communicator, Chrome).
6.3.1 Operating System
• Operating System (OS) is an important part of a computer. OS intermediates
between the user of a computer and the computer hardware. Different kinds of
application software use specific hardware resources of a computer like CPU, I/O
devices and memory, as needed by the application software.
• OS controls and coordinates the use of hardware among the different application
software and the users. It provides an interface that is convenient for the user to
use, and facilitates efficient operations of the computer system resources.
The key functions of OS are—
• It provides an environment in which users and application software can do work.
• It manages different resources of the computer like the CPU time, memory space,
file storage, I/O devices etc. During the use of computer by other programs or
users, operating system manages various resources and allocates them whenever
required, efficiently.
• It controls the execution of different programs to prevent occurrence of error.
• It provides a convenient interface to the user in the form of commands and
graphical interface, which facilitates the use of computer.
6.3.2 Device Driver
• A device driver acts as a translator between the hardware and the software that
uses the devices. In other words, it intermediates between the device and the
software, in order to use the device.
• Some devices that are commonly connected to the computer are—keyboard,
mouse, hard disk, printer, speakers, microphone, joystick, webcam, scanner, digital
camera, and monitor.
• For proper working of a device, its corresponding device driver must be installed
on the computer. For example, when we give a command to read data from the
hard disk, the command is sent to the hard disk driver and is translated to a form
that the hard disk can understand. The device driver software is typically supplied
by the respective device manufacturers
• Nowadays, the operating system comes preloaded with some commonly used
device drivers, like the device driver for mouse, webcam, and keyboard.
• The device drivers of these devices are preinstalled on the computer, such that
the operating system can automatically detect the device when it is connected
to the computer.
• Such devices are called plug and play devices. In case the computer does not
find the device driver, it prompts the user to insert the media (like a CD which
contains the corresponding device driver) provided along with the device. Most
device manufacturers, host the device drivers for their devices on their
companies’ websites; users can download the relevant driver and install it on
their computer.
• Each device has its own device driver
• Whenever a new device is connected to a computer, its device driver has to be
loaded in the computer’s memory, to enable use of the device. When you buy a
new printer, you get the device driver CD with it. You must install the device
driver on your computer, to use the new printer. Each printer comes with its
own device driver. If you replace your old printer with a new model, you need to
install the device driver for the new printer.
• Device drivers can be character or block device drivers. Character device drivers
are for character based devices like keyboard, which transfer data character by
character. Block device driver are for devices that transfer data as a block, like in
hard disk.
6.3.3 System Utilities
System utility software is required for the maintenance of computer. System utilities
are used for supporting and enhancing the programs and the data in computer.
Some system utilities may come embedded with OS and others may be added later
on. Some examples of system utilities are:
• Anti-virus utility to scan computer for viruses
• Data Compression utility to compress the files.
• Cryptographic utility to encrypt and decrypt files.
• Disk Compression utility to compress contents of a disk for increasing the
capacity of a disk.
• Disk Partitioning to divide a single drive into multiple logical drives. Each drive is
then treated as an individual drive and has its own file system.
• Disk Cleaners to find files that have not been used for a long time. It helps the
user to decide what to delete when the hard disk is full.
• Backup Utility to make a copy of all information stored on the disk. It also
restores the backed up contents in case of disk failure.
• System Profiling Utility provides detailed information about the software
installed on the computer and the hardware attached to it.
• Network Managers to check the computer network and to log events.
6.3.4 Programming Languages
• A Programming Language consists of a set of vocabulary and grammatical rules,
to express the computations and tasks that the computer has to perform.
• Programming languages are used to write a program, which controls the
behavior of computer, codify the algorithms precisely, or enables the human-
computer interface.
• Each language has a unique set of keywords (words that it understands) and a
special syntax for organizing program instructions. The programming language
should be understood, both by the programmer (who is writing the program)
and the computer.
• A computer understands the language of 0∙s and 1∙s, while the programmer is
more comfortable with English-like language. Programming Language usually
refers to high-level languages like COBOL, BASIC, FORTRAN, C, C++, Java etc.
• Machine Language is what the computer can understand but it is difficult for
the programmer to understand. Machine languages consist of numbers only.
Each kind of CPU has its own unique machine language.
• Assembly Language falls in between machine language and high-level language.
They are similar to machine language, but easier to program in, because they
allow the programmer to substitute names for numbers.
• High-level Language is easier to understand and use for the programmer but
difficult for the computer.
Machine Language
• A program written in machine language is a collection of binary digits or bits
that the computer reads and interprets. It is a system of instructions and data
executed directly by a computer’s CPU. It is also referred to as machine code or
object code.
• It is written as strings of 0’s and 1∙s
• The computer can understand the programs written in machine language
directly. No translation of the program is needed
• Program written in machine language can be executed very fast (Since no
translation is required)
Assembly Language
• A program written in assembly language uses symbolic representation of
machine codes needed to program a particular processor (CPU) or processor
family.
• This representation is usually defined by the CPU manufacturer, and is based on
abbreviations (called mnemonics) that help the programmer remember
individual instructions, registers, etc.
• Small, English-like representation is used to write the program in assembly
language

• Assembly language programs are easier to write than the machine language
programs, since assembly language programs use short, English-like
representation of machine code.
ADD 2, 3
LOAD A
SUB A, B
• The program written in assembly language is the source code, which has to be
converted into machine code, also called object code, using translator software,
namely, assembler.
• Each line of the assembly language program is converted into one or more lines of
machine code. Hence assembly language programs are also machine-dependent.
• Although assembly language programs use symbolic representation, they are still
difficult to write.
• Assembly language programs are generally written where the efficiency and the
speed of program are the critical issues, i.e. programs requiring high speed and
efficiency.
High-level Language
A program in a high-level language is written in English-like language. Such languages
hide the details of CPU operations and are easily portable across computers. A high-
level language isolates the execution semantics of computer architecture from the
specification of the program, making the process of developing a program simpler
and more understandable with respect to assembly and machine level languages.
Some of the features of a program written in high-level language are as follows:
• Programs are easier to write, read or understand in high-level languages than in
machine language or assembly language.
• Programs written in high-level languages is the source code which is converted
into the object code (machine code) using translator software like interpreter or
compiler.
• A line of code in high-level program may correspond to more than one line of
machine code.
• Programs written in high-level languages are easily portable from one computer
to another.
Different Generations of Programming Languages
In addition to the categorization of programming languages into machine
language, assembly language, and high-level language, programming languages are
also classified in terms of generations in which they have evolved.
Translator Software
Translator software is used to convert a program written in high-level language and
assembly language to a form that the computer can understand. Translator
software converts a program written in assembly language, and high-level
language to a machine-level language program. The translated program is called
the object code. There are three different kind of translator software:
• Assembler,
• Compiler, and
• Interpreter
Assembler converts a program written in assembly language to machine language.
Compiler and interpreter convert a program written in high-level language to
machine language. Let’s now discuss, briefly, the different kinds of translator
software.
Assembler
Assembly language is also referred to as a symbolic representation of the machine
code. Assembler is a software that converts a program written in assembly
language into machine code . There is usually a one-to-one correspondence
between simple assembly statements and machine language instructions. The
machine language is dependent on the processor architecture, though computers
are generally able to carry out the same functionality in different ways. Thus the
corresponding assembly language programs also differ for different computer
architectures
Assembly to Machine

Compiler
• A program written in a high-level language has to be converted to a language that
the computer can understand, i.e. binary form. Compiler is the software that
translates the program written in a high-level language to machine language.
• The program written in high-level language is referred to as the source code and
compiled program is referred as the object code. The object code is the
executable code, which can run as a stand-alone code. It does not require the
compiler to be present during execution. Each programming language has its own
compiler
Interpreter
The purpose of interpreter is similar to that of a compiler. The interpreter is used to
convert the high-level language program into computer-understandable form.
However, the interpreter functions in a different way than a compiler. Interpreter
performs line-by-line execution of the source code during program execution.
Interpreter reads the source code line-by-line, converts it into machine
understandable form, executes the line, and then proceeds to the next line. Some
languages that use an interpreter are BASIC and Python.
Linker
Linker is a program that links several object modules and libraries to a single
executable program. A source code of a program is often very large consisting of
several hundred or more lines. The source code may also include reference to
libraries. All these independent modules may not be stored in a single object file.
The code is broken down into many independent modules for easy debugging and
maintenance. Before execution of the program, these modules and the required
libraries are linked together using the linker software. The compiled and the linked
program are called the executable code.
Loader
The loader software is used to load and re-locate the executable program in the
main memory. Software has to be loaded into the main memory during execution.
Loader assigns storage space to the program in the main memory for execution.
Figure shows the working of a Java Runtime Environment (JRE). The java source file
Sample.java is compiled and converted into a set of bytecodes and are stored in
Sample.class file. At runtime, the class loader loads the bytecodes from the hard
disk, checks it, and runs it in an interpreter. The interpreter executes the bytecode
and makes calls to the underlying hardware.
APPLICATION SOFTWARE
The software that a user uses for accomplishing a specific task is the application
software. Application software may be a single program or a set of programs. A set of
programs that are written for a specific purpose and provide the required
functionality is called software package. Application software is written for different
kinds of applications—graphics, word processors, media players, database
applications, telecommunication, accounting purposes etc.
SOFTWARE ACQUISITION
Different kinds of software are made available for use to users in different ways. The
user may have to purchase the software, can download for free from the Internet, or
can get it bundled along with the hardware. Nowadays with the advent of Cloud
computing, many application software are also available on the cloud for use through
the Internet, e.g. Google Docs. The different ways in which the software are made
available to users are:
• Retail Software is off-the-shelf software sold in retail stores. It comes with
printed manuals and installation instructions. For example, Microsoft Windows
operating system.
• OEM Software stands for “Original Equipment Manufacturer” software. It
refers to software which is sold, and bundled with hardware. Microsoft sells its
operating system as OEM software to hardware dealers. OEM software is sold at
reduced price, without the manuals, packaging and installation instructions. For
example, Dell computers are sold with the “Windows 7” OS pre-loaded on them.
• Demo Software is designed to demonstrate what a purchased version of the
software is capable of doing and provides a restricted set of features. To use the
software, the user must buy a fully- functional version.
• Shareware is a program that the user is allowed to try for free, for a specified
period of time, as defined in the license. It is downloadable from the Internet.
When the trial period ends, the software must be purchased or uninstalled.
• Freeware is software that is free for personal use. It is downloadable from the
Internet. The commercial use of this software may require a paid license. The
author of the freeware software is the owner of the software, though others
may use it for free. The users abide by the license terms, where the user cannot
make changes to it, or sell it to someone else.
• Public Domain Software is free software. Unlike freeware, public domain
software does not have a copyright owner or license restrictions. The source
code is publicly available for anyone to use. Public domain software can be
modified by the user.
• Open-Source Software is software whose source code is available and can be
customized and altered within the specified guidelines laid down by the creator.
Unlike public domain software, open-source software has restrictions on their
use and modification, redistribution limitations, and copyrights. Linux, Apache,
Firefox, OpenOffice are some examples of open-source software.
Operating System
• Operating system is system software that controls and coordinates the use of
hardware among the different application software and users. OS intermediates
between the user of computer and the computer hardware. The user gives a
command and the OS translates the command into a form that the machine can
understand and execute.
• OS has two main objectives—(1) to make the computer system convenient and
easy to use, for the user, and—(2) to use the computer hardware in an efficient
way, by handling the details of the operations of the hardware.
• OS hides the working of the hardware from the user and makes it convenient for
the user to use the machine. The application program used by the user requires
the use of the hardware during processing.
• Some examples are—display of application’s user interface, loading a program
into memory, using I/O devices, allocating CPU to different processes during
execution, and store or load data from hard disk.
• When using the machine, the user gives the command to perform the required
actions to the OS and the OS handles all the operational steps. The user is not
bothered about how these actions will be performed. This is the job of OS. OS
provides an interface to the application programs to interact with the hardware.
The user need not get into the details of this interaction.
• At the other end, the different resources of computer hardware have to be managed
and controlled. This includes managing the communication between different
devices, controlling the sequence and execution of processes, allocating space on
hard disk, providing error handling procedures etc. OS supervises and manages the
hardware of the computer.
TYPES OF OS
OS are classified into different types depending on their capability of processing—(1)
Single user, (2) Multiuser, (3) Multitasking, (4) Multiprocessing, (5) Real time, and (6)
Embedded.
Single User and Single Task OS is for use by a single user for a standalone single
computer for performing a single task . Operating system for Personal Computers (PC)
are single user OS. For example, if the user is editing a document, then a document
cannot be printed on the printer simultaneously. Single user OS are simple operating
system designed to manage one task at a time. MS-DOS is an example of single user OS.
Single User and Multitasking OS allows execution of more than one task or process
concurrently. For this, the processor time is divided amongst different tasks. This
division of time is also called time sharing. The processor switches rapidly between
processes. For example, the user can listen to music on the computer while writing an
article using a word processor software. The user can switch between the applications
and also transfer data between them. Windows 95 and all later versions of Windows are
examples of multitasking OS.
• Multiuser OS is used in computer networks that allow same data and
applications to be accessed by multiple users at the same time. The users can
also communicate with each other. Linux, UNIX, and Windows 7 are examples of
multiuser OS.
• Multiprocessing OS have two or more processors for a single running process.
Processing takes place in parallel and is also called parallel processing. Each
processor works on different parts of the same task, or, on two or more different
tasks. Since execution takes place in parallel, they are used for high speed
execution, and to increase the power of computer. Linux, UNIX and Windows 7
are examples of multiprocessing OS.
• Real Time OS are designed to respond to an event within a predetermined time.
These operating systems are used to control processes. Processing is done
within a time constraint. OS monitors the events that affect the execution of
process and respond accordingly. They are used to respond to queries in areas
like medical imaging system, industrial control systems etc. LynxOS is an example
of real time OS.
• Embedded OS is embedded in a device in the ROM. They are specific to a device
and are less resource intensive. They are used in appliances like microwaves,
washing machines, traffic control systems etc.
FUNCTIONS OF OS
Operating system is a large and complex software consisting of several components.
Each component of the operating system has its own set of defined inputs and
outputs. Different components of OS perform specific tasks to provide the overall
functionality of the operating system . Main functions of the operating system are as
follows:
Process Management—The process management activities handled by the OS are—
(1) control access to shared resources like file, memory, I/O and CPU, (2) control
execution of applications, (3) create, execute and delete a process (system process
or user process), (4) cancel or resume a process (5) schedule a process, and (6)
synchronization, communication and deadlock handling for processes.
Memory Management—The activities of memory management handled by OS are
—(1) allocate memory, (2) free memory, (3) re-allocate memory to a program when
a used block is freed, and (4) keep track of memory usage.
File Management—The file management tasks include—(1) create and delete both
files and directories, (2) provide access to files, (3) allocate space for files, (4) keep
back-up of files, and (5) secure files.
• Device Management—The device management tasks handled by OS are—(1)
open, close and write device drivers, and (2) communicate, control and monitor
the device driver.
• Protection and Security—OS protects the resources of system. User
authentication, file attributes like read, write, encryption, and back-up of data are
used by OS to provide basic protection.
• User Interface or Command Interpreter—Operating system provides an interface
between the computer user and the computer hardware. The user interface is a
set of commands or a graphical user interface via which the user interacts with
the applications and the hardware.
PROCESS MANAGEMENT
• A process is a program in a state of execution. It is a unit of work for the operating
system. A process can be created, executed, and stopped. In contrast, a program
is always static and does not have any state. A program may have two or more
processes running. A process and a program are, thus, two different entities.
• To accomplish a task, a process needs to have access to different system resources
like I/O devices, CPU, memory etc. The process management function of an
operating system handles allocation of resources to the processes in an efficient
manner. The allocation of resources required by a process is made during process
creation and process execution.
• A process changes its state as it is executed. The various states that a process
changes during execution are as follows

• New—process is in a new state when it is created,


• Ready—process is in ready state when it is waiting for a processor,
• Running—process is in running state if processor is executing the process,
• Waiting—process is in waiting state when it waits for some event to happen (I/O
etc), and
• Terminated—process that has finished execution is in terminated state
A system consists of collection of processes—(1) system process that execute
system code, and (2) user process that execute user code. OS mainly handles the
execution of user code, though it may also handle various system processes.
MEMORY MANAGEMENT
• In a computer, there may be multiple processes executing at the same time.
Every process that needs to execute, requires a certain amount of memory.
• Memory management is one of the tasks handled by the operating system.
Memory management schemes handle the allocation of memory to different
processes.
• On completion of process execution, the memory is de-allocated and made
available to another process.
• Additionally, different processes that have been allocated memory should not
interfere into each other’s memory space. This requires some memory
protection and sharing mechanism.
FILE MANAGEMENT
• The file management function of the operating system involves handling the file
system which consists of two parts—a set of files, and a directory structure.
• File is a collection of related information, has a name, and is stored on a
secondary storage. It is the smallest named unit that can be written to a
secondary storage device. Data cannot be stored on the secondary storage if it is
not in the form of a file.
• The information stored in a file can be accessed in different ways—sequential
access (access is in a sequential order from start to end) and direct access (the
file can be accessed in any order).
DEVICE MANAGEMENT
• Several peripheral devices like mouse, hard disk, printer, plotter etc. are
connected to the computer. The peripheral devices have varying characteristics
like character or block device, sequential or random access device, and
dedicated or shared device.
• Device management in an operating system means controlling the Input/Output
devices like disk, microphone, keyboard, printer, magnetic tape, USB ports,
camcorder, scanner, other accessories, and supporting units like supporting
units control channels.
• A process may require various resources, including main memory, file access,
and access to disk drives, and others. If resources are available, they could be
allocated, and control returned to the CPU.
• The operating system (OS) handles communication with the devices via their
drivers. The OS component gives a uniform interface for accessing devices with
various physical features. There are various functions of device management in
the operating system. Some of them are as follows:
• It keeps track of data, status, location, uses, etc. The file system is a term used to
define a group of facilities.
• It enforces the pre-determined policies and decides which process receives the
device when and for how long.
• It improves the performance of specific devices.
• It monitors the status of every device, including printers, storage drivers, and
other devices.
• It allocates and effectively deallocates the device. De-allocating differentiates the
devices at two levels: first, when an I/O command is issued and temporarily
freed. Second, when the job is completed, and the device is permanently release
PROTECTION AND SECURITY
• The access of programs, processes, and users, to the resources defined by the
computer are controlled by the protection mechanism.
• Protection ensures that the resources of the computer are used in a consistent
way.
• Security mechanism prevents unauthorized access to the computer. Security
concerns include— security of software, security of data stored in the computer,
and security of physical resources of the computer.
• In a personal computer, security can be ensured using—
• user accounts—individual accounts for each user,
• user authentication—using password protection
• access rights—define rights for access of different kind of information for
different people
• data encryption—store data in computer in encrypted form.
• data backup—storing data on a peripheral device other than the hard disk.
• In a networked environment, only trusted computers should be able to share
data. Some of the common security threats occur due to hacking, viruses etc.
USER INTERFACE
• The primary goal of operating system is to make the computer convenient for
use by its user. It should allow users to easily access and communicate with the
applications and the hardware.
• The users can interact with the computer by using mainly two kinds of interfaces
—(1) Command Line Interface (CLI), and (2) Graphical User Interface (GUI).
• CLI requires the user to interact with operating system in the form of text keyed
in from the keyboard. In this, the user has to learn and remember the different
commands required for copying, deleting, opening a file or folder etc.
• MS-DOS and Linux shell are examples of command line mode of interfaces.
• GUI use graphics to display the various commands. The interface consists of
icons, menus, windows, and pointers. The user need not learn the commands,
instead, the user can give instructions by moving the pointer on the screen using
a mouse and pressing the mouse button.
EXAMPLES OF OPERATING SYSTEMS
MS-DOS, Windows family of operating systems, Unix OS, Linux OS, and Mac OS X
are some of examples of commonly used OSs. Each operating system has specific
characteristics. Here, we will discuss the features of the MS-DOS, Windows family
of operating systems and Linux operating system.
MS-DOS
• MS-DOS was the first widely-installed operating system for PCs in 1980s.
• MS-DOS is easy to load and install. It neither requires much memory for the
operating system, nor a very powerful computer to run on.
• MS-DOS is a command line user interface operating system. This means that the
user has to type single line commands through the command interface. So, user
has to remember the different commands and their syntax.
• It is a single-user and single-tasking operating system for the PC. Only one user
can use it and only one task can be executed, at a given point of time. Also, it
does not have a builtin support for networking.
• MS-DOS is a 16-bit OS, meaning thereby that it can send or receive 16 bits of
data at a time and can process 16 bits of data. It is not able to take the advantage
of 32-bit processors.
• To use MS-DOS, user must know where the programs and data are stored and
how to interact with it. In the MS-DOS command mode, command.com routine
interprets the typed in command from the keyboard.
Windows Family of OS
• Windows is a personal computer operating system from Microsoft.
• Windows family of OS is GUI-based operating system. Since GUI interfaces are
easy to use and are user-friendly, these have become very popular.
• Windows contains built-in networking, which allows users to share files and
applications with each other, if their PCs are connected to a network.
• With each new version of the Windows OS, the user interface undergoes some
changes and the user has to learn to use the new interface. This becomes
troublesome for the user.
Linux OS
• Linux is a Unix-like OS. Unix OS has a user interface called shell. The kernel
provides interface for the programs to interact with the hardware, and provides
services like process management and memory management. The shell
interacts with the kernel through the system calls.
• Linux was developed by Linus Torvalds in 1992. Linux is copyright under the
GNU Public License. Linux is a “free” operating system that is easily available.
Since Linux follows the open development model, it is being constantly
upgraded by programmers across the globe.
• Some organizations offer Linux with add-on features and capabilities. Red Hat,
Mandrake, Debian and Novell are the popular vendors of Linux OS.
• Linux is a 32-bit, multi-tasking OS. It supports multiple users and multiple
processors.
• Linux is a reliable and secure OS, and is available almost for free. So, Linux is
fast becoming very popular and powerful OS.
• Linux OS is easily available, such as Redhat Linux ver. 9, and, Debian’s—Ubuntu,
Kubuntu, and Edubuntu.
New Trends in Software
• The current trend in software development is a mix of technologies such as
cloud computing, microservices architecture, and DevOps practices.
• These recent trends in software development have changed a lot of things in the
IT sector and also it has transformed how software is developed, deployed, and
maintained.
• Agile methodologies have gained worldwide acceptance, which also allows for
faster development cycles and increased collaboration among teams from
different departments in this new software trend.
Current Trends in Software Development
Containerization and Microservices
• The use of containerization provided by software trends such as Docker has
transformed application deployment, making it more scalable and efficient.
Microservices architecture is gaining popularity in the new trends in software
development due to its ability to break large applications that are monolithic
into smaller, more manageable services.
Integration of AI and Machine Learning
• The integration of AI and machine learning into software
development processes is a game changer. AI is changing the way developers
approach problem-solving, from automating tedious jobs to improving decision-
making abilities in the recent trends in software development.
Low-Code/No-Code Development
• As low-code/no-code platforms grow, software trends are becoming more
accessible to people with diverse levels of technical expertise. This globalization
of development speeds up application creation and shortens the development
lifecycle.

You might also like