customized database!applications for office automation!web-based applications!

Pragmatics

The usage compared with hardware changes, and contents of the image and music, etc. (one that works such as movies and the dramas were collected to the record media such as videotapes and DVD) are called software in Japan. A similar usage is two also in Europe and America with.

 

Word "Software" prefixes and might be used in the adjective for software with a certain function. The encoded software might be called and software that reproduces "Software encoder" and DVD be called "Software DVD player". The purpose is to distinguish whether to be processed with the hardware of the unit of the information concerned specialty when information is processed or to be processed with software for the general computer (PC etc.).

Relation to computer hardware

Because the electric circuit such as LSI is a word software compared with physical hardware, and a physical thing even if the procedure for making the computer process it is described, it is not called software. The firmware is intermediate existence also that it is hardware and is software. Software is loaded into RAM, and executed with CPU in the computer. At the lowest level, software is composed of a peculiar machine language to a specific processor. The machine language is composed of the value of the binary number that becomes an instruction to the processor, and changes the state of the computer one after another as a result. Therefore, software is an instruction row that changes the state of the computer hardware. Man is written from the machine language usually in an easy-to-use high-level language. The high-level language is converted into the code of the machine language by the compiler or the interpreter. There is almost an assembly language corresponding to the one to one, and the software written by the assembly language is converted into the machine language by the assembler with other machine languages.

 

As for most computers, the machine is in real time controlled by the special software program that is called an operating system. There is application software (Refer to the classification) for the assembler of the program language, the compiler, the enterprise, and the home in other forms of software.

 

Three for John W. Tukey to have used term "Software" first in this meaning in 1957. In the information engineering and software engineering, software shows information whole processed by the computer system, the program, and data and all "One other than the machine device". Charles Babbage designed the concept of controlling the calculation reading the memory a different instruction group partially of the floor difference organization. The theory that this becomes basic of most modern software is four advocated for the first time by Alan Mathison Turing's thesis Computable numbers with an application to the Entscheidungsproblem in 1935.

Classification

The boundary is vague though a general computer system divides software into three hierarchy, system software, programming tool, and application set of software.

 

System software

Hardware and the system are helped to work. The system software has aimed to abstract details of the hardware used for the system (memory, communication, printer, leader, display, and keyboard, etc.), and to make the application not made the detailed suffering. The following one exists concretely.

 

* Firmware Basic Input/Output System (BIOS) etc.

* Basic software operating system, device driver, window system, utility software, and various servers

* Middleware

 

Programming tool

Tool group that assists programmer to write program. Integrated development environment (IDE) is software that integrates such tools.

 

* Text editor

* Compiler, interpreter, linkage editor, and debugger

 

Application software

Software to execute specific task (crowd). The application software corresponding to it exists in all about man's activities though the part where use by company activities is big is occupied.

 

* Factory Automation

* Business software

* Education software wear

* Medical treatment software

* Data base

* Personal computer game

* Blog parts

Hierarchical hierarchy

User's view is different from the programmer. The embedded system, the analogue computer, and the super computer, etc. are contrasted ..(..)The user of a general computer is looking at software as three hierarchies (platform software, application software, and user making software).

 

Platform software

The firmware, the device driver, the operating system, and GUI, etc. are included in the platform, and the user is enabled to exchange it with the computer and peripherals. It bundles or it is often pre-installed to the computer main body. It is also possible that the user substitutes the platform software for the personal computer.

Application software

Assuming it when saying that the end user is software is application software. There are an office suite and a personal computer game as a classic example. In general, it is bought besides hardware. There is no change in the fact of functioning as an independent application though it is likely to be bundled to the computer main body. The application is often made for a specific platform though the operating system is independent software in general. Data base, compiler, and other "System software" are often considered to be an application in end user's viewpoint.

User making software

Software made to be suitable for specific needs of user. The script etc. for the macro of the template of the spreadsheet and the word-processing software, the science and technology simulations, graphics, and animations are included. The E-mail filter etc. are a kind of user making software. The user doesn't often notice the importance of these software that oneself made. A lot of users cannot do the distinction with the application software for which the user making software is bought when integrated well.

Operation(operation)

Software functions to the memory (hard disk drive and RAM, etc.) only after "Load" is done (Become executable). The computer functions oppositely by executing the program. At this time, the instruction row in the application software is passed to hardware (CPU) via the system software, and it is executed as a machine language. Each instruction makes the computer execute some operations (movement, calculation, and control flow etc. of data).

 

Data is moved from the position in the memory that is to another position. CPU is made at the movement between the memory and the register, and to be able to access data at high speed or more. It is likely not to move with a pointer to take time to move big data. The simple one like the increment of data is included in the calculation. Two or more instructions and two or more elements of data are needed for a more complex calculation.

 

The instruction might repeat when executed one after another or executed with the condition and be executed. As for the consecutive instruction row, the operation is sequentially executed one by one. As for the conditional instruction row, it is decided whether to be executed by the value of some data. This is called if sentence according to the programming language. According to circumstances, whether it repeats by the value of some data is repeatedly repeatedly decided as for the instruction row by the executed one. This might be called a loop. The one that the instruction row was grouped is called a subroutine, and there is "Call it" instruction ..other subroutines.., too. In the system (multi-processing) with two or more processors, the instruction row is executed two or more, simultaneously, and concurrently.

 

For instance, let's think how software functions when the entry "Copy" is selected from the menu. In this case, the conditional instruction row is executed, and the text is copied from data in "Document" area in the memory onto the intermediate storage area that is called "Clipboard" in general. When "Paste" that is another menu entry is chosen, software executes the instruction row that copies the text from the clipboard onto a specific area.

 

More complex processing is done according to the application. Software engineering is a study field where the complexity of the operation of such software tries to be managed and to be controlled. Especially, it tends to complicate the software to operate a large-scale computer.

 

It is not an exaggeration that limits the application range of software now to say only developer/programmer's conception power. The activity (Chess at the grand mastering level is done) thought to be impossible has been made software one after another before. Source necessary of idea create art alone by simulation with software impossible.