1 COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 2 System Software System Software 3 Consists of programs that manage and support a computer system and its information processing activities. System Management Programs System Development Programs Manages hardware, software, network, and data resources of computer systems Operating systems, network management programs, database management systems, system utilities Helps users develop IS programs and procedures, and then prepare them for processing Includes Programming language translators and editors, CASE, and programming tools Interface Between End Users & Computer 4 5 System Management Programs Operating Systems 6 Integrated system of programs that… Manages the operations of the CPU Controls the input/out, storage resources, and activities of the computer system Provides support services as the computer executes application programs The operating system must be loaded and activated before other tasks can be accomplished Examples of Popular Operating Systems: Microsoft Windows, Unix, Linux and MAC OS X Operating System Basic Functions 7 •Command-driven •Menu-driven •Graphical User Interfaces (GUI) Multitasking: is a task management approach OS User interface 8 Defined as the part of the information system through which the end user interacts with the system Command-driven interface: • • The computer users have to input the command every time (e.g., MS-DOCS). Menu-driven interface: • • The computers users use the menu to execute the command instead of typing it in. Graphical User Interface (GUI): • • • Defined as the part of an operating system users interact with that uses graphic icons and the computer mouse to issue commands and make selections. The user uses a mouse to control the computer. Resource Management 9 • • • An operating system uses a variety of resource management programs to manage the hw and network resources of a computer system. Including CPU, memory, secondary storage devices, input/output peripherals . Common functions: • Keeping track of where data and programs are stored • Subdividing memory; providing virtual memory capability • E.g. Memory Management Program File Management 10 • • Control the creation , deletion, and access to files of data and programs. Keep track of physical location of files on magnetic disks and other secondary storage devices. Task management 11 • • Help accomplish the computing tasks of end users. The program control: • • • • Which task gets access to CPU For how much time Allocate a specific slice of CPU time to a particular task. Multitasking: is a task management approach, allow for several computing tasks to be performed in a simultaneous fashion . Other System Management Programs 12 • Database management systems chapter 5 • Network management Programs chapter 6 This figure compares several types of system software offered by IBM and its competitors Other System Management Programs 13 • • Other system management software are marked as separate programs or included as part of an operating system: Utility programs (or utilities): • • Performance Monitors: • • Programs like Norton utilities perform various housekeeping functions, includes data backup, virus protection, data compression, etc. Programs that monitor and adjust computer system to keep them running efficiently. Security Monitors: • Monitor and control use of computer systems and provide warning messages and record unauthorized use of resources. 14 System Development Programs Programming Languages 15 •Allows a programmer to develop the sets of instructions that constitute a computer program. Machine Languages 16 First Generation Languages The most basic of programming languages All program instructions had to be written using binary codes Requires specific knowledge of the internal operations of the CPU being used Must specify the storage location for every instruction and item of data used Difficult to work with, and error prone Assembler Languages 17 Second Generation Languages Developed to reduce difficulties in writing machine language programs Uses “assemblers” to convert the programs into machine instructions Symbols used to represent operation codes and storage locations High-Level Languages 18 Third Generation Languages Uses brief “statements” or arithmetic expressions Statements translated into machine language by compilers or interpreters Less efficient than assembler language and requires greater translation time Machine-independent Examples: BASIC, COBOL, FORTRAN Fourth-Generation Languages 19 Fourth-Generation Languages Variety of programming languages that are nonprocedural and conversational Programmers specify the result wanted; the computer determines the sequence of instructions that accomplish the result Simplifies the programming process Natural language; very close to English or human languages Sometimes called fifth-generation (5GLs) Object-Oriented Languages 20 • Combines data elements and the procedures that will be performed upon them into objects. E.g., data about a bank account and the procedures performed on it, such as interest calculations Object-Oriented Languages 21 Most widely used software development languages Easier to use and more efficient for graphicsoriented user interfaces Reusable: can use an object from one application in another application Examples: Visual Basic, C++, Java Most object-oriented languages provide a GUI that supports visual programming Web Languages 22 • HTML, XML and Java are three programming languages that are important tools for building multimedia web pages, web sites and web-based applications. HTML XML Java A page description language that creates hypertext documents for the Web Describes Web page content by applying identifying tags or contextual labels to the data Object-oriented programming language that is simple, secure, and platform independent Java applets can be executed on any computer Programming Software 23 Language Translator Program : is a program that translate instructions written in programming languages into machine language that computer can execute. Assembler Compiler Interpreter Translates assembler language statement Translates highlevel language statements A compiler that translates and executes each statement in a program, one at a time instead of first producing a complete machine language programs, Programming Tools 24 • • • • Language translators have always provided some editing and diagnostic capabilities to identify programming errors or bugs. However, most software development programs now include powerful graphics-oriented programming editors and debuggers. These programming tools help programmers identify and minimize errors while they are programming. An essential part of widely used programming languages like Visual Basic, C++ and Java. Questions .. 25 Resources .. 26 Read from Chapter 4 (Section 2)