Software Writer:-Rashedul Hasan Editor:- Jasim Uddin Software Instructions and associated data, stored in electronic format, that direct the computer to accomplish a task. Basically Two Types. System software or Operating Systems: helps the computer carry out its basic operating tasks. Application Software: Designed to perform particular function. Basic Components of System Software Operating System: An operating system is the main components of system software in any computing system. Device Driver: It helps the computer control peripheral devices. Utility Program: It is generally used to support, enhance or expand existing programs in a computer program. Operating System An Operating System (OS) is the master controller within a computer. It controls the resources (CPU, memory, I/O devices etc.) of computer system. It provides its user with an interface. [GUI-Graphical user interface]. EX: Windows, MacOS, DOS, UNIX, Linux Objective of OS Users Other software OS Hardware OS Objective of OS Make computer system easer to use: It act as a intermediary between the hardware and its user. It hides the details of the hardware resources from its user and give them a convenient interface for using computer system. Objective of OS Manage the resources of computer system: An OS manage all the resources of a computer system. For Ex. Keeping track of who is using computer, granting resource request etc. Function of the OS Booting User Interface CPU Management File Management Task Management Formatting Security Management Booting The work of the OS begins as soon as the computer turn on. Booting is the process of loading an OS into a computer’s main memory. User Interface The first thing you see after your computer finishes booting is the user interface. The user interface is the user controllable display screen that allows you to communicate or interact with your computer. Most popular user interface is the GUI. GUI allows you to use a Mouse and Keyboard to select icon [little symbol] and command from the menus [list of activities] CPU Management File Management Files containing programs and data are located in many places on the computer’s hard drive. The OS records the storage location of all files. If we move, rename or delete a file, the OS manage such changes and helps us locate and gain access to it. Task Management Formatting Security Management Buses, Ports, and Peripherals provide attachment and communication with external devices by means of: slots (for internal attachment) ports (for external attachments) Functions of OS Functions of OS An operating system interacts with: All hardware installed in or connected to a computer system. All software installed or running from a storage device on a computer system File management is another important task of OS. It protects the information of computer system It involves in interpreting users commend and directing system resources to process the command. Popular System Software Microsoft Windows Most popular operating system. Supports a vast array of application software and peripheral devices. MacOS For Macintosh computers. Proprietary system. Does not have same functionality and support for software and peripheral devices. System Software Network operating system (NOS) Manages network resources. Maintains security. Tracks user accounts. Handles communication between workstations and servers. Popular network operating systems Windows NT, Novell Netware, UNIX System Software Utilities Utilities augment functionality of operating systems. Utilities includes device drivers and Troubleshooting capabilities. Utilities provide file management capabilities such as copying, moving or renaming a file. Norton Utilities includes an undelete function that can recover deleted files. Symantec and McAfee Virus checkers add protection for all system and data files. Application Software It is a set of one or more programs designed to solve a specific problem or do a specific task. For Ex. Payroll processing software, examination results processing software, computer games software. It is also known as package software. For ex. MS Office suit 2007. Some commonly known application software Word processing software: enable us write, edit, view, store & printing documents. Spreadsheet software: uses for keeping a record of financial transaction and for preparing financial statement. Database software: A database is a collection of related data stored & treated as a unit. Database software enables us to create database, maintain it, organize its data, sort Some commonly known application software its records & selectively retrieve useful information from it. For Ex: queries such as get the telephone number of the person named Mr. Rezaul Karim from the address database. Or get the names of all currently admitted students whose birthday fall today from the student database. in case of Bangladesh Voter database is the largest database. Some commonly known application software Graphic Software: enable us drawings, printing of design, graphs, picture etc. Entertainment software: allows us to use computer as a entertainment tool. Such as Windows media player. Obtaining software Buying pre-written/package software: People can buy pre-written package software which are available in the market Advantage: cheap. user can start planned activities almost immediately. it can meet the requirements of as many potential users as possible. Obtaining software Ordering/Developing Customized software: if none of the available pre-written software packages meet the specific requirements of a user, then he/She can go for customized software option. Advantage: it is easier to carry out changes in the software. [Open Source Software, OSS] Obtaining software Downloading Shareware/Freeware: software can now be downloaded from internet. Advantages: usually free and accompanied with their source code. can be downloaded & used immediately. Software Development Steps Analyzing the problem at hand & planning the programs to solve the problem. Coding the programs. Testing, Debugging and Documenting the programs. Implementing the programs. Evaluating & Maintaining the programs. Another way of classifying Application Software Productivity Software Spreadsheets Databases Presentation Software Document Preparation Word Processing Desktop Publishing Project Management Software Application Software Graphics Creation and Manipulation Animation and 3D Graphics Video Editing Internet Connectivity Website Creation and Management Groupware Financial Management Educational Games and Tutorials Programming Languages Basic building blocks of any software. Programming languages allow a programmer to write instructions that a computer can understand. Programming languages have some resemblance to the English language. BASIC C++ Pascal Java Fortran