
- Mar 24, 2018
- - 0 comment
What is a Software
A software is a program. It is a series of instructions that tells the computer what to do and how to do it. It is a collection of computer programs. It is a conceptual entity. It is a combination of procedures, documentations and computer programs integrated together to ensure a successful data processing operation in a computer system.
The software is also a set of program or data held in the storage of a computer to ensure the functioning of a device driver, allow data manipulation and satisfy the other needs of the computer user. A user interacts with a program on a windows environment through a graphic user interface (GUI). The interface controls how data and instructions are entered. It also control the way information is displayed on the screen.
The graphic user interface allows a user to interact with a software via texts, graphics and visual images. These images represent a program, instruction or an object.
The collection, input, processing, storage and output of data is made possible by softwares installed on a system. Pre installed mouse and keyboard software allow a user to carry out input operations such as typing, editing, dragging and dropping data. A database software or general purpose software then process the inputted data. A storage program integrated into the operating system allows the windows document sector to hold processed data. Monitor adapter driver software allows the information to be viewed as hardcopy and printer software allows it to be printed out as hard copy.
SOFTWARE PROGRAMMING LANGUAGE
A programming language is a set of words, symbols and codes that enables a programmer to communicate instructions to a computer. A software programming language comprises of syntax and semantics. The syntax allows symbols to be grouped and form commands. The semantics are the combination of commands. A declarative or functional language describes relationships between variables. This then apply an algorithm to give the desired result. This is an imperative or procedural language using an explicit series of steps to arrive at the desired output.
These languages are designed for specific purposes such as scientific applications, electronic commerce solutions, business solutions and web development. Each of the programming language has its own rules for writing instructions.
The two types of programming languages are low level languages and high level language. The low level language is machine dependent while the high level language is machine independent.
MACHINE CODE
A machine code is also called a machine language. Machine code is a system of instructions and data executed directly by a computers central processing unit. Machine code is known as the first generation of programming language. It is the only language a computer directly recognizes. It uses a series of binary digits or a combination of numbers and letters that represent the binary digits. It is a low level representation of compiled or assembled computer programs. Machine code is sometimes called native code, when referring to a platform dependent part of language libraries.
Every processor has its own machine code. These are set of instructions embedded into the processor. These instructions are patterns of bit that corresponds to different commands sent to the machine by the user. These instructions are specific to a class of processors with the same architecture. Most instructions have one or more opcode fields which specify the basic instruction types, the actual operations, the fields that may give the type of operands, the addressing mode, the addressing offset and the actual value itself.
They are called first generation languages because they are the first set of programs written to ensure successful data processing. This is done by converting the users input into language understandable by the computer. This then facilitate the other programs on the computer to carry out the instructions accordingly.
ASSEMBLY LANGUAGES
An assembly language is a low-level programming language for computers, microprocessors, micro controllers and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture. This representation is usually defined by the hardware manufacturer. It is based on mnemonics, processor registers, memory location and language features. An assembly language is specific to certain physical computer architecture. An assembler is an utility program which is used to translate assembly language statements into the targets’ computers machine code. The assembler performs an isomorphic translation translating mnemonic statements into machine instructions and data. Most assemblers come with macro facilities which facilitate program development, control the assembly process and aid debugging.
HIGH LEVEL LANGUAGE
A high level programming language is a programming language that makes the process of program development simpler and more understandable. It is a programming language with strong obstruction from the details of the computer. It is easier to use. It uses natural language elements. The first high level program to be designed for a computer was plankolkul which was created by Korand Zuse. A high level language is not superior to low level language. It only implies high level of abstraction from a computer. High level languages deals with variables, arrays, objects, Boolean expressions, functions, subroutines, loops, threads, lacks and other abstract computer science concepts. This focuses on usability over optimal program efficiency. Other features of the high level language include file input/output, string handling routines and object oriented languages.
The Java script is an example of high level language. It is used in developing websites. Other types of high level languages are Java, Python, Scheme, Prolog, Lisp, Ruby, C, Ctt and c#.
PROGRAMMING AIDS AND FOURTH
GENERATION LANGUAGES
The fourth generation programming language is programming language or environment designed for a specific purpose. It came into existence between 1970 and 1990. This language was designed to tackle the error and speed problems in third generation languages. The fourth generation languages are designed for systems engineering and problem solving. It is used in developing softwares such as the electronic commerce software. All four generation languages are designed to reduce programming effort, the time it takes to develop software and the cost of developing the software. The usability improvements obtained by some four generation languages and their environments allow better exploration for heuristic solutions.
A programming aid is a program designed to reduce the burden of a programmer. It provides listing of the program in the hierarchical order of solution. This makes the program easy to manipulate by the programmer. Some aids generate codes and provide assistance features to help the user implement the codes in the right environment. Some programming aids provide user interfaces which allow a programmer to conveniently input information into certain fields which will be inculcated in other codes. This reduces the way codes are piled up and make it easier for errors to be corrected. This is successfully done without losing all the codes. Afterwards the want of a developer or programmer is satisfied with a desired result.
OPERATING SYSTEM SOFTWARE AND UTILITIES
An operating system is a set of programs containing instructions that coordinate all the activities among computers hardware resources. These set of programs provide common services for application software. The functions performed by most operating systems include starting a computer, providing a user interface, managing programs, managing memory, device configuration, job scheduling, internet connection, performance management and providing file management. It also makes other utilities available to coordinate processes that run from input to output and meet users demand.
The operating system is the most important type of system software in a computer. Operating systems act as an intermediary between application programs and the computer hardware. Though the code of an application program is executed directly, it calls functions from the operating system and often get interrupted by it. Operating systems like windows server 2000 allow users to control a network and administer security.
Sorting of a computer is mainly the responsibility of the operating system software. The software allocates different resources to make this possible. When the power button is pushed, the power supply sends a signal to the components in the system unit. The processor finds the read only memory chips that contain the basic input-output system. The BIOS then perform the power on self test (POST) which checks components such as the mouse, keyboard and adapter cards.
The results of the POST are compared with data in a complimentary metal-oxide semiconductor (CMOS) chip. The BIOS looks for the system files in a floppy disk, compact disk or digital video drive and then the C drive. This depends on the BIOS setting of the computer. The system files and the kernel of the operating system load into the (RAM) memory from the hard disk. The operating system loads configuration information and display the graphic user interface on the screen.
Operating systems use command line, menu driven and graphic user interfaces to define how a user interacts with the computer. The command line interface is used to configure resources, manage system resources, trouble shoot network connections and network administrators. The command language is used to run this processes in the command line interface. They are difficult to use because they are case sensitive. A menu driven interface provides menus as means of entering commands.
The graphic user interface allows a user to interact with menus and visual images such as icons and buttons. This allows a user to easily send instruction to the processing unit.
Operating systems allow efficient management of the random access memory (RAM). The RAM consists of one or more chips on the motherboard that hold data and instructions while the processor interpret and execute them.
Some operating system developers include apple, Microsoft and red heart.
An utility is a type of system software that allows a user to perform maintenance tasks which relates to managing a computer, its devices and its programs. Most operating systems come with several utility programs. Utility programs are used for functions such as file management, viewing graphic files, uninstalling programs, scanning disks, defragmenting disks, diagnosing problems, backing up files & disks, and setting up screen servers.
The file management utility performs functions related to managing files and disks. Microsoft operating systems use windows explorer to manage files. This utility is used to format and copy disks. It displays the list of files on a storage medium. It verifies the amount of used or free space on a storage medium. It is used to organize, delete, sort and move files.
The image viewer is an utility that allows a user to display and copy the contents of a graphics file. The uninstaller utility is used to remove a program that a user no longer requires on a computer. The disk scanning utility detects and correct physical and logical problem on a hard disk and external drives.
The disk defragmenting utility recognizes files and unused space on a hard disk and allows the operating system to access data quickly and run programs faster. The diagnostic utility compiles technical information about a computer hardware and system software programs. It then prepares a report to outline any identified problem. This makes it easy to correct errors on the hard disk.
The backup utility allows a user to copy or back up selected files on a hard disk to another disk. This keeps the user from loosing important data when there is a hard disk failure.
The screen saver utility is used to display a moving image when the system remains idle for some time.
Stand alone operating systems include windows XP, Mac OSX, UNIX, Linux, Windows (3.x, 95, NT, 98, 2000, Professional, Millennium, Vista and Windows 7). Network Operating Systems include Netware, UNIX, Linux, Solaris, Windows NT Server, Windows 2000 Server and Windows Server 2003.
Embedded Operating Systems include Palm OS, Symbian OS, Windows Mobile 2003, and Windows CE. NET.
Stand Alone Operating Systems are operating systems that work on a desktop computer, notebook computer or mobile computing device. They are called Client Operating Systems.
A network Operating System resides on a server and is specifically designed to support a network. Embedded operating systems are used on personal digital assistants. It resides on a Read only memory chip.
These different operating systems have program predefined functions to meet the end users demand.
DEVELOPMENTS IN OPERATING SYSTEMS
The developments in operating systems have concentrated on improvement on technical options and multimedia features. The current operating systems have been upgraded and modified to meet the demands of the users in various industries. Brainstorming of information technology experts in software management teams have helped to increase the quality of the current Operating Systems. The views of software architects, developers, project managers and test teams are compiled and compared. Trial versions of softwares are also accessed by users freely over the internet.
An opportunity is given to the users of their trial versions to post their comments on the product to Information Technology Forums. They are given rating options which range from poor to very good. These analysis help developers to give desired products to the end users on the long run.
The Architecture of latest operating systems, focuses on super performance, scalability, extensibility, maintainability, manage-ability and security of a system. Most operating systems are legacy systems. These features allow features from an older operating system to be repeated on current operating systems but with improved functionality. This is done by legacy integration which allows inter connectivity between different platforms and programming languages.
Some of the legacy integration approaches include data level integrations, application interface level integration, method level integration and user interface level integration.
GENERAL PURPOSE SOFTWARE AND
APPLICATION SOFTWARE
A general purpose programming language is used to write software in a wide variety of application domain. General purpose softwares have been very relevant in the information technology industry because of their ability to meet up with companies expectations. These include advanced computing speed, high storage capacity, security and networking capabilities. This software can collect and combine data more quickly. It also provides executive management access to a more accurate view of the operations in an organization.
General purpose softwares are used to develop office information systems, transaction processing systems, management information systems, decision support systems and expert systems.
General purpose software is also an enterprise wide application. Some general purpose software includes Fortran, Java, Perl, PHP, and Python.
FORTRAN is a procedural imperative programming language that is specifically used for numeric computation and scientific computing. It was designed by international business machines (IBM) in the 1950s for scientific and engineering applications.
Java is a programming language developed by James Gosling at Sun Micro system. It was released in 1995 as a core component of Sun Micro systems Java platform. It is a concurrent, class based object oriented language. It allows application developers to write once and run anywhere.
Perl is a high level, general purpose, interpreted dynamic programming language. It is a graphic user interface scripting language with parsing abilities.
PHP which is hypertext pre processor is a server side scripting language originally designed for web development to produce dynamic web pages. PHP code is embedded into Hypertext mark up language (HTML) source document and interpreted by a web server.
Python is a high level programming language which uses indentation of block delimiters unlike other programming languages. It has a community based development model. It is used as both scripting and non scripting language.
Application software is computer software designed to help a user perform specific tasks. Application software deals majorly with documents. These include enterprise software, accounting software, office suites, graphics software and media players. There are two general categories of application software. These are horizontal and vertical applications.
Horizontal applications are more popular in departments or companies. Vertical applications are niche products designed for a particular type of business.