Module 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Introduction

Module-1
Definition
Definition(Cont..)
Evolution of the Components
of System Software

• The various components of system


software are:
▪ 1. Assemblers
▪ 2. Loaders and Linkers
▪ 3. Macros
▪ 4. Compilers or interpreters
▪ 5. Operating system
Assembler
▪ An assembler is a program that translates
assembly language code into machine
code or an intermediate code.
▪ Assembly language is a low-level
programming language that is specific to
a particular computer architecture. It
consists of mnemonics and symbols that
represent the machine instructions of a
given processor.
▪ The assembler converts the assembly
code into machine code, which is a set of
binary instructions that the computer's
central processing unit (CPU) can
execute directly.
• Loader:
• A loader is a program or part of an operating system that loads executable files into the computer's
memory for execution.
• After a program is compiled or assembled, it is typically stored in a file on disk in a format that is
not directly executable by the computer's hardware.
• The loader is responsible for bringing the executable code and data from the program file into the
computer's memory, making it ready for execution.
• It also performs address binding, which involves resolving references between different parts of
the program and adjusting memory addresses accordingly.
• Linker:
• A linker is a utility that combines various object files generated by the compiler into a single
executable program.
• During the compilation process, a program is often divided into multiple source code files, each of
which is compiled separately into an object file. These object files need to be linked together to
create the final executable.
• The linker resolves symbolic references and addresses between different object files, ensuring that
all the pieces fit together seamlessly.
• It can also include library code into the executable, resolving references to external functions.
• There are two types of linking:
• Static Linking: The linker combines all necessary code into a single executable before the
program runs.
• Dynamic Linking: The linking is done at runtime, and shared libraries are linked during
program execution.
• Macro:
• In the context of system programming, a macro refers to a set of instructions or
statements that are defined and expanded in a program.
• Macros are often used to define reusable code snippets or to perform repetitive tasks.
• They can be simple text substitutions or more complex procedures, and they are
expanded by the preprocessor before the actual compilation process.
• Compiler:
• A compiler is a program that translates high-level programming language code (like
C, C++, Java) into machine code or an intermediate code.
• Unlike an assembler, which works with assembly language, a compiler translates
code written in a higher-level language into a form that can be executed by the
computer's hardware.
• The compilation process involves several stages, including lexical analysis, syntax
analysis, optimization, and code generation.
• Interpreter:
• An interpreter is a program that directly executes source code written in a high-level
programming language.
• Instead of translating the entire program into machine code beforehand (as a compiler
does), an interpreter translates and executes the code line by line at runtime.
• Interpreters are often used in scripting languages, where quick development and ease
of debugging are priorities.
Operating System
▪ The operating system (OS) is a software
layer that manages computer hardware
and provides services to application
software.
▪ It acts as an intermediary between the
user and the hardware, handling tasks
such as process management, memory
management, file system management,
and device management.
▪ Examples of operating systems include
Windows, Linux, macOS, and various
versions of Unix.
Editors
• Editors or text editors are software programs
that enable the user to create and edit text
files.
• In the field of programming, the term editor
usually refers to source code editors that
include many special features for writing and
editing code.
• Notepad, WordPad are some of the common
editors used on Windows OS and vi, emacs,
Jed, Pico are the editors on UNIX OS.
• Features normally associated with text editors
are — moving the cursor, deleting, replacing,
pasting, finding, finding and replacing,
saving etc.
▪ There are generally five types of editors:
▪ Line editor: In this, you can only edit one line
at a time or an integral number of lines. You
cannot have a free-flowing sequence of
characters. It will take care of only one line.
➢ Ex : Teleprinter, edlin, teco
▪ Stream editors: In this type of editors, the file
is treated as continuous flow or sequence of
characters instead of line numbers, which
means here you can type paragraphs.
➢ Ex : Sed editor in UNIX
Types of ▪ Screen editors: In this type of editors, the
user is able to see the cursor on the screen and
Editors can make a copy, cut, paste operation easily. It
is very easy to use mouse pointer.
➢ Ex : vi, emacs, Notepad
▪ Word Processor: Overcoming the limitations
of screen editors, it allows one to use some
format to insert images, files, videos, use font,
size, style features. It majorly focuses on
Natural language.
▪ Structure Editor: Structure editor focuses on
programming languages. It provides features
to write and edit source code.
➢ Ex : Netbeans IDE, gEdit.
Some Other Editors
• Full Screen Editors:
▪ In computers, a full-screen editor or
distraction-free editor is a text editor that
occupies full display with the purpose of
sidelining the user from the OS and the
other applications.
▪ It helps the user to focus on writing only
and do not get distracted by the other
applications and the cluttered interface.
▪ Often full screen editors has a dark
background and a text field with a light-
colored text.
▪ They include customizable interfaces and
feature like word count.
➢ Ex : Acme, Coderoom, FocusWriter
Some Other Editors (Cont..)

