0% found this document useful (0 votes)
38 views

Note On Systems Programming

The document discusses interpreters, compilers, and program translators. An interpreter directly executes high-level code without compilation by translating and executing line by line, while a compiler translates entire code at once to an executable. Program translators convert source code between languages and include compilers, interpreters, and assemblers.

Uploaded by

justdeshy224
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Note On Systems Programming

The document discusses interpreters, compilers, and program translators. An interpreter directly executes high-level code without compilation by translating and executing line by line, while a compiler translates entire code at once to an executable. Program translators convert source code between languages and include compilers, interpreters, and assemblers.

Uploaded by

justdeshy224
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Interpreter:

An interpreter is a program that directly executes instructions written in a high-level


programming language without the need for a separate compilation step. It reads the
source code, translates it into machine code, and executes it line by line.

Some programming languages that are typically interpreted include:

1. Python
2. JavaScript
3. Ruby
4. Perl
5. PHP
6. Lisp
7. Tcl
8. BASIC
9. Shell scripting languages like Bash
10. R
11. MATLAB
12. Lua

Compiler:

A compiler is a software program that translates source code written in a high-level


programming language into machine code or intermediate code that can be executed
directly by a computer. It analyzes the entire source code and generates an executable
file without the need for the original source code. Compilers typically consist of several
phases, including lexical analysis, syntax analysis, semantic analysis, optimization,
and code generation.

Several programming languages are compiled, including:

1. C
2. C++
3. Java (compiled to bytecode, then executed by the Java Virtual Machine)
4. Go (Golang)
5. Swift
6. Rust
7. Ada
8. Fortran
9. Pascal
10. COBOL

Feature Compiler Interpreter

Execution Converts entire source code to Executes source code line by line

1
Feature Compiler Interpreter

machine code

Speed Typically faster execution Generally slower execution

Generates intermediate object code No separate output, directly


Output
or binary interprets code

Error All errors are detected before


Errors detected during execution
Detection execution

Memory Typically uses more memory during


Generally uses less memory
Usage compilation

Often harder to debug due to lack of Easier to debug as errors occur


Debugging
runtime state during execution

Compiled code is often platform Interpreter needs to be available for


Portability
dependent each platform

Examples C, C++, Java Python, Ruby, JavaScript

Functions of Operating Systems:

Operating systems perform several key functions, including:

1. Process Management: This involves managing processes running on the


system, allocating resources, scheduling tasks, and ensuring their proper
execution.
2. Memory Management: The OS controls and coordinates the use of computer
memory, allocating memory space to different processes and managing virtual
memory.
3. File System Management: Operating systems organize and manage files and
directories, including creation, deletion, reading, and writing operations.
4. Device Management: They handle communication with hardware devices such
as printers, keyboards, disks, and network adapters, ensuring efficient data
exchange.
5. Security: OS provides various security mechanisms such as user authentication,
access control, encryption, and firewall protection to safeguard the system and
its resources.
6. User Interface: Operating systems provide user interfaces, which can be
command-line interfaces (CLI), graphical user interfaces (GUI), or both, allowing
users to interact with the system.
7. Networking: They support networking functionalities, enabling communication
between computers and devices over local area networks (LANs) or the internet.

2
8. Error Detection and Handling: OS detects errors, faults, and exceptions, and
handles them appropriately to prevent system crashes and data loss.
9. Resource Allocation: Operating systems manage and allocate system
resources such as CPU time, memory space, and peripheral devices efficiently
among different processes and users.
10. System Monitoring and Performance Tuning: They monitor system activities,
collect performance metrics, and provide tools for system optimization and
performance tuning.

A system program is software designed to manage and control the operation of a


computer system. It typically interacts closely with the hardware and provides
essential functionalities to support the execution of application programs.

There are several types of system programs, including:

1. Operating System (OS): The primary system program that manages computer
hardware resources and provides services to application software. Examples
include Windows, macOS, Linux, and Unix.
2. Device Drivers: These programs facilitate communication between the
operating system and hardware devices such as printers, graphics cards, and
storage devices.
3. Utilities: These are additional programs provided by the operating system to
perform various tasks such as file management, disk maintenance, system
monitoring, and security functions.
4. Language Processors: Compilers, interpreters, and assemblers fall into this
category. They translate high-level programming languages into machine code
or intermediate code that can be executed by the computer.
5. File System Managers: These programs manage the organization and storage
of files on disk drives, ensuring efficient access and retrieval of data.
6. System Libraries: Collections of functions and routines that provide common
functionalities to application programs, such as mathematical operations,
input/output handling, and networking.
7. Security Software: Including antivirus programs, firewalls, and intrusion
detection systems, these programs help protect the system from malicious
software and unauthorized access.

Program Translator:

A program translator is a software tool used to convert source code written in one
programming language into another form, typically into machine code or an
intermediate representation that can be executed by a computer. There are several
types of program translators:

3
1. Compiler: A compiler translates the entire source code of a program into
machine code or an intermediate language before execution. It checks for errors
and produces an executable file.
2. Interpreter: An interpreter translates source code into machine code or
intermediate code line by line, executing each line immediately after translation.
It stops execution when an error is encountered.
3. Assembler: An assembler translates assembly language code into machine
code. It converts mnemonic instructions into binary machine code instructions
that the computer's processor can understand.

You might also like