Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

Unit 1

CPU stands for Central Processing Unit. It is


the soul of a computer system. The CPU along
with the memory and the I/O sub-systems
establish a strong computer system.
A CPU includes small layers of hundreds of
transistors. Transistors are microscopic bits of
substances that block electricity at one
voltage (non-conductor) and enable electricity
to move through them at multiple voltages
(conductor).
These slight bits of substantial are the
semiconductors that create two electronic
inputs and create multiple outputs when one
or both inputs are turned on.
CPU is the most significant in a computer
system. It is the component that regulates all
internal and external devices and implements
arithmetic and logic operations to perform
the set of instructions saved in the computer’s
memory.
Components of CPU
A CPU includes three major components that
are as follows −
Register Set
The register set contrasts from one system to
another. The register set includes several
registers which contain general-purpose
registers and special-purpose registers. The
general-purpose registers do not implement
any particular function. They save the
temporary information that is needed by a
program. The special-purpose registers
execute various functions for the CPU.
ALU
The ALU implements all the arithmetic,
logical, and shift operations by supporting
important circuitry that provides these
evaluations.
Control Unit
The control unit fetches the instructions from
the main memory, decodes the instructions,
and then executes them.
The CPU interacts with the main memory and
input/output devices. The CPU reads and
writes data to and from the memory system
and transfers data to and from the I/O
devices.
An elementary execution cycle in the CPU can
be defined as follows −
The CPU fetches the instruction to be
implemented from the main memory and
saves it in the Instruction Register (IR).
The instruction is decoded.
The operands are fetched from the memory
system and stored in the CPU registers.
The instructions are then executed.
The results are transferred from the CPU
registers to the memory system.
If there are more instructions to be executed,
the execution cycle repeats. Some pending
interrupts are also tested during the
execution cycle.
Example − The interrupts including I/O device
request, arithmetic overflow, or pages are
tested during the execution cycle.
The procedures of the CPU are represented
by the micro-orders issued by the control unit.
The micro-orders are the control signals,
which are transfer over-determined control
lines.
CPU is the main component of a computer
system. It can give out each instruction of a
program to implement primary arithmetical,
logical, and input/output operations.

A System Software acts as an interface


between the system and the application
software. The various Operating systems are
the best example as it allows the user to
download and work with various applications
on their device.

On the other hand, Application Software is


designed for users. The applications can be
added to system software. For example,
Notepad is an application of MS Windows,
which is system software.

What is System Software?


System Software is a set of programs that
control and manage the operations of
computer hardware. It also helps application
programs to execute correctly.

System Software are designed to control the


operation and extend the processing
functionalities of a computer system. System
software makes the operation of a computer
more fast, effective, and secure. Example:
Operating system, programming language,
Communication software, etc.
What is an Application Software?
Application Software is a program that does
real work for the user. It is mostly created to
perform a specific task for a user.

Application Software acts as a mediator


between the end-user and System Software. It
is also known as an application package. This
type of software is written using a high-level
language like C, Java, VB. Net, etc. It is a user-
specific and is designed to meet the
requirements of the user.

You can also install multiple Application


Software on a single System Software. You
can store this kind of software on CDs, DVDs,
flash derive, or keychain storage devices.
Example: Word-processing, Spreadsheet,
Database, etc.

KEY DIFFERENCES:
System software are designed to manage the
resources of the system, like memory and
process management, security, etc. whereas
Application software are designed to fulfil the
requirements of the user for performing
specific tasks.
The System Software is a general-purpose
software while the Application Software is
specific purpose software.
System Software is written in a low-level
language like a machine or assembly language
but Application software is a high-level
language is used to write Application
Software.
System Software is capable of running
independently while Application software
can’t run independently.
The System Software starts running when the
system is powered on and runs until the
system is powered off while the Application
Software starts when the user begins, and it
ends when the user stops it.
System software are independent of the
application software while an Application
software needs system software to run.
Types of System Software
Here are the important types of System
Software:
Operating systems:- Operating system
software helps you for the effective utilization
of all hardware and software components of a
computer system.
Programming language translators:-
Transforms the instructions prepared by
developers in a programming language into a
form that can be interpreted or compiled and
executed by a computer system.
Communication Software : – Communication
software allows us to transfer data and
programs from one computer system to
another.
Utility programs: – Utility programs are a set
of programs that help users in system
maintenance tasks, and in performing tasks of
routine nature.
Types of Application Software
Here, are some important types of Application
Software
Word-processing software:- It makes use of a
computer for creating, modifying, viewing,
storing, retrieving, and printing documents.
Spreadsheet software:- Spreadsheet software
is a numeric data-analysis tool that allows you
to create a computerized ledger.
Database software:- A database software is a
collection of related data that is stored and
retrieved according to user demand.
Graphics software:- It allows computer
systems for creating, editing, drawings,
graphs, etc.
Education software:- Education software
allows a computer to be used as a learning
and teaching tool.
Entertainment software:- This type of app
allows a computer to be used as an
entertainment tool.
Features of Application Software
An important feature of Application Software:

