0% found this document useful (0 votes)
134 views7 pages

Assignment 1 It Class Bba

Software is a collection of instructions and data that tell the computer how to work. There are two main types of software: system software and application software. System software provides a platform for other software and includes operating systems, while application software allows users to perform tasks like creating documents and playing games. Operating systems act as an interface between the user and computer hardware by managing resources and performing functions like security, system performance control, job accounting, error detection, and memory management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views7 pages

Assignment 1 It Class Bba

Software is a collection of instructions and data that tell the computer how to work. There are two main types of software: system software and application software. System software provides a platform for other software and includes operating systems, while application software allows users to perform tasks like creating documents and playing games. Operating systems act as an interface between the user and computer hardware by managing resources and performing functions like security, system performance control, job accounting, error detection, and memory management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SOFTWARE

Software is a collection of instructions and data that tell the computer how to
work. This is in contrast to physical hardware, from which the system is built and actually
performs the work. In computer science and software engineering, computer software is
all information processed by computer systems, including programs and data. Computer
software includes computer programs, libraries and related non-executable data, such
as online documentation or digital media. Computer hardware and software require each
other and neither can be realistically used on its own.

There are two types of Software.

❖ System software
❖ Application software

➢ System Software
System software is software designed to provide a platform for other software.

• Examples of system software include operating systems like macOS, Linux , Android and
Microsoft Windows, computational science software, game engines, industrial
automation, and software as a service applications.
• In contrast to system software, software that allows users to do user-oriented tasks
such as create text documents, play games, listen to music, or browse the web are
collectively referred to as application software.
• In the early days of computing most application software was custom-written by
computer users to fit their specific hardware and requirements. In contrast, system
software was usually supplied by the manufacturer of the computer hardware and was
intended to be used by most or all users of that system. The line where the distinction
should be drawn is not always clear. Many operating systems come pre-packaged with
basic application software. Such software is not considered system software when it can
be uninstalled usually without affecting the functioning of other software. Exceptions
could be e.g. web browsers such as Internet Explorer where Microsoft argued in court
that it was system software that could not be uninstalled. Later examples are Chrome
OS and Firefox OS where the browser functions as the only user interface and the only
way to run programs (and other web browsers can not be installed in their place), then
they can well be argued to be (part of) the operating system and hence system
software. Another borderline example is cloud-based software. This software provides
services to a software client (usually a web browser or a JavaScript application running
in the web browser), not to the user directly, and is therefore systems software. It is
also developed using system programming methodologies and systems programming
languages. Yet from the perspective of functionality there is little difference between a
word processing application and word processing web application.

• Utility software or system support programs


For historical reasons, some organizations use the term systems programmer to
describe a job function which is more accurately termed systems administrator.
Software tools these employees use are then called system software. This so-
called utility software helps to analyze, configure, optimize and maintain the computer,
such as virus protection. In some publications, the term system software also includes
software development tools (like a compiler, linker or debugger)
A system programming language is a programming language used for system
programming; such languages are designed for writing system software, which usually
requires different development approaches when compared with application
software. Edsger Dijkstra refers to these languages as Machine Oriented High Order
Languages, or mohol.
General-purpose programming languages tend to focus on generic features to allow
programs written in the language to use the same code on different platforms.
Examples of such languages include ALGOL and Pascal. This generic quality typically
comes at the cost of denying direct access to the machine's internal workings, and this
often has negative effects on performance.
System languages, in contrast, are designed not for compatibility, but for performance
and ease of access to the underlying hardware while still providing high-level
programming concepts like structured programming. Examples include SPL and ESPOL,
both of which are similar to ALGOL in syntax but tuned to their respective platforms.
Others are cross-platform but designed to work close to the hardware,
like BLISS, JOVIAL and BCPL.
Some languages straddle the system and application domains, bridging the gap between
these uses. The canonical example is C, which is used widely for both system and
application programming. Some modern languages also do this such as Rust and Swift.

• Mid-level languages
Mid-level languages "have much of the syntax and facilities of a higher-level language, but also
provide direct access in the language (as well as providing assembly language) to machine
features." The earliest of these was ESPOL on Burroughs mainframes in about 1960, followed
by Niklaus Wirth's PL360 (first written on a Burroughs system as a cross compiler), which had
the general syntax of ALGOL 60 but whose statements directly manipulated CPU registers and
memory. Other languages in this category include MOL-360 and PL/S.

As an example, a typical PL360 statement is R9 := R8 and R7 shall 8 or R6, signifying that


registers 8 and 7 should be ended together, the result shifted left 8 bits, the result of
that ordered with the contents of register 6, and the final result placed into register 9 .

• Higher-level languages
While PL360 is at the semantic level of assembly language, another kind of system
programming language operates at a higher semantic level, but has specific extensions
designed to make the language suitable for system programming. An early example of
this kind of language is LRLTRAN, which extended Fortran with features for character
and bit manipulation, pointers, and directly addressed jump tables.
Subsequently, languages such as C were developed, where the combination of features
was sufficient to write system software, and a compiler could be developed that
generated efficient object programs on modest hardware. Such a language generally
omits features that cannot be implemented efficiently, and adds a small number of
machine-dependent features needed to access specific hardware abilities; inline
assembly code, such as C's asm statement, is often used for this purpose. Although
many such languages were developed C and C++ are the ones which survived.
System Programming Language (SPL) is also the name of a specific language on the HP
3000 computer series, used for its operating system HP Multi-Programming
Executive (MPE), and other parts of its system software.

