computer app

10
Software components of a computer system have no physical presence, they are stored in digital form within computer memory. There are different categories of software, including system software, utilities and applications software. Software can also be described as being either generic or bespoke. System software is the software used to manage and control the hardware components and which allow interaction between the hardware and the other types of software. The most obvious type of system software is the computer's operating system but device drivers are also included within this category. Utility software is software such as anti-virus software, firewalls, disk defragmenters and so on which helps to maintain and protect the computer system but does not directly interface with the hardware. Applications software (also known as 'apps') are designed to allow the user of the system complete a specific task or set of tasks. They include programs such as web browsers, office software, games and so on. They are usually the reason you bought the computer system in the first place and aren't concerned with the management or maintenance of the system itself. Any individual software package, whichever of the above types it falls into, can be either generic (or 'off-the-shelf') or it can be bespoke (custom-built). Generic software is mass produced with the intention that it will be used by a wide variety of different users in a range of different situations. Bespoke software is created for a specific purpose which will be used in a known environment. Often generic software is used when there is a package available that meets the needs of the user. Because it is used by many more people the cost of creating it is spread over a greater number of people or organisations and so the cost to the individual is much lower. It also has the advantage that it is available immediately there's no waiting time involved while the software package is designed, created and tested. Bespoke software has the advantage that it can be tailor made to exact specifications but it significantly more expensive and will take time to create.

Upload: ashish-mahendra

Post on 18-Apr-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer App

Software components of a computer system have no physical presence, they are stored in digital form within computer memory. There are different categories of software, including system software, utilities and applications software. Software can also be described as being either generic or bespoke.

System software is the software used to manage and control the hardware components and which allow interaction between the hardware and the other types of software. The most obvious type of system software is the computer's operating system but device drivers are also included within this category.

Utility software is software such as anti-virus software, firewalls, disk defragmenters and so on which helps to maintain and protect the computer system but does not directly interface with the hardware.

Applications software (also known as 'apps') are designed to allow the user of the system complete a specific task or set of tasks. They include programs such as web browsers, office software, games and so on. They are usually the reason you bought the computer system in the first place and aren't concerned with the management or maintenance of the system itself.

Any individual software package, whichever of the above types it falls into, can be either generic (or 'off-the-shelf') or it can be bespoke (custom-built). Generic software is mass produced with the intention that it will be used by a wide variety of different users in a range of different situations. Bespoke software is created for a specific purpose which will be used in a known environment.

Often generic software is used when there is a package available that meets the needs of the user. Because it is used by many more people the cost of creating it is spread over a greater number of people or organisations and so the cost to the individual is much lower. It also has the advantage that it is available immediately there's no waiting time involved while the software package is designed, created and tested. Bespoke software has the advantage that it can be tailor made to exact specifications but it significantly more expensive and will take time to create.

What are the Different Types of Computer Languages?

The different types of computer languages can be broadly classified into two types; assembly level language and high level language. While some people may contradict this and say that there is one more type of programming language, the

Page 2: Computer App

coarse level programming language. But the uncouth level programming language can more precisely be defined as the machine level language and designing a program using it will definitely become a boring task. You cannot name any variable and you have to catch out the machine code, for each and every instruction that you write and utilize. Besides, when you perceive abet at the code, you will not be in a situation to get out which instruction is performing which operation.

Machine Level LanguageComputer works in bits and bytes. It understands the language of the binary digits, 0 and 1. You may write a program in whichever language you want, but it is finally converted into the language of 0s and 1s before it gets executed. Writing a program in machine language is definitely very difficult. It is not possible to memorize a long string of 0s and 1s for every instruction that you want to derive executed. It is proper that before the higher levels of programming languages were designed, machine languages were old-fashioned for writing programming codes, but they are no longer traditional for designing computer programs.

Assembly Level LanguageAn assembly level language is unprejudiced one level above the shameful level machine languages. No doubt, designing a program in assembly language is also not a very simple task, but smooth the programming code is quite understandable. A person with a apt hand in assembly level language can very easily understand the statements. Till date, many of the programs for embedded technology are designed in assembly language. A computer program like the assembler is broken-down for converting the assembly level programs into their corresponding machine level programs.

High Level LanguageHigh level languages are far more simpler to understand for the humans, than the assembly level language or machine level language. There are determined statements for writing, each and every instruction. However, whatever language you learn, you need to have a fine conception of the basics of that computer language. Without luminous the basics of a particular language, you cannot write a program in that language. The languages in these categories have different purposes. Some are meant for web programming, some are meant to produce simple desktop applications, while some can do both. But, one thing that you need to understand is that, high level language is not at all understandable for the computer. For the purpose of notion a computer program written in a high level language, it uses a compiler or interpreter to convert the programming code into its equivalent machine