Perform more specialized tasks like word


processing, spreadsheets, email, photo
editing, etc.
It needs more storage space as it is bigger in
size
Easy to design and more interactive for the
user
Generally written in a high-level language
Features of System Software
An important feature of System Software are:

System Software is closer to the system


Generally written in a low-level language
The system software is difficult to design and
understand
Fast in speed
Less interactive
Smaller in size
Hard to manipulate

What Is a Package?
A package is a namespace that organizes a set
of related classes and interfaces. Conceptually
you can think of packages as being similar to
different folders on your computer. You might
keep HTML pages in one folder, images in
another, and scripts or applications in yet
another. Because software written in the Java
programming language can be composed of
hundreds or thousands of individual classes, it
makes sense to keep things organized by
placing related classes and interfaces into
packages.
The Java platform provides an enormous class
library (a set of packages) suitable for use in
your own applications. This library is known as
the "Application Programming Interface", or
"API" for short. Its packages represent the
tasks most commonly associated with
general-purpose programming. For example,
a String object contains state and behavior for
character strings; a File object allows a
programmer to easily create, delete, inspect,
compare, or modify a file on the filesystem;
a Socket object allows for the creation and
use of network sockets; various GUI objects
control buttons and check boxes and anything
else related to graphical user interfaces. There
are literally thousands of classes to choose
from. This allows you, the programmer, to
focus on the design of your particular
application, rather than the infrastructure
required to make it work.
A package may refer to any of the following:

Wrapped package with string tied around it.


1. With software, a package is a module that
can be added to any program to add
additional options, features, or functionality.
A package can often be added to program
using an "include" or "import" type of
statement, as in the below Java code.

import java.io.FileReader;
The FileReader package is used for reading
character streams, useful for obtaining user
input from a console.

2. With hardware, a package is a single


container containing one or more items that
help make up the overall package. For
example, a processor package is the overall
computer processor, which contains all the
necessary parts that allow it to work in your
computer.
Framework may refer to any of the following:

Three interlinked cubes.


1. When referring to computer software, a
framework is a foundation with a specified
level of complexity (based on user level) that
a programmer may extend using their
personal code. It might include a set of
software libraries, compilers, interpreters, or
an API. In general, it provides an environment
that facilitates a specific type of programming
for a software development project.

Most software frameworks are characterized


by a design philosophy called IoC (Inversion of
Control). Normally, computer programs
define a program's flow of control and make
calls to libraries for individual functions. When
using a framework, however, the relationship
is inverted: the framework manages the
overall control flow and makes calls to the
user's code when needed. A frameworks
allows the developer to focus on details
specific to the project and bypass the more
general requirements.
Examples of software frameworks include
AJAX APIs, multimedia authoring and scripting
tools, and web application middleware.

2.Framework is the name of a computer


manufacturer that specializes in modular
laptops.

What Is a Framework?
What Is a Framework?
A framework is a structure that you can build
software on. It serves as a foundation, so
you're not starting entirely from scratch.
Frameworks are typically associated with a
specific programming language and are suited
to different types of tasks.

Let's say you're building a house. You could


pour the foundation and frame the house
yourself. It would take a lot of time, but you
could do it. If all of that were already done for
you, though, it would save you quite a bit of
effort — especially if it was done by expert
home builders.
In software development, a framework serves
a similar purpose. It's designed and tested by
other Software Developers and Engineers, so
you know it's a solid foundation.

A house isn't complete with just the


framework, though. Similarly, a framework in
software development is a starting point, but
you add higher-level functionality to it to
make it work.

Below, we'll take a closer look at frameworks,


what they're used for, the differences
between libraries and frameworks, and more.

Why do we use frameworks?


Using frameworks saves time and reduces the
risk of errors. You don't need to write
everything from the ground up, so there's less
chance of introducing errors. Plus,
frameworks have already been tested, so
there's less to worry about. Other advantages
include:
More secure code
Simpler testing and debugging
Avoiding duplicate code
Clean and easily adaptable code
Able to focus on writing code specific to the
project
Can be extended
Types of frameworks
Frameworks can be used for developing
websites, mobile applications, data science,
and more. Here are some of the more popular
frameworks:

Web application frameworks


AngularJS is a front-end JavaScript framework.
It's one of the most popular web frameworks
and is backed by an enthusiastic community.

AngularJS was developed and is supported by


