FIT Unit 2 Notes
FIT Unit 2 Notes
Computer Software:
Software is a set of programs, which is designed to perform a well-defined function.
A program is a sequence of instructions written to solve a particular problem.
There are two types of software −
System Software
Application Software
System Software
Application Software
Payroll Software
Student Record Software
Inventory Management Software
Income Tax Software
Railways Reservation Software
Microsoft Office Suite Software
Microsoft Word
Microsoft Excel
Microsoft PowerPoint
Computer programs are generally written in high-level languages (like C++, Python,
and Java).
A language processor, or language translator, is a computer program that convert
source code from one programming language to another language or human readable
language.
They also find errors during translation.
1. Compiler
The language processor that reads the complete source program written in high-level
language as a whole in one go and translates it into an equivalent program in machine
language is called a Compiler.
Example: C, C++, C#.
In a compiler, the source code is translated to object code successfully if it is free of
errors.
The compiler specifies the errors at the end of the compilation with line numbers
when there are any errors in the source code.
The errors must be removed before the compiler can successfully recompile the
source code again the object program can be executed number of times without
translating it again.
2. Assembler
The Assembler is used to translate the program written in Assembly language into
machine code.
The source program is an input of an assembler that contains assembly language
instructions.
The output generated by the assembler is the object code or machine code
understandable by the computer.
Assembler is basically the 1st interface that is able to communicate humans with the
machine.
We need an assembler to fill the gap between human and machine so that they can
communicate with each other.
Code written in assembly language is some sort of mnemonics(instructions) like
ADD, MUL, MUX, SUB, DIV, MOV and so on and the assembler is basically able to
convert these mnemonics in binary code.
Here, these mnemonics also depend upon the architecture of the machine.
For example, the architecture of intel 8085 and intel 8086 are different.
3. Interpreter
The translation of a single statement of the source program into machine code is done
by a language processor and executes immediately before moving on to the next line
is called an interpreter.
If there is an error in the statement, the interpreter terminates its translating process at
that statement and displays an error message.
The interpreter moves on to the next line for execution only after the removal of the
error.
An Interpreter directly executes instructions written in a programming or scripting
language without previously converting them to an object code or machine code.
An interpreter translates one line at a time and then executes it.
Example: Perl, Python and Matlab.
Difference Between Compiler and Interpreter
Compiler Interpreter
A compiler is a program that converts the entire An interpreter takes a source program
source code of a programming language into and runs it line by line, translating
executable machine code for a CPU. each line as it comes to it.
The compiler takes a large amount of time to An interpreter takes less amount of
analyze the entire source code but the overall time to analyze the source code but the
execution time of the program is comparatively overall execution time of the program
faster. is slower.
Loader
The main function of a loader is to load executable files to the main memory.
It takes the executable files (generated by linker) as its input.
It can be understood as a process of loading the executable codes into main memory where
it is execute further.
There are 3 types of loaders: Absolute loading, Relocatable loading and Dynamic run-time
loading.
It helps allocate the addresses to executable codes or files.
It is also responsible to adjust the references that are used within the program.
Differences between Linker and Loader are as follows:
LINKER LOADER
The linker takes input of object code generated And the loader takes input of
by compiler/assembler. executable files generated by linker.
Linkers are of 2 types: Linkage Editor and Loaders are of 4 types: Absolute,
Dynamic Linker. Relocating, Direct Linking, Bootstrap.
Another use of linker is to combine all object It helps in allocating the address to
modules. executable codes/files.
Introduction to MS Office
Currently, MS Office 2016 version is being used across the world and all its applications are
widely used for personal and professional purposes.
Discussed below are the applications of Microsoft Office along with each of their functions.
1. MS Word
2. MS Excel
4. MS Access
5. MS Outlook
6. MS OneNote
Operating System
Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part
are not in use.
In multiprogramming, the OS decides which process will get memory when and how
much.
Allocates the memory when a process requests it to do so.
De-allocates the memory when a process no longer needs it or has been terminated.
Processor Management
Keeps tracks of processor and status of process. The program responsible for this task
is known as traffic controller.
Allocates the processor (CPU) to a process.
De-allocates processor when a process is no longer required.
Device Management
Keeps tracks of all devices. Program responsible for this task is known as the I/O
controller.
Decides which process gets the device when and for how much time.
Allocates the device in the efficient way.
De-allocates devices.
File Management
Keeps track of information, location, uses, status etc. The collective facilities are often
known as file system.
Decides who gets the resources.
Allocates the resources.
De-allocates the resources.
Each task is given some time to execute so that all the tasks work smoothly. Each user
gets the time of the CPU as they use a single system.
These systems are also known as Multitasking Systems. The task can be from a single
user or different users also.
The time that each task gets to execute is called quantum. After this time interval is
over OS switches over to the next task.
Advantages of Time-Sharing OS
Reliability problem.
One must have to take care of the security and integrity of user programs and data.
Data communication problem.
High Overhead: Time-sharing systems have a higher overhead than other operating
systems due to the need for scheduling, context switching, and other overheads that
come with supporting multiple users.
Complexity: Time-sharing systems are complex and require advanced software to
manage multiple users simultaneously. This complexity increases the chance of
bugs and errors.
Security Risks: With multiple users sharing resources, the risk of security breaches
increases. Time-sharing systems require careful management of user access,
authentication, and authorization to ensure the security of data and software.
Failure of one will not affect the other network communication, as all systems are
independent of each other.
Electronic mail increases the data exchange speed.
Since resources are being shared, computation is highly fast and durable.
Load on host computer reduces.
These systems are easily scalable as many systems can be easily added to the
network.
Delay in data processing reduces.
These systems run on a server and provide the capability to manage data, users,
groups, security, applications, and other networking functions.
These types of operating systems allow shared access to files, printers, security,
applications, and other networking functions over a small private network.
One more important aspect of Network Operating Systems is that all the users are
well aware of the underlying configuration, of all other users within the network,
their individual connections, etc. and that’s why these computers are popularly
known as tightly coupled systems.
Advantages of Network Operating System
These types of OSs serve real-time systems. The time interval required to process
and respond to inputs is very small.
This time interval is called response time.
Real-time systems are used when there are time requirements that are very strict
like missile systems, air traffic control systems, robots, etc.
Types of Real-Time Operating Systems
Advantages of RTOS
Disadvantages of RTOS
Limited Tasks: Very few tasks run at the same time and their concentration is very
less on a few applications to avoid errors.
Use heavy system resources: Sometimes the system resources are not so good and
they are expensive as well.
Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
Device driver and interrupt signals: It needs specific device drivers and interrupts
signal to respond earliest to interrupts.
Thread Priority: It is not good to set thread priority as these systems are very less
prone to switching tasks.
What is Booting?
Booting is a process of starting a computer or computer like device such as a
smartphone, etc.
Therefore, booting of a computing device start when we press the power button of the
device, it makes the computer or the device ready for use.
Actually, when a computer or any computing device is switched off, its operating
system remains in the secondary memory like hard disk of the system.
But for execution of a software, it must be in the main memory of the system. Hence,
booting may also be defined in other words as, the process of loading the operating
system from secondary memory into main memory of the device is called booting.
When we press power button of the device, the BIOS of the system is activated which
locates and loads the operating system into the main memory, this process of loading
the operating system into main memory is called booting.
Types of Booting
Based on the current state of the computer or computing device, the booting is classified into
the following two types −
Cold Booting − When computer is in the powerless state, and is started by the user by
pressing the power button of the system unit. In this case, the operating system is
loaded from the disk to the main memory, this type of booting is referred to as cold
booting.
Warm Booting − Sometimes situations arises when the system has stopped working
and needs to be restarted. In other words, when system is already running and
required to be restarted so that it will boot again, this type of booting is called warm
booting.
Booting Process in DOS Operating System
In DOS (Disc Operating System), the booting process begins when we press the
power button of system unit and continues until the DOS command prompt is
appeared on the computer screen.
In DOS operating system, booting process primarily deals with the loading of the
following three DOS system files into the main memory of the system −
IO.SYS
MSDOS.SYS
COMMAND.COM
We can understand the booting process in DOS operating system in the following steps −
Step 1
When the computer system is started by pressing the power button, the BIOS (Basic
Input-Output System) performs several important functionality tests on the programs
in ROM (Read Only Memory).
This is called Power-On Self Test (POST). POST checks the system for correct
peripheral configurations, i.e. whether the peripherals are connected in perfect order
or not.
Step 2
Once the BIOS is done with the basic functionality test, it finds the master boot record
(MBR) in the first physical sector of the bootable disk as per the boot device sequence
specified.
For example, if the boot device sequence is −
Hard Disk Drive
Floppy Disk Drive
CD-ROM
Step 3
Hence, the BIOS will search for the master boot record first in the hard disk drive. If
it is not found, then search in the floppy disk drive.
If not found in the floppy disk drive as well, the it will search in the CD-ROM. In
case, when the system is unable to find the master boot record in all these resources, it
shows a message “No Boot Device Found” on the screen and the system will stop.
If master boot record is found in any of the bootable disk drivers, the operating
system loader (also called Bootstrap Loader) is loaded from the bootable drive into
the main memory.
Step 4
The bootstrap loader first loads the DOS system IO.SYS, and after this it loads
the MSDOS.SYS file that is the core file of the disk operating system.
Step 5
The MSDOS.SYS file finds the command interpreter in another system file
named CONFIG.SYS.
When it is found, it is to be loaded into the main memory. In case when no command
interpreter is specified in the CONFIG.SYS, then the COMMAND.COM file is
loaded into the main memory as the default command interpreter of the disk operating
system.
Step 6
At last, the AUTOEXEC.BAT file is loaded and executed. This file contains the
sequence of DOS commands.
Once the AUTOEXEC.BAT is loaded, the DOS command prompt is displayed on the
computer screen.
We can see the letter of the bootable drive in the prompt screen. This indicates that
the operating system is successfully loaded from disk into the main memory. At this
stage, the system is ready to use.
This is how the booting process takes place in the disk operating system.
High-Level Language
A High-Level Language is a computer programming language that uses English like
statements to write the computer instructions.
High-level languages are most widely programming languages because they are easy
to understand to human being.
Here is a list of some important characteristics of high-level languages −
It can be easily interpreted as well as compiled in comparison to low-level language.
It can be considered as a programmer-friendly language.
It is easy to understand.
It is easy to debug.
It is simple in terms of maintenance.
It requires a compiler/interpreter to be translated into machine code.
It can be run on different platforms.
It can be ported from one location to another.
It is less memory efficient, i.e., it consumes more memory in comparison to low-level
languages.
Examples of high-level languages include C, C++, Java, and Python.
It is widely used.
Low-Level Language
A Low-Level Language is also a category of computer programming language in
which the computer codes are written in the binary language or machine codes.
Because of this, low-level language is sometimes also known as machine language.
The low-level language is less friendly for human (programmer), but more friendly
for machine because the computer processor can directly process the codes written in
the low-level language.
The following are the important characteristics of a low-level language −
It can be understood easily by the machine.
It is considered as a machine-friendly language.
It is difficult to understand.
It is difficult to debug.
Its maintenance is also complex.
It is not portable.
It depends on the machine; hence it can't be run on different platforms.
It requires an assembler that would translate instructions.
It is not used widely in today's times.
It requires the assembler to convert the assembly It requires the compiler to convert the high-level
code into machine code. language instructions into machine code.
The machine code cannot run on all machines, so The high-level code can run all the platforms, so it is
it is not a portable language. a portable language.
Debugging and maintenance are not easier in a Debugging and maintenance are easier in a high-
low-level language. level language.