System Programming - Important Questions with Answers
Q1. Explain system programming? How is it different from application programming?
System programming involves developing software that provides services to the hardware and software of a
computer. It includes OS, compilers, loaders, linkers, etc. It differs from application programming as it
interacts directly with system resources, while applications serve end users.
Q2. Difference between on X85 and X86.
x85 is not a standard; likely a typo. x86 refers to a family of Intel microprocessor architectures. The difference
may relate to instruction sets or generations, but needs clarification.
Q3. What are functions & types of loaders?
Loaders are system programs that load executable files into memory. Types: Absolute Loader, Relocating
Loader, Direct Linking Loader.
Q4. Difference between absolute, relocatable and executable code.
Absolute code runs at a fixed address. Relocatable code can run at different addresses with adjustments.
Executable code is ready to run and includes all necessary references.
Q5. Difference between static & dynamic linking. Explain line editors, full screen editors & multi-win
Static linking binds all libraries at compile time, dynamic linking loads them at runtime. Line editors work on
one line at a time. Full screen editors provide visual layout. Multi-window editors allow editing in multiple
panes.
Q6. Explain function of linker? How does it resolve external references?
A linker combines object files and resolves external references by assigning addresses to symbols and
merging code sections.
Q7. What are the various types of system software? Give explanation.
System Programming - Important Questions with Answers
Types: Compiler, Assembler, Linker, Loader, Debugger, Editor, Macro Processor. Each performs a role in
code development and execution.
Q8. (i) Memory management(ii) Working of a debugger
Memory management controls allocation of memory. Debuggers help find and fix bugs by allowing execution
control, variable inspection, etc.
Q9. What are different types of editors used in system programming?
Editors: Line editor, Full screen editor, Structure editor, Multi-window editor. Each supports specific editing
features.
Q10. How does a virtual machine relate to system programming concept? Explain with example.
A virtual machine emulates a hardware system, useful for running multiple OS environments or testing. It
abstracts system-level details.
Q11. Define the term loader & types of loaders.
A loader brings programs into memory for execution. Types: Absolute Loader, Relocating Loader, Dynamic
Loader.
Q12. What is bootstrapping in system programming? Why is it important?
Bootstrapping is the process of loading a minimal program to start the full system (e.g., BIOS to OS). It's
essential to initiate system startup.
Q13. Explain concept of two-pass assembler? Why it is used?
Two-pass assembler scans code twice: first to build symbol table, second to generate machine code. It helps
handle forward references.
Q14. What is macro processor? How does it differ from a pre-processor?
System Programming - Important Questions with Answers
Macro processor expands macros before compilation. A preprocessor handles directives like #include,
#define. Macro processors are often part of assemblers.