twitter
    The place where CEO's meet !

Friday, July 24, 2009

System programming: The inside story

From the day of evolution, computing had been adopting new trends led by the corporate strategies and the industry demands. The birth of desktop computers, rapid growth of the Internet users, vertical down-fall of computer prices and development of many emerging technologies, all these reasons contributed to promote the use of computer technologies in almost every area of application. Few new trends soon harbored at the individual solutions for specific systems and manual solutions. Finally, two broad programming trends were formed namely system programming and application programming. As a result, the industry is divided into two major classifications: System software based and Application software based. However, both use some common software for their basic requirements; but these groups differ in their objectives for which, they are using computer technologies. 

Exactly, what is 'system' programming? a trend of computing used to develop software for the needs of system vendors, designers and system requirements is referred to as system programming. Contrarily, a trend of computing used to develop applications for the end-use, is known as application programming. 

As a career objective, application programming has a wide scope of opportunities and job opening s compared to system programming. But still, for the system programmers with enough depth of knowledge and hardworking nature, many bright openings and handsome positions from good MNC's are available. The common strategy for the people who choose system programming is: "If you dig, dig a gold mine!" System programming is not only an area of common interest, but a single rope mania too. Without having a perfect conception, one can't proceed in system programming much. In-fact, this is a very reason, why everybody can't become proficient in this field. 

According to many people, system programming simply refers to design of some compilers, language processors or any operating system internals. However, there exits some overwhelm about system programming scope. There are many areas of computing in the field of system programming, out of which commonly many are unseen by enthusiasts. These areas can be broadly grouped into two major fields:


Operating systems Design and Implementation :


  • Startup BIOS Routines
  • Hardware Detection Routines
  • Generic Device Driver Implementation
  • Specific Device Driver Implementation
  • System Registry and Software Configuration
  • System Tools such as Check Disk, Format, Partition Software, Administration tools.
  • CPU and process schedulers
  • File system Design and Implementation
  • Memory management, Virtual memory
  • Language processors design(Assemblers, Compilers, Linkers, Loaders and Interpreters) 
    System API Design
  • Operating System Kernel Design
  • Operating System Shell Design
  • System-calls and Internals of O/S 
    Interrupt Requests
  • Microprocessor Simulation Tools in O/S
  • Other areas of system programming: 

  • Network Programming(Socket Programming)
  • RPC (Remote Procedure Calls)
  • Graphics Programming
  • Text and Graphics editing tools
  • Data Compression
  • Cryptography and Security Systems
  • Embedded programming, RTOS
  • Programming for Programmable Peripheral Interfaces
  • Programming for industrial PLC's (Programmable Logic Controllers)
  • Network Communication Utilities Design
  • Network Protocol Design and Implementation
  • Database Systems Design and Implementation
  • Database drivers, protocols design
  • Installers, Self-Extractors and auto-run utilities
  • Wizard programming
  • IDE Design (Integrated Development Environment) 

    As you have seen, programming is having numerous areas of application for it. Though it is vast in nature, mastering few areas is not difficult provided you are having a strong determination and a perfect guidance.

1 comment:

  1. Great Analysis of Application as well as System Programming, this is really a good thing i had read ever......nice work and keep writing these kind of stuffs :)

    ReplyDelete