Google. It includes features like two-way data
binding, which reduces development time,
and dependency injections, making it easier
for different pieces of code to interact with
each other.
Django is an open-source web development
framework supported by the Django Software
Foundation. It's written in Python, a popular
programming language, and is designed to
encourage "rapid development and clean,
pragmatic design." It's fast, secure, and
scalable.

Rails is also an open-source framework. It's


written in the Ruby programming language,
which was designed for ease of use. Rails is
designed to involve less code and less
repetition and is supported by a large
community. It's been used to develop sites
like Airbnb, Twitch, and Hulu.

Express is a back-end framework for Node.js


that allows you to start and configure a server
with very little overhead. It's free, open-
source, and is written in JavaScript. Express
has a reputation for being extremely flexible.
It's fairly minimalist, and developers have
created middleware packages to address web
development issues.
Mobile development frameworks
Flutter is Google's open-source framework. It
supports iOS and Android and has fully
customizable widgets.

Flutter is designed to speed up app


development and create attractive, user-
friendly apps. It uses a thin layer of C/C++
code, but most of its system is in Dart.

Xamarin is a popular .NET-based framework


by Microsoft. It also supports iOS and Android
and has a community of 60,000 contributors.

React Native was developed by Facebook. It's


open-source, cross-platform, and written in
JavaScript. It's used in many popular apps,
including Discord, Instagram, and Shopify.

NativeScript is an open-source, cross-platform


framework. NativeScript apps are built using
JavaScript, and it supports other JavaScript
frameworks like Angular and Vue. It's popular
for its robust back-end support.
Ionic is another open-source, cross-platform
framework. It uses JavaScript, HTML, and CSS,
and it includes a library of mobile-optimized
UI components, gestures, and tools. Ionic
builds fast apps and integrates with front-end
frameworks like Angular and Vue.

Libraries vs. frameworks


The terms "libraries" and "frameworks" are
sometimes used interchangeably, but they're
very different.

What is Motherboard in Computer?


(Definition, Form Factor, Components &
History)
IDE is the short abbreviated form
of Integrated Development environment,
which is basically a firmware that offers a
complete & broad range of convenient
solutions to the software programmers for
the purpose of application or firmware
development.
For instance, you can say that the Integrated
Development environment is a basic program
that helps the coders and developers in their
work by making the programming process
sorted. The components of an IDE like the
source code editor, Building automation
equipment, and the debugging tool makes
everything happen.
IDE software like Netbeans, PyCharm,
komodo, etc consists of the tools like
compilers, interpreters or translators, etc
whereas if you look at some other IDE
software they do not consist of these tools,
names of such IDE are the Sharp-develop and
Lazarus, etc.
The margin between an IDE and different
elements of the wider software program
improvement surroundings isn’t always well-
defined; occasionally a VCS (version control
system) or other different gears are used to
sort the development process of a graphical
user interface.
The new and current-gen IDE programs have
the class browser, object browser with a
ladder class, or hierarchy design for the
purpose of objective-oriented firmware
development.
Since the work of an IDE is to simplify the
work programming experience of developers
it greatly allows them to unite the overall
characteristics and details of making the
software and thereby improving the working
experience and increasing the productivity of
the programmers by mixing the basic
software making tasks directly into a single
program by developing source code, making
links and debugging.
In any IDE (integrated development
environment), the respected software is
developed to amplify the pace of the
programmers by offering a bunch of tools and
equipment which are inbuilt. The IDEs always
offers a set of the single program through
which all sorts of development is done. The
single program offred, provides multiple sets
of functions in it for various purposes like
authoring, translation modifications, blending
with deploying, and debugging as well.
These tools for programming are quite
contrasting as compared to other
development programs that make use of
unrelated tools like the VI, GCC, and other
similar ones.
Basic components of an IDE
Source code editor: The Source code editor is
a basic form of text editor or rewriter that
does the work of assisting the programming
and code writing software. The Source code
editor offers on-the-spot assistance with
attributes including the syntax showcasing
with different viewable cues that offers an
ultimate benefit of language-specific auto-
completion factor that keeps on tracking the
system for any sort of faults whilst the coding
is done passively.
Local Build automation: The local build
automation features offers a bunch of
benefits that are potent of automating every
simple, repeating assignment as a part of
developing a neighborhood construct of the
software program to be used via way of
means of the developer, like compiling pc
supply code directly into binary codes,
packaging binary code, and working
computerized codes as well.
Debugger: The Debugger is an application for
trying out different programs which can
graphically show the location of a malicious
program or a faulty bug within the original
code.
Though there are many tech-related and
selling-related purposes of the IDEs and that’s
why there are multiple other variants of IDEs
in the market with their open-source versions.
So, it’s important to understand the basic
difference between the characteristics and
features of different IDEs which include a
different set of features to offer to their
clients like supported languages, supporting
OS’, inbuilt automation features, plugins, and
extensions, etc.

You might also like