You are on page 1of 5

What is Translators?

Different type of translators

A program written in high-level language is called as source code. To convert the source code
into machine code, translators are needed.

A translator takes a program written in source language as input and converts it into a program in
target language as output. It also detects and reports the error during translation.

Type of translators

1. Compiler

Compiler is a translator which is used to convert programs in high-level language to low-level


language. It translates the entire program and also reports the errors in source program
encountered during the translation.

               

2. Interpreter

Interpreter is a translator which is used to convert programs in high-level language to low-level


language. Interpreter translates line by line and reports the error once it encountered during the
translation process.

It directly executes the operations specified in the source program when the input is given by the
user. It gives better error diagnostics than a compiler.

               

3. Assembler

Assembler is a translator which is used to translate the assembly language code into machine
language code.

             
PROCESS
A process is a program in execution which then forms the basis of all computation. The process
is not as same as program code but a lot more than it. A process is an 'active' entity as opposed to
the program which is considered to be a 'passive' entity. Attributes held by the process include
hardware state, memory, CPU, etc.

The different Process States

Processes in the operating system can be in any of the following states:

 NEW- The process is being created.


 READY- The process is waiting to be assigned to a processor.
 RUNNING- Instructions are being executed.
 WAITING- The process is waiting for some event to occur(such as an I/O completion or
reception of a signal).
 TERMINATED- The process has finished execution.

THREAD

Thread is an execution unit that consists of its own program counter, a stack, and a set of
registers where the program counter mainly keeps track of which instruction to execute next, a
set of registers mainly hold its current working variables, and a stack mainly contains the history
of execution

Threads are also known as Lightweight processes. Threads are a popular way to improve the
performance of an application through parallelism. Threads are mainly used to represent a
software approach in order to improve the performance of an operating system just by reducing
the overhead thread that is mainly equivalent to a classical process.

The CPU switches rapidly back and forth among the threads giving the illusion that the threads
are running in parallel.

Differences between process and thread

Utility Software

Utility software, often referred as utility is a system software that is designed to help analyze,
configure, optimize or maintain a computer and enhance the computer’s performance. It is a
program that performs a specific task, which is usually related to managing the system resources.
Utilities are sometimes also installed as memory-resident programs.

Utility software usually focuses on how the computer infrastructure that includes computer
hardware, application software, operating system and data storage programs operates. These
utilities could range from the small and simple to the large and complex that can perform either a
single task or a multiple tasks. Some of the functions performed by these utilities are data
compression, disk defragmentation, data recovery, management of computer resources and files,
system diagnosis, virus detection, and many more.

Examples of Utility Program

 Disk defragmenters
 Network Managers
 Application Launchers
 Antivirus software
 Backup software
 Disk repair
 Disk Cleaners
 Registry Cleaners
 Disk Space analyzer
 File manager
 File Compression
 Data Security etc.

DEVICE DRIVERS

When a user adds a new component to the computer system, for instance a printer, the device
drivers will allow the communication and recognition of the component with the operating
system, so that the new piece of hardware can function properly.

Definition

A device driver refers to a computer program, which controls or operates a particular type of
device that is attached to the computer. A device driver provides a software interface to hardware
devices, thus enabling operating systems and computer programs to access and communicate
with the hardware functions without requiring to acknowledge details about the hardware that is
being used.

This communication occurs through a computer bus, or a communications subsystem to which


the hardware connects.

A computer bus refers to a communication path that transfers data between components inside a
computer or between computers. Many computer components require device drivers, and some
common examples are:

 Computer printers
 Scanners
 Modems,
 Sound cards
 Network cards etc.

You might also like