System Software for UPSC ISS

Published 11 October 2026 · 9 min read · By Shyam Agrawal

System Software for UPSC ISS is the layer nobody sees and the paper keeps asking about. Not the operating system, which gets its own article, but the quieter machinery underneath it: the programs that turn what you wrote into something a processor can run.

Quick answer. System software and language translators have produced 15 questions in the last ten papers, an average of 1.5 a year, or 3.75 marks. The questions circle four things: what separates system from application software, what a compiler does that an interpreter does not, what the linker and loader do, and which languages count as low level.

Statistics Paper I, Section IV. Syllabus items: software, system and application software, and low and high level languages, compiler, assembler. The syllabus names compiler and assembler specifically, which it does for very few things.

System software against application software

System softwareApplication software
Works forThe machineThe user
ExamplesOperating system, compiler, assembler, linker, loader, device drivers, utilitiesWord processor, spreadsheet, browser, media player, statistical packages
RunsIn the background, often automaticallyWhen the user opens it
Needed to run the computerYesNo

The operating system is the principal component of system software. Compilers, assemblers and utilities sit alongside it, not above it.

Utilities are the awkward middle. Antivirus, backup tools, disk defragmenters and file compressors are called utility software, and utilities are normally classified under system software. When a question offers both “system software” and “utility software” as options, the more specific answer is utility software.

Firmware

Firmware is software stored in ROM that cannot be easily changed. BIOS is the standard example. It is not quite hardware and not quite ordinary software, which is exactly why it has its own name and its own question.

Levels of programming language

LevelWhat it isNeeds translation?
Machine languageBinary instructions the processor executes directlyNo
Assembly languageMnemonic codes such as ADD and MOV, one per machine instructionYes, by an assembler
High level languageEnglish like statements: C, Java, PythonYes, by a compiler or interpreter

Machine language and assembly language are the low level languages. C is a high level language, not an assembly language, and that exact false statement has appeared in the paper.

Machine language programs are very efficient for one reason only: the processor understands them directly, so no translation step is needed at run time. They are also nearly impossible to write and completely machine dependent.

Compiler, interpreter and assembler

The three translators, and the differences the paper actually asks about.

CompilerInterpreterAssembler
TranslatesHigh level to machine levelHigh level to machine levelAssembly to machine level
Works onThe whole program at onceOne line at a timeThe whole program
Produces an object fileYesNoYes
Reports errorsAll at the end of the scanAt the first error, then stopsAt the end
Speed of execution afterwardsFasterSlowerFaster

Both a compiler and an interpreter translate high level code into machine level instructions. That part is the same. The difference is whether the translation happens all at once and produces a stored object file, or line by line with nothing saved.

What a compiler can diagnose. A compiler finds syntax errors, meaning errors in the grammar of the language. It cannot find logical errors, because a program that computes the wrong answer using perfectly legal statements is still a perfectly legal program. This distinction returns in Functions, Modules, Exceptions and Debugging.

Inside the compiler

The paper has asked about one phase by name, so the sequence is worth holding.

PhaseInputOutput
1. Lexical analysisThe source code as raw charactersTokens
2. Syntax analysisTokensA parse tree
3. Semantic analysisParse treeAn annotated tree
4. Code generationIntermediate codeObject code

The output of the lexical analyzer is tokens. A token is the smallest meaningful unit, such as a keyword, an identifier, an operator or a constant.

Linker, loader and the runtime environment

Three steps after compilation, and three separate questions.

ComponentWhat it does
LinkerTakes the object code of all the modules produced by the translators and combines them into a single executable program
LoaderBrings that executable from storage into main memory and hands control to it
Runtime environmentProvides the services the program needs while it is running: memory allocation, input and output access, error handling

The linker has been asked twice, in 2019 and 2025, both times as “the module that arranges or combines object code into one program”.

Linker against loader in one line. The linker joins, the loader places. Everything else is detail.

Worked Example 1: Tracing a program from source to execution

A program written in C is run for the first time. What happens, in order?

StepComponentResult
1EditorSource code file is written
2CompilerSource is scanned, syntax errors reported, object code produced
3LinkerObject code of all modules and libraries joined into one executable
4LoaderExecutable placed into main memory
5Runtime environmentMemory and input output services provided while it runs

Compile, link, load, run. Four words, four components, and the paper has asked about three of them separately.

Worked Example 2: Compiler or interpreter

A program has a syntax error on line 40 out of 100. What happens under each translator?

CompilerInterpreter
Lines 1 to 39Scanned, no execution yetExecuted
Line 40Error reportedError reported, execution stops
Lines 41 to 100Scanned, further errors also reportedNever reached
Object file producedNo, compilation failedNo, there is never one

The compiler tells you about every error before anything runs. The interpreter runs until it hits the first one. That is the practical difference the exam is testing when it asks which reports errors line by line.

Worked Example 3: Sorting software into its box

Classify: MS Word, Linux, Norton Antivirus, GCC compiler, Google Chrome, device driver.

ItemCategory
MS WordApplication software
LinuxSystem software, an operating system
Norton AntivirusUtility software, which sits under system software
GCC compilerSystem software, a translator
Google ChromeApplication software
Device driverSystem software

Ask one question of each item: does it serve the machine or the user. That settles almost every classification question in this topic.

How This Gets Asked

