Upload
ralf-thomas
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
CSCI-100CSCI-100Introduction to ComputingIntroduction to Computing
SoftwareSoftware
Gross AnatomyGross Anatomy
HardwareHardware Equipment associated with the computerEquipment associated with the computer
• Input devices, processor, output devices, storageInput devices, processor, output devices, storage
SoftwareSoftware Instructions that tell the hardware what to doInstructions that tell the hardware what to do Two categories of software:Two categories of software:
• System softwareSystem software• Application softwareApplication software
© Prentice-Hall, Inc
System SoftwareSystem Software
System softwareSystem software includes all of the programs includes all of the programs needed to keep a computer and its peripheral needed to keep a computer and its peripheral devices running smoothlydevices running smoothly
Two major categories of system software are:Two major categories of system software are: Operating systems Operating systems System utilitiesSystem utilities
© Prentice-Hall, Inc
The Operating SystemThe Operating System
The The operating system (OS) is a set of programs (OS) is a set of programs that perform certain basic functions with a that perform certain basic functions with a specific type of hardwarespecific type of hardware
The functions of the OS are:The functions of the OS are: Starting the computerStarting the computer Managing programsManaging programs Managing memoryManaging memory Handling messages from input and output devicesHandling messages from input and output devices Enabling user interaction with the computerEnabling user interaction with the computer
© Prentice-Hall, Inc
The Operating SystemThe Operating System
OS stays behind the scenesOS stays behind the scenes All software depends on the OSAll software depends on the OS
OperatingOperatingSystemSystem
GUI
© Prentice-Hall, Inc
Operating Systems for Large Operating Systems for Large ComputersComputers
Resource allocationResource allocation Assigning computer resources to certain Assigning computer resources to certain
programs and processes for their useprograms and processes for their use
Main issues related to resource allocationMain issues related to resource allocation Sharing the Central Processing Unit (CPU)Sharing the Central Processing Unit (CPU) Sharing memorySharing memory Sharing storage resourcesSharing storage resources Sharing printing resourcesSharing printing resources
© Prentice-Hall, Inc
MultiprocessingMultiprocessing
The use of a powerful computer with The use of a powerful computer with multiple CPUsmultiple CPUs
Multiple programs run simultaneouslyMultiple programs run simultaneously Each runs on its own processorEach runs on its own processor
© Prentice-Hall, Inc
MultiprogrammingMultiprogramming
Two or more programs executed Two or more programs executed concurrentlyconcurrently Programs take turns using the CPUPrograms take turns using the CPU Event-drivenEvent-driven
• AnAn interrupt interrupt suspends processing to allow another suspends processing to allow another program to runprogram to run
• After the second program runs, the OS returns the After the second program runs, the OS returns the CPU to another programCPU to another program
© Prentice-Hall, Inc
Time-SharingTime-Sharing
Programs take turns using the CPUPrograms take turns using the CPU Time-drivenTime-driven
Each user is given a slice of time (fraction of a second)Each user is given a slice of time (fraction of a second) CPU works only on that user’s tasks during his/her time CPU works only on that user’s tasks during his/her time
sliceslice
Typically used in applications with many usersTypically used in applications with many users
© Prentice-Hall, Inc
Starting the ComputerStarting the Computer
BootingBooting – The process of loading or – The process of loading or reloading the OS into the computer’s reloading the OS into the computer’s memorymemory
© Prentice-Hall, Inc
Starting the ComputerStarting the Computer
The computer copies the The computer copies the kernelkernel from the from the hard drive into the computer’s memoryhard drive into the computer’s memory The kernelThe kernel
• Is the central part of the OSIs the central part of the OS• Starts all applicationsStarts all applications• Manages devices and memoryManages devices and memory• Resides in memory at all timesResides in memory at all times• Performs other essential functionsPerforms other essential functions
© Prentice-Hall, Inc
Managing ProgramsManaging Programs Single-taskingSingle-tasking systems run one application systems run one application
program at a timeprogram at a time
MultitaskingMultitasking OSs have the ability to run more OSs have the ability to run more than one application program at a timethan one application program at a time
Multitasking is accomplished byMultitasking is accomplished by
A A foregroundforeground application application
• The active program or program in useThe active program or program in use
One or more One or more backgroundbackground applications applications
• Inactive program(s) or program(s) not in useInactive program(s) or program(s) not in use
© Prentice-Hall, Inc
Example of MultitaskingExample of Multitasking
Background Background applicationapplication
Foreground Foreground applicationapplication
Storage StructureStorage Structure Programs must be in main memory (RAM) to executePrograms must be in main memory (RAM) to execute Von-NeumannVon-Neumann architecture architecture
Load instruction from memory into Load instruction from memory into instruction register (IR)instruction register (IR) Operands fetched from memory to internal registersOperands fetched from memory to internal registers
START
Fetch next instruction fromMemory to IR
Increment Program Counter
Decode and ExecuteInstruction in IR
STOP ?NO YES
© Prentice-Hall, Inc
Storage StructureStorage Structure Ideally, we want programs and data to reside in main Ideally, we want programs and data to reside in main
memory permanentlymemory permanently Main memory is usually too smallMain memory is usually too small Main memory is Main memory is volatilevolatile – loses contents on power loss – loses contents on power loss
Secondary storageSecondary storage holds large quantities of data, holds large quantities of data, permanentlypermanently Magnetic disk is the most common secondary-storage Magnetic disk is the most common secondary-storage
devicedevice
Actually, a Actually, a hierarchy of storagehierarchy of storage varying by varying by speedspeed, , costcost, , sizesize and and volatilityvolatility
Storage-Device HierarchyStorage-Device HierarchyFAST AND EXPENSIVE
SLOW AND CHEAP
© Prentice-Hall, Inc
Managing MemoryManaging Memory
The operating system allocates memory The operating system allocates memory areas for each running program; it keeps areas for each running program; it keeps programs from interfering with each otherprograms from interfering with each other
The operating system uses The operating system uses virtual memoryvirtual memory as an extension of random access as an extension of random access memory (RAM)memory (RAM)
© Prentice-Hall, Inc
ManagingManaging Virtual MemoryVirtual Memory
least recentlyused data or
program instructions
dataswapped
out
swap file
Virtual memorymanagement
hard diskdata
swapped in
most recentlytransferred data or
program instructions
memory
© Prentice-Hall, Inc
Cache: AnalogyCache: Analogy You are going to do some research on a particular You are going to do some research on a particular
topic. Thus, you go to the library and look for the a topic. Thus, you go to the library and look for the a shelve that contains books on that particular topicshelve that contains books on that particular topic
You pick up a book from the shelve, find a chair, seat You pick up a book from the shelve, find a chair, seat and start readingand start reading
© Prentice-Hall, Inc
Cache: AnalogyCache: Analogy You find a reference to another book on the same topic You find a reference to another book on the same topic
that you are also interested in reading. Thus, you stand that you are also interested in reading. Thus, you stand up, go to the same shelve, leave the first book and pick up, go to the same shelve, leave the first book and pick up the other bookup the other book
Then, you go back to the chair and start reading the Then, you go back to the chair and start reading the second booksecond book
Later on you realize that you want to read the first book Later on you realize that you want to read the first book once again (or another related book). Thus, you repeat once again (or another related book). Thus, you repeat the same process (i.e., go to the shelve to find it)the same process (i.e., go to the shelve to find it)
© Prentice-Hall, Inc
Cache: AnalogyCache: Analogy Suppose that instead of taking just one book from the shelve, Suppose that instead of taking just one book from the shelve,
you take 10 books on the same topic. Then, you find a table you take 10 books on the same topic. Then, you find a table with a chair, put the 10 books on the table, sit there and start with a chair, put the 10 books on the table, sit there and start reading one of the booksreading one of the books
If you need another related book, there is a good chance that it If you need another related book, there is a good chance that it is on your table so you don’t have to go to the shelve to get it. is on your table so you don’t have to go to the shelve to get it. Also, you can leave the first book on the table and there is a Also, you can leave the first book on the table and there is a good chance that you will be needing it again latergood chance that you will be needing it again later
© Prentice-Hall, Inc
Handling Input and OutputHandling Input and Output Input and output devices generate Input and output devices generate
interruptsinterrupts, or signals, that tell the operating , or signals, that tell the operating system that something has happenedsystem that something has happened
The OS provides The OS provides interrupt handlersinterrupt handlers or mini- or mini-programs that begin when an interrupt programs that begin when an interrupt occursoccurs
© Prentice-Hall, Inc
Providing the User InterfaceProviding the User Interface
The The user interfaceuser interface is that part of the OS is that part of the OS with which the user interacts with a with which the user interacts with a computercomputer
© Prentice-Hall, Inc
Types of User InterfacesTypes of User Interfaces Graphical user interface (GUI)Graphical user interface (GUI)
Uses graphics to create a desktop environmentUses graphics to create a desktop environment Icons (small pictures) represent computer resourcesIcons (small pictures) represent computer resources Programs run within on-screen windowsPrograms run within on-screen windows
Menu-drivenMenu-driven Text-based menus are used to show all of the Text-based menus are used to show all of the
options available to the useroptions available to the user
Command-lineCommand-line The user is required to type keywords or commands The user is required to type keywords or commands
in order to enter data or give instructionsin order to enter data or give instructions
© Prentice-Hall, Inc
Graphical User Interface (GUI)Graphical User Interface (GUI)
© Prentice-Hall, Inc
Menu-driven User InterfaceMenu-driven User Interface
© Prentice-Hall, Inc
Command-Line InterfaceCommand-Line Interface
© Prentice-Hall, Inc
MS-DOS
WINDOWS XP MAC OS
LINUXUNIX
Popular Operating SystemsPopular Operating Systems
© Prentice-Hall, Inc
Microsoft WindowsMicrosoft WindowsClick to view each Windows version (1985-2001)Click to view each Windows version (1985-2001)
Windows 1.0 (1985)Windows 2.0 (1987)Windows 3.x (1990-1992)Windows NT (1993)Windows 95 (1995)Windows 98 (1998)Windows 2000 (2000)Windows ME (2000)Windows XP (2001)
© Prentice-Hall, Inc
MAC OSMAC OS Created in 1984 Created in 1984
First OS to use First OS to use graphical user graphical user interfaceinterface
Easiest operating Easiest operating system for system for beginnersbeginners
A new version, A new version, Mac OS X, was Mac OS X, was released in 2000released in 2000
© Prentice-Hall, Inc
MS-DOSMS-DOS
Developed for IBM PCs in Developed for IBM PCs in 19811981
Uses command-line Uses command-line interfaceinterface
Use is diminishingUse is diminishing
© Prentice-Hall, Inc
UNIXUNIX
Developed by AT&T Developed by AT&T in 1970sin 1970s
Developed concepts Developed concepts of file management of file management and path namesand path names
Widely used by Widely used by corporationscorporations
© Prentice-Hall, Inc
LinuxLinux Developed in Developed in 1991 by UNIX1991 by UNIX
Open-source Open-source codecode – –Available Available for all to see and for all to see and useuse
More stable than More stable than WindowsWindows
Powerful and freePowerful and free
Growing Growing acceptanceacceptance
Applications SoftwareApplications Software
Word ProcessingWord Processing Software for creating standard text Software for creating standard text
documents, such as reports, books, etc.documents, such as reports, books, etc. examples are Microsoft Word, WordPerfect, examples are Microsoft Word, WordPerfect,
and Write. and Write.
Applications SoftwareApplications Software
Word processors are distinguished from Word processors are distinguished from the simpler text editors, by the simpler text editors, by the inclusion of more advanced features the inclusion of more advanced features
(word wrap, headers & footers, etc.), and (word wrap, headers & footers, etc.), and more complex proprietary data formats. Text more complex proprietary data formats. Text
editors have limited functionally.editors have limited functionally.
Application SoftwareApplication Software
Desktop publishing software:Desktop publishing software: more sophisticated programs for creating more sophisticated programs for creating
large documents (e.g. books), or documents large documents (e.g. books), or documents with a lot of graphic (newsletters, brochures, with a lot of graphic (newsletters, brochures, etc.) etc.)
examples are Pagemaker and Ventura. examples are Pagemaker and Ventura.
Application SoftwareApplication Software
Spreadsheets Spreadsheets Software for working with numeric data, Software for working with numeric data,
calculations and graphing/charting. calculations and graphing/charting. examples: examples:
• Microsoft Excel;Microsoft Excel;• Lotus 1-2-3, and Lotus 1-2-3, and • Quattro Pro. Quattro Pro.
Application SoftwareApplication Software
Databases Databases allows the creation of highly structured allows the creation of highly structured
containers for storing information about containers for storing information about things. things.
examples: Microsoft Access, Paradox, and examples: Microsoft Access, Paradox, and Oracle. Oracle.
examples of types of database systems would examples of types of database systems would be inventory systems, or bank accounts. be inventory systems, or bank accounts.
Application SoftwareApplication Software
Databases describe Databases describe the characteristics of things (e.g. name, the characteristics of things (e.g. name,
address and phone number for a mailing list), address and phone number for a mailing list), and and
allow the user to input values for storage, and allow the user to input values for storage, and retrieve them at a later date.retrieve them at a later date.
Application SoftwareApplication Software
Communications Communications allows one computer to communicate with allows one computer to communicate with
another. another. Examples are Procomm and Kermit.Examples are Procomm and Kermit.
Communications software often uses a Communications software often uses a modem to provide the communications link modem to provide the communications link with another computer system.with another computer system.
Application SoftwareApplication Software
Graphics Graphics allows the user to create or edit images, such allows the user to create or edit images, such
as as • line art;line art;• photographs, or photographs, or • drawings. drawings.
examples are Corel Draw, Morph and Adobe examples are Corel Draw, Morph and Adobe Photoshop.Photoshop.
Application SoftwareApplication Software
Presentation/MultimediaPresentation/Multimedia allows the user to combine various data allows the user to combine various data
formats (text, images, audio, video) to create formats (text, images, audio, video) to create products like business presentations, products like business presentations, educational programs, games, etc. educational programs, games, etc.
examples are Microsoft Powerpoint and examples are Microsoft Powerpoint and Macromedia Director. Macromedia Director.
Application SoftwareApplication Software
Programming Programming used to create other software programs. used to create other software programs. examples are QBasic and Borland C++.examples are QBasic and Borland C++.
Why do we have programming Why do we have programming software???software???
Application SoftwareApplication Software
Utilities Utilities performs a variety of functions for maintaining performs a variety of functions for maintaining
and administering other software programs, and administering other software programs, data files, and hardware. data files, and hardware.
examples are PCtools and Norton Utilities. examples are PCtools and Norton Utilities.
Application SoftwareApplication Software
Games & Edutainment - Games are, well, Games & Edutainment - Games are, well, games. games.
Edutainment software Edutainment software a new term used to describe software that a new term used to describe software that
uses a game-like environment to teach about uses a game-like environment to teach about specific topics. specific topics.
Application SoftwareApplication Software
Viruses Viruses special software programs that can "infect" special software programs that can "infect"
other software, and other software, and cause it to malfunction, or cause it to malfunction, or do things its' creators did not intend to do. do things its' creators did not intend to do. viruses can be very damaging, and viruses can be very damaging, and anti-virus software protects computer systems anti-virus software protects computer systems
from becoming infected. from becoming infected.
Application SoftwareApplication Software
Industrial - Specialized software Industrial - Specialized software programs used to control machines or devices programs used to control machines or devices
such as:such as:• photocopiers;photocopiers;• robotics;robotics;• cars;cars;• space shuttles;space shuttles;• etc.etc.
Application SoftwareApplication Software
Consumer - Specialized software Consumer - Specialized software programs used in commercial/personal programs used in commercial/personal
devices such as microwaves and other devices such as microwaves and other household appliances. household appliances.
some modern homes are being designed with some modern homes are being designed with built-in computer systems that can be used to built-in computer systems that can be used to control heat, lights, etc.control heat, lights, etc.
SummarySummary
Software conceptSoftware concept Types of softwareTypes of software Operating systemOperating system Application softwareApplication software