Page 3: Computer App

language build.The high level languages can also be broadly classified into two types; intention oriented languages and object oriented languages. Let me try to elaborate to you, these two types of programming languages in brief.

In the contrivance oriented languages, the instructions are executed one by one and the process is given more importance. There is one main function or process that includes all the other functions. Every time a current location of data is created, the functions need to be redesigned. The BASIC programming language and C language are the two most popular examples of high level language.

In the object oriented programming language, the main emphasis is given to the data. The process of programming becomes simpler as the code remains re-usable, under all cases. Even if the data changes, there is no impact on the remaining code. Java and C++ are the most commonly worn object oriented programming languages.

Besides, these three basic types of languages, there is a next generation of programming language being developed, which is referred to as the fourth generation language. Fourth generation language are being designed with the perspective, that a person with limited or no programming experience can also exercise these languages to prepare his maintain code. No doubt, even the high level languages like Java, have incorporated such systems, so that the person writing the programming code does not have to memorize each and every function.

A translator is a computer program that translates a program written in a given programming language into a functionally equivalent program in a different language. Depending on the translator, this may involve changing or simplifying the program flow, without losing the essence of the program, thereby producing a functionally equivalent program.

If the translator translates a high level language into another high level language, it's called a translator or source-to-source compiler. Examples include Haxe,FORTRAN-to-Ada translators, CHILL-to-C++ translators, PASCAL-to-C translators, COBOL(DialectA)-to-COBOL(DialectB) translators.

If the translator translates a high level language into a lower level language it is called a compiler. Notice that every language can be either translated into a (Turing-complete) high level or assembly language.

Page 4: Computer App

If the translator translates a high level language into an intermediate code which will be immediately executed it is called an interpreter.

If the translator translates target/machine code to source language it is called a decompiler. Example: DCC, Boomerang Decompilers and Reverse Engineering Compiler(REC).

If the translator translates assembly language to machine code it is called an assembler. Examples include MASM, TASMand NASM.

If the translator translates machine code into assembly language it is called a disassembler. Examples include gdb, IDA Pro and OllyDbg.

CUI vs GUI CUI and GUI are acronyms that stand for different kinds of user interface systems. These are terms used in reference to computers. CUI stands for Character User Interface while GUI refers to Graphical User Interface. Though both are interfaces and serve the purpose of running the programs, they differ in their features and the control they provide to the user. Here is a brief explanation of the two types of user interface for the help of those who do not know about them.

What is CUI?CUI means you have to take help of a keyboard to type commands to interact with the computer. You can only type text to give commands to the computer as in MS DOS or command prompt. There are no images or graphics on the screen and it is a primitive type of interface. In the beginning, computers had to be operated through this interface and users who have seen it say that they had to contend with a black screen with white text only. In those days, there was no need of a mouse as CUI did not support the use of pointer devices. CUI’s have gradually become outdated with the more advanced GUI taking their place. However, even the most modern computers have a modified version of CUI called CLI (Command Line Interface).

What is GUI?GUI is what most modern computers make use of. This is an interface that makes use of graphics, images and other visual clues such as icons. This interface made it possible for a mouse to be used with a computer and interaction really became very easy as the user could interact with just a click of the mouse rather than having to type every time to give commands to the computer.

Difference between CUI and GUI• CUI and GUI are user interface used in connection with computers• CUI is the precursor of GUI and stands for character user interface where user has to type on keyboard to proceed. On the other hand GUI stands for Graphical User Interface which makes it possible to use a mouse instead of keyboard• GUI is much easier to navigate than CUI• There is only text in case of CUI whereas there are graphics and other visual clues in case of GUI• Most modern computers use GUI and not CUI• DOS is an example of CUI whereas Windows is an example of GUI.

Page 5: Computer App

Basic functions of an operating systemDefinition

An operating system is a group of computer programs that coordinates all the activities among computer hardware devices. It is the first program loaded into the computer by a boot program and remains in memory at all times.

There are different types of operating systems. These are as follows:

1. Real-time Operating System: It is a multitasking operating system that aims at executing real-time applications.

2. Multi-user and Single-user Operating Systems: The operating systems of this type allow a multiple users to access a computer system concurrently.

3. Multi-tasking and Single-tasking Operating Systems:When a single program is allowed to run at a time, the system is grouped under a single-tasking system, while in case the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system.

4. Distributed Operating System: An operating system that manages a group of independent computers and makes them appear to be a single computer is known as a distributed operating system.

5. Embedded System: The operating systems designed for being used in embedded computer systems are known as embedded operating systems.

Functions of an operating system

