1 / 74

Computer Software

Computer Software. Lecturer: Jing Liu Email: neouma@mail.xidian.edu.cn Homepage: http://see.xidian.edu.cn/faculty/liujing. Computer Software. All computer systems consist of two major components, namely, hardware and software .

richardholt
Download Presentation

Computer Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Software Lecturer: Jing Liu Email: neouma@mail.xidian.edu.cn Homepage: http://see.xidian.edu.cn/faculty/liujing

  2. Computer Software • All computer systems consist of two major components, namely, hardware and software. • The hardware refers to the physical equipments that are necessary for performing various operations, such as reading and processing data, storing results and providing output to the users in a desired form. • The software refers to a set of computer programs that are required to enable the hardware to work and perform these operations effectively.

  3. Computer Software • A computer program is basically a set of logical instructions, written in a computer programming language that tells the computer how to accomplish a task. The software is therefore an essential interface between the hardware and the user. • We can say that software gives life to the hardware and therefore, the software is popularly referred to as the “soul” of the computer system while the hardware as the “heart”.

  4. Types of Computer Software A computer software performs two distinctive tasks: (1) The first task is to control and coordinate the hardware components and manage their performances (2) The second one is to enable the users to accomplish their required tasks. • The software that is used to achieve the first task is known as the system software and the software that is used to achieve the second task is known as the application software. • While the system software is essential for a computer to work, the application software is the additional software required for the user to perform a specific job.

  5. Users Application Software System Software Hardware Types of Computer Software • The system software not only controls the hardware functions but also enables the hardware to interact with the application software as well as the users. Layers of software and their interactions

  6. Types of Computer Software • System software consists of many different programs that manage and support different tasks. Depending upon the task performed, the system software can be classified into two major groups: • System management programs used for managing both the hardware and software systems • System development programs used for developing and executing application software

  7. Types of Computer Software • Application software includes a variety of programs that are designed to meet the information processing needs of end users. They can be broadly classified into two groups: • Standard application programs that are designed for performing common application jobs. • Unique application programs that are developed by the users themselves to support their specific needs.

  8. Types of Computer Software Major categories of computer software Computer Software System Software Application Software Standard Application Programs Unique Application Programs System Management Programs System Development Programs

  9. System Management Programs • System management programs are those programs that are meant for operating the hardware system and managing their resources effectively. They also enable the users to perform certain utility functions, such as creating backup files, recovering damaged files and merging files. They minimize the human intervention during processing and aid in maximizing the productivity of a computer system. System management programs include: • Operating system • Utility programs • Device drivers Device Drivers Utility Programs Hardware Operating System These programs work in close interaction with each other.

  10. Operating System • Operating System (OS) is the principal component of system software and is responsible for overall management of computer resources. It also provides an interface between the computer and the user and helps in implementing the application programs. Major functions of an operating system are: • Scheduling and execution of all processes • Allocation and management of main memory and other storage areas to the programs • Coordination and assignment of different hardware devices to the programs • Creation, storage and manipulation of files required by the various processes

  11. Operating System • Determining and maintaining the order of execution of programs • Interpretation of commands and instructions • Coordination and assignment of other development and utility programs • Providing a friendly interface between the computer and the user • Ensuring security of access to computer resources • Operating systems are usually supplied by the hardware manufacturers and are rarely developed by the users due to its technical complexity.

  12. Utility Programs • Utility programs refer to small programs, which provide additional capabilities of the computer system in addition to the ones provided by the operating system. They enable an operating system to perform some additional tasks, such as searching and printing the files and scanning the viruses, etc. A utility program is not an essential part of an operating system, because it does not help the operating system in the execution of a command or a program. A utility program only provides the additional features to the computer system. In other words, an operating system can execute most of the programs without having the utility programs. Utility programs are added to an operating system to perform many different tasks, that include: • Search and replace. It enables the operating system to search a file on the basis of the specified search criteria. • Print. It enables an operating system to initiate the print operation of the printer connected with the computer system.

  13. Utility Programs • Disk defragmenter. It helps in defragmenting the memory space. Defragmentation is the process of storing the data at a single place in the memory instead of disjointed memory locations. • System profiler. It provides the information related to the various hardware and software components installed in the computer system. In other words, it provides a list of the hardware components, which are presently connected with the computer system and the software components, which are currently installed in the computer system. • Encryption. It enables the operating system to generate the encrypted format of the messages of the files, which have to be transmitted from one system to another system over the network of the Internet. • Virus scanner. It enables the operating system to detect viruses and bugs, which may affect the correct functioning of the computer system.

  14. Utility Programs • Backup. It enables the creation of a copy of various files and folders on a secondary medium such as magnetic disk and magnetic tape, in order to keep the original data safe. • Data recovery. It enables the retrieval of lost data from a corrupted or damaged primary storage medium. Like operating systems, utility programs are prewritten by manufacturers and supplied with the hardware. They may also be obtained from standard software vendors.

  15. Device Drivers • A computer system is connected with multiple input and output (I/O) devices, so that it can communicate with the end use. • In order to interact with the I/O devices, the computer system requires special software called device driver. • The device driver acts as a translator between the I/O devices and the computer. A device driver of the input device interprets the input provided by the user into the computer understandable form and directs it to the operating system. • Similarly, the device drivers of the output devices translate the output generated by the computer into the user understandable format and display it on the screen. • In other words, a device driver is special software that enables a hardware device, such as keyboard, monitor and printer to perform an operation according to the command given by the end user.

  16. System Development Programs • System development programs known as programming software allow the users to develop programs in different programming languages. The process of developing and executing a program involves the following tasks: • Debugging the program • Linking the various variables and objects with the libraries files • Translating the code from one language to another • Running the machine code to perform the desired task

  17. Standard Application Programs • Standard application programs, also known as general-purpose application programs, are programs that perform certain common information processing tasks for the users. For example, preparing documents such as letters and notes are common among almost all organizations as well as individuals. Examples of standard application programs include: • Word processor • Spreadsheet • Database Manager • Web Browser

  18. Unique Application Programs • There are situations where organizations need to develop their own programs to accomplish certain tasks that are unique to their areas of operations. Similarly, individuals like scientists, engineers, accountants, teacher and other professionals write their own programs to solve their problems. Such programs are known as unique application programs or application-specific programs. These programs are also referred to as end-user application programs.

  19. Unique Application Programs • Examples of unique applications include: • Managing the inventory of a store • Preparing pay-bills of employees in an organization • Processing examination results of students • Reserving seats in trains or airlines • Analyzing mathematical models • Computing person income tax • These programs are usually developed in one of the high-level languages, such as C, C++, or Java and therefore, developing such programs in-house would require skilled programmers with deep knowledge not only in programming languages but also in programming environment.

  20. Problem Solving • Problems that can be solved through a computer may range in size and complexity. Since computers do not possess any common sense and cannot make any unplanned decisions, the problem, whether it is simple or complex, has to be broken into a well-defined set of solution steps for the computer to implement. • Problem solving is the process of solving a problem in a computer system by following a sequence of steps. The major steps that we need to follow for solving a problem are:

  21. Problem Solving • Preparing hierarchy chart: A hierarchy chart shows the top-down solution of a problem. • Developing algorithm: An algorithm is a sequence of steps written in the form of English phrases that specify the tasks that are performed while solving a problem. • Drawing flowchart: A flowchart is the graphical representation of the flow of control and logic in the solution of a problem. • Writing Pseudocode: Pseudocode is pretty much similar to algorithms. It uses generic syntax for describing the steps that are to be performed for solving a problem.

  22. Hierarchy Chart • Hierarchy chart is a solution approach that suggests a top-down solution of a problem. We very often come across large problems to be solved using computers. It may be very difficult to comprehend the solution steps of such large problems at one go. In such situations, we can decompose the problem into several parts, each representing a small task which is easily comprehensible and solvable. We can then prepare solution steps for each task independently and later combine them into one large solution algorithm.

  23. Hierarchy Chart Pay-roll Problem Compute Gross Pay Compute Net Pay Compute Deductions Compute Loans Compute Tax

  24. Algorithms • Algorithms help a programmer in breaking down the solution of a problem into a number of sequential steps. Corresponding to each step a statement is written in a programming language; all these statements are collectively termed as a program. Algorithm to add two integers and display the result Step 1 – Accept the first integer as input from the user. (integer1) Step 2 – Accept the second integer as input from the user. (integer2) Step 3 – Calculate the sum of the two integers. (integer3=interger1+integer2) Step 4 – Display integer3 as the result.

  25. Flowcharts • A flowchart can be defined as the pictorial representation of a process, which describes the sequence and flow of the control and information in a process. The flow of information is represented in a flowchart in a step-by-step form. • Flowchart uses different symbols for depicting different activities, which are performed at different stages of a process. The various symbols used in a flowchart are as follows:

  26. Flowcharts • Start and end: It is represented by an oval or a rounded rectangle in a flowchart. It is used to represent the starting and the ending of a process. Every process starts and ends at some point so a flowchart always contains one start as well as one end point.

  27. Flowcharts • Input or output: It is represented by a parallelogram in a flow chart. It is used to represent the inputs given by the user to the process and the outputs given by the process to the user.

  28. Flowcharts • Action or process: It is represented by a rectangle. It represents the actions, logics and calculations taking place in a process.

  29. Flowcharts • Decision or condition: It is represented by a diamond shape in a flowchart. It represents the condition or the decision-making step in the flowchart. The result of the decision is a Boolean value, which is either true or false. Each of these values takes the flow of the program to a certain point, which is shown with the help of arrows.

  30. Flowcharts • Arrow: It is represented by a directed line in a flowchart. It represents the flow of process and the sequence of steps in the flow chart. It guides the process about the direction and the sequence, which is to be followed while performing the various steps in the process.

  31. Flowcharts • Connector: It is represented by a circle in a flowchart. It represents the continuation of the flow of steps when a flowchart continues to the next page. A character, such as an alphabet (a to z) can be placed in the circle at the position where the flow is broken and the same character is also placed in the circle at the position form where the flowchart continues.

  32. Flowcharts Start Num1=value1Num2=value2 Result=Num1+Num2 Display (Result) Stop

  33. Pseudocodes • Analyzing a detailed algorithm before developing a program is very time consuming. Hence, there arises a need of a specification that only focuses on the logic of the program. Pseudocodes serve this purpose by specifying only the logic, which is used by the programmer for developing a computer program. • Pseudocode is not written using specific syntax of a programming language rather its is written with a combination of genetic syntax and normal English language. It helps the programmer understand the basic logic of the program after which it is the programmer’s choice to write the final code in any programming language.

  34. Pseudocodes A pseudocode to add two numbers and display the result Define: Integer num1, num2, result. Input: Integer num1. Input: Integer num2. Sum: result=num1+num2. Output: Display (result).

  35. Structuring the Logic • The basic structure of a program comprises of different sets of the statements, whose execution is dependent on some conditions and decisions. These conditions and decision-making statements are specified in a control structure. Depending upon the sequence of the execution of the statements, the control structures are categorized into the following types:

  36. Structuring the Logic • Sequence structure: The execution of the statements in a sequence structure is done sequentially, i.e., all the statements are executed in the same order as they are written in the program. • Selection structure: In the selection structure, two sets of statement blocks are written in a program along with one or more conditions. The execution of a particular blocks’ statements occurs only if the conditional statement specified at the beginning of the block is true. • Repetition structure: In the repetition structure, a block of two or more instructions is specified along with the conditional statement. The execution of these instructions is repeated many times if the conditional statement is true.

  37. Using the Computer • Whenever a user wants to use a computer for solving a problem, he/she has to perform various interrelated tasks in a systematic manner. • A user can not get the solution of a problem by simply providing input to the computer without preparing the base for solving the problem. • The working process of a computer is similar to the human mind, which first analyses the complete situation of a problem, its causes and its parameters, and then decides the way to solve the problem on the basis of available parameters.

  38. Using the Computer • All the activities, which have to be performed by a user in order to solve a problem using computer, are grouped into three phases: • Understanding the problem • Developing a program • Executing the program

  39. Operating Systems

  40. Operating Systems • An operating system (OS) is a software that makes the computer hardware to work. While the hardware provides ‘raw computer power’, the OS is responsible for making the computer power useful for the users. The OS is the main component of system software and therefore must be loaded and activated before we can accomplish any other task. • The operating system provides an interface for users to communicate with the computer. It also manages the use of hardware resources and enables proper implementation of application programs. In short, the operating system is the master control program of a computer. The main functions include:

  41. Operating Systems • Operates CPU of the computer • Controls input/output devices that provide the interface between the user and the computer • Handles the working of application programs with the hardware and other software systems • Manages the storage and retrieval of information using storage devices such disks • There are many operating systems developed during the last few decades but the popular among them are MS-DOS, Windows 2000, Windows XP, Windows Server 2003, UNIX and Linux.

  42. Functions of Operating Systems • The main function of an operating system is to manage the resources such as memory and files of a computer system. • The operating system also resolves the conflicts that arise when two users or programs request the same resource at the same time. • The currently used operating systems such as Windows 2000, Windows Server 2003 and Linux also support networking that allows the sharing of files and resources such as printer and scanner. The following are some of the important functions of an operating system:

  43. Functions of Operating Systems • Process management • Memory management • File management • Device management • Security management

  44. Process Management • Process management manages the processes running in a computer system. A process is basically a program that is being currently run by a user on a computer system. For example, a word processor application program such as Microsoft Word runs as a process in a computer system. • Process management involves the execution of various tasks such as creation of processes, scheduling of process, management of deadlocks and termination of processes. • When a process runs in a computer system, a number of resources such as memory and CPU of the computer system are utilized. It is the responsibility of an operating system to manage the running processes by performing tasks such as resource allocation and process scheduling. The operating system also has to synchronize the different processes effectively in order to ensure consistency of shared data.

  45. Process Management • Generally, only a single process is allowed to access the CPU for its execution at a particular instant of time. When one process is being processed by the CPU, the other processes have to wait until the execution of that particular process is complete. • After the CPU completes the execution of a process, the resources being utilized by that process are made free and the execution of the next process is initialized. • All the processes that are waiting to be executed are said to be in a queue. In some cases, a computer system supports parallel processing allowing a number of processes to be executed simultaneously.

  46. Process Management • There are a number of concepts associated with the process management function of an operating system: • Process state • Process Control Block (PCB) • Process operations • Process scheduling • Process synchronization • Interprocess communication • Deadlock

  47. Process State • A process state can be defined as the condition of a process at a particular instant of time. There are basically seven states of a process: • New: It specifies the time when a process is created. • Ready: It specifies the time when a process is loaded into the memory and is ready for execution. • Waiting: It specifies the time when a process waits for the allocation of CPU time and other resources for its execution. • Executing: It is the time when a process is being executed by the CPU. • Blocked: It specifies the time when a process is waiting for an event like I/O operation to complete. • Suspended: It specifies the time when a process is ready for execution but has not been placed in the ready queue by the operating system. • Terminated: It specifies the time when a process is terminated and the resources being utilized by the process are made free. New Ready Waiting Executing Blocked Suspended Terminated

  48. Process Control Block • Process Control Block (PCB) is a data structure associated with a process that provides complete information about the process. PCB comprises of the following: • Process id: It is an identification number that uniquely identifies a process • Process state: It refers to the state of a process such as ready and executing • Program counter: It points to the address of the next instruction to be executed in a process • Register information: It comprises of the various registers, such index and stack that are associated with a process • Scheduling information: It specifies the priority information pertaining to a process that is required for process scheduling

  49. Process Control Block Process id • Memory related information: This section of the PCB comprises of page and segment tables • Accounting information: This section of the PCB stores the details relate to CPU utilization and execution time of a process • Status information related to I/O: This section of the PCB stores the details pertaining to resource utilization and the files opened during process execution. Process state Program counter Register information Scheduling information Memory related information Accounting information Status information related to I/O The operating system maintains a table called process table, which stores the PCBs related to all the processes.

  50. Process Operations • The process operations carried out by an operating system are primarily of two types, process creation and process termination: • Process creation is the task of creating a new process, and is very common in a running computer system because corresponding to every task that is performed. For instance, a new process is created every time a user logs on to a computer system, an application program such as MS Word is initiated, or when a document is printed. • Process termination is an operation in which a process is terminated after it has executed its last instruction.

More Related