A collection of programs that controls how the computer system runs and processes information is called
- (a)Compiler
- (b)Operating System
- (c)Linker
- (d)Assembler
Answer
Why
Correct — B, (b) Operating System.
THE STEM IS A DEFINITION, AND THREE OF ITS WORDS DO ALL THE WORK.
'A COLLECTION of programs' — not one program. An operating system is a bundle: a kernel, a set of device drivers, system utilities and an interface through which the user reaches them. Every other option on this list is a SINGLE program with a single job. 'CONTROLS how the computer system RUNS' — the defining verb. The thing being described is in charge of the machine while it is working, not something that prepares a program before it works. 'PROCESSES INFORMATION' — it manages the flow of data between processor, memory, storage and devices.
Only the operating system answers to all three.
WHAT AN OPERATING SYSTEM ACTUALLY DOES, which is the substance behind the definition. It sits between the hardware and everything else and manages five kinds of resource:
PROCESS MANAGEMENT — creating, scheduling, suspending and terminating programs in execution, and deciding which of several waiting processes gets the processor next. MEMORY MANAGEMENT — allocating and reclaiming main memory, keeping one program from writing into another's space, and providing virtual memory so that programs larger than physical memory can run. FILE MANAGEMENT — organising storage into files and directories, controlling who may read or write them, and tracking free space. DEVICE AND INPUT-OUTPUT MANAGEMENT — driving printers, disks, keyboards and network interfaces through device drivers, and buffering and spooling their traffic. PROTECTION, SECURITY AND THE USER INTERFACE — authenticating users, enforcing permissions, and presenting either a command line or a graphical interface.
WHY THE OTHER THREE OPTIONS CANNOT BE THE ANSWER, taken as a group before they are taken one by one. A compiler, an assembler and a linker are all LANGUAGE-PROCESSING TOOLS. Each takes a program in one form and produces it in another, and each finishes and exits. They belong to the stage BEFORE a program runs. The operating system belongs to the stage during which the machine runs, and it is still running when nothing else is. That single distinction — translation tools versus resource manager — settles the item without any need to compare the three tools with one another.
A USEFUL PIECE OF VOCABULARY that this question sits next to. The KERNEL is the core of an operating system, the part always resident in memory that handles the most fundamental services; the SHELL is the outer layer through which commands are given. The stem's 'collection of programs' includes both, plus the drivers and utilities around them, which is exactly why the plural is there.
The stem is printed with a singular verb after a plural noun — 'A collection of programs that controls' — and ends on the words 'is called' with no punctuation. Both are reproduced as the booklet sets them.
Why the others are wrong
- (a)Compiler — A compiler is a real and important piece of system software, but it is a single program with a single job: TRANSLATING a program written in a high-level language such as C or Java into machine code or object code that the processor can execute. It reads the entire source program, checks it, reports the errors it finds together, and produces an output file — then it is finished and it exits. It does not schedule processes, does not allocate memory to other programs, does not manage files or devices, and plays no part at all in how the machine behaves once the translated program is running. The contrast usually asked alongside it is with an INTERPRETER, which translates and executes a program statement by statement rather than producing an executable in advance, stopping at the first error it meets; a compiler is generally faster at run time and an interpreter easier to debug with. Neither is a collection of programs and neither controls the system.
- (c)Linker — A linker is the program that takes the several object modules produced by a compiler or assembler, together with any library routines the program calls, and combines them into a single executable file, resolving the cross-references between them so that a call in one module finds the routine in another. Its work is a late stage of building a program, and like the compiler it runs, completes and exits before the program itself is ever executed. It is worth learning the linker together with the LOADER, which is the program that then places the executable into main memory and prepares it to run — and worth noting that on most modern systems the loader is a part of the operating system, which is exactly the relationship the option gets backwards. A linker is one of the tools the system provides; it is not the thing that controls the system.
- (d)Assembler — An assembler translates a program written in ASSEMBLY LANGUAGE — the human-readable form of a machine's own instruction set, using mnemonics such as MOV, ADD and JMP — into the binary machine code the processor executes. Because assembly language corresponds very closely to machine instructions, the translation is largely one instruction to one instruction, which is what distinguishes an assembler from a compiler: a compiler translates from a high-level language far removed from the hardware and may generate many machine instructions from a single source statement. Like the compiler and the linker, an assembler is one program with one task, it produces a file and stops, and it exercises no control over the running machine. Grouping the three wrong options together is the fastest route through this item: all three are translation tools that operate on programs, and only the operating system manages the machine itself.
Concept
AN OPERATING SYSTEM is the collection of system programs that manages a computer's hardware and software resources and provides the services on which application programs depend. It is the layer between the hardware and everything the user does, and it is the one piece of software that is running whenever the machine is on.
ITS PRINCIPAL FUNCTIONS. PROCESS MANAGEMENT — creating and terminating processes, scheduling the processor among them, handling synchronisation between them and dealing with deadlock. MEMORY MANAGEMENT — tracking which parts of main memory are in use and by whom, allocating and freeing it, and implementing virtual memory through paging or segmentation so that programs need not fit in physical memory. FILE SYSTEM MANAGEMENT — the abstraction of files and directories over raw storage blocks, along with permissions and free-space management. DEVICE MANAGEMENT — device drivers, interrupt handling, buffering and spooling, so that applications can use a printer or a disk without knowing anything about the particular model. SECURITY AND PROTECTION — authenticating users, isolating processes from one another, and enforcing access rights. USER INTERFACE — a command-line shell, a graphical interface, or both.
ITS INTERNAL STRUCTURE. The KERNEL is the resident core that provides the most basic services and runs in a privileged processor mode. Around it sit device drivers, system utilities and libraries. The SHELL is the command interpreter through which a user issues instructions. Applications reach kernel services through SYSTEM CALLS.
TYPES OF OPERATING SYSTEM, a favourite classification in examinations. BATCH — jobs are collected and run in groups without user interaction; the earliest form. MULTIPROGRAMMING — several programs are held in memory and the processor switches to another whenever one waits for input or output, keeping the processor busy. TIME-SHARING or MULTITASKING — the processor is switched between users or tasks so rapidly that each appears to have the machine to itself. MULTIPROCESSING — more than one processor under one operating system. REAL-TIME — guarantees a response within a fixed time bound, as required in process control, avionics and medical equipment. A hard real-time system treats a missed deadline as a failure. DISTRIBUTED — a collection of independent machines presented to the user as one system. EMBEDDED — a small operating system built into an appliance or instrument. NETWORK — provides shared services such as files and printers across a network.
FAMILIAR EXAMPLES. Microsoft Windows, UNIX and its descendants, Linux in its many distributions, macOS, and the mobile systems Android and iOS. In India, BOSS — Bharat Operating System Solutions — is a Linux distribution developed by C-DAC, the Centre for Development of Advanced Computing, and promoted for government use.
THE NEIGHBOURING VOCABULARY, which is what the wrong options here are drawn from. Software divides into SYSTEM software and APPLICATION software. Within system software sit the operating system and the LANGUAGE PROCESSORS. COMPILER — translates a whole high-level program into machine or object code before execution, reporting errors collectively. INTERPRETER — translates and executes statement by statement, stopping at the first error. ASSEMBLER — translates assembly language mnemonics into machine code, close to one for one. LINKER — combines object modules and library routines into one executable, resolving references between them. LOADER — brings an executable into memory and starts it; usually a part of the operating system. A candidate who can state these five in one line each will answer most of the software questions that appear on these papers.
Information technology carries about eleven questions on this APFC paper, and this is the most basic of them — but its option set is built with some care and it is not a giveaway.
Notice that all four options are SYSTEM software. There is no application, no hardware component and nothing absurd on the list, so a candidate cannot narrow the field by category. The three wrong options are moreover related to one another rather than scattered: compiler, assembler and linker are the three stages by which a written program becomes an executable file. That gives the item a hidden structure — one resource manager against three translation tools — and a candidate who sees that structure has the answer immediately, because the stem's verb 'controls how the computer system runs' can only describe the manager.
The stem also states, quietly, the property that distinguishes an operating system from every other candidate: it is 'a collection of programs', in the plural. A compiler is a program. A linker is a program. An assembler is a program. An operating system is a kernel plus drivers plus utilities plus an interface, which is why it needs the plural, and reading that word carefully is enough on its own.
The habit worth carrying away from an item like this is to work out what CATEGORY the answer must belong to before comparing the options in detail. The stem describes something that runs the machine, so the answer is in the resource-management category, and every option outside it can be set aside at once without needing to remember the fine distinction between a linker and a loader.
The booklet prints 'A collection of programs that controls' with a singular verb following a plural noun, which is the paper's own construction and is reproduced here as set.
Key facts
- An operating system is the collection of system programs that manages a computer's hardware and software resources and provides services to applications.
- Its main functions are process management, memory management, file management, device management, security and protection, and the user interface.
- The kernel is the resident core of an operating system; the shell is the command interpreter through which a user reaches it.
- A compiler translates an entire high-level program into machine or object code before execution and reports errors collectively.
- An interpreter translates and executes a program statement by statement and stops at the first error.
- An assembler translates assembly language mnemonics into machine code, close to one instruction for one.
- A linker combines object modules and library routines into a single executable and resolves references between them.
- A loader places an executable into main memory and starts it, and is normally part of the operating system.
- Operating systems are classified as batch, multiprogramming, time-sharing, multiprocessing, real-time, distributed, embedded and network systems.
- A real-time operating system guarantees a response within a fixed time bound and is used in process control, avionics and medical instruments.
- BOSS, Bharat Operating System Solutions, is a Linux distribution developed by C-DAC and promoted for use in Indian government offices.
Study next
Common traps
- Treating an operating system as a single program. The stem's plural, 'a collection of programs', is the clue that separates it from every other option here.
- Confusing a compiler with an interpreter. The compiler translates the whole program in advance; the interpreter translates and runs it line by line.
- Confusing a linker with a loader. The linker combines object modules into an executable; the loader puts that executable into memory to run.
- Assuming an assembler handles high-level languages. It handles assembly language, which is a symbolic form of the machine's own instructions.
- Calling the kernel the whole operating system. The kernel is its core, not its entirety.
- Classifying the operating system as application software. It is system software, and it is the software all applications depend on.
Basic computing items on EPFO papers test whether a candidate can attach a precise one-line definition to each term in a small standard vocabulary, and they build their option sets from neighbouring terms so that partial knowledge does not survive. The efficient preparation is a single sheet listing the terms in families — operating system and its functions; compiler, interpreter, assembler, linker and loader; RAM, ROM, cache and secondary storage; the input and output devices — with one sentence each. Where an item gives a definition and asks for the term, find the verb: 'controls', 'translates', 'combines', 'stores' each point to a different family, and identifying the family is normally enough to answer without comparing the options in detail. Later EPFO papers ask the same vocabulary at one level of detail deeper, naming a particular type of operating system or a particular register rather than the category, so it is worth learning the sub-classifications as well as the headline terms.
Related PYQs
EPFO_APFC_2016_Q77The devices that work with computer systems as soon as they are connected are described as
- (a) Hot Swapping
- (b) Bay Swap
- (c) Plug-N-Play
- (d) USB Swapping
Answer(c) Plug-N-Play
What devices that work as soon as they are connected are called — the companion item on this paper testing the device-management side of exactly the function set described here.
EPFO_APFC_2023_Q49Which one of the following types of operating systems is designed to respond to an event within a predetermined time?
- (a) Embedded
- (b) Real time
- (c) Multiuser
- (d) Synchronized
Answer(b) Real time
Which type of operating system is designed to respond to an event within a predetermined time — a later EPFO item asking the same topic one level deeper, at the sub-classification rather than the category.
EPFO_EOAO_2023_Q48In the context of a buffer in memory area or disk, spool refers to :
- (a) Simple peripheral operation on-line
- (b) Simple peripheral operation off-line
- (c) Simultaneous peripheral operation on-line
- (d) Simultaneous peripheral operation off-line
Answer(c) Simultaneous peripheral operation on-line
What 'spool' stands for in the context of a buffer in memory or on disk — the input-output management function of an operating system, asked as an acronym on a later EPFO paper.
Practice
- practice — not a real PYQ
Which one of the following combines several object modules and library routines into a single executable file, resolving the references between them ?
- (a)Compiler
- (b)Loader
- (c)Linker
- (d)Interpreter
Answer(c) Linker — it merges the object modules produced by a compiler or assembler with the library routines the program calls and resolves the cross-references between them. The compiler produces those object modules in the first place, the loader afterwards places the finished executable into memory, and an interpreter produces no executable at all.
- practice — not a real PYQ
The part of an operating system that is permanently resident in memory and provides its most basic services is called the
- (a)Shell
- (b)Kernel
- (c)Device driver
- (d)Utility program
Answer(b) Kernel — it is the resident core of the operating system, running in a privileged processor mode and providing process, memory and device services. The shell is the command interpreter around it, a device driver serves one class of hardware, and a utility program performs a housekeeping task.