• Multiple Window Editor:


▪ Multiple window editor allows you to work on more than one file at a time and
cut and paste text from file into another via yanking and putting.
▪ The two fundamental concepts that lie behind multi-window editors are buffer
and windows.
➢ Buffer: Buffer holds the text to be edited. The text may come from a file
or a brand-new text that you want to write on a file. A file only has one
buffer associated with it.
➢ Windows: Windows provides a view to the buffer to see what the buffer
holds and edit and modify it. A buffer may have multiple windows. Any
changes made in any of the windows will be reflected in all other
windows associated with the same buffer. Once the last window
associated with a buffer is closed, the file gets hidden. But if you have
made any changes to the buffer and not have written them into the disk, it
may not allow you to close the window.
Some Other Editors
(Cont..)
• DOS-Editor:
▪ MS-DOS editor or sometimes also known as just edit is a
character-based text editor that comes with MS-DOS and a
32-bit version of windows.
▪ Previously, it was QBASIC running in editor mode but after
DOS-7, it became a standalone program.
▪ It is also used as a substitute for Notepad since notepad can
work only on small files, DOS editor can work on around 66,
257 lines and up to 5 MB file size.
▪ It has features like a customizable color theme, it can open up
to 9 files at a time, it can open files in binary mode.
• VI editor :
• The vi editor (short name for the visual editor) is a screen
editor which is available in UNIX OS.
• Vi has no menus instead it uses a combination of keystrokes
to accomplish tasks.
• An improved version of vi is vim(vi improved).
• Vi editor is usually available in all versions of UNIX OS, its
implementation is very easy, it requires only a few resources
and it is more user-friendly.
• MS-Word Editor
▪ Microsoft Word is a robust word processing
application developed by Microsoft. Serving
as part of the Microsoft Office suite, it
functions as a comprehensive text editor.
▪ Users leverage Word for creating, editing, and
formatting documents, with a plethora of
features like font customization, paragraph
alignment, and page layout tools.
Some Other ▪ The application supports the integration of
graphics, charts, and multimedia content into
Editors documents.
▪ Collaborative features enable real-time editing
(Cont..) and feedback from multiple users.
▪ Spell check, grammar check, and template
options enhance document quality and
efficiency.
▪ Microsoft Word is widely employed for
various purposes, from crafting basic letters to
producing intricate reports and academic
documents.
▪ Its user-friendly interface, regular updates, and
seamless integration with other Office
applications contribute to its popularity in
professional, academic, and personal settings.
MS DOS Editor
Vi Editor
MS-Word Editor
Editing Process
The document editing process mainly compromises of the
following four tasks :
• The part of the document to edited or modifies is selected.
• Determining how to format this lines on view and how to display it.
• Specify and execute the operations that modify the document.
• Update the view properly.

The above steps include filtering, formatting, and traveling.

• Formatting: Visibility on display screen.


• Filtering: Finding out the main/important subset.
• Traveling: Locating the area of interest.
User Interface of
Editors
• The user interface of editors
typically means the input, output and
the interaction language.
▪ The input devices are used to
enter text, data into a document
or to process commands.
▪ The output devices are used to
display the edited form of the
document and the results of the
operation/commands executed.
▪ The interaction language
provides the interaction with the
editor.

You might also like