COMPUTER SOFTWARE System software is set of generalized
programs that manage the computer
It’s a general term used to describe resources such the CPU, the detailed instructions that control communication links and peripheral the operation of the computer. In devices. System software coordinates order to serve any purpose, the the various parts of the computer operation of the computer must be system and mediates between controlled by a program. Without the application software and computer software the hardware cannot perform hardware. the tasks we associate with the computer. OPERATING SYSTEM A program is a set of instructions Within the set of system software, written in a specialized language, the there is usually a program, suite of execution of which controls the programs, called an operating operation of the computer to serve system. Operating system is the some purpose. system software that manages and controls the computer activities. The These instructions tells the machines operating system controls the physical components what to do, performance of the computer by doing without which the computer could not a variety of jobs to ensure the proper, do anything at all. orderly and efficient use of hardware The stored program concept means by application programs. It is that a program must be stored in the software that controls the systems computer’s primary memory along hardware and that interacts with the with the required data in order to user and application software. execute, or have its instructions Operating system allows a number of performed by the computer programs to be run on the computer without human intervention by an TYPES OF SOFTWARE operator. • System software • Applications software OS and control programs ensure that the computers monitor and control SYSTEM SOFTWARE their own operations It’s a program that controls the It is a set of programs that lies computer hardware or that can be between the user and the application used to maintain the computer in software, and the computer hardware some state so that it runs smoothly. therefore it’s a collection of programs It’s the software that controls the way designed to manage the computer the computer operates. hardware. Example of operating system MODES OF OPERATION AND WIN NT, WIN 98, WIN 95, WIN MODES OF ACCESS 2000 SERVER & CLIENT, DOS, The computer ha a series of WIN XP, UNIX, LINUX, WIN ME, specialized operating systems WINDOWS CE, MACOS. capabilities TYPES OF OS/CLASSIFICATION Multiprogramming is an operating system capability that permits more • Real-time real time/embedded than one program in main storage be OS. processed apparently at the same time OS is used to control machinery, i.e. more than one program use the scientific instruments and industrials processor at the same time. This is systems. It manages the resources of a accomplished by the programs taking device so that a particular operation turns at short bursts of processing executes in precisely the same amount time, I .e group of groups takes turns of time every time it occurs. in using the processor. Many real time OS are embedded in Multiprocessing is an operating specialized devices such as home system capability that link two or appliances. When real-time OS are more processors present in a computer built into the circuitry of a device and system and are sharing some or all of not loaded from a disk is called the same memory. In this case two embedded OS. programs may be processed at the same instant. A computer which • Single user/single tasking contains one CPU is called OS that allows a single user to uniprocessor system while the one perform just one task at a time. e.g Ms which contains two or more CPUs is DOS, Palm OS called a multiprocessor system. Time sharing- Time-sharing OS uses • Single user/multitasking different algorithms to share the CPU OS that allows a single user to time with more than one process. This perform two or more functions/tasks allows a computer with only one CPU at at time e.g windows, MacOS to give the impression that it is • Multi user/multitasking running more than one program at the OS that allows multiple users to use same time. It allows users to run programs that are simultaneously several tasks concurrently on one running on a single network server. processor or many processors. Batch processing- the job (program and data) is not processed until fully input. The jobs are entered and stored on a disk in a batch queue and then run one or more at a time under the control of the operating system. a job resources required for them to may wait in a batch queue for minutes operate. or hours depending on the work load Real time system- a computer system File management: the operating that is capable of processing data so system manages reading and writing quickly that the results are available in the file system and the user and to influence the activity currently application file access authorizations. taking place. FUNCTIONS OF THE ROLE OF OPERATING SYSTEM OPERATING SYSTEM The role of OS is resource management and it manages the • It is a set of programs that lies following primary resources: between the user and the • Processors application software, and the • Storage computer hardware therefore it’s a • I/O devices collection of programs designed to • Data manage the computer hardware. • Programs Therefore it’s a collection of Management of the processor: the programs designed to manage the operating system is responsible for systems resources. It allocates and managing allocation of the processor assigns resources, schedules between the different programmes operations and monitors system using a scheduling algorithm. activities. • The scheduling and loading of Management of the random access programs, or subprograms, in memory: the operating system is order to provide a continuous responsible for managing the memory sequence of processing or to space allocated to each application provide appropriate responses to and, where relevant, to each user. events. • Control over hardware resources, Management of input/output: the e.g. control over the selection and operating system allows unification operation of devices used for and control of access of programmes input, output, or storage. to material resources via drivers (also • Passing of control from one job known as peripheral administrators or (program) to another under a input/output administrators) system of priority when more than Management of execution of one application program occupies applications: the operating system is main storage. responsible for smooth execution of • Manages peripheral devices, applications by allocating the communicates with the printer, disk drive, monitor for utilization there are any potential problems on and services the disk, such as bad disk areas. • Manages memory allocation and Defragmenting means putting re-allocation in processing and files on the disk so that the whole execution. It manages a dynamic file is in sequence. address translation between the • Memory Management software main memory and virtual memory. handles where programs put their • It establishes the user interface for current data in RAM communication between the user • Backup software is software that and computer resources. assists you in backing up your files • It coordinates concurrent and even the entire computer hard processing of multiple jobs by drive. It is important for you to switching the needed resources back up your files regularly back and forth between processing. • Data Recovery programs are • It monitors resources and provides attempt to recover deleted or privacy and security for data. damaged (corrupted) files. • It locates and accesses needed data • Data Compression programs files squeeze out the disk space generated by the formatting OTHER TYPES OF SYSTEM schemes SOFTWARE • Virus Scanning Software/Anti- Other system software consist of virus programs are utility programs designed to protect your Utilities computer from computer viruses. Utility programs help manage, Virus scanning software is critical maintain and control computer to uses, due to the number of resources. These programs are computer viruses (small computer available to help you with the day-to- programs created to disrupt and day chores associated with personal destroy computer files and/or computing and to keep your system operating system software). running at peak performance. They include utility programs for routine, Computer language translation repetitive, copying, clearing primary programs (language translators) memory, sorting etc. Program written in human readable Examples symbols and instructions using high • Disk Management - Programs level programming languages such C, involve formatting and C++, COBOL etc must be converted defragmenting disks .e.g. to a form the computer can Scandisk scans your disks to see if understand. Language translation programs translate these high level Application Software programming languages such C, C++, COBOL into machine language that Application software is any software the computer can execute. This type used for specified applications. of software is compiler or interpreter. Applications software is software designed to be put to specific practical Compilers- translate source code into use. machine code. i. Specialist application software- Interpreters –some programming do these are programs with not use a compiler but uses and associated documentation, interpreter which translate each designed specifically to carryout source statement at a time into particular tasks e.g. solving sets machine code and execute it. of maths, equations; stock control. ii. Application packages- a suite of programs, with associated documentation used for a particular type of problem but can also be used for a variety of similar problems. They include • Word Processing • Spreadsheet • Database GRAPHICAL USER INTERFACE • Presentation Graphics (GUI) • Communication • Tutorials Early PC operating systems such as MS DOS were command driven. GUI • Entertainment, Games operating system makes extensive PROGRAMMING LANGUAGES use of icons, buttons, menus, boxes, bars, and drop down list to perform The Evolution of Programming the same operations. It is the Languages dominant model of user interface for A programming language is a set of PC operating systems and other words, codes, and symbols that allow applications. a programmer to give instructions to the computer. Many programming languages exist, each with their own rules, or syntax, for writing these • It requires no translator to translate instructions. the code i.e. Directly understood by the computer To build programs, people use languages that are similar to human Disadvantages of Machine language. The results are translated Language: into machine code, which computers • All operation codes have to be understand. remembered • All memory addresses have to be Programming languages can be remembered. classified as low-level and high-level languages. • It is hard to amend or find errors in a program written In the machine Low-Level Programming language Languages • These languages are machine dependent i.e. a particular Low-level programming languages • Machine language can be used on include machine language and only one type of computer assembly language. Assembly language uses the same Machine language, which is referred instructions and structure as machine to as a first generation programming language but the programmer is able language, can be used to to use meaningful names or communicate directly with the abbreviations instead of numbers. computer. However, it is difficult to Assembly language is referred to as a program in machine language because second generation programming the language consists of 0s and 1s to language. represent the status of a switch (0 for off and 1 for on). It was developed to overcome some of the many inconveniences of The most basic type of computer machine language. Operation codes languages, consisting of strings of and operands are given in the form of numbers the computer's hardware can alphanumeric symbols instead of 0’s use. Different types of hardware use and l’s. These alphanumeric symbols different machine code. For example, will be known as mnemonic codes IBM computers use different machine and can have maximum up to 5 letter language than Apple computers. combination e.g. ADD for addition, Advantages of Machine Language SUB for subtraction, START, LABEL etc. Because of this feature it • It makes fast and efficient use of is also known as ‘Symbolic the computer. Programming Language’. 3GLs are portable, meaning the object Advantages of Assembly Language code created for one type of system can be translated for use on a different • It is easier to understand and type of system. use as compared to machine language. In order for the computer to • ii)It is easy to locate and correct understand a program written in a errors. high-level language, programmers • It is modified easily convert the source code into machine Disadvantages of Assembly language using a compiler or an Language interpreter
• Like machine language it is In the 1980s, object-oriented
also machine dependent. programming (OOP) evolved out of • Since it is machine dependent the need to better develop complex therefore programmer Should programs in a systematic, organized have the knowledge of the approach. The OOP approach allows hardware also. programmers to create modules that can be used over and over again in a variety of programs. Higher-level programming Object-oriented languages include languages Java, C++ and Visual Basic. High-level programming languages, Types of High Level Languages which are often referred to as third generation programming languages Many languages have been developed (3GL), were first developed in the late for achieving different variety of 1950s. tasks, some are fairly specialized others are quite general purpose. High-level languages are basically symbolic languages that use English These are categorized according to words and/or mathematical symbols their use as rather than mnemonic codes. Each a) Algebraic Formula-Type instruction in the high level language Processing. is translated into many machine These languages are oriented towards language instructions thus showing the computational procedures for one-to-many translation solving mathematical and statistical High-level programming languages problem. Examples include have English-like instructions and are • BASIC (Beginners All Purpose easier to use than machine language. Symbolic Instruction Code). • FORTRAN (Formula Translation). • PL/I (Programming Language, • Therefore it is easier to learn. Version 1). • They require less time to write. • ALGOL (Algorithmic Language). • They are easier to maintain. • APL (A Programming Language). Business Data Processing: • Problem oriented rather than a) These languages emphasize their 'machine' based. capabilities for maintaining data Program written in a high-level processing procedures and files language can be translated into handling problems. Examples are: many machine language and • COBOL (Common Business therefore can run on any computer Oriented Language). for which there exists an • RPG (Report Program Generator appropriate translator. b) String and List Processing: These are used for string manipulation It is independent of the machine on including search for patterns, inserting which it is used i.e.Programs and deleting characters. Examples are: developed in high level language • LISP (List Processing). can be run on any Computer • Prolog (Program in Logic). Disadvantages of High Level Object Oriented Programming Language Language • A high-level language has to be In OOP, the computer program is translated into the machine divided into objects. Examples are: language by a translator and • C++ thus a price in computer time is • Java paid. a) Visual programming language • The object code generated by a These are designed for building translator might be inefficient Windows-based applications Compared to an equivalent Examples are: assembly language program • Visual Basic • Visual Java • Visual C Advantages of High Level Language Following are the advantages of a high level language: • User-friendly • Similar to English with vocabulary of words and symbols