DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE
OVERVIEW A computer processes digital data. A user solves a problem by writing and/or running a program written in a high-level programming language like C. Inside computer, system programs called compiler and assembler break the user program down into assembly code (instruction set) and then into binary machine code. The machine code is processed.
Compiler Assembler Application software, a program in C: swap (int v[ ], int k) {int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } assembly language program: swap; muli $2, $5, 4 add $2, $4, $2 lw $15, 0 ($2) lw $16, 4 ($2) sw $16, 0 ($2) sw $15, 4 ($2) jr $31 binary machine code: 00000000101000010000000000011000 00000000000110000001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000
1. Introduction To System Software Revision 00 1. Introduction To System Software System software is a generic term referring to any computer software whose purpose is to help run the computer system. Most of it is responsible directly for controlling, integrating, and managing the individual hardware components of a computer system. It contains input, update and output routines written for industry, industry group or specific organisation. It’s written in high level languages such as C, Pascal, Fortran and COBOL. DDC2223 SYSTEM SOFTWARE
extra.. System software: Consist of a variety of programs that support the operation of a computer. Makes it possible for the user to focus on an application or other problem to be solved, without needing to know the details of how the machine works internally. That is, systems software functions as a bridge between computer system hardware and the application software. System software coordinates the various parts of the computer system and mediates between application software and computer hardware
Application Program User User Linker Macro- Processor Loader Hardware Compiler Firmware Operating System File Manager Assembler User User Relationship between Hardware, System Software, Application Software and Users DDC2223 SYSTEM SOFTWARE
The user interacts primarily with the application software. extra.. Relationship types of software are interrelated and can be thought of as a set of nested boxes, each of which must interact closely with the other boxes surrounding it. System software—consisting of operating systems, language translators, and utility programs—controls access to the hardware. Application software such as……must work through the system software to operate. The user interacts primarily with the application software.
Firmware Assembler Loader Linker OS Compiler is a combination of software and hardware. ROMs, PROMs and EPROMs that have data or programs recorded on them are firmware Assembler is program that change the source program in assembly language to object program in machine language. Loader is a system software that process instruction in the object file & place the object file in a suitable location in the physical memory Linker to perform the linking operations OS The system software that manages and controls the computer's activities. Compiler Program that read program (source code) written in a language (source language), & later interpret into other programming language (target language)
1.1 Differences between System Software & Application Software Emphasized on solving problem and use computer as tools. Manage application data such as insert, delete, update, sorting. Provide service to end user. Normally written in high level language such as C, C++. Used only when the application is needed. Only perform single task. The program normally work one process at one time and step by step. System Software Support to users and computer operation. Manage machine resources. Provide service to application software and programmer. Normally written in assembly language but now also written in C Used when the computer is turn on. Can perform more than one task or multitasking. Normally control many processes at the same time. DDC2223 SYSTEM SOFTWARE
Differences between system software& application software There are two major types of software: system software and application software. Each kind performs a different function. System software is a set of generalized programs that manage the computer's resources, such as the central processor, communications links, and peripheral devices. Programmers who write system software are called system programmers. Application software describes the programs that are written for or by users to apply the computer to a specific task. Programmers who write application software are called application programmers
1.2 Types of System Software System software can be classified into 3 categories: 1. Language Processors Enable the implementation of program written in high level language by hardware that understand machine language. Two types of language processors: Translator (eg. Compiler, assembler) Interpreter 2. Operating Systems programs that manage the application software, computer hardware, and data resources of the computer system 3. Utility Program perform tasks related to the maintaining of your computer's health DDC2223 SYSTEM SOFTWARE
1.3 Benefits of System Software Increase programming productivity : program can be completed faster because complicated work will be managed by the system software. Increased quality and reliability because focus given to user’s need WHY LEARN ABOUT SYSTEM SOFTWARE? No overlapping detailed code in application system. Enable sharing of CPU by more than one process. More effective used of system resources. DDC2223 SYSTEM SOFTWARE
1.4 Why learn about System Software Able to choose suitable system software so project can run smoothly because we know the weakness/limitation of the compiler/operating system. Help to understand computer system at the lower level such as interrupt, scheduling. Knowledge in system software help create system that is more efficient and cheap. Understanding can help to optimize the program. DDC2223 SYSTEM SOFTWARE
all programming would be done in machine code. extra.. all programming would be done in machine code. much of a programmers time would be spent on the relatively clerical problems of program preparation and translation, on the interesting but unproductive job of reinventing effective ways to use the hardware. System software exists to relieve programmers of these jobs, freeing their time for more productive activities. As such, system software can be viewed as establishing a programming environment which makes more productive use of the programmer's time.
ASSEMBLER Assembler is program that change the source program in assembly language to object program in machine language. Characteristics & design depend on the source program to be interpret & object program to be produce. There are a few types of assembler: One path assembler Two paths assemble – to solve forward referencing problem. Multiple paths assembler DDC2223 SYSTEM SOFTWARE
LINKER AND LOADER Linking is an operation that combine program units interpreted separately to form one module or one program that can be execute. This linking can be done by system program called linker. There are two type of linking: When a reference is called. When there is external reference to the labels. Linking occurs during: Coding time 2. Compile/assemble time After interpret, during loading Execution time DDC2223 SYSTEM SOFTWARE
Linking Process Load Module Compiler/Assembler Object Module Source module Object Module Compiler/Assembler Object Module Object Module Source module Linker Object Module Compiler/Assembler Source module Object Module Main Memory Loader DDC2223 SYSTEM SOFTWARE
Loader Loader is a system software that process instruction in the object file & place the object file in a suitable location in the physical memory, where loading occurred. Besides this loader is also performing binding which turn relative address to actual address. Object file RAM ADDRESS A A+N-1 N Memory location Object program (N Word) with absolute address DDC2223 SYSTEM SOFTWARE
COMPILER Interpreter Interpret & execute source program row by row. It’s the same as compiling the instructions row by row from source program. Interpretation of a program is divided into 4 steps: Read instruction on Statement Counter (SC) from source. SC addition. Check current row. Determine operand used to executer the operation. Take & execute the subroutine. DDC2223 SYSTEM SOFTWARE
Compiler Program that read program (source code) written in a language (source language), & later interpret into other programming language (target language). Target Program Source Program COMPILER Error Messages DDC2223 SYSTEM SOFTWARE
OPERATING SYSTEM Operating system is system software that is place in the memory & work as an interface between hardware & user. Functions in an operating system includes: Bootstrapping Source Sharing Interface Error Management DDC2223 SYSTEM SOFTWARE
You translated these programs into machine language using a compiler. extra.. Wrote programs in high level language (C++ or Pascal)- using a text editor to create and modify the program You translated these programs into machine language using a compiler. The resulting machine language program was loaded into memory and prepared for execution by a loader or linker. You may have used a debugger to help detect errors in the program