Application software is software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, an email client,a media player, a file viewer, an aeronautical flight simulator, a console game or a photo editor; the collective noun application software refers to all applications collectively. This contrasts with system software, involved with running the computer. Applications may be bundled with the computer and its system software or published separately, may be coded as proprietary, open-source or university projects. Apps built for mobile platforms are called mobile apps. In information technology, an application, application program or software application is a computer program designed to help people perform an activity. An application thus differs from an operating system, a utility, a programming tool. Depending on the activity for which it was designed, an application can manipulate text, audio, graphics, or a combination of these elements.
Some application packages focus on a single task, such as word processing. User-written software tailors systems to meet the user's specific needs. User-written software includes spreadsheet templates, word processor macros, scientific simulations, audio and animation scripts. Email filters are a kind of user software. Users create this software themselves and overlook how important it is; the delineation between system software such as operating systems and application software is not exact, is the object of controversy. For example, one of the key questions in the United States v. Microsoft Corp. antitrust trial was whether Microsoft's Internet Explorer web browser was part of its Windows operating system or a separable piece of application software. As another example, the GNU/Linux naming controversy is, in part, due to disagreement about the relationship between the Linux kernel and the operating systems built over this kernel. In some types of embedded systems, the application software and the operating system software may be indistinguishable to the user, as in the case of software used to control a VCR, DVD player or microwave oven.
The above definitions may exclude some applications that may exist on some computers in large organizations. For an alternative definition of an app: see Application Portfolio Management; the word "application", once used as an adjective, is not restricted to the "of or pertaining to application software" meaning. For example, concepts such as application programming interface, application server, application virtualization, application lifecycle management and portable application apply to all computer programs alike, not just application software; some applications are available in versions for several different platforms. Sometimes a new and popular application arises which only runs on one platform, increasing the desirability of that platform; this is called a killer killer app. For example, VisiCalc was the first modern spreadsheet software for the Apple II and helped selling the then-new personal computers into offices. For Blackberry it was their email software. In recent years, the shortened term "app" has become popular to refer to applications for mobile devices such as smartphones and tablets, the shortened form matching their smaller scope compared to applications on PCs.
More the shortened version is used for desktop application software as well. There are many different and not alternative ways in order to order and classify application software. By the legal point of view, application software is classified with a black box approach, in relation to the rights of its final end-users or subscribers. Software applications are classified in respect of the programming language in which the source code is written or executed, respect of their purpose and outputs. Application software is distinguished among two main classes: closed source vs open source software applications, among free or proprietary software applications. Proprietary software is placed under the exclusive copyright, a software license grants limited usage rights; the open-closed principle states that software may be "open only for extension, but not for modification". Such applications can only get add-on by third-parties. Free and open-source software shall be run, sold or extended for any purpose, -being open- shall be modified or reversed in the same way.
In computing, executable code or an executable file or executable program, sometimes referred to as an executable, causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. The exact interpretation depends upon the use - while "instructions" is traditionally taken to mean machine code instructions for a physical CPU, in some contexts a file containing bytecode or scripting language instructions may be considered executable. Executable files can be hand-coded in machine language, although it is far more convenient to develop software as source code in a high-level language that can be understood by humans. In some cases, source code might be specified in assembly language instead, which remains human-readable while being associated with machine code instructions; the high-level language is compiled into either an executable machine code file or a non-executable machine-code object file of some sort.
Several object files are linked to create the executable. Object files, executable or not, are in a container format, such as Executable and Linkable Format; this structures the generated machine code, for example dividing it into sections such as the.text.data, and.rodata. In order to be executed by the system, an executable file must conform to the system's application binary interface. Most a file is executed by loading the file into memory and jumping to the start of the address space and executing from there, but in more complicated interfaces executable files have additional metadata, specifying a separate entry point. For example, in ELF, the entry point is specified in the header in the e_entry field, which specifies the memory address at which to start execution. In the GCC this field is set by the linker based on the _start symbol. Executable files also include a runtime system, which implements runtime language features and interactions with the operating system, notably passing arguments and returning an exit status, together with other startup and shutdown features such as releasing resources like file handles.
For C, this is done by linking in the crt0 object, which contains the actual entry point and does setup and shutdown by calling the runtime library. Executable files thus contain significant additional machine code beyond that directly generated from the specific source code. In some cases it is desirable to omit this, for example for embedded systems development or to understand how compilation and loading work. In C this can be done by omitting the usual runtime, instead explicitly specifying a linker script, which generates the entry point and handles startup and shutdown, such as calling main to start and returning exit status to kernel at end. Comparison of executable file formats EXE File Format at What Is
The Intel 8080 was the second 8-bit microprocessor designed and manufactured by Intel and was released in April 1974. It is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility; the initial specified clock frequency limit was 2 MHz, with common instructions using 4, 5, 7, 10, or 11 cycles this meant that it operated at a typical speed of a few hundred thousand instructions per second. A faster variant 8080A-1 became available with clock frequency limit up to 3.125 MHz. The 8080 requires two support chips to function in most applications, the i8224 clock generator/driver and the i8228 bus controller, it is implemented in NMOS using non-saturated enhancement mode transistors as loads therefore demanding a +12 V and a −5 V voltage in addition to the main TTL-compatible +5 V. Although earlier microprocessors were used for calculators, cash registers, computer terminals, industrial robots, other applications, the 8080 became one of the first widespread microprocessors.
Several factors contributed to its popularity: its 40-pin package made it easier to interface than the 18-pin 8008, made its data bus more efficient. It became the engine of the Altair 8800, subsequent S-100 bus personal computers, until it was replaced by the Z80 in this role, was the original target CPU for CP/M operating systems developed by Gary Kildall; the 8080 was successful enough that compatibility at the assembly language level became a design requirement for the 8086 when design for it was started in 1976. This means that the 8080 directly influenced the ubiquitous 32-bit and 64-bit x86 architectures of today; the Intel 8080 is the successor to the 8008. It uses the same basic instruction set and register model as the 8008 though it is not source-code compatible nor binary-compatible with its predecessor; every instruction in the 8008 has an equivalent instruction in the 8080. The 8080 adds a few 16-bit operations in its instruction set as well. Whereas the 8008 required the use of the HL register pair to indirectly access its 14-bit memory space, the 8080 added addressing modes to allow direct access to its full 16-bit memory space.
In addition, the internal 7-level push-down call stack of the 8008 was replaced by a dedicated 16-bit stack-pointer register. The 8080's large 40-pin DIP packaging permits it to provide a 16-bit address bus and an 8-bit data bus, allowing easy access to 64 KB of memory; the processor has seven 8-bit registers, where A is the primary 8-bit accumulator, the other six registers can be used as either individual 8-bit registers or as three 16-bit register pairs depending on the particular instruction. Some instructions enable the HL register pair to be used as a 16-bit accumulator, a pseudo-register M can be used anywhere that any other register can be used, referring to the memory address pointed to by the HL pair, it has a 16-bit stack pointer to memory, a 16-bit program counter. The processor maintains internal flag bits, which indicate the results of arithmetic and logical instructions; the flags are: Sign, set. Zero, set. Parity, set if the number of 1 bits in the result is even. Carry, set if the last addition operation resulted in a carry or if the last subtraction operation required a borrow Auxiliary carry, used for binary-coded decimal arithmetic.
The carry bit can be complemented by specific instructions. Conditional-branch instructions test the various flag status bits; the flags can be copied as a group to the accumulator. The A accumulator and the flags together are called program status word; as with many other 8-bit processors, all instructions are encoded for simplicity. Some of them are followed by one or two bytes of data, which can be an immediate operand, a memory address, or a port number. Like larger processors, it has automatic CALL and RET instructions for multi-level procedure calls and returns and instructions to save and restore any 16-bit register pair on the machine stack. There are eight one-byte call instructions for subroutines located at the fixed addresses 00h, 08h, 10h... 38h. These were intended to be supplied by external hardware in order to invoke a corresponding interrupt service routine, but were often employed as fast system calls; the most sophisticated command is XTHL, used for exchanging the register pair HL with the value stored at the address indicated by the stack pointer.
Most 8-bit operations can only be performed on the 8-bit accumulator. For 8-bit operations with two operands, the other operand can be either an immediate value, another 8-bit register, or a memory byte addressed by the 16-bit register pair HL. Direct copying is supported between any two 8-bit registers and between any 8-bit register and an HL-addressed memory byte. Due to the regular encoding of the MOV instruction, there are redundant codes to copy a reg
The GameCube controller is the standard controller for Nintendo's GameCube video game console. Released alongside the GameCube console, the standard GameCube controller has a wing grip design; this controller was bundled with all new GameCube systems throughout the console's life cycle and was available separately. It connects to the console's controller ports via a 2 m/6.5 ft cable. The standard GameCube controller provides haptic feedback by way of a built-in rumble motor rather than using an external Rumble Pak add-on like the Nintendo 64 controller. Unlike its predecessor, this controller does not feature any expansion capabilities; the controller features a total of six digital buttons, two analog sticks, a d-pad and two hybrid analog triggers/digital buttons. The primary analog stick is with the D-pad below it; the four face buttons are on the right of the controller with a yellow "C" stick below those. A Start/Pause button is located in the middle of the controller. On the "shoulders" of the controller there are two analog triggers marked "L" and "R," as well as one digital button marked "Z" which sits above the "R" trigger.
The "L" and "R" triggers feature digital capabilities. Each of these behaves as a typical analog trigger until depressed, at which point the button "clicks" to register an additional digital signal; this method serves to provide two functions per button without adding two separate physical buttons. The GameCube controller was sold in several different colors over the console's lifespan. Standard colors included "Indigo", "Jet Black", "Platinum", which were bundled with their respective colored GameCube consoles and sold separately in many countries. Other standard colors sold separately included "Spice", "Indigo/Clear", "Emerald Blue", White. Nintendo released a number of limited edition controllers in Japan through Club Nintendo, which featured a unique color scheme and/or logo in the center. Club Nintendo controllers could be purchased for 500 points each and designs included "Mario", "Luigi", "Wario" and a "Club Nintendo" controller; the "Mario" design was made available in limited quantities through the European Stars Catalogue for 5000 points.
Additionally, a number of limited edition GameCube consoles have been released which included matching controllers. Colors released in Japan include "Starlight Gold", "Crystal White", "Symphonic Green", "Hanshin Tigers", "Gundam Copper" and "Transparent", included with the "Enjoy Plus Pack +" bundle; the "Symphonic Green" and "Crystal White" colors were released in Europe, although the latter was renamed "Pearl White" and bundled with Mario Smash Football. A Resident Evil 4 controller was available in Europe as part of a limited edition Resident Evil 4 console bundle; the Panasonic Q, a GameCube/DVD player hybrid system exclusive to Japan, came bundled with a grey Panasonic branded version of the controller. The WaveBird wireless controller is an RF-based wireless controller based on the same design as the standard controller, it communicates with the GameCube system wirelessly through a receiver dongle connected to one of the system's controller ports. It is powered by two AA batteries; as a power-conservation measure, the WaveBird lacks the rumble function of the standard controller.
The WaveBird came in two colors and silver. A specially-designed variation of the GameCube controller was created for the LodgeNet in some North American hotels; the controller can be used for pay-per-play access to select GameCube titles. In addition to the standard GameCube controller inputs, the LodgeNet controller features six additional buttons which are used to control the on-screen game selection interface; the controller cannot be used on regular home systems. While unlicensed GameCube Controllers are on the market from third party manufacturers such as Old Skool and Mad Catz, they are criticized for being made of lower quality products than Nintendo's official GameCube controllers; the official controllers have become scarce at retailers, as an increased demand of the controller started due to the Wii's backward compatibility with GameCube games and the fact that several Wii games support the controller as a primary method of control. In response to the regained popularity, Nintendo decided to re-launch the GameCube controller.
These relaunched models of the GameCube have a 3-meter wire cord, longer than the original models, which had a 2-meter wire cord. These relaunched models lack the metal braces inserted inside the controller's triggers to help push the triggers down, something which the 2001-2007 manufactured GameCube controllers do have. In April 2008, Nintendo released a white GameCube controller, exclusive to Japan; the controller has not been released outside Japan, but online retailers such as Amazon.com and Play-Asia do import and sell the controller internationally. It differs from previous editions in that it features a white cable, 3 m long, rather than the 2 m black cable used on standard controllers; this model lacks the metal braces inserted inside the L and R triggers. In 2014, the manufacturing production of the white cont
The Intel 8088 microprocessor is a variant of the Intel 8086. Introduced on July 1, 1979, the 8088 had an eight-bit external data bus instead of the 16-bit bus of the 8086; the 16-bit registers and the one megabyte address range were however. In fact, according to the Intel documentation, the 8086 and 8088 have the same execution unit —only the bus interface unit is different; the original IBM PC was based on the 8088. The 8088 was designed at Intel's laboratory in Haifa, Israel, as were a large number of Intel's processors; the 8088 was targeted at economical systems by allowing the use of an eight-bit data path and eight-bit support and peripheral chips. The prefetch queue of the 8088 was shortened to four bytes, from the 8086's six bytes, the prefetch algorithm was modified to adapt to the narrower bus; these modifications of the basic 8086 design were one of the first jobs assigned to Intel's then-new design office and laboratory in Haifa. Variants of the 8088 with more than 5 MHz maximal clock frequency include the 8088-2, fabricated using Intel's new enhanced nMOS process called HMOS and specified for a maximal frequency of 8 MHz.
Followed the 80C88, a static CHMOS design, which could operate with clock speeds from 0 to 8 MHz. There were several other, more or less similar, variants from other manufacturers. For instance, the NEC V20 was a pin-compatible and faster variant of the 8088, designed and manufactured by NEC. Successive NEC 8088 compatible processors would run at up to 16 MHz. In 1984, Commodore International signed a deal to manufacture the 8088 for use in a licensed Dynalogic Hyperion clone, in a move, regarded as signaling a major new direction for the company; when announced, the list price of the 8088 was US$124.80. The 8088 is architecturally similar to the 8086; the main difference is. All of the other pins of the device perform the same function as they do with the 8086 with two exceptions. First, pin 34 is no longer BHE. Instead it outputs a maximum mode status, SSO. Combined with the IO/M and DT/R signals, the bus cycles can be decoded; the second change is the pin that signals whether a memory access or input/output access is being made has had it sense reversed.
The pin on the 8088 is IO/M. On the 8086 part it is IO/M; the reason for the reversal is that it makes the 8088 compatible with the 8085. Depending on the clock frequency, the number of memory wait states, as well as on the characteristics of the particular application program, the average performance for the Intel 8088 ranged from 0.33 to 1 million instructions per second. Meanwhile, the mov reg,reg and ALU reg,reg instructions, taking two and three cycles yielded an absolute peak performance of between 1⁄3 and 1⁄2 MIPS per MHz, that is, somewhere in the range 3–5 MIPS at 10 MHz; the speed of the execution unit and the bus of the 8086 CPU was well balanced. Cutting down the bus to eight bits made it a serious bottleneck in the 8088. With the speed of instruction fetch reduced by 50% in the 8088 as compared to the 8086, a sequence of fast instructions can drain the four-byte prefetch queue; when the queue is empty, instructions take as long to complete. Both the 8086 and 8088 take four clock cycles to complete a bus cycle.
Therefore, for example, a two-byte shift or rotate instruction, which takes the EU only two clock cycles to execute takes eight clock cycles to complete if it is not in the prefetch queue. A sequence of such fast instructions prevents the queue from being filled as fast as it is drained, in general, because so many basic instructions execute in fewer than four clocks per instruction byte—including all the ALU and data-movement instructions on register operands and some of these on memory operands—it is impossible to avoid idling the EU in the 8088 at least ¼ of the time while executing useful real-world programs, it is not hard to idle it half the time. In short, an 8088 runs about half as fast as 8086 clocked at the same rate, because of the bus bottleneck. A side effect of the 8088 design, with the slow bus and the small prefetch queue, is that the speed of code execution can be dependent on instruction order; when programming the 8088, for CPU efficiency, it is vital to interleave long-running instructions with short ones whenever possible.
For example, a repeated string operation or a shift by three or more will take long enough to allow time for the 4-byte prefetch queue to fill. If short instructions are placed between slower instructions like these, the short ones can execute at full speed out of the queue. If, on the other hand, the slow instructions are executed sequentially, back to back after the first of them the bus unit will be forced to idle because the queue will be full, with the consequence that more of the faster instructions will suffer fetch delays that might have been avoidable; as some instructions, such as single-bit-position shifts and rotates, take 4 times as long to fetch as to execute, the overall effec
The PlayStation 2 is a home video game console, developed by Sony Computer Entertainment. It is the successor to the original PlayStation console and is the second iteration in the PlayStation lineup of consoles, it was released in 2000 and competed with Sega's Dreamcast, Nintendo's GameCube and Microsoft's Xbox in the sixth generation of video game consoles. Announced in 1999, the PlayStation 2 offered backwards compatibility for its predecessor's DualShock controller, as well as for its games; the PlayStation 2 is the best-selling video game console of all time, selling over 155 million units, with 150 million confirmed by Sony in 2011. More than 3,874 game titles have been released for the PS2 since launch, more than 1.5 billion copies have been sold. Sony manufactured several smaller, lighter revisions of the console known as Slimline models in 2004. In 2006, Sony announced and launched its successor, the PlayStation 3. With the release of its successor, the PlayStation 2 remained popular well into the seventh generation and continued to be produced until January 4, 2013, when Sony announced that the PlayStation 2 had been discontinued after 12 years of production – one of the longest runs for a video game console.
Despite the announcement, new games for the console continued to be produced until the end of 2013, including Final Fantasy XI: Seekers of Adoulin for Japan, FIFA 13 for North America, Pro Evolution Soccer 2014 for Europe. Repair services for the system in Japan ended on September 7, 2018. Though Sony has kept details of the PlayStation 2's development secret, work on the console began around the time that the original PlayStation was released. Insiders stated that it was developed in the U. S. West Coast by former members of Argonaut Software. By 1997 word had leaked to the press that the console would have backwards compatibility with the original PlayStation, a built-in DVD player, Internet connectivity. Sony announced the PlayStation 2 on March 1, 1999; the video game console was positioned as a competitor to Sega's Dreamcast, the first sixth-generation console to be released, although the main rivals of the PS2 were Nintendo's GameCube and Microsoft's Xbox. The Dreamcast itself launched successfully in North America that year, selling over 500,000 units within two weeks.
Soon after the Dreamcast's North American launch, Sony unveiled the PlayStation 2 at the Tokyo Game Show on September 20, 1999. Sony showed playable demos of upcoming PlayStation 2 games including Gran Turismo 2000 and Tekken Tag Tournament – which showed the console's graphic abilities and power; the PS2 was launched in March 2000 in Japan, October in North America, November in Europe. Sales of the console and accessories pulled in $250 million on the first day, beating the $97 million made on the first day of the Dreamcast. Directly after its release, it was difficult to find PS2 units on retailer shelves due to manufacturing delays. Another option was purchasing the console online through auction websites such as eBay, where people paid over a thousand dollars for the console; the PS2 sold well on the basis of the strength of the PlayStation brand and the console's backward compatibility, selling over 980,000 units in Japan by March 5, 2000, one day after launch. This allowed the PS2 to tap the large install base established by the PlayStation – another major selling point over the competition.
Sony added new development kits for game developers and more PS2 units for consumers. The PS2's built-in functionality expanded its audience beyond the gamer, as its debut pricing was the same or less than a standalone DVD player; this made the console a low cost entry into the home theater market. The success of the PS2 at the end of 2000 caused Sega problems both financially and competitively, Sega announced the discontinuation of the Dreamcast in March 2001, just 18 months after its successful launch; the PS2 remained as the only active sixth generation console for over 6 months, before it would face competition from newer rivals. Many analysts predicted a close three-way matchup among the three consoles. While the PlayStation 2 theoretically had the weakest specification of the three, it had a head start due to its installed base plus strong developer commitment, as well as a built-in DVD player. While the PlayStation 2's initial games lineup was considered mediocre, this changed during the 2001 holiday season with the release of several blockbuster games that maintained the PS2's sales momentum and held off its newer rivals.
Sony countered the Xbox by temporarily securing PlayStation 2 exclusives for anticipated games such as the Grand Theft Auto series and Metal Gear Solid 2: Sons of Liberty. Sony cut the price of the console in May 2002 from US$299 to $199 in North America, making it the same price as the GameCube and $100 less than the Xbox, it planned to cut the price in Japan around that time. It cut the price twice in Japan in 2003. In 2006, Sony cut the cost of the console in anticipation of the release of the PlayStation 3. Sony, unlike Sega with its Dreamcast placed little emphasis on online gaming during its first few years, although that changed upon the launch of the online-capable Xbox. Coinciding with the release of Xbox Live, Sony released the PlayStation Network Adapter in late 2002, with several online first–party titles released alongside it, such as SOCOM: U. S. Navy SEALs to demon
In computing, a legacy system is an old method, computer system, or application program, "of, relating to, or being a previous or outdated computer system," yet still in use. Referencing a system as "legacy" means that it paved the way for the standards that would follow it; this can imply that the system is out of date or in need of replacement. The first use of the term "legacy" to describe computer systems occurred in the 1970s. By the 1980s it was used to refer to existing computer systems to distinguish them from the design and implementation of new systems. Legacy was heard during a conversion process, for example, when moving data from the legacy system to a new database. While this term may indicate that some engineers may feel that a system is out of date, a legacy system can continue to be used for a variety of reasons, it may be that the system still provides for the users' needs. In addition, the decision to keep an old system may be influenced by economic reasons such as return on investment challenges or vendor lock-in, the inherent challenges of change management, or a variety of other reasons other than functionality.
Backward compatibility is a goal that software developers include in their work. If it is no longer used, a legacy system may continue to impact the organization due to its historical role. Historic data may not have been converted into the new system format and may exist within the new system with the use of a customized schema crosswalk, or may exist only in a data warehouse. In either case, the effect on business intelligence and operational reporting can be significant. A legacy system may include procedures or terminology which are no longer relevant in the current context, may hinder or confuse understanding of the methods or technologies used. Organizations can have compelling reasons for keeping a legacy system, such as: The system works satisfactorily, the owner sees no reason to change it; the costs of redesigning or replacing the system are prohibitive because it is large, and/or complex. Retraining on a new system would be costly in lost time and money, compared to the anticipated appreciable benefits of replacing it.
The system requires near-constant availability, so it cannot be taken out of service, the cost of designing a new system with a similar availability level is high. Examples include systems to handle customers' accounts in banks, computer reservations systems, air traffic control, energy distribution, nuclear power plants, military defense installations, systems such as the TOPS database; the way that the system works is not well understood. Such a situation can occur when the designers of the system have left the organization, the system has either not been documented or documentation has been lost; the user expects that the system can be replaced when this becomes necessary. Newer systems perform undesirable secondary functions such as a) tracking and reporting of user activity and/or b) automatic updating that creates "back-door" security vulnerabilities and leaves end users dependent on the good faith and honesty of the vendor providing the updates; this problem is acute when these secondary functions of a newer system cannot be disabled.
Legacy systems are considered to be problematic by some software engineers for several reasons. If legacy software runs on only antiquated hardware, the cost of maintaining the system may outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware; these systems can be hard to maintain and expand because there is a general lack of understanding of the system. This can be worsened by loss of documentation. Comair airline company fired its CEO in 2004 due to the failure of an antiquated legacy crew scheduling system that ran into a limitation not known to anyone in the company. Legacy systems may have vulnerabilities in older operating systems or applications due to lack of security patches being available or applied. There can be production configurations that cause security problems; these issues can put the legacy system at risk of being compromised by attackers or knowledgeable insiders. Integration with newer systems may be difficult because new software may use different technologies.
Integration across technology is quite common in computing, but integration between newer technologies and older ones is not common. There may not be sufficient demand for integration technology to be developed; some of this "glue" code is developed by vendors and enthusiasts of particular legacy technologies. Budgetary constraints lead corporations to not address the need of replacement or migration of a legacy system. However, companies don’t consider the increasing supportability costs and do not take into consideration the enormous loss of capability or business continuity if the legacy system were to fail. Once these considerations are well understood based on the proven ROI of a new, more secure, updated technology stack platform is not as costly as the alternative - and the budget is found. Due to the fact that most legacy programmers are entering retirement age and the number of young engineers replacing them is small, there is an alarming shortage of