Download Computer Software - Introduction to Computing - Lecture Slides and more Slides Introduction to Computing in PDF only on Docsity!
CS101 Introduction to Computing
Lecture 10
Computer Software
Lecture 8 was on the binary number
system and logic operations
- About the binary number system, and how it differs from the decimal system
- Positional notation for representing binary and decimal numbers
- A process (or algorithm) which can be used to convert decimal numbers to binary numbers
- Basic logic operations for Boolean variables, i.e. NOT, OR, AND, XOR, NOR, NAND, XNOR
- Construction of truth tables (How many rows?)
We mentioned in Lecture 4 that at the
highest level, two things are required for
computing
Hardware: The physical equipment in a computing
environment such as the computer and its
peripheral devices (printers, speakers...)
Software: The set of instructions that operates various
parts of the hardware. Also termed as “computer
program”
Computer Software
- The HW needs SW to be useful; the SW needs HW
to be useful
- When the user needs something done by the
computer, he/she gives instructions in the form of
SW to computer HW
- These instructions need to be written in a language
that is readily understood by computer uP
Language Translators
- Human programmers write programs in a language
that is easy to understand for them
- They use language translators to convert that
program into machine language – a language that is
easy to understand for the uPs
- We’ll have more to say about the machine language
and language translators in a future lecture
Software Development
- Writing very short programs is easy, but developing reasonably-sized programs is quite difficult as you are going to learn over the next few years
- The SW development process involves many steps, and coding, that is typing the instructions in a high-level language is only a small part of that process – taking-up only around 15% of the effort
- A summary of the steps involved is shown on the screen. We’ll have more to say about them during the 20 th^ lecture
Two Major Types of SW
- System SW
- Programs that generally perform the background tasks in a computer. These programs, many times, talk directly to the HW
- Application SW
- Programs that generally interact with the user to perform work that is useful to the user. These programs generally talk to the HW through the assistance of system SW
- The diagram on the screen shows the relationship
between HW and these two types of SW
Hardware
Operating System
Utility LanguageTranslator
Device Driver
Scientific Apps.
Business Apps.
Productivity Apps.
Entertainment Apps.
System software
Application software
Operating System
- Performs its work invisibly to control the internal functions of a computer, e.g. maintaining files on the disk drive, managing the screen, controlling which tasks the uP performs and in what order
- It interacts directly with the computer HW
- Other SW normally does not directly interact with the HW, but through the OS
- Examples:
Windows Mac OS Linux Unix Solaris DOS CP/M VMS Docsity.com
Firmware
- OS components that are stored permanently on
chip (ROM) and not on the disk drive
- When a computer is powered-on, firmware is the
first program that it always executes
- Firmware consists of startup and a few low-level
I/O routines that assist the computer in finding
out and executing the rest of the OS
- On IBM-compatible PC’s, it is called BIOS
Language Translators
Programs that take code written in a HLL and translate it
into a low-level language that is easily understood by the uP
- Compiler translates the program written in a HLL in one
go. The translated code is then used by the uP whenever
the program needs to be run
- Interpreter translates the HLL program one statement at
time. It reads a single statement, translates it into machine
language and passes that machine language code to the uP
and then translates the next statement, and so on …
Device Drivers
- A computer program that facilitates the
communication between the computer and a
peripheral device (e.g. printer, mouse, etc.)
- It takes the instructions and/or data from the
computer and converts them into a form that is
readily understood by a peripheral device, and vice
versa
Hardware
Operating System
Utility LanguageTranslator
Device Driver
Scientific Apps.
Business Apps.
Productivity Apps.
Entertainment Apps.
System software
Application software
Another way of classifying SW
- Shrink-Wrapped SW
- You can just go to a shop and buy it
- Custom-built SW
- You cannot just go to a shop and buy it; you have to find someone who can develop it for you