Software
Software
CONTENT
Introduction
Systems software: coordinates the activities and functions of hardware and programs Computer system platform: combination of a hardware configuration and systems software Application software: helps users solve particular problems
Systems Software
Operating systems Utility programs Middleware and Others
Single computer with a single user, e.g. PC Single computer with multiple users, e.g. Main Frame computer where hundreds of users are working Multiple computers, e.g. network of computers Special-purpose computers, e.g. home appliances
Perform common computer hardware functions Provide a user interface and input/output management Provide a degree of hardware independence Manage system memory Manage processing tasks Provide networking capability Control access to system resources Manage files
Get input from keyboard or some other input device Retrieve data from disks Store data on disks Display information on a monitor or printer
User interface: allows individuals to access and command the computer system Command-based user interface: requires that text commands be given to the computer to perform basic activities Graphical user interface (GUI): uses icons and menus displayed on screen to send commands to the computer system
Application program interface (API): allows applications to make use of the operating system If hardware changes, application software need not change Control how memory is allocated, accessed and maximize available memory and storage Physical Memory vs. Virtual Memory
Memory management
Figure 4.6: Application Program Interface Links Application Software to the Operating System
Multitasking: more than one program can run at the same time Time-sharing: allows more than one person to use a computer system at the same time Scalability: ability of the computer to handle an increasing number of concurrent users smoothly
Networking capability
Features and capabilities of the OS that aid users in connecting to a computer network
Protection against unauthorized access Logins and passwords Ensures that files in secondary storage are available when needed and that they are protected from access by unauthorized users
File management
Current OS
Table 4.2: Popular Operating Systems Cross All Three Spheres of Influence
Current OS (cont)
Microsoft PC operating systems
PC-DOS and MS-DOS: early, command-driven OSs Windows XP: greatly improved stability and security over previous versions of Windows Windows XP Professional X64: for computers with newer 64-bit capabilities Vista: latest version of Windows Which is the new OS already announced?
Current OS (cont)
Apple operating systems
Often provide cutting edge tools in graphics and music not available from Microsoft Mac OS X Jaguar (OS X.2) Panther (OS X.3) Tiger (OS X.4): support for 64-bit computing, Dashboard, Spotlight, etc.
Current OS (cont)
Linux
Developed by Linus Torvalds in 1991 Open-source product Only the kernel of an OS Several distributions available with capabilities/applications that form a complete OS Examples: Red Hat Linux, Caldera OpenLinux
Operating Systems for Small Computers, Embedded Computers, and Special-Purpose Devices
Palm OS Windows Embedded Windows Mobile
Utility Programs
Hardware utilities: i.e. check status of Hard Disk Virus-detection and recovery utilities File-compression utilities Spam and pop-up blocker utilities Network and Internet utilities Server and mainframe utilities
Application Software
Primary function is to apply the power of the computer to give individuals, workgroups, and the entire enterprise the ability to solve problems and perform specific tasks, e.g.
Application programs interact with systems software; systems software then directs computer hardware to perform the necessary tasks
Microsoft Office: most popular general-purpose software suite Other general-purpose software suites: Corels WordPerfect Office, Lotus SmartSuite, Sun Microsystemss StarOffice
Integrated application packages: offer a range of capabilities for less money than software suites
Forecasting sale for next month Predicting which customer is more likely to buy Which items in supermarket sell together Visualize and analyze the human genome
Programming Languages
Sets of keywords, symbols, and a system of rules for constructing statements by which humans can communicate instructions to be executed by a computer Different languages have different characteristics Syntax: a set of rules associated with a programming language
3GL Vs 4GL
3GL
Tells how to do More Efficient More flexible Tells what to do (How part left on system) Higher productivity
4GL
Embedding 4GL in 3GL Best of both worlds 3GL Object oriented programming languages are based on objects, e.g. C++, Java
Software bugs, copyright, software licensing, opensource software, shareware and public domain software, multiorganizational software development, software upgrades, and global software support
In some cases, you are given unlimited use of software on one or two computers In other cases, you pay for your usageif you use the software more, you pay more
Some software now requires that you register or activate it before it can be fully used
Open-Source Software
Open-source software:
software freely available to anyone in a form that can be easily modified (System Software, Utility or Application Software)
Software that is very inexpensive or free Source code cannot be modified Source code may not be available (Acrobat Reader)
Shareware and freeware that is in the public domain Not protected by copyright law Can be freely copied and used May not be open source
Source is available
Open Source
Software Upgrades
Software companies revise their programs and sell new versions periodically Revised software may or may not offer any major additional capabilities Revised software may have patches for bugs Revised software can contain bugs or errors
Users should not be first to work at the latest version Who should be first?
Software upgrades usually cost much less than the original purchase price