Tuesday, 2 June 2015

system programing

INTODUCTION ABOUT SYSTEM PROGRAMIMG
       
                                                           SYSTEM PROGRAMMING
Systems programming (or system programming) is the activity of programming system software. The primary distinctive
 charactertics of systems programming when compared to application programming is that application programming is to
produce software which provides services to the user (e.g. word processor), whereas systems programming is to produce
 software which provides services to the computer hardware (e.g. disk defragmenter) requires a greater degree of hardware
 awareness. More specifically:
the programmer will make assumptions about the hardware and other properties of the system that the program runs on,
and will often exploit those properties (for example by using an algorithm that is known to be efficient when used with
 specific hardware)
usually a low-level programming language or programming language dialect is used that:can operate in
 resource-constrained environments
is very efficient and has little runtime overhead
has a small runtime library, or none at all
allows for direct and "raw" control over memory access and control flow
lets the programmer write parts of the program directly in assembly language
debugging can be difficult if it is not possible to run the program in a debugger due to resource constraints.
 Running the program in a simulated environment can be used to reduce this problem.
Systems programming is sufficiently different from application programming that programmers tend to specialize in one
 or the other.
In system programming, often limited programming facilities are available. The use of automatic garbage collection is not
common and debugging is sometimes hard to do. The runtime library, if available at all, is usually far less powerful, and
 does less error checking. Because of those limitations, monitoring and logging are often used; operating systems may have
 extremely elaborate logging subsystems.
Originally systems programmers invariably wrote in assembly language. Experiments with hardware support in high-level
 languages in the late 1960s led to such languages as BLISS and BCPL, but C, helped by the growth of UNIX, became ubiquitous
 in the 1980s. More recently Embedded C++ has seen some use, for instance in the I/O Kit drivers of Mac OS X.
Implementing certain parts in operating system and networking requires systems programming (for example implementing
 Paging(Virtual Memory) or a device driver for an operating system).
  THERe are digg types of compiler :
     1. COMPILER
                   
                                                                      COMPILER
A compiler is a computer program (or set of programs) that translates text written in a computer language (the source
language) into another computer language (the target language). The original sequence is usually called the source code
 and the output called object code. Commonly the output has a form suitable for processing by other programs (e.g., a linker), but it may be a human-readable text file.
The most common reason for wanting to translate source code is to create an executable program. The name "compiler" is
primarily used for programs that translate source code from a high level language to a lower level language (e.g., assembly
language or machine language). A program that translates from a low level language to a higher level one is a decompiler.
 A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter. A language rewriter is usually a program that translates the form of expressions without a change of language.
A compiler is likely to perform many or all of the following operations: lexing, preprocessing, parsing, semantic analysis
, code generation, and code optimizations.
Assembly language is not a high-level language and a program that compiles it is more commonly known as an assembler, with
the inverse program known as a disassembler.

No comments:

Post a Comment