The basic functions of an operating system are:

i. Booting the computerii. Performs basic computer tasks eg managing the various peripheral devices eg mouse,

keyboardiii. Provides a user interface, e.g. command line, graphical user interface (GUI)iv. Handles system resources such as computer's memory and sharing of the central

processing unit (CPU) time by various applications or peripheral devicesv. Provides file management which refers to the way that the operating system

manipulates, stores, retrieves and saves data.

Page 6: Computer App

Booting the computer

The process of starting or restarting the computer is known as booting. A cold boot is when you turn on a computer that has been turned off completely. A warm boot is the process of using the operating system to restart the computer.

Performs basic computer tasks

The operating system performs basic computer tasks, such as managing the various peripheral devices such as the mouse, keyboard and printers. For example, most operating systems now are plug and play which means a device such as a printer will automatically be detected and configured without any user intervention.

Provides a user interface

A user interacts with software through the user interface. The two main types of user interfaces are: command line and a graphical user interface (GUI). With a command line interface, the user interacts with the operating system by typing commands to perform specific tasks. An example of a command line interface is DOS (disk operating system). With a graphical user interface, the user interacts with the operating system by using a mouse to access windows, icons, and menus. An example of a graphical user interface is Windows Vista or Windows 7. The operating system is responsible for providing a consistent application program interface (API) which is important as it allows a software developer to write an application on one computer and know that it will run on another computer of the same type even if the amount of memory or amount of storage is different on the two machines.

Handles system resources

The operating system also handles system resources such as the computer's memory and sharing of the central processing unit (CPU) time by various applications or peripheral devices. Programs and input methods are constantly competing for the attention of the CPU and demand memory, storage and input/output bandwidth. The operating system ensures that each application gets the necessary resources it needs in order to maximise the functionality of the overall system.

Provides file management

The operating system also handles the organisation and tracking of files and directories (folders) saved or retrieved from a computer disk. The file management system allows the user to perform such tasks as creating files and directories, renaming files, coping and moving files, and deleting files. The operating system keeps track of where files are located on the hard drive through the type of file system. The type two main types of file system are File Allocation table (FAT) or New Technology File system (NTFS).

Types of file system

File Allocation table (FAT) New Technology file system (NTFS)

File Allocation table (FAT) uses the file allocation table which records, which clusters are used and unused and where files are located within the clusters.

NTFS is a file system introduced by Microsoft and it has a number of advantages over the previous file system, named FAT32 (File Allocation Table).

Page 7: Computer App

One major advantage of NTFS is that it includes features to improve reliablity. For example, the new technology file system includes fault tolerance, which automatically repairs hard drive errors without displaying error messages. It also keeps detailed transaction logs, which tracks hard drive errors. This can help prevent hard disk failures and makes it possible to recover files if the hard drive does fail.

NTFS also allows permissions (such as read, write, and execute) to be set for individual directories and files.

Examples of operating systems:BS2000,BS3000,DOS,PC-DOS,MS-DOS,LINUX,SOLARIS,MAC OS,UNIX,WINDOWS

Database

A database is an organized collection of data. The data are typically organized to model relevant aspects of reality in a way that supports processes requiring this information. For example, modelling the availability of rooms in hotels in a way that supports finding a hotel with vacancies.

Database management systems (DBMSs) are specially designed software applications that interact with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is a software system designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server, Oracle, SAP HANA, dBASE, FoxPro, IBM DB2, LibreOffice Base, FileMaker Pro and InterSystems Caché.

A "database management system" (DBMS) is a suite of computer software providing the interface between users and a database or databases. Because they are so closely related, the term "database" when used casually often refers to both a DBMS and the data it manipulates.

Outside the world of professional information technology, the term database is sometimes used casually to refer to any collection of data (perhaps a spreadsheet, maybe even a card index). This article is concerned only with databases where the size and usage requirements necessitate use of a database management system.[1]

The interactions catered for by most existing DBMSs fall into four main groups:

Data definition – Defining new data structures for a database, removing data structures from the database, modifying the structure of existing data.

Update – Inserting, modifying, and deleting data.

Page 8: Computer App

Retrieval – Obtaining information either for end-user queries and reports or for processing by applications.

Administration – Registering and monitoring users, enforcing data security, monitoring performance, maintaining data integrity, dealing with concurrency control, and recovering information if the system fails.

A DBMS is responsible for maintaining the integrity and security of stored data, and for recovering information if the system fails.

Both a database and its DBMS conform to the principles of a particular database model.[2] "Database system" refers collectively to the database model, database management system, and database.[3]

Physically, database servers are dedicated computers that hold the actual databases and run only the DBMS and related software. Database servers are usuallymultiprocessor computers