Computer Software PDF
Document Details
Uploaded by WellReceivedEpigram622
Tags
Summary
This document discusses computer software, including different types of software like system software and application software. It further explains operating systems and their functions, such as managing tasks and handling input/output. The document also covers various concepts like multitasking, multiprogramming, and preemptive multitasking.
Full Transcript
COMPUTER SOFTWARE Week 6 WHAT IS SOFTWARE? Software, also called a program, consists of a series of related instruction, organized for a common purpose, that tells the computer what tasks to perform and how to perform them. Software is a generic term used to describe computer programs. Applicati...
COMPUTER SOFTWARE Week 6 WHAT IS SOFTWARE? Software, also called a program, consists of a series of related instruction, organized for a common purpose, that tells the computer what tasks to perform and how to perform them. Software is a generic term used to describe computer programs. Applications, programs and a set of instructions are the terms often used to describe software. Computer Software System Applicatio Software n Software Operating Application General System Utilities Specific Purpose Software Program Application Software System Security Utilities Monitors Performance Monitors TYPES OF SOFTWARE Software is divided into two main categories: 1. System software a) Operating System b) Utilities 2. Application software a) General purpose application b) Custom application software SYSTEM SOFTWARE Consists of the programs that control or maintain the operations of the computer and its devices Serve as the interface between the user, the application software and the computer’s hardware User TYPES OF SYSTEM SOFTWARE 1. Operating System 2. Utility System OPERATI NG SYSTEMS OPERATING SYSTEM – SYSTEM SOFTWARE Operating System is a set of programs that coordinates all the activities among computer hardware devices. Operating System is an essential collections of software that tasks include: managing resources providing common services for other software that runs on top of them Supervising program All programs require an OS to function Acts as intermediary between programs and computer hardware OPERATING SYSTEM FUNCTIONS FIVE BASIC OS FUNCTIONS 1. Starting the computer 2. Managing applications 3. Managing memory 4. Handling input/output device messages 5. Providing a user interface 1. STARTING THE COMPUTER First job is booting, load itself into RAM Type of OS 2. MANAGING PROGRAM OS support both; Single user and only one program running at a time Thousands of users Multiuser running multiple programs at a time i. Single user/Single tasking OS is capable of managing one user doing one task at a time Example: Personal Digital Assistants PDA’s have single-user, single-task operating systems. 2. MANAGING PROGRAM ii. Single user/Multitasking OS Allows single user to work on two or more programs that reside in memory at the same time The one program in the foreground is the active program – user currently working on The other programs running but not in use are in the background Users can easily switch the programs Example: Windows, Linux, Mac OS Type of OS 2. MANAGING PROGRAM iii. Multiuser/Multitasking OS Enables two or more users to run programs simultaneously Servers, networks, mainframes and supercomputers allow hundreds to thousands of users to connect at the same time – thus calling it multiuser iv. Multiprocessing OS Supports two or more processors running programs at the same time It involves the coordinated processing of programs by more than one processor Increases computers’ processing speed Simultaneous process with multiple CPU’s 2. MANAGING PROGRAM v. Multiprogramming The most important operating system capability for sharing computer resources is multiprogramming. Multiprogramming permits multiple programs to share a computer system’s resources at any time through concurrent use of CPU. By concurrent use, we mean that only one program is actually using the CPU at any given moment. However, at the same time other programs can collect inputs and display outputs. Two or more programs are active at the same time, but they do not use the same computer resources simultaneously. With multiprogramming, a group of programs takes turns using the processor MULTIPROGRAMMING The first operating systems executed only one program at a time. When a program read data from a tape or disk or write data to a printer, the entire CPU came to a stop. This was very inefficient way to use the computer. In a multiprogramming environment, three programs were stored in primary storage. The first program executes until an input/output statement occurs. Then the operating system directs a channel to read the input and move the output to output device. The CPU moves to the second program until an input/output statement occurs. At this point, the CPU switches to the execution of the third program. 2. MANAGING PROGRAM vi. Preemptive multitasking/context switching OS uses some criteria to decide how long to allocate to any one task before giving another task a turn to use the operating system. The act of taking control of the operating system from one task and giving it to another task is called preempting. OS use preemptive multitasking to prevent any one process from monopolizing the computer’s resources. The advantage of preemptive multitasking is the OS regains control if one program stops operating properly. 3. MANAGING MEMORY The OS gives each program a portion of RAM memory. Keeps them from interfering with each other. OS processes often involve using a buffer RAM memory functions as the buffer RAM is organized into pages: units of large fixed size containing program instructions and data. Virtual memory uses a portion of the hard disk to extend RAM. When RAM is full, copies of pages are temporarily stored in a swap file, a special hard disk file. Transferring files between RAM and the hard disk is called paging. 3. MANAGING MEMORY 4. HANDLING INPUT AND OUTPUT Applications access input and output devices via the OS. Device drivers enable communication between the OS and input and output (and other) devices. 5. PROVIDING THE USER INTERFACE The user interface allows the user to: Start application programs Manage storage devices Safely shut down the computer Perform other interactions There are different User interfaces; Command line interface Menu driven interface Graphical User interface LOOKING INSIDE THE OPERATING SYSTEM KERNEL Kernel is the central part of an OS Manages memory, CPU and other devices It is the job of kernel to decide when and how long a program should run – scheduling Computer user never interacts with kernel directly Kernel is responsible for assigning and un-assigning memory space which allows software to run Many kernels are responsible for ensuring that faulty programs do not interfere with the operation of others, by denying access to memory and restricting the amount of CPU time they can consume. SCHEDULING IN OS Essential part of multiprogramming operating systems The act of determining which process in the ready state should be moved to the running state is known as Process Scheduling. The prime aim of the process scheduling system is to keep the CPU busy all the time and to deliver minimum response time for all programs. SCHEDULING IN OS The Operating System maintains the following important process scheduling queues Job queue − This queue keeps all the processes in the system. Ready queue − This queue keeps a set of all processes residing in main memory, ready and waiting to execute. A new process is always put in this queue. Device queues − The processes which are blocked due to unavailability of an I/O device constitute this queue. TIME SHARING It is an OS capability that allows many users to share computer processing resources simultaneously. It differs from multiprogramming in that the CPU spends a fixed amount of time on one program before moving to another. In time sharing environment, thousands of users are each allocated a tiny slice of computer time (2 milliseconds). In this time slot, each user is free to perform any required operations. At the end of this period, another user is given a 2-millisecond time slice of the CPU. This arrangement permits many users to be connected to a CPU simultaneously. Because the CPU is operating at the nanosecond level, a CPU can accomplish a great deal of work in 2 millisecond. OTHER TYPES OF OS Embedded OS It is an OS for embedded computers It resides on a ROM chip, many mobile devices and many consumer electronics have an embedded OS Example: iPhone OS, Google Android, Windows Mobile, BlackBerry etc. Distributed OS A distributed operating system is a software over a collection of independent, networked, communicating, and physically separate computational nodes. Each individual node holds a specific software subset of the global aggregate operating system. Distributed OS Embedded OS UTILITY SYSTEM SOFTWARE Allows a user to perform maintenance-type tasks usually related to managing a computer, its devices or its programs Designed to help analyze, configure, optimize or maintain a computer Utility software is not considered part of the operating system, as users can install replacements or additional utilities For example: file manager, antivirus program, image viewer, Disk cleanup utility, restore utility, screen saver, pop-up blocker. APPLICATION SOFTWARE APPLICATION SOFTWARE Program designed to make users more productive and/or assist them with personal tasks Application software’s has a variety of uses: 1. To make business activities more efficient 2. To assist with graphics and multimedia projects 3. To support home, personal and educational tasks 4. To facilitate communication TYPES OF APPLICATION SOFTWARE ▪Packaged software ▪Custom-built Software ▪Web application ▪Open source software ▪Shareware ▪Freeware ▪Malware PACKAGED/OFF-THE-SHELF SOFTWARE ▪Mass produced, copyrighted retail software that meets the needs of a wide variety of users, not just a single user ▪Available in retail stores or on the web ▪Also called proprietary software ▪They are bundled together as a set of software’s often called a “suite” ▪Examples: Microsoft Office Suite (MS Word, MS Excel, MS PowerPoint) CUSTOM-BUILT SOFTWARE ▪Performs functions specific to a business or industry ▪Custom made to fulfil individual company’s requirements ▪Costs more than packaged/off-the-shelf software ▪Example: ▪Hospital Management System ▪Human Resource Management ▪Zabdesk WEB APPLICATION Allows users to access and interact with software from any computer or device that is connected to the Internet Example: G-mail Game programs Britannica.com Dictionary.com Flickr Google Docs Google Earth Google Maps OPEN SOURCE SOFTWARE Software that has its source code open for modification and enhancement It’s the code that only programmers can manipulate to change the software’s working Programmers can copy the code, learn from it, alter it or share it Example: Linux MySQL Firefox SHAREWARE Copyrighted software that is distributed at no cost for a trial period, to use the program beyond that period you are required to pay It is also a type of proprietary software Easily downloadable from website or as a compact disc The software’s are limited in functionality Example: Draw.io FREEWARE Copyrighted software provided at no cost by an individual or a company that retains all rights to the software Programmers cannot incorporate freeware in applications they intend to sell The word free indicates the software is free of charge Example: Whatsapp software Skype MALWARE Malware aka malicious software, is an umbrella term used to refer to a variety of forms of intrusive software such as viruses, worms, spyware, adware, scareware, and other malicious programs. Takes the form of other software to act against the requirements of the computer user and cause harm to computer Anti-virus and anti-malware programs are used to fight against such malicious software. ALGORITHM WRITING REVISION REVISION OF PSEUDOCODE/ALGORITHM Write an algorithm/pseudocode for the program that will take two input numbers and will consider the second number as the power of first number and return the result. For example: First number is: 5 Second number is: 4 Output will be: 625 REVISION OF PSEUDOCODE/ALGORITHM The factorial of a number n is calculated as; n! = n*(n-1)*(n-2)*(n-3)*….*1 For example: 4! = 4*3*2*1 4! = 24 Write an algorithm/pseudocode and draw flowchart for the above program, which will take input positive integer and return the factorial of the number. REVISION OF PSEUDOCODE/ALGORITHM The Fibonacci sequence is a series of numbers where a number is found by adding up the two numbers before it. Starting with 0 and 1, the sequence goes 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, and so forth. Write an algorithm for a program that can print the Fibonacci sequence up to user specified number of digits. For example: Input: 5 Output: 0,1,1,2,3 Input: 8 Output: 0,1,1,2,3,5,8,13