Sei sulla pagina 1di 37

Technology Fundamentals

Basics of Computer Fundamentals and


Networks

LEVEL LEARNER

Icon Used

Hands on Exercise

Coding Standards

Reference

Lend A Hand

Questions

Summary

Points To Ponder

Test Your Understanding

Overview

Technology fundamentals session provides


knowledge and understanding of the use of
hardware and software components and how
they fit in the overall scheme of the software
solution architectures.

Objective
After completing this session, you will be
able to:
Identify the Input/Output and Data
storage devices
Identify the types of software
Describe programming languages and
program execution
Explain networking and basic IT
Architecture concepts

Computers
A modern computer is any electronic device that can process a
finite set of arithmetic or logical operations in a programmed
sequence on a given set of inputs .

Smart Phones

GPS Navigator

Modern Computing devices

Name key attributes of a computing


device from the above definition.
Name the three key components
that make up a computer.

PDA

Process
Controllers

Super Computers

Computers

I am stuck.. I know only driving not


anything about the parts of the car ..

Computers
The act of software development revolves around the hardware
and operating system components either directly or indirectly.
Hardware components and operating system provide an
ecosystem for the execution of software applications.
A software developer should know the underlying concepts of
the hardware and system softwares to produce effective
software solutions.

Computers

Input device

Hardware
Classifications

Software
classifications

Output device
Processing device

E.g., Monitor, Printer,


Headphones, Speakers
E.g., Central Processing Unit or
Processor

Memory Device

E.g., RAM, Cache, ROM

Storage Device

E.g., Hard disk, Flash drive, CD


ROM, Memory cards

Application
software
System Software

E.g. Keyboard, Mouse, Mic,


Webcams

E.g., Word, Excel


E.g., Operating systems, Device
drivers

Lend a Hand
Find out the difference between Memory and Storage devices.
Identify the differences between Storage Area Network (SAN) and
Network Attached Storage (NAS).
What is the difference between a system and application
softwares?

Check Your Understanding


1. What type of storage will be used in programming to persist and
retrieve data in a file?
2. Explain in what way the hardware devices helps in software
program execution?

10

Programming Languages and Execution


Having discussed about the role of hardware components as
providers of a platform for software development, lets look
into what is a program and how they are executed. The
following items will be covered:

11

Input / Output and Data storage devices


Types of Software
Programming Languages and Program Execution
Networking

Programming Languages and Execution


(Contd.)

12

Programming Languages and Execution


What is a software program?
A software program is a sequence of instructions written to perform
a specified task in a computer.
These instructions are written in programming languages which
follows certain syntax and semantics.

Programming languages can be classified into highlevel and low


level languages.

13

How does a computer


understand the instructions
written in a programming
language?

Software Executions
In order to execute, any software program that is written has to
be converted into machine instructions.
Compilation and Interpretation help in the conversion.
Programming languages are categorized into Compiled and
Interpreted languages.
Compilation Process

Compilation involves two major steps.


1. Converting the source code into object code
2. Again converting the object code to machine
code
3. Once the machine code is generated, the same
is used for subsequent executions.

14

Interpretation Process

1.
2.

Directly converts source code into


machine code.
This step is repeated for every
execution.

Linking
The process of converting object code to machine code has an
important concept called Linking.
A Linker links multiple object files into one single executable file.
main:
Jmp xxxx

Jmp yyyy

Printf:

Executable

Funct:

LINKER

15

What is the difference between


static linking and dynamic linking?
Why would a software program
have multiple object files?

Jmp funct

Funct:

printf

Lend a Hand
What is Just in Time Compiler?
What is a scripting language ?

16

Questions

17

Keywords
Program

Sequence of instructions written to


perform a specified task in a computer

Memory

A transient storage area that holds data


and operations for a computer to function.

Storage

Non Volatile long term memory to persist


data

Data Persistence

18

To permanently store the data in a storage


area.

Compile

The process of converting the source code


to object code

Linking

The process of combining multiple object


code into single executable.

Process

The executing instance of a program is


called as Process.

Networking

Having discussed about how a program gets executed, lets move


on to see how the programs communicate data to other
programs running in different machines.
Input / Output and Data storage devices
Types of Software
Programming Languages and Program execution.
Networking

19

Networking
Networking is the practice of linking two or more computing
devices together for the purpose of data sharing.
Networks are built with a mix of computer hardware and
computer software.

Where do you see the


knowledge of networks useful
in software development?
20

Networking
Things you need to know to write network enabled softwares.
Computers that needs to communicate with other computers
or devices should know:
The Address of the computer it wishes to communicate with
The Port in the device which offers the communication service
The Protocol, i.e. the format in which the communication is to
be done.

System softwares and application softwares use these


information to establish communication between Computers /
devices.

21

Addresses
A network address serves as a unique identifier for a computer or
a device on a network.
Computers can determine the addresses of other computers on
the network and use these addresses to send messages to each
other.
There are two types of addresses:
IP Address (uses IPv4 format)
To address machines outside a network segment.