_____________________________________________________________________

❖ Operating System and its Functions

An Operating System acts as a communication bridge (interface) between the user


and computer hardware. The purpose of an operating system is to provide a
platform on which a user can execute programs in a convenient and efficient
manner.
An operating system is a piece of software that manages the allocation of computer hardware.
The coordination of the hardware must be appropriate to ensure the correct working of the
computer system and to prevent user programs from interfering with the proper working of the
system.
Example: Just like a boss gives order to his employee, in the similar way we request or pass our
orders to the Operating System. The main goal of the Operating System is to thus make the
computer environment more convenient to use and the secondary goal is to use the resources
in the most efficient manner.
An operating system is a program on which application programs are executed and acts as an
communication bridge (interface) between the user and the computer hardware.
The main task an operating system carries out is the allocation of resources and services, such
as allocation of: memory, devices, processors and information. The operating system also
includes programs to manage these resources, such as a traffic controller, a scheduler, memory
management module, I/O programs, and a file system.

Important functions of an operating System:


• Security:
The operating system uses password protection to protect user data and similar other
techniques. it also prevents unauthorized access to programs and user data .

• Control over system performance:


Monitors overall system health to help improve performance. records the response time
between service requests and system response to have a complete view of the system
health. This can help improve performance by providing important information needed
to troubleshoot problems.

• Job accounting:
Operating system Keeps track of time and resources used by various tasks and users,
this information can be used to track resource usage for a particular user or group of
user.

• Error detecting aids:


Operating system constantly monitors the system to detect errors and avoid the
malfunctioning of computer system.

• Coordination between other software and users:


Operating systems also coordinate and assign interpreters, compilers, assemblers and
other software to the various users of the computer systems.
• Memory Management:
The operating system manages the Primary Memory or Main Memory. Main memory is
made up of a large array of bytes or words where each byte or word is assigned a
certain address. Main memory is a fast storage and it can be accessed directly by the
CPU. For a program to be executed, it should be first loaded in the main memory. An
Operating System performs the following activities for memory management:
It keeps tracks of primary memory, i.e., which bytes of memory are used by which user
program. The memory addresses that have already been allocated and the memory
addresses of the memory that has not yet been used. In multi programming, the OS
decides the order in which process are granted access to memory, and for how long. It
Allocates the memory to a process when the process requests it and deallocates the
memory when the process has terminated or is performing an I/O operation.

• Processor Management:
In a multi programming environment, the OS decides the order in which processes have
access to the processor, and how much processing time each process has. This function
of OS is called process scheduling. An Operating System performs the following activities
for processor management.
Keeps tracks of the status of processes. The program which perform this task is known
as traffic controller. Allocates the CPU that is processor to a process. De-allocates
processor when a process is no more required.

• Device Management:
An OS manages device communication via their respective drivers. It performs the
following activities for device management. Keeps tracks of all devices connected to
system. designates a program responsible for every device known as the Input/Output
controller. Decides which process gets access to a certain device and for how long.
Allocates devices in an effective and efficient way. Deallocates devices when they are no
longer required.

• File Management:
A file system is organized into directories for efficient or easy navigation and usage.
These directories may contain other directories and other files. An Operating System
carries out the following file management activities. It keeps track of where information
is stored, user access settings and status of every file and more… These facilities are
collectively known as the file system.
Moreover, Operating System also provides certain services to the computer system in
one form or the other.
The Operating System provides certain services to the users which can be listed in the
following manner:

• Program Execution:
The Operating System is responsible for execution of all types of programs whether it be
user programs or system programs. The Operating System utilises various resources
available for the efficient running of all types of functionalities.

• Handling Input/Output Operations:


The Operating System is responsible for handling all sort of inputs, i.e, from keyboard,
mouse, desktop, etc. The Operating System does all interfacing in the most appropriate
manner regrading all kind of Inputs and Outputs.
For example, there is difference in nature of all types of peripheral devices such as
mouse or keyboard, then Operating System is responsible for handling data between
them.

• Manipulation of File System:


The Operating System is responsible for making of decisions regarding the storage of all types of
data or files, i.e, floppy disk/hard disk/pen drive, etc. The Operating System decides as how the
data should be manipulated and stored.

• Error Detection and Handling:


The Operating System is responsible for detection of any types of error or bugs that can occur
while any task. The well secured OS sometimes also acts as countermeasure for preventing any
sort of breach to the Computer System from any external source and probably handling them.

• Resource Allocation:
The Operating System ensures the proper use of all the resources available by deciding which
resource to be used by whom for how much time. All the decisions are taken by the Operating
System.

• Accounting:
The Operating System tracks an account of all the functionalities taking place in the computer
system at a time. All the details such as the types of errors occurred are recorded by the
Operating System.

• Information and Resource Protection:


The Operating System is responsible for using all the information and resources available on the
machine in the most protected way. The Operating System must foil an attempt from any
external resource to hamper any sort of data or information.
software development tools.
HAMZA ALTAF
BBA(2 YEARS) 1ST SEMESTER
SYSTEM SOFTWARE AND OPERATION SYSTEM
SUBMITTED TO MISS AREEHA MALIK

You might also like