The C question [2017]

Consider the following statements: 1. C is a high level language. 2. C is an assembly language. 3. A compiler translates a high level language program into machine language.

Statements 1 and 3 are correct. C is a high level language. It is not an assembly language, and the fact that C is often called “close to the hardware” is what the second statement is trading on.

The linker, twice [2019 and 2025]

A software development module that arranges the object code of all the modules that have been generated by the language translators into a single program is [2019]

What is the main purpose of the linker in the compilation process of the programming languages? [2025]

The linker, both times. Asked once as a definition to be named and once as a named thing to be defined, six years apart.

The loader sits in the options on both occasions. The linker joins, the loader places.

The compiler and interpreter question [2024]

Consider the following statements: I. Both compiler and interpreter can translate the program written in high level language into machine level instructions.

True. Candidates who learned “compiler translates, interpreter interprets” mark this false and lose the mark.

Both translate. The difference is timing, scope and whether an object file survives the process.

Quick Revision Table

PointValue
Principal component of system softwareThe operating system
Utility software examplesAntivirus, backup, compression, disk cleanup
Utilities are classified underSystem software
FirmwareSoftware in ROM that cannot be easily changed
Low level languagesMachine language and assembly language
C isA high level language
Machine language is efficient becauseThe processor executes it directly, no translation needed
Compiler translatesThe whole program at once
Interpreter translatesOne line at a time
Object file produced byCompiler and assembler, not the interpreter
Compiler can diagnoseSyntax errors, not logical errors
Assembler translatesAssembly language to machine language
Output of lexical analysisTokens
LinkerCombines object modules into one executable
LoaderPlaces the executable into main memory
Runtime environmentServices provided while the program runs
Language for the Microsoft .NET platformC sharp
Scripting languagesInterpreted, high level, assume a collection of existing programs

Practice Set

Ten questions. No answer key below.

Write your answers in the comments, all ten in a single comment, in the format 1-b 2-a 3-d and so on. The full answer key is posted in this same thread after seven days.

A year in brackets means the question is from that paper. The rest are written in the same pattern.

  1. Machine language programs are very efficient because [2017]
  2. Consider the following statements: 1. C is a high level language. 2. C is an assembly language. 3. A compiler translates a high level language program into machine language. Which of the statements given above are correct? [2017]
  3. Compiler can diagnose [2018]
  4. A software program that cannot be changed easily and is stored in a ROM is known as [2018]
  5. Which one of the following is a low level programming language? [2018]
  6. Which language was designed with an aim to work with Microsoft’s .NET platform? [2020]
  7. What is the output of lexical analyzer? [2021]
  8. Consider the following statements: I. Both compiler and interpreter can translate the program written in high level language into machine level instructions. II. An interpreter creates an object file that can be executed later without the source code. Which of the statements given above is or are correct? [2024]
  9. What is the main purpose of the linker in the compilation process of the programming languages? [2025]
  10. In an absolute loading scheme, which function is normally performed by the assembler instead of the loader? [2026]

Frequently Asked Questions

How many questions come from system software in UPSC ISS?

Fifteen across the ten papers from 2017 to 2026, about 1.5 a year, worth 3.75 marks. Operating systems are counted separately and are worth far more.

What is the difference between a compiler and an interpreter?

Both translate high level code into machine instructions. A compiler processes the whole program at once and produces an object file. An interpreter processes one line at a time and produces no object file.

Is C a high level or low level language?

C is a high level language. Machine language and assembly language are the low level languages. C is sometimes described as close to the hardware, which is what makes the false statement tempting.

What is the difference between a linker and a loader?

The linker combines the object code of several modules and libraries into one executable program. The loader brings that executable into main memory so it can run. The linker joins, the loader places.

What is the output of a lexical analyzer?

Tokens. A token is the smallest meaningful unit of the source code, such as a keyword, identifier, operator or constant.

Can a compiler detect logical errors?

No. A compiler detects syntax errors, meaning breaches of the grammar of the language. A program that produces the wrong answer using valid statements compiles perfectly.

Is antivirus system software or application software?

Antivirus is utility software, and utilities are normally classified under system software. When both options appear, choose the more specific one, which is utility software.

Related Reading

Part 6 of 16 in the Computer Series for UPSC ISS. Previous: Input and Output Devices for UPSC ISS. Next: Operating Systems for UPSC ISS, published 13 October at 8:00 AM.

Shyam Agrawal, founder of StatChakravyuh

Shyam Agrawal

MSc from IIT Bombay. IIT JAM All India Rank 51. Founder of StatChakravyuh, where he builds practice programs for UPSC ISS, UGC NET, IIT JAM and GATE Statistics. Every syllabus and date on this site is checked against the official notification before publishing.

UPSC ISS 2027 · Complete Chakravyuh

Stop buying tests one by one. Get all 6 papers in one package.

Complete Chakravyuh is the complete UPSC ISS test series for 2027. More than 6000 questions across all 6 papers, with every descriptive answer evaluated within 3 days. Practice. Improve. Repeat.

6000+Questions
All 6Papers Covered
6 + 1Courses in One
3 DaysAnswer Evaluation
₹8,999 ₹15,999 Limited period price

Have a doubt or suggestion? Message us on WhatsApp

0 0 Upvotes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Got a similar doubt? Discuss here.x
()
x
Chat with us