SAP (System Application Programming) – A type of programming that is to develop applications that interact with the system software (operating system), or computer hardware. The main difference between system programming compared to application programming is that, application software is designed for end users (eg, word processors, graphic editors), while the resulting system programming are programs that cater to the hardware or operating system (such as defragmenting the disk) which causes a significant dependence of this type of software from hardware. It should be noted that the “normal” applications can be used in the work code fragments characteristic of system software, and vice versa; so there is no clear boundary between application and system programming. Since different operating systems differ both interior architecture and ways to interact with the hardware and software, the principles of system software for different operating systems are different. Therefore, the development of applications that carry out the same actions on different operating systems may differ.
In general, system programming has following characteristics (one or more):
Programmer must take into account the peculiarities of the operating system and / or hardware, which is supposed to run the program, and use these features (for example, using optimized algorithms for a particular architecture).
Commonly used low-level programming languages or dialects are:
- Can work in limited-resource environment
- Most rational and minimal delay time performance
- Have small libraries (library implementation period (RTL)), or do not have them
- Allow direct access to the memory and logic control
- Allow the programmer to write part of the program in assembly language
Adjustment can be tricky if you cannot run the program in debug mode due to limitations in resources. The program in the simulated environment can reduce this problem.
System programming is significantly different from application programming, forcing programmers to specialize in one of these areas.
For system programming, it is often available only to a limited number of tools. Establishing sometimes has a high complexity. Library of the implementation period, if not available, are much less likely, and make fewer checks for errors. Because of these limitations, often used monitoring and data logging, operating systems must be equipped with very high-quality data recording subsystems.
First, the system programmers were certainly used as a assembler. Experiments with support for hardware in high-level programming languages done in the late 60’s led to the emergence of languages like BLISS and BCPL, but C, which has helped the growth of Unix, become widespread in the 1980s. Recently found some use for Embedded C + + , for example, in the I / O drivers in Mac OS X system.
Examples of software developed as a result of system programming is to implement major parts of the operating system, servers and applications for networking. For example, the development of virtual memory or drivers for the operating system.
Latest posts by ESDS (see all)
- How Cloud Computing Is Changing The Labor Market - March 25, 2015
- Adopting Infrastructure as a Service Can be a Good Deal - March 17, 2015
- Will Virtualize? Take These Six Points Into Consideration - March 12, 2015