MAC Address (uses IPv6 format)


MAC address is just a manufacturer used code and a serial number
used to address machines on a local network segment.

22

Addressing
IPv4 format:
IPv4 addresses consist of four bytes (32Bit) that uniquely identify all
computers on the public Internet.
IP addresses are written in a notation called dotted decimal.
Example:
Human readable format

10.0.0.1

Computer understandable format

00001010 00000000 00000000 00000001

IPv6 format:
Defines an IP Address as 128 bits, therefore IPv6 has a vastly
enlarged address space compared to IPv4. Represented in
Hexadecimal values.
Example:
E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420

23

Ports
A communication point between devices and processes.
They offer specific services for the communicating devices.
They can be hardware ports or software ports.
A software port is represented by numbers.
Software Ports
20,21
22
25
53
80
88
110

Service
FTP (File transfer)
SSH (Remote login secure)
SMTP (Internet mail)
DNS (Host naming)
HTTP (Web)
Kerberos (computer authentication
protocol)
POP3 (Client access)

As a software developer, name a


few instances where software
ports are used in application
development?
24

Hardware ports

Protocols
A network protocol defines rules and conventions for
communication between network devices in form of message
packets.
Includes mechanisms for devices to identify and make connections
with each other.
Rules to specify format how data is packaged into messages sent
and received.

It is classified into high level and low level:


These higher level protocols (UDP, HTTP, FTP, SMTP) interact more
closely with applications (For example, Web browsers).
Lower level protocols (ICMP, ARP) interact with network adapters
and other computer hardware.

25

Types of Network - LAN


A LAN connects network devices over a relatively short
distance.
A networked office building, school, or home usually contains a
single LAN, though sometimes one building will contain a few
small LANs.
It is called as Intranet which is secured by a firewall to restrict
outside access.
Most of the intranet applications use TCP protocol as their
communication channel and can access most of the ports.

26

Types of Network - WAN


A WAN is a geographicallydispersed collection of LANs.

The Internet is the largest WAN, spanning the Earth.

A network device called a router connects LANs to a WAN.


Applications that connects with computers on other
networks would restrict with HTTP protocol as most of the
firewalls open port 80 for HTTP.

27

Types of Network - Internet


Internet is a short form of the technical term internetwork, the
result of interconnecting computer networks with special
gateways or routers.
Internet applications use HTTP protocol which utilizes Port 80.
It is simply a text based protocol that does not pose any
security threats.

28

Questions

29

Check Your Understanding


1. What are the steps involved in converting a software program
into executable machine instructions?
2. What is the role of protocols in networking?
3. Why do we need software ports?
4. What is the difference between IPv4 and IPv6 addresses?

30

Keywords
IP Address

An IP address is an identifier for a computer or


device on a TCP/IP network

Port

A port represents a communication channel or


endpoint.

Protocol

A network protocol defines rules and conventions


for communication between network devices.

LAN

Local Area Network that connects computers and


devices in a small area.

WAN

31

Wide Area Network is a geographically dispersed


communications network

Summary
The key points covered in this chapter are:
Hardware can be classified into Input, Output,
Storage, Processing and Communications devices.
Software languages fall into three categories:
System, Programming and Application
An interpreter translates one program statement
at a time into machine code.
Program execution is the process by which a
computer or a virtual machine carries out the
instructions of a computer program.

32

Summary (Contd.)
A computer network or network is a collection of
computers and other hardware interconnected by
communication channels that allow sharing of
resources and information.
Port is typically a communication point between
devices and processes. Ports can be hardware
ports or software ports.
A network protocol defines rules and conventions
for communication between network devices.
TCP/IP provides endtoend connectivity
specifying how data should be formatted,
addressed, transmitted, routed and received at
the destination.

33

Summary (Contd.)
WAN spans a large physical distance.
Internet is a short form of the technical
term internetwork, the result of interconnecting
computer networks with special gateways or
routers.

34

Source

http://compnetworking.about.com/od/workingwithipaddresses/g/ip
addresses.htm

http://compnetworking.about.com/od/networkprotocolsip/g/bldef_mac.htm

http://compnetworking.about.com/od/networkprotocolsip/g/ip_protocol.htm

http://en.wikipedia.org/wiki/Link_layer

http://en.wikipedia.org/wiki/Internet_layer

Disclaimer: Parts of the content of this course is based on the materials available from the Web sites and books
listed above. The materials that can be accessed from linked sites are not maintained by Cognizant Academy and
we are not responsible for the contents thereof. All trademarks, service marks, and trade names in this course are
the marks of the respective owner(s).

35

Technology Fundamentals

You have successfully completed Basics of Computer Fundamentals and


Networks

Change Log

37

Version
Number

Changes made

V1.0

Initial Version

V2.0

Slide No.

Changed By

Effective Date

137

Learning
Content
Team
CATP
Technical
Team

26.04.2013

Changes
Effected
Baselining
Content

Potrebbero piacerti anche