Download lecture 13 ppt - George Mason University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Software quality wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Go (programming language) wikipedia , lookup

Compiler wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Interpreter (computing) wikipedia , lookup

Cross compiler wikipedia , lookup

Assembly language wikipedia , lookup

Transcript
IT-101
Section 001
Introduction to Information
Technology
Lecture #13
Overview

Computer Software
Introduction



Computer software consists of the instructions and
application programs that permit computers to
accomplish tasks
It is called software because, unlike hardware that
has fixed configurations, connections and operation,
software is flexible and easily modified
Software programs control computers at 4 different
levels:




Assembly code
Operating system
Programming language
Application
Hierarchy of Software
Application
Programming Language
(High Level Language)
Operating System
Assembly Code
Assembly Code




Assembly Code, also called assembly language is the most
basic language of the computer and consists of elementary
instructions recognized by the CPU
It is a a human-readable notation for the lowest level
language-the machine language that a specific computer
architecture uses. Machine language, a mere pattern of bits,
are instructions directly recognized by the CPU
Machine language is made readable (i.e. converted to
assembly language) by replacing these pattern of bits with
symbols called ‘mnemonics’
Unlike high-level languages, there is a 1-to-1 mapping from
simple assembly to machine language, so that computers
can translate in both directions without losing information.
Assembly language is converted to machine language by an
assembler



Examples of assembly code instructions (mnemonics)
include: ADD and MOV
Assembly code instructions perform the basic
computer operations including moving data, changing
contents of registers, adding the contents of two
registers and jumping to different parts of a program
For example, the computer performs the arithmetic
operation: 1+2+4 as follows:






MOV 1, R0
MOV 2, R1
ADD R0, R1
MOV 4, R0
ADD R0, R1
(Move the number 1 into Register 0)
(Move the number 2 into Register 1)
(Add R0 to R1 and put the result in Register 1)
(Move the number 4 into Register 0)
(Add R0 to R1 and put the result into Register 1)
Assembly code is different for each type of computer
and a code written for the Intel Pentium (IBM)
microprocessor chip will not operate on the PowerPC
(Macintosh) microprocessor
Operating System




The operating system is a set of commands that performs
common system tasks such as accepting data from the
keyboard, displaying data on the monitor, sending data to the
printer, examining the contents of a directory, etc.
It is stored on the hard disk and is loaded to memory when the
computer is switched on
An operating system is conceptually broken into two
components: A shell and a kernel. The shell is a command
interpreter and as the name implies, is an outer wrapper to the
kernel which in turn talks directly to the hardware
Hardware
Kernel
Shell
Applications
In some operating systems the shell and the kernel are
completely separate entities, allowing you to run varying
combinations of shell and kernel (eg Unix), in others, the
separation is only conceptual (eg Windows).
Source: wikipedia.org
Examples of operating systems

MS-DOS (Microsoft disk operating system)






MacOS





Introduced in 1981
Required basic familiarity with its operation and organization
Intel computers such as 286-386-486 commonly used MS-DOS
Users were required to know basic abbreviations such as dir or del
to perform tasks
Uses a command line user interface-is non graphical
Introduced in 1984
Operating system for apple Macintosh computers
First commercially successful OS which used GUI (graphical user
interface)
Used icons to represent different data structures
Microsoft Windows


Dominant OS and is used in over 90% of PC’s
Introduced in 1985 in response to MacOS

Generations of Windows:








Windows 1.x, 2.x, 3.x
Windows 95, 98
Windows NT
Windows Me
Windows 2000
Windows XP
Windows Vista
Unix and similar systems






Unix
MacOS X
Linux
Solaris operating environment
Microsoft Xenix
AIX by IBM
Linux







Linux is causing a revolution in the world of computers
Initially created as a hobby by a young student called Linus Torvalds at
the University of Helsinki in Finland
It may be used for a variety of purposes including networking and
software development
It is often considered to be an excellent, low-cost alternative to other
more expensive operating systems
The attractiveness of Linux is that its source code, which is a series of
commands written in a programming language is freely available to
anyone
The source code can be modified to fit the individual needs of the user
It is developed under the GNU General Public License, enabling the
user to share and change free software in comparison to most other
software whose source code is concealed, preventing users to share or
modify it
Source: linux.org
Operating system classification
Operating Systems can be classified as:





GUI: Graphical User Interface operating systems are
operating systems that have the capability of using a
mouse and are graphical
Multi user: allows multiple users to utilize the
computer and run programs at the same time
Multi processing: allows multiple processors to be
utilized
Multi tasking: allows multiple software processes to be
run at the same time
Multi threading: allows different parts of a software
program to run concurrently
Programming Language





Higher level programming languages contain instructions that
are more powerful, more general and better suited for
programming a task than the basic assembly language
instructions
Each higher level language instruction might consist of hundreds
of assembly language instructions
Software programmers write the most efficient and fastest
programs in assembly language
However, it is tedious to write programs in assembly language
and is easy to make errors
To make program development easier, software programmers
write in higher level computer programming languages such as
FORTRAN, BASIC, PASCAL, etc


Programs written by programmers are translated into the
machine language by a compiler
Examples of programming languages:










BASIC
C
C++
COBOL
DBASE
Java
Pascal
Perl
Visual Basic
XML
Application programs




An application program is software written by a professional
programmer for a specific operating system to perform a
particular task such as word processing or graphic design
Before ‘shrink-wrap’ software was available, computer users also
needed to be computer programmers who knew the operating
system and at least one higher level language
Such knowledge is no longer necessary and software suitable
for a particular application can be directly purchased
Examples of application software:





MS office
Explorer
Media player
MSN messenger
Adobe acrobat