system programing

download system programing

of 15

Transcript of system programing

  • 8/8/2019 system programing

    1/15

    Subject:-System programming & system Administration

    Unit-1

    System programming

    Def: - System programming (orsystems programming) is the activity ofprogrammingsystem software.

    The primary distinguishing characteristic of systems programming when compared to

    application programming is that application programming aims to produce software

    which provides services to the user (e.g. word processor), whereas systems programmingaims to produce software which provides services to the computer hardware (e.g. disk

    defragmenter).

    System Software have direct control and access to your computer hardware , and

    memory locations . They perform I/O operations on various memory locations , andcontrol the hardware , to make the application software do a task . Operating systems ,

    are the main examples for system software .

    Examples :

    1) Microsoft Windows

    2) Linux3) Unix

    4) Mac OSX

    5) DOS

    6) BIOS Software7) HD Sector Boot Software

    8) Device Driver Software i.e Graphics Driver etc

    9) Linker Software

    10) Assembler and Compiler Software

    i

    http://en.wikipedia.org/wiki/Programminghttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Application_programminghttp://en.wikipedia.org/wiki/Application_softwarehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Disk_defragmenterhttp://en.wikipedia.org/wiki/Disk_defragmenterhttp://en.wikipedia.org/wiki/Programminghttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Application_programminghttp://en.wikipedia.org/wiki/Application_softwarehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Disk_defragmenterhttp://en.wikipedia.org/wiki/Disk_defragmenter
  • 8/8/2019 system programing

    2/15

    Application software run under System Software , and are made to do a specific task i.e

    ( Word Processing etc) , which have indirect access to the hardware (i.e Behind SystemSoftware) .

    Examples:Web browser, word processing software, spreadsheet software, database software,

    presentation graphics software.

    1) Opera (Web Browser)

    2) Microsoft Word (Word Processing)

    3) Microsoft Excel (Spreadsheet software)

    5) MySQL (Database Software)6) Microsoft PowerPoint (Presentation Software)

    7) iTunes (Music / Sound Software)

    8) VLC Media Player (Audio / Video Software )

    9) World of War craft (Game Software)10) Adobe Photoshop (Graphics Software)

    Anti-virus are system software only. Though they are installed as an application, still they

    are used to ensure the proper functioning of the computer.So it is indeed System software.

    **Evolution of components systems programming: - Page No. 4 to 7 (System

    Programmingby Donovan)

    ii

  • 8/8/2019 system programing

    3/15

    Assembler:-

    Assembly languages:-

    Assembly languages are a family oflow-level languages for programming computers,microprocessors, microcontrollers, and other (usually) integrated circuits. They

    implement a symbolic representation of the numeric machine codes and other constants

    needed to program a particularCPU architecture. This representation is usually definedby the hardware manufacturer, and is based on abbreviations (called mnemonics) that

    help the programmer remember individual instructions, registers, etc. An assembly

    language is thus specific to a certain physical or virtual computer architecture (as

    opposed to most high-level languages, which are usuallyportable).

    Assembler is a program which takes assembly source code and assembles it intomachine code.

    Or

    A program to convert assembly language into machine language

    Or

    Programming languageprocessorthat translates an assembly languageprogram (the

    source program) to the machine language program (the object program) executable by acomputer

    There are two types of assemblers based on how many passes through the source are

    needed to produce the executable program. One pass assemblers go through the source

    code once and assumes that all symbols will be defined before any instruction thatreferences them. Two pass assemblers (and multi-pass assemblers) create a table with all

    unresolved symbols in the first pass, then use the 2nd pass to resolve these addresses.

    The advantage in one pass assemblers is speed - which is not as important as it once waswith advances in computer speed and capabilities.

    The advantage of the two-pass assembler is that symbols can be defined anywhere in theprogram source. As a result, the program can be defined in a more logical and meaningful

    way. This makes two-pass assembler programs easier to read and maintain

    iii

    http://en.wikipedia.org/wiki/Low-level_languagehttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Microprocessorhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Integrated_circuithttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/CPUhttp://en.wikipedia.org/wiki/Mnemonic#Assembly_mnemonicshttp://en.wikipedia.org/wiki/Instruction_(computer_science)http://en.wikipedia.org/wiki/Processor_registerhttp://en.wikipedia.org/wiki/High-level_languagehttp://en.wikipedia.org/wiki/Portinghttp://www.businessdictionary.com/definition/programming-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/assembly-language.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/computer.htmlhttp://en.wikipedia.org/wiki/Low-level_languagehttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Microprocessorhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Integrated_circuithttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/CPUhttp://en.wikipedia.org/wiki/Mnemonic#Assembly_mnemonicshttp://en.wikipedia.org/wiki/Instruction_(computer_science)http://en.wikipedia.org/wiki/Processor_registerhttp://en.wikipedia.org/wiki/High-level_languagehttp://en.wikipedia.org/wiki/Portinghttp://www.businessdictionary.com/definition/programming-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/assembly-language.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/computer.html
  • 8/8/2019 system programing

    4/15

    Loader:-

    A loader is the part of an operating system that is responsible for one of the essential

    stages in the process of starting a program, loading programs, that is, starting upprograms by reading the contents of executable files (executables- files containing

    program text) into memory, then carrying out other required preparatory tasks, afterwhich the program code is finally allowed to run and is started when the operating systempasses control to the loaded program code.

    Or

    An operating system utility that copies programs from a storage device to main memory,

    where they can be executed. In addition to copying a program into main memory, the

    loader can also replace virtualaddresses withphysical addresses.

    All operating systems that support program loading have loaders, apart from systems

    where code executes directly from ROM or in the case of highly specialized computer

    systems that only a fixed set of specialised programs.

    In many operating systems the loader is permanently resident in memory, although someoperating systems that support virtual memory may allow the loader to be located in a

    region of memory that ispageable.

    iv

    http://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Executableshttp://www.webopedia.com/TERM/l/operating_system.htmlhttp://www.webopedia.com/TERM/l/utility.htmlhttp://www.webopedia.com/TERM/l/copy.htmlhttp://www.webopedia.com/TERM/l/program.htmlhttp://www.webopedia.com/TERM/l/storage_device.htmlhttp://www.webopedia.com/TERM/l/main_memory.htmlhttp://www.webopedia.com/TERM/l/execute.htmlhttp://www.webopedia.com/TERM/l/virtual.htmlhttp://www.webopedia.com/TERM/l/address.htmlhttp://www.webopedia.com/TERM/l/physical.htmlhttp://en.wikipedia.org/wiki/Virtual_memoryhttp://en.wikipedia.org/wiki/Paginghttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Executableshttp://www.webopedia.com/TERM/l/operating_system.htmlhttp://www.webopedia.com/TERM/l/utility.htmlhttp://www.webopedia.com/TERM/l/copy.htmlhttp://www.webopedia.com/TERM/l/program.htmlhttp://www.webopedia.com/TERM/l/storage_device.htmlhttp://www.webopedia.com/TERM/l/main_memory.htmlhttp://www.webopedia.com/TERM/l/execute.htmlhttp://www.webopedia.com/TERM/l/virtual.htmlhttp://www.webopedia.com/TERM/l/address.htmlhttp://www.webopedia.com/TERM/l/physical.htmlhttp://en.wikipedia.org/wiki/Virtual_memoryhttp://en.wikipedia.org/wiki/Paging
  • 8/8/2019 system programing

    5/15

    Linker:-

    A linker orlink editor is a program that takes one or more objects generated by acompilerand combines them into a single executable program.

    In IBMmainframe environments such as OS/360 this program is known as a linkage

    editor.

    Also called link editorand binder, a linker is aprogram that combines object modules to

    form an executable program. Manyprogramming languages allow you to write different

    pieces ofcode, called modules, separately. This simplifies the programming task becauseyou can break a large program into small, more manageable pieces. Eventually, though,

    you need to put all the modules together. This is the job of the linker.

    Linkingis the process of combining various pieces of code and data together to form a

    single executable that can be loaded in memory. Linking can be done at compile time, atload time (by loaders) and also at run time (by application programs).

    v

    http://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Object_filehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Executablehttp://www.answers.com/topic/international-business-machines-corporationhttp://www.answers.com/topic/mainframe-computerhttp://www.answers.com/topic/os-360http://www.webopedia.com/TERM/L/program.htmlhttp://www.webopedia.com/TERM/L/module.htmlhttp://www.webopedia.com/TERM/L/programming_language.htmlhttp://www.webopedia.com/TERM/L/programming_language.htmlhttp://www.webopedia.com/TERM/L/code.htmlhttp://www.webopedia.com/TERM/L/module.htmlhttp://www.webopedia.com/TERM/L/module.htmlhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Object_filehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Executablehttp://www.answers.com/topic/international-business-machines-corporationhttp://www.answers.com/topic/mainframe-computerhttp://www.answers.com/topic/os-360http://www.webopedia.com/TERM/L/program.htmlhttp://www.webopedia.com/TERM/L/module.htmlhttp://www.webopedia.com/TERM/L/programming_language.htmlhttp://www.webopedia.com/TERM/L/code.htmlhttp://www.webopedia.com/TERM/L/module.html
  • 8/8/2019 system programing

    6/15

    Macros:-

    Def:-A rule orpattern that specifies how a certain input sequence (often a sequence of

    characters) should be mapped to an output sequence (also often a sequence of characters)

    according to a defined procedure. The mapping process that instantiates a macro into aspecific output sequence is known as macro expansion.

    Or

    A macro is a simple program that automates a series of Image commands. The easiest

    way to create a macro is to record a series of commands using the command recorder. A

    macro is saved as a text file and executed by selecting a menu command, by pressing a

    key or by clicking on an icon in the Image toolbar.

    Or

    A symbol, name, orkey that represents a list ofcommands, actions, orkeystrokes. Many

    programs allow you to create macros so that you can enter a single characteror word to

    perform a whole series of actions. Suppose, for example, that you are editing a file andwant to indent every third line five spaces. If yourword processorsupports macros, you

    can create one that consists of the following keystrokes:

    Move Cursorto Beginning of Line

    Move Cursor Down 1 Line

    Move Cursor Down 1 Line

    Move Cursor Down 1 Line

    Insert 5 Spaces

    Now you can enter the name of the macro, and the word processor will perform all these

    commands at once.

    You can also use macros to enter words or phrases that you use frequently. For example,you could define a macro to contain all the keystrokes necessary to begin a letter -- your

    name, address, and a code that inserts the current date. Then, whenever you write a letter,

    you just press the macro key to include the letter header.

    vi

    http://en.wikipedia.org/wiki/Patternhttp://en.wikipedia.org/wiki/Character_(computing)http://rsbweb.nih.gov/ij/developer/macro/macros.html#recorder%23recorderhttp://rsbweb.nih.gov/ij/developer/macro/macros.html#tools%23toolshttp://www.webopedia.com/TERM/M/name.htmlhttp://www.webopedia.com/TERM/M/key.htmlhttp://www.webopedia.com/TERM/M/command.htmlhttp://www.webopedia.com/TERM/M/keystroke.htmlhttp://www.webopedia.com/TERM/M/program.htmlhttp://www.webopedia.com/TERM/M/character.htmlhttp://www.webopedia.com/TERM/M/file.htmlhttp://www.webopedia.com/TERM/M/word_processor.htmlhttp://www.webopedia.com/TERM/M/support.htmlhttp://www.webopedia.com/TERM/M/cursor.htmlhttp://www.webopedia.com/TERM/M/insert.htmlhttp://en.wikipedia.org/wiki/Patternhttp://en.wikipedia.org/wiki/Character_(computing)http://rsbweb.nih.gov/ij/developer/macro/macros.html#recorder%23recorderhttp://rsbweb.nih.gov/ij/developer/macro/macros.html#tools%23toolshttp://www.webopedia.com/TERM/M/name.htmlhttp://www.webopedia.com/TERM/M/key.htmlhttp://www.webopedia.com/TERM/M/command.htmlhttp://www.webopedia.com/TERM/M/keystroke.htmlhttp://www.webopedia.com/TERM/M/program.htmlhttp://www.webopedia.com/TERM/M/character.htmlhttp://www.webopedia.com/TERM/M/file.htmlhttp://www.webopedia.com/TERM/M/word_processor.htmlhttp://www.webopedia.com/TERM/M/support.htmlhttp://www.webopedia.com/TERM/M/cursor.htmlhttp://www.webopedia.com/TERM/M/insert.html
  • 8/8/2019 system programing

    7/15

    Compiler:-

    Programming languageprocessorthat translates aprogram written in a high-level

    language (the 'source program') which humans can understand, into machine languageprogram (the 'object program') which the computers can understand. A compiled

    program, in comparison to an interpreted program generally runs (executes) much faster.

    Or

    A compiler is a computer program (or set of programs) that transforms source code

    written in a computer language (thesource language) into another computer language

    (the target language, often having a binary form known as object code). The most

    common reason for wanting to transform source code is to create an executable program.

    Or

    The name "compiler" is primarily used for programs that translate source code from a

    high-level programming language to a lower level language (e.g., assembly language or

    machine code).

    A program that translates from a low level language to a higher level oneis adecompiler.

    A compiler is likely to perform many or all of the following operations:

    lexical analysis,preprocessing,parsing, semantic analysis, code generation, and code

    optimization.

    A compiler is likely to perform many or all of the following operations: lexical analysis,

    preprocessing,parsing, semantic analysis, code generation, and code optimization.

    vii

    http://www.businessdictionary.com/definition/programming-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/computer.htmlhttp://www.investorwords.com/994/comparison.htmlhttp://www.businessdictionary.com/definition/run.htmlhttp://www.businessdictionary.com/definition/execute.htmlhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Object_codehttp://en.wikipedia.org/wiki/Executablehttp://en.wikipedia.org/wiki/High-level_programming_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/Decompilerhttp://en.wikipedia.org/wiki/Decompilerhttp://en.wikipedia.org/wiki/Lexical_analysishttp://en.wikipedia.org/wiki/Preprocessinghttp://en.wikipedia.org/wiki/Parsinghttp://en.wikipedia.org/wiki/Code_generation_(compiler)http://en.wikipedia.org/wiki/Code_optimizationhttp://en.wikipedia.org/wiki/Code_optimizationhttp://en.wikipedia.org/wiki/Lexical_analysishttp://en.wikipedia.org/wiki/Preprocessinghttp://en.wikipedia.org/wiki/Parsinghttp://en.wikipedia.org/wiki/Code_generation_(compiler)http://en.wikipedia.org/wiki/Code_optimizationhttp://www.businessdictionary.com/definition/programming-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/computer.htmlhttp://www.investorwords.com/994/comparison.htmlhttp://www.businessdictionary.com/definition/run.htmlhttp://www.businessdictionary.com/definition/execute.htmlhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Object_codehttp://en.wikipedia.org/wiki/Executablehttp://en.wikipedia.org/wiki/High-level_programming_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/Decompilerhttp://en.wikipedia.org/wiki/Lexical_analysishttp://en.wikipedia.org/wiki/Preprocessinghttp://en.wikipedia.org/wiki/Parsinghttp://en.wikipedia.org/wiki/Code_generation_(compiler)http://en.wikipedia.org/wiki/Code_optimizationhttp://en.wikipedia.org/wiki/Code_optimizationhttp://en.wikipedia.org/wiki/Lexical_analysishttp://en.wikipedia.org/wiki/Preprocessinghttp://en.wikipedia.org/wiki/Parsinghttp://en.wikipedia.org/wiki/Code_generation_(compiler)http://en.wikipedia.org/wiki/Code_optimization
  • 8/8/2019 system programing

    8/15

    **Software Tools: - Page No. 249 to 264 (System Programming & Operating Systemby Dhamdhere)

    viii

  • 8/8/2019 system programing

    9/15

    Software tool:-

    A program that is employed in the development, repair, or enhancement of otherprograms or of hardware. Traditionally a set of software tools addressed only the

    essential needs during program development: a typical set might consist of a text editor,compiler,link loader, and some form ofdebug tool. Such a set concentrates solely onthe program production phase and is that normally provided by a program developmentsystem.

    It is now recognized that software tools can assist in all activities of all phases of the

    software life cycle, including management and quality-assurance activities. Thus acomprehensive set would address such issues as requirements specification, design,

    validation, configuration control, and project management. Such tools would frequently

    form part of an integrated software engineering environment.

    Or

    Software, such as a computerprogram, routine, subroutine, programblock, or programmodule, that can be used to develop, test, analyze, or maintain a computer program or its

    documentation.Note: Examples of software tools are automated software verification

    routines, compilers, program maintenance routines, bootstraps, program analyzers, andsoftware monitors.

    ix

    http://www.encyclopedia.com/doc/1O11-texteditor.htmlhttp://www.encyclopedia.com/doc/1O11-compiler.htmlhttp://www.encyclopedia.com/doc/1O11-linkloader.htmlhttp://www.encyclopedia.com/doc/1O11-linkloader.htmlhttp://www.encyclopedia.com/doc/1O11-debugtool.htmlhttp://www.encyclopedia.com/doc/1O11-programdevelopmentsystem.htmlhttp://www.encyclopedia.com/doc/1O11-programdevelopmentsystem.htmlhttp://www.encyclopedia.com/doc/1O11-softwarelifecycle.htmlhttp://www.encyclopedia.com/doc/1O11-softwareengineerngnvrnmnt.htmlhttp://www.its.bldrdoc.gov/fs-1037/dir-034/_4956.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-008/_1184.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-028/_4172.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-031/_4646.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-035/_5167.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-005/_0663.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-023/_3377.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-022/_3199.htmhttp://www.encyclopedia.com/doc/1O11-texteditor.htmlhttp://www.encyclopedia.com/doc/1O11-compiler.htmlhttp://www.encyclopedia.com/doc/1O11-linkloader.htmlhttp://www.encyclopedia.com/doc/1O11-debugtool.htmlhttp://www.encyclopedia.com/doc/1O11-programdevelopmentsystem.htmlhttp://www.encyclopedia.com/doc/1O11-programdevelopmentsystem.htmlhttp://www.encyclopedia.com/doc/1O11-softwarelifecycle.htmlhttp://www.encyclopedia.com/doc/1O11-softwareengineerngnvrnmnt.htmlhttp://www.its.bldrdoc.gov/fs-1037/dir-034/_4956.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-008/_1184.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-028/_4172.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-031/_4646.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-035/_5167.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-005/_0663.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-023/_3377.htmhttp://www.its.bldrdoc.gov/fs-1037/dir-022/_3199.htm
  • 8/8/2019 system programing

    10/15

    Text editor

    A text editor is a type ofprogram used for editing plain text files.

    Text editors are often provided with operating systems or software development

    packages, and can be used to change configuration files andprogramming languagesource code.

    An example of a text editor; Vim.

    x

    http://en.wikipedia.org/wiki/Software_applicationhttp://en.wikipedia.org/wiki/Text_filehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Configuration_filehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Vim_(text_editor)http://en.wikipedia.org/wiki/Software_applicationhttp://en.wikipedia.org/wiki/Text_filehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Configuration_filehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Vim_(text_editor)
  • 8/8/2019 system programing

    11/15

    Types of text editors

    Some text editors are small and simple, while others offer a broad and complex range of

    functionality.

    For example, Unix and Unix-like operating systems have the vi editor (or a variant), but

    many also include the Emacs editor.

    Microsoft Windows systems come with the very simple Notepad, though many people

    especially programmersprefer to use one of many otherWindows text editors withmore features.

    UnderApple Macintosh's classic Mac OS there was the native SimpleText, which wasreplaced by TextEdit. Some editors, such as WordStar, have dual operating modes

    allowing them to be either a text editor or a word processor.

    Text editors geared for professional computer users place no limit on the size of the file

    being opened. In particular, they start quickly even when editing large files, and are

    capable of editing files that are too large to fit the computer's main memory. Simpler texteditors often just read files into an array in RAM. On larger files this is a slow process,

    and very large files often do not fit.

    The ability to read and write very large files is needed by many professional computer

    users. For example, system administrators may need to read long log files. Programmersmay need to change large source code files, or examine unusually large texts, such as an

    entire dictionary placed in a single file.

    Some text editors include specialized computer languages to customize the editor

    (programmable editors). For example, Emacs can be customized by programming inLisp. These usually permit the editor to simulate the keystroke combinations and features

    of other editors, so that users do not have to learn the native command combinations.

    Many text editors for software developers include source code syntax highlighting andautomatic completion to make programs easier to read and write. Programming editorsoften permit one to select the name of a subprogram or variable, and then jump to its

    definition and back. Often an auxiliary utility like ctags is used to locate the definitions.

    xi

    http://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Vihttp://en.wikipedia.org/wiki/Emacshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Notepadhttp://en.wikipedia.org/wiki/Category:Windows_text_editorshttp://en.wikipedia.org/wiki/Apple_Macintoshhttp://en.wikipedia.org/wiki/Mac_OShttp://en.wikipedia.org/wiki/SimpleTexthttp://en.wikipedia.org/wiki/TextEdithttp://en.wikipedia.org/wiki/WordStarhttp://en.wikipedia.org/wiki/Random_access_memoryhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Lisp_(programming_language)http://en.wikipedia.org/wiki/Syntax_highlightinghttp://en.wikipedia.org/wiki/Ctagshttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Vihttp://en.wikipedia.org/wiki/Emacshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Notepadhttp://en.wikipedia.org/wiki/Category:Windows_text_editorshttp://en.wikipedia.org/wiki/Apple_Macintoshhttp://en.wikipedia.org/wiki/Mac_OShttp://en.wikipedia.org/wiki/SimpleTexthttp://en.wikipedia.org/wiki/TextEdithttp://en.wikipedia.org/wiki/WordStarhttp://en.wikipedia.org/wiki/Random_access_memoryhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Lisp_(programming_language)http://en.wikipedia.org/wiki/Syntax_highlightinghttp://en.wikipedia.org/wiki/Ctags
  • 8/8/2019 system programing

    12/15

    Typical features of text editors:-

    Search and replace

    search string with a replacement string. Different methods are employed, Global(ly)

    Search And Replace, Conditional Search and Replace, Unconditional Search and

    Replace.

    Cut, copy, and paste

    Most text editors provide methods to duplicate and move text within the file, or between

    files.

    Text formatting

    Text editors often provide basic formatting features like line wrap,auto-indentation,bullet list formatting, comment formatting, and so on.

    Undo and redo

    xii

    http://en.wikipedia.org/wiki/Line_wraphttp://en.wikipedia.org/wiki/Auto-indentationhttp://en.wikipedia.org/wiki/Bullet_listhttp://en.wikipedia.org/wiki/Comment_(computer_programming)http://en.wikipedia.org/wiki/Line_wraphttp://en.wikipedia.org/wiki/Auto-indentationhttp://en.wikipedia.org/wiki/Bullet_listhttp://en.wikipedia.org/wiki/Comment_(computer_programming)
  • 8/8/2019 system programing

    13/15

    Interpreter:-Computer languageprocessorthat translates aprogram line-by-line (statement-by-statement) and carries out the specified actions in sequence. In contrast, an assembleror

    compilercompletely translates a program written in a high-level language (the source

    program) into a machine-language program (the objectprogram) for laterexecution.Whereas a compiled-program executes much faster than an interpreted-program, an

    interpreter allows examination and modification of the program while it is running

    (executing).

    Or

    Aprogram that executes instructions written in a high-level language. There are two

    ways to run programs written in a high-level language. The most common is to compile

    the program; the other method is to pass the program through an interpreter.

    Or

    In computing, an interpreter is a computer program that reads the source code of anothercomputer program and executes that program.

    An interpreter translates high-level instructions into an intermediate form, which it then

    executes. In contrast, a compilertranslates high-level instructions directly into machinelanguage. Compiled programs generally run faster than interpreted programs. The

    advantage of an interpreter, however, is that it does not need to go through the

    compilation stage during which machine instructions are generated. This process can betime-consuming if the program is long. The interpreter, on the other hand, can

    immediately execute high-level programs. For this reason, interpreters are sometimes

    used during the development of a program, when aprogrammerwants to add smallsections at a time and test them quickly. In addition, interpreters are often used in

    education because they allow students to program interactively.

    Both interpreters and compilers are available for most high-level languages. However,BASIC and LISP are especially designed to be executed by an interpreter. In addition,

    page description languages, such as PostScript, use an interpreter. Every PostScript

    printer, for example, has a built-in interpreter that executes PostScript instructions.

    xiii

    http://www.businessdictionary.com/definition/computer-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/action.htmlhttp://www.businessdictionary.com/definition/assembler.htmlhttp://www.businessdictionary.com/definition/compiler.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/execution.htmlhttp://www.businessdictionary.com/definition/execute.htmlhttp://www.businessdictionary.com/definition/examination.htmlhttp://www.businessdictionary.com/definition/modification.htmlhttp://www.businessdictionary.com/definition/executing.htmlhttp://www.webopedia.com/TERM/I/program.htmlhttp://www.webopedia.com/TERM/I/execute.htmlhttp://www.webopedia.com/TERM/I/instruction.htmlhttp://www.webopedia.com/TERM/I/high_level_language.htmlhttp://www.webopedia.com/TERM/I/run.htmlhttp://www.webopedia.com/TERM/I/compile.htmlhttp://cplus.about.com/od/glossary/g/glosource.htmhttp://www.webopedia.com/TERM/I/compiler.htmlhttp://www.webopedia.com/TERM/I/machine_language.htmlhttp://www.webopedia.com/TERM/I/machine_language.htmlhttp://www.webopedia.com/TERM/I/programmer.htmlhttp://www.webopedia.com/TERM/I/BASIC.htmlhttp://www.webopedia.com/TERM/I/LISP.htmlhttp://www.webopedia.com/TERM/I/Page_Description_Language_PDL.htmlhttp://www.webopedia.com/TERM/I/PostScript.htmlhttp://www.webopedia.com/TERM/I/printer.htmlhttp://www.businessdictionary.com/definition/computer-language.htmlhttp://www.businessdictionary.com/definition/processor.htmlhttp://www.businessdictionary.com/definition/program.htmlhttp://www.businessdictionary.com/definition/action.htmlhttp://www.businessdictionary.com/definition/assembler.htmlhttp://www.businessdictionary.com/definition/compiler.htmlhttp://www.businessdictionary.com/definition/machine-language.htmlhttp://www.businessdictionary.com/definition/object.htmlhttp://www.businessdictionary.com/definition/execution.htmlhttp://www.businessdictionary.com/definition/execute.htmlhttp://www.businessdictionary.com/definition/examination.htmlhttp://www.businessdictionary.com/definition/modification.htmlhttp://www.businessdictionary.com/definition/executing.htmlhttp://www.webopedia.com/TERM/I/program.htmlhttp://www.webopedia.com/TERM/I/execute.htmlhttp://www.webopedia.com/TERM/I/instruction.htmlhttp://www.webopedia.com/TERM/I/high_level_language.htmlhttp://www.webopedia.com/TERM/I/run.htmlhttp://www.webopedia.com/TERM/I/compile.htmlhttp://cplus.about.com/od/glossary/g/glosource.htmhttp://www.webopedia.com/TERM/I/compiler.htmlhttp://www.webopedia.com/TERM/I/machine_language.htmlhttp://www.webopedia.com/TERM/I/machine_language.htmlhttp://www.webopedia.com/TERM/I/programmer.htmlhttp://www.webopedia.com/TERM/I/BASIC.htmlhttp://www.webopedia.com/TERM/I/LISP.htmlhttp://www.webopedia.com/TERM/I/Page_Description_Language_PDL.htmlhttp://www.webopedia.com/TERM/I/PostScript.htmlhttp://www.webopedia.com/TERM/I/printer.html
  • 8/8/2019 system programing

    14/15

    Program generator:-

    Software program that enables an individual to easily create a program of theirown with less effort and programming knowledge. With a program generator auser may only be required to specify the steps or rules required for his or herprogram and not need to write any code or very little code.

    Some great examples of a program generator are: Adventure Maker, Alice,Stagecast Creator, and YoYo Games

    Or

    A program generator automatically generates a program based on a flow-chart of a series

    of sequence control processes. The flow-chart is prepared while being displayed on the

    display area of a display means such as CRT, and when the flow-chart is complete, aprogram is automatically generated corresponding to the flow-chart.

    xiv

    http://www.computerhope.com/jargon/s/software.htmhttp://www.adventuremaker.com/http://www.alice.org/http://www.stagecast.com/http://www.yoyogames.com/http://www.computerhope.com/jargon/s/software.htmhttp://www.adventuremaker.com/http://www.alice.org/http://www.stagecast.com/http://www.yoyogames.com/
  • 8/8/2019 system programing

    15/15

    Debug monitor:-

    A debug monitor is very powerful graphical or console mode tool that monitors all

    the activities that are handled by the WinDriver Kernel. You can use the debugmonitor to see how each command that is sent to the kernel is executed.

    A debug monitor, simply put, is a tool that helps to find and reduce the number of

    bugs and defects in a computer program or any electrical device within or attachedto the computer in order to make it act the way it should. While the driver is being

    created and downloaded, the debug monitor helps it work properly. For example,when an armored car drives up to a bank and the guards have to transfer money

    from the truck to the bank, there are special guards that stand watch to make sureno one tries to rob them thus making the transaction go smoothly. Those guards

    could be the debug monitors in the computer industry.

    If the debugging monitor locates a bug or defect in any of the equipment, it will firsttry to reproduce the problem which will allow a programmer to view each string that

    was within the bug or defect range and try to fix it. A programmer is a technician

    who has learned the basic format of computers that make them run. These arestrings of technical information that most people using computers will never see. For

    example, using a clock. The general public will plug in the clock and use it to tell timebut will not open it up to see how it works. That is saved for the people who fix

    clocks. They are the programmers of clocks in the computer industry.

    The programmer will delete strings or add new ones and then use the debug monitor

    to re-create the driver download to see if he fixed the problem. This can be a tedioustask with all the processes that run in the computer, but the debug monitor helps to

    make it a lot easier.

    Debug monitor is a piece of software that has been designed specifically for use as a

    debugging tool for processors and chips. The debug monitor provides a set ofprimitive commands to view and modify memory locations and registers, create and

    remove breakpoints, and execute your program. A remote debugger with knowledge

    of the command format communicates with the debug monitor and combines theseprimitives to fulfill higher-level requests like program download and single-step.

    xv