Computer Notes 2025 Eddd3
Computer Notes 2025 Eddd3
The word computer brings from the word ‘ compute ‘, that means to ‘ calculate.’
A computer understand ‘ Binary ‘ language only.
It produces 100 percent accurate results.
Charles Babbage is considered as the father of computer. It is believed that the Analytical Engine was the first co
mputer which was invented by Charles Babbage in 1837. It used punch cards as read-only memory.
Definition of Computer
A computer is a programmable electronic device that accepts raw data as input and processes it with a set of
instructions (a program) to produce the result as output.
Working of Computer
A computer works on the three basic steps:-
This whole process is term as input- process- output cycle or I- P- O cycle.
Computer input is called data and the output obtained after processing it, based on user’s instructions is
called information. Raw facts and figures which can be processed using arithmetic and logical operations to
obtain information are called data.
CPU
Control unit, arithmetic logic unit and memory are together called the central processing unit or CPU. Computer
devices like keyboard, mouse, printer, etc. that we can see and touch are the hardware components of a
computer. The set of instructions or programs that make the computer function using these hardware parts are
called software. We cannot see or touch software. Both hardware and software are necessary for working of a
computer.
Characteristics of a Computer
There are 5 important characteristics of a computer which makes it a very special machine. They are as follows:-
1. Speed
2. Accuracy
3. Diligence
4. Versatility
5. Storage capacity
1. Speed
A PC can perform operations at a very fast speed.
It can perform thousands of mathematical operations in just a few seconds.
The time it takes to perform these calculations is measured in the terms of nanoseconds or picoseconds.
1 second = 109 nanoseconds
and
1 seconds = 1012 picoseconds
2. Accuracy
A PC is considered to be 100% accurate, provided the data and instructions given to it by the user are up to the
mark.
3. Diligence
A PC can work continuously for hours without getting tired.
The speed and accuracy level also remains the same, even after it works for many hours.
4. Versatility
The same PC machine can be used for performing various jobs.
It suits the needs of different kinds of people involved in different professions.
5. Storage capacity
A PC can store huge amount of data and information in its storage, called memory.
This stored information can be kept and used for a long time.
Advantages of Using a Computer
To increase our productivity.
To connects us to the internet.
It reduce waste and can store vast amount of data.
To improves our employment options.
To save the time.
To assist the physical challenged.
Also find your love in your life.
To keep us entertained.
To help us automate and monitor.
To gave you a better understanding of data.
They help us organize, sort and search through information.
Limitations of a Computer
There are no decision making ability.
It has no intelligence.
They don’t have emotions and feelings.
various functionalities to the user. Hardware are the physical components of a computer
Generations of Computer
The term ” generation ” is generally used to characterise the major developments in the field of computer
industry.Basically, the term generation is used to distinguish between different hardware technologies
developed.
Generations of a computers are divided into five categories. They are named as:-
1. First Generation of computer
2. Second Generation of computer
3. Third Generation of computer
4. Fourth Generation of computer
5. Fifth Generation of computer
First generation computers (1946-1956): They made use of vacuum tubes to store and process information. The
tubes consumed a lot of power and generated a lot of heat (overheating). They were huge in size and occupy a
room. They used magnetic tape. Storage capacity was very low i.e. 2kb and speed of processing was also very
low. First machine in this category was ENIAC (electronic discrete variable automatic computer) and later came
UNIVAC (universal automatic computers). Their input /output capabilities were usually limited to the keyboard
and or punched card input and printer and or punched cart output.
Second generation computers (1957-1967): These computers used transistors after invention of transistors. The
transistor is smaller cheaper and produced less heat than vacuum tubes and consumed less power. The cost of
computers decreased and the speed increased. Removable disk storage units were developed for use on these
machines. The speed of these machines was described in microseconds (1/1000, 000 of a second). These
computers had programming languages whose vocabularies are close to the human natural language, English
language.
Third generation computers (1965-1980)
Introduced the use of very small electronic circuit called integrated circuits (IC) by combining several transistors
together between 3 transistors to make 1 IC. With IC you can house thousands of transistors in one IC. This
change further decreased the size, heat output and the maintenance complexity of the computers while
increasing its speed. The small circuitry that resulted improved the processing speed i.e. 10 times the past. The
speed of these machines was described in nanoseconds (1/1,000,000,000 of a second). They have higher main
memory capacity, reliable and increased processing power (have the capability of holding more than one set of
instructions and operate on them) than the second generation computers.
Fourth generation computers (1980s)
Use large scale integration circuits which housed hundreds of transistors and very large IC which are between
200,000 to 400, 000 in one IC. Memory used includes magnetic disc and optical disc. Memory size expanded up
to several MB and speed was 10 times faster. This generation marked the origin of mini computers in use today.
Fifth generation computers (1990-current)
The design of these computers was based on VLSI (very large scale integration) technology, the micro chip
technology that gave rise to the smaller computers known as the micro computers in use today. These
computers are used in networking .examples of micro computers are IBM PCs BBC micro etc. the micro
computers are usually described as PCs or stand alone or desktop computers because they were designed
primarily to serve single person at a time. The fifth generation is still a state of the art technology that relies on
predictions and further technological refinements.
Classification of Computer
1. Analog Computers: Analog computers are used to process continuous data. Analog computers represent
variables by physical quantities. Thus any computer which solve problem by translating physical conditions such
as flow, temperature, pressure, angular position or voltage into related mechanical or electrical related circuits
as an analog for the physical phenomenon being investigated in general it is a computer which uses an analog
quantity and produces analog values as output.
2. Digital Computers: Digital computer represents physical quantities with the help of digits or numbers. These
numbers are used to perform Arithmetic calculations and also make logical decision to reach a conclusion,
depending on, the data they receive from the user.
3. Hybrid Computers: Various specifically designed computers are with both digital and analog characteristics
combining the advantages of analog and digital computers when working as a system. Hybrid computers are
being used extensively in process control system where it is necessary to have a close representation with the
physical world.
Super computers: They are very large in size and use multiple processors and superior technology. Super
computers are biggest in size, the most expensive in price than any other is classified and known as super
computer. It can process trillions of instructions in seconds. Governments specially use this type of computer for
their different calculations and heavy jobs. Different industries also use this huge computer for designing their
products.
Mainframe computers: A mainframe is another giant computer after the super computer and can also process
millions of instruction per second and capable of accessing billions of data .They are physically very large in size
with very high capacity of main memory. This computer is commonly used in big hospitals, air line reservations
companies, and many other huge companies prefer mainframe because of its capability of retrieving data on a
huge basis.
Minicomputers: They are smaller than the main frame but bigger than minicomputers. They support concurrent
users. They can be used as servers in companies. They are slower and less costly compared to mainframe
computers but more powerful, reliable and expensive than micro computers.
Micro computers: They are of advanced technology i.e. the micro era based on large scale integration that
confines several physical components per small elements thumb size IC, hence the size reduced. It is the
smallest of the Strategy computers. They are usually called personal computers since they are designed to be
used by individuals. The micro chip technology has enabled reduction of size of computers. Microcomputers can
be a desktop, laptop, notebooks, or even palmtop
General-Purpose computers — those built for a great variety of processing jobs. Simply by using a general
purpose computer and different software, various tasks can be accomplished, including writing and editing
(word processing), manipulating facts in a data base, tracking manufacturing inventory, making scientific
calculations, or even controlling organization’s security system, electricity consumption, and building
temperature. General purpose computers are designed to perform a wide variety of functions and operations. A
general purpose computer is able to perform a wide variety of operations because it can store and execute
different programs in its internal storage.
Special-Purpose Computers are designed to be task specific and most of the times their job is to solve one
particular problem. They are also known as dedicated computers, because they are dedicated to perfom a single
task over and over again. Such a computer system would be useful in playing graphic intensive Video Games,
traffic lights control system, navigational system in an aircraft, weather forecasting, satellite launch / tracking, oil
exploration, and in automotive industries, keeping time in a digital watch, or Robot helicopter.
Hardware
Hardware stands for the physical that build up a computer. a computer component is hardware if you can
touch it.Hardware may be located inside a computer or outside of it connected to the computer via wires or
wirelessly.
Input Devices
Input devices are the devices that are used to send signals to the computer for performing tasks. The receiver at
the end is the CPU (Central Processing Unit), which works to send signals to the output devices. Some of the
classifications of Input devices are:
Keyboard Devices
Pointing Devices
Composite Devices
Game Controller
Visual Devices
Audio Input Devices
Some of the input devices are described below.
Keyboard
The keyboard is the most frequent and widely used input device for entering data into a computer. Although
there are some additional keys for performing other operations.
Keyboard
Types of Keys
Numeric Keys: It is used to enter numeric data or move the cursor. It usually consists of a set of 17 keys.
Typing Keys: The letter keys (A-Z) and number keys (09) are among these keys.
Control Keys: These keys control the pointer and the screen. There are four directional arrow keys on it. Home,
End, Insert, Alternate(Alt), Delete, Control(Ctrl), etc., and Escape are all control keys (Esc).
Special Keys: Enter, Shift, Caps Lock, NumLk, Tab, etc., and Print Screen are among the special function keys on
the keyboard.
Function Keys: The 12 keys from F1 to F12 are on the topmost row of the keyboard.
Mouse
The most common pointing device is the mouse. The mouse is used to move a little cursor across the screen
while clicking and dragging. The left mouse button can be used to select or move items, while the right mouse
button when clicked displays extra menus.
Joystick
A joystick is a pointing device that is used to move the cursor on a computer screen. A spherical ball is attached
to both the bottom and top ends of the stick. In a socket, the lower spherical ball slides. You can move the
joystick in all four directions.
Track Ball
Track Ball is an accessory for notebooks and laptops, which works on behalf of a mouse. It has a similar structure
to a mouse. Its structure is like a half-inserted ball and we use fingers for cursor movement.
Light Pen
A light pen is a type of pointing device that looks like a pen. It can be used to select a menu item or to draw on
the monitor screen.
Scanner
A scanner is an input device that functions similarly to a photocopier. The scanner collects images from the
source and converts them to a digital format that may be saved on a disc. Before they are printed, these images
can be modified.
Optical Mark Reader (OMR)
An Optical Mark Reader is a device that is generally used in educational institutions to check the answers to
objective exams. It recognizes the marks present by pencil and pen.
Optical Character Reader (OCR)
OCR stands for optical character recognition, and it is a device that reads printed text. OCR optically scans the
text, character by character turns it into a machine-readable code, and saves it to the system memory.
Magnetic Ink Card Reader (MICR)
It is a device that is generally used in banks to deal with the cheques given to the bank by the customer.
Bar Code Reader
A bar code reader is a device that reads data that is bar-coded (data that is represented by light and dark
lines).Bar-coded data is commonly used to mark things, number books, and so on.
Web Camera
Because a web camera records a video image of the scene in front of it, a webcam is an input device. It is either
built inside the computer (for example, a laptop) or attached through a USB connection.
Digitizer
Digitizer is a device that is used to convert analog signals to digital signals. it converts signals into numeric
values. An example of a Digitizer is Graphic Tablet, which is used to convert graphics to binary data.
Microphone
The microphone works as an input device that receives input voice signals and also has the responsibility of
converting it also to digital form.
Output Devices
Output Devices are the devices that show us the result after giving the input to a computer system. Output can
be of many different forms like image, graphic audio, video, etc. Some of the output devices are described
below.
Monitor
Monitors, also known as Visual Display Units (VDUs), are a computer’s primary output device. It creates images
by arranging small dots, known as pixels, in a rectangular pattern.
Printer
Printers are output devices that allow you to print information on paper. There are certain types of printers
which are described below.
Impact Printers
o Character Printers
o Line Printers
Non-Impact Printers
o Laser Printers
o Inkjet Printers
Impact Printer
Characters are printed on the ribbon, which is subsequently crushed against the paper, in impact printers.
Character Printers
Character Printer has the capability to print only one character at a time. It is of two types.
Dot Matrix Printer
Daisy Wheel
Line Printers
Line Printers are printers that have the capability to print one line at a time. It is of two types.
Drum Printer
Chain Printer
Non-Impact Printers
Characters are printed without the need for a ribbon in non-impact printers. Because these printers print a full
page at a time, they’re also known as Page Printers. The following are the characteristics of non-impact printers:
Laser Printers
Laser Printers use laser lights for producing dots which will produce characters on the page.
Inkjet Printers
Inkjet printers are printers that use spray technology for printing papers. High-quality papers are produced in an
Inkjet printer. They also do color printing.
Projector
Projectors are optical devices that have the work to show visuals on both types of screens, stationary and
moving both.
Plotter
Plotter is a device that helps in making graphics or other images to give a real view. A graphic card is mandatorily
required to use these devices.
North Bridge:
They are the two chips present in the motherboard’s main logic chipset. The front-side bus directly connects the
northbridge, the host bridge, or Memory Controller Hub to the CPU (FSB). It is in charge of duties demanding the
most significant level of performance. They control communication between the CPU and other motherboard
components along with the southbridge.
Southbridge:
The motherboard’s IO capability is managed and controlled by the southbridge. Unlike Northbridge, it doesn’t
have a direct line of interaction with the CPU. Due to its reduced connection speed, it mainly handles low-speed
devices. The Northbridge receives instructions from the CPU and relays them to the southbridge. It connects to
the SATA hard drive connector and the PCI bus, ISA, and IDE buses.
AGP:
Although it is mainly used for graphics cards, the AGP slot (Accelerated Graphics Port Slot)is a sort of expansion
slot comparable to a PCI slot. Being typically dark brown, this expansion slot is simple to recognize.
Cooling system:
Cooling systems employ a thermal conductor to cool the system and stop overheating of components like the
CPU, north-south bridge, etc.
PATA Connector:
PATA, or Parallel Advanced Technology Attachment, each PATA cable has two or three connections, one of
which connects to the interface of the adapter and the others to secondary memory devices. Hard drive types
include Parallel ATA (PATA) drives. An alternative name for them includes integrated drive electronics (IDE).
SATA connector:
Serial Advanced Technology Attachment might be referred to as simply Serial ATA. It is a 7-pin cable that
accomplishes the same task as the PATA connector while being stronger and shorter.
PCI:
PCI is abbreviated as a peripheral component interconnect. As the name indicates serves to connect different
additional external components to the motherboard. The PCI Local Bus Standard includes PCI, a local computer
bus that connects hardware components to computers.
ISA is the 16-bit internal bus of IMB PC/AT and similar computers that are based on Intel 80286 and its
immediate successors during the 1980s. It was backward compatible with the 8-bit bus of the 8088-based IBM
PC largely.
Parallel port
A parallel port is a kind of interface for attaching peripherals on desktops. The name of this kind of port is
derived from the way the data is sent. That is, the parallel ports send multiple bits of data at the same time.
BIOS:
Basic Input Output System, or BIOS, is software kept on a motherboard. Since the software is non-volatile, its
settings can still be restored even after losing power. It is the application that a computer’s microprocessor runs
when the computer is turned on. Additionally, it controls the flow of information between the operating system
and any attached hardware.
Computer memory
Computer memory is any physical device, used to store data, information or instruction temporarily or
permanently. It is the collection of storage units that stores binary information in the form of bits. The memory
block is split into a small number of components, called cells. Each cell has a unique address to store the data in
memory, ranging from zero to memory size minus one. For example, if the size of computer memory is 64k
words, the memory units have 64 * 1024 = 65536 locations or cells. The address of the memory's cells varies
from 0 to 65535.
Classification of Memory
The following figure represents the classification of memory:
Advantages of RAM
It is a faster type of memory in a computer.
It requires less power to operate.
Program loads much faster
More RAM increases the performance of a system and can multitask.
Perform read and write operations.
The processor can read information faster than a hard disc, floppy, USB, etc.
Disadvantages of RAM
Less RAM reduces the speed and performance of a computer.
Due to volatile, it requires electricity to preserve the data.
It is expensive than ROM
It is unreliable as compared to ROM
The Size of RAM is limited.
Types of ROM
There are five types of Read Only Memory:
1. MROM (Masked Read Only Memory):
MROM is the oldest type of read-only memory whose program or data is pre-configured by the integrated
circuit manufacture at the time of manufacturing. Therefore, a program or instruction stored within the MROM
chip cannot be changed by the user.
2. PROM (Programmable Read Only Memory):
It is a type of digital read-only memory, in which the user can write any type of information or program only
once. It means it is the empty PROM chip in which the user can write the desired content or program only once
using the special PROM programmer or PROM burner device; after that, the data or instruction cannot be
changed or erased.
3. EPROM (Erasable and Programmable Read Only Memory):
It is the type of read only memory in which stored data can be erased and re-programmed only once in the
EPROM memory. It is a non-volatile memory chip that holds data when there is no power supply and can also
store data for a minimum of 10 to 20 years. In EPROM, if we want to erase any stored data and re-programmed
it, first, we need to pass the ultraviolet light for 40 minutes to erase the data; after that, the data is re-created in
EPROM.
4. EEPROM (Electrically Erasable and Programmable Read Only Memory):
The EEROM is an electrically erasable and programmable read only memory used to erase stored data using a
high voltage electrical charge and re-programmed it. It is also a non-volatile memory whose data cannot be
erased or lost; even the power is turned off. In EEPROM, the stored data can be erased and reprogrammed up
to 10 thousand times, and the data erase one byte at a time.
5. Flash ROM:
Flash memory is a non-volatile storage memory chip that can be written or programmed in small units called
Block or Sector. Flash Memory is an EEPROM form of computer memory, and the contents or data cannot be
lost when the power source is turned off. It is also used to transfer data between the computer and digital
devices.
Advantages of ROM
1. It is a non-volatile memory in which stored information can be lost even power is turned off.
2. It is static, so it does not require refreshing the content every time.
3. Data can be stored permanently.
4. It is easy to test and store large data as compared to RAM.
5. These cannot be changed accidently
6. It is cheaper than RAM.
7. It is simple and reliable as compared to RAM.
8. It helps to start the computer and loads the OS.
Disadvantages of ROM
1. Store data cannot be updated or modify except to read the existing data.
2. It is a slower memory than RAM to access the stored data.
3. It takes around 40 minutes to destroy the existing data using the high charge of ultraviolet light.
Secondary Memory
Secondary memory is a permanent storage space to hold a large amount of data. Secondary memory is also
known as external memory that representing the various storage media (hard drives, USB, CDs, flash drives and
DVDs) on which the computer data and program can be saved on a long term basis.
Unlike primary memory, secondary memory cannot be accessed directly by the CPU. Instead of that, secondary
memory data is first loaded into the RAM (Random Access Memory) and then sent to the processor to read and
update the data. Secondary memory devices also include magnetic disks like hard disk and floppy disks, an
optical disk such as CDs and CDROMs, and magnetic tapes.
Features of Secondary Memory
Its speed is slower than the primary/ main memory.
Store data cannot be lost due to non-volatile nature.
It can store large collections of different types, such as audio, video, pictures, text, software, etc.
All the stored data in a secondary memory cannot be lost because it is a permanent storage area; even the
power is turned off.
It has various optical and magnetic memories to store data.
Software
Software is a Program commercially prepared and tested in software by one or a group of programmers and
system analyst to perform a specified task. Software is simply set of instructions that cause a computer to
perform one or more tasks. Software is also commonly called applications or programs.
Classification of software
Software can be broadly classified into system software and application software
System software
Software required to run the hardware parts of the computer and other application software are called system
software. System software acts as interface between hardware and user applications.
It Consists of programs that control operations of the computer and enable user to make efficient use of
computers.
system software is of four types −
Operating System
Language Processor
Device Drivers
Language Processor
an important function of system software is to convert all user instructions into machine understandable
language.
Machine-level language − This language is nothing but a string of 0s and 1s that the machines can understand. It
is completely machine dependent.
Assembly-level language − This language introduces a layer of abstraction by
defining mnemonics. Mnemonics are English like words or symbols used to denote a long string of 0s and 1s.
Assembly level language is machine dependent.
High level language − This language uses English like statements and is completely independent of machines.
Programs written using high level languages are easy to create, read and understand.
Program written in high level programming languages like Java, C++, etc. is called source code.
Set of instructions in machine readable form is called object code or machine code. System software that
converts source code to object code is called language processor.
Device Drivers
System software that controls and monitors functioning of a specific device on computer is called device driver.
Each device like printer, scanner, microphone, speaker, etc. that needs to be attached externally to the system
has a specific driver associated with it. When you attach a new device, you need to install its driver so that the
OS knows how it needs to be managed.
(i) Operating system – is a complex program and most important program that runs on a computer and which
controls the operation of a computer. It perform basic tasks, such as recognizing input from the keyboard,
sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral
devices such as disk drives and printers. In general the operating system supervises and directs all the software
components and the hardware components. Examples of computers operating systems are UNIX, Microsoft
windows 95/98, Windows NT, Windows 2000, Windows XP, Windows Vista and Linux.
(ii)Service programs are programs designed for general support of the processes of a computer; "a computer
system provides utility programs to perform the tasks needed by most users". The service programs can further
be divided into;
o Development programs are used in the creation of new software. They comprise of sets of software tools to
allow programs to be written and tested. Knowledge of appropriate programming language is assumed. Tools
used here are
Utility software is also a type of a system software. Although not essential as the operating system, it helps in
analyzing the computer’s behavior, debugging errors, and optimizing its operation. Examples of utility software
are text editors, debuggers, antivirus programs, and file management programs (File Explorer, Finder, etc.)
Application software
Application software (or user application software) are all the programs that let users complete daily tasks. This
includes creating documents, playing games, listening to music, participating in online meetings, and sending
emails.
The Office Suite (Word, PowerPoint, Excel, and Access) is Application software.
Booting Process
The booting process refers to the sequence of events that occur when a computer is powered on and loads the
operating system. Booting is the process of starting a computer and loading the operating system (OS) into the
computer's memory (RAM) from its permanent storage (e.g., hard disk or SSD).
Steps in the Booting Process
The booting process is generally divided into several stages:
1. Power-On Self-Test (POST)
What Happens: When the power button is pressed, electricity flows into the computer, and the Power
Supply Unit (PSU) sends power to the motherboard.
The BIOS (Basic Input/Output System) or UEFI (Unified Extensible Firmware Interface) firmware runs a
Power-On Self-Test (POST) to check the computer’s hardware components, such as the RAM,
processor, keyboard, and storage devices (HDD, SSD).
If any issues are found, the system will produce beep codes or display an error message indicating the
problem
Power on Self Test booting is a part of the booting cycle in a computer system. The POST is the very first
diagnostic routine that the installed hardware components undergo every time you power up your
computer to assure the presence and functionality of the devices.
The POST tests the status of many hardware components, including the CPU, memory, storage devices,
and other peripherals.
It watches for problems that may prevent booting. In case of a malfunction, the POST usually displays
some error message or beeps in a pattern that indicates where the problem lies. If it succeeds, the
computer starts loading the operating system and other necessary software for normal running.
2. Loading the Bootloader
What Happens: After the POST is completed successfully, the system’s firmware (BIOS/UEFI) looks for
the bootloader, which is a small program responsible for loading the operating system.
The BIOS/UEFI searches for a boot device, usually a hard disk, SSD, or external storage device (USB or
CD/DVD). It checks the boot order specified in the BIOS/UEFI settings.
The bootloader is typically stored on the primary storage device (e.g., in the Master Boot Record or UEFI
partition).
The Bootstrap loader locates the kernel, loads it into main memory, and starts its execution. In some systems, a
simple bootstrap loader fetches a more complex boot program from disk, which in turn loads the kernel.
3. Initializing the Operating System
What Happens: Once the bootloader is found and loaded into memory, it hands control over to the
operating system (OS). The OS then begins to load itself into RAM.
The operating system kernel (the core part of the OS) is loaded first. The kernel initializes the system,
detects the hardware, and sets up necessary drivers to allow communication between the hardware
and software.
4. System Configuration and User Interface
What Happens: After the kernel is loaded, the system starts the user interface (e.g., Windows, Linux
Desktop Environment) or presents the login screen.
The operating system may load additional services and background processes that are required for the
proper functioning of the system. These include network connections, security processes, and other
essential system functions.
At this point, users can log in and begin using the computer.
5. Post-Boot Activities
What Happens: After the booting process is complete, the system is fully operational. The OS may run
background services, load system updates, or prompt the user to configure preferences or install
updates.
The system is now ready for the user to interact with applications and execute tasks.
Boot Process in Different Operating Systems
Windows Boot Process: Windows uses a boot manager that loads the Windows kernel into memory. It
then loads the necessary drivers and system files before displaying the login screen for user access.
Linux Boot Process: Linux systems use the GRUB bootloader (Grand Unified Bootloader), which displays
a menu to choose the kernel version. The kernel is then loaded, followed by user-space programs.
Types of Booting
There are two types of booting processes:
Cold Boot (Hard Boot): This is when the computer is powered off and turned back on. A cold boot involves the
entire boot process. In this procedure, the system undergoes a complete power-on self-test (POST) that
initializes hardware devices and loads operating systems from a storage medium into random-access memory
(RAM).
Warm Boot (Soft Boot): This occurs when the computer is restarted without switching the power off (e.g., when
you select “Restart” from the operating system). Warm reboots do skip some of the hardware initialization
processes that are done on cold booting since the hardware components have been on power and have been
initialized earlier.
Master Boot Record (MBR)
A piece that is very important in the boot process of a computer is called the Master Boot Record (MBR). This
thing is located at the very beginning on the hard disk, and it has critical details for starting up. It is composed by
division tables among other parts for different types of partitions used on disks with their respective filesystems
being identified here too. During system startup sequence or POST (Power On Self Test), following things occur:
Firmware like BIOS (Basic Input Output System) /UEFI (Unified Extensible Firmware Interface) tries
looking for MBR from storage device used during boot up process (boot device) before running its
contents.
Then, the bootloader is loaded by this code.
And subsequently, the operating system is loaded by the bootloader.
MBR is an essential cog in booting procedure wherein it starts off steps that culminate in the
Process of Booting
Dual Booting
When two operating systems are installed on a computer system, it is called dual booting. A boot loader that
understands multiple file systems and multiple operating systems can occupy the boot space. Once loaded, it
can boot one of the operating systems available on the disk. The disk can have multiple partitions, each
containing a different type of operating system. When a computer system turns on, a boot manager program
displays a menu, allowing the user to choose the operating system to use.
UEFI (Unified Extensible Firmware Interface): A modern version of BIOS with more features, such as
faster boot times and support for larger storage devices.
Bootloader: A program responsible for loading the operating system into memory after the POST.
Kernel: The core of the operating system that manages hardware resources and provides services for
other software.
BIOS
BIOS (Basic Input/Output System): The firmware that performs the POST and helps load the operating
system.
It is the program a computer's microprocessor uses to start the computer system after it is powered on. It also
manages data flow between the computer's operating system (OS) and attached devices, such as the hard disk,
video adapter, keyboard, mouse and printer.BIOS' popularity has waned in favor of a newer technology: Unified
Extensible Firmware Interface (UEFI). Intel announced a plan in 2017 to retire support for legacy BIOS systems
by 2020, replacing them with UEFI.
Uses of BIOS
The main use of BIOS is to act as a middleman between OSes and the hardware they run on. BIOS is theoretically
always the intermediary between the microprocessor and I/O device control information and data flow.
Although, in some cases, BIOS can arrange for data to flow directly to memory from devices, such as video cards,
that require faster data flow to be effective.
How does BIOS work
BIOS comes included with computers, as firmware on a chip on the motherboard .BIOS is a program that is
made accessible to the microprocessor on an erasable programmable read-only memory (EPROM) chip. When
users turn on their computer, the microprocessor passes control to the BIOS program, which is always located at
the same place on EPROM.
The 4 functions of BIOS
BIOS identifies, configures, tests and connects computer hardware to the OS immediately after a computer is
turned on. The combination of these steps is called the boot process.
These tasks are each carried out by BIOS' four main functions:
1. Power-on self-test (POST). This tests the hardware of the computer before loading the OS.
2. Bootstrap loader. This locates the OS.
3. Software/drivers. This locates the software and drivers that interface with the OS once running.
4. Complementary metal-oxide semiconductor (CMOS) setup. This is a configuration program that enable
users to alter hardware and system settings. CMOS is the name of BIOS' non-volatile memory.
Differences
There are several advantages of UEFI over BIOS as shown in the table below:
BIOS UEFI
Windows blue screen User-friendly graphical user interface
No Animation Multicolored with Animations
Can’t recognize Ethernet, Wi-Fi and Bluetooth Support Ethernet, Wi-Fi and Bluetooth connectivity
No remote diagnosis and repair support Support remote diagnosis and repair if the OS won’t boot.
No mouse support, keyboard only Keyboard and mouse support
No secure booting option Secure boot facility to stops loading malicious softwares.
Firmware program in 16-bit assembly language Firmware program in 64-bit C language
Supports 2.2 terabytes Supports drive sizes up to 9 zettabytes
Disk Formatting
Disk formatting is a process to configure the data-storage devices such as hard-drive, floppy disk and flash drive
when we are going to use them for the very first time or we can say initial usage. Disk formatting is usually
required when new operating system is going to be used by the user. It is also done when there is space issue
and we require additional space for the storage of more data in the drives. When we format the disk then the
existing files within the disk is also erased.
Disk formatting has also the capability to erase the bad applications and various sophisticated viruses.
Figure - Formatting process of disk
1. Low-level Formatting :
Low level formatting is a type of physical formatting. It is the process of marking of cylinders and tracks of the
blank hard-disk. After this there is the division of tracks into sectors with the sector markers. Now-a-days low-
level formatting is performed by the hard-disk manufactures themselves.
We have data in our hard-disk and when we perform low-level formatting in the presence of data in the hard-
disk all the data have been erased and it is impossible to recover that data.
2. High-level Formatting :
High-level formatting is the process of writing. Writing on a file system, cluster size, partition label, and so on for
a newly created partition or volume. It is done to erase the hard-disk and again installing the operating system
on the disk-drive.
Partitioning is distinct from disk formatting; it is commonly applied on large disk media to change the
appearance of one large physical disk into several smaller logical disks.partitioning means divisions. Partitioning
is the process of dividing the hard-disk into one or more regions. The regions are called as partitions.
Creating multiple partitions on a storage device can improve access time for data and applications colocated on
the same partition, support the separation of user files and operating system files, provide dedicated operating
system swap or system paging file space, protect operating system files from the rapid growth of system data
files, support multibooting environments, provide a layer of isolation to protect one partition's system resources
from another, and allow the implementation of various file systems and different disk geometry strategies to
improve read and/or write performance.
formatting one partition as File Allocation Table 32 (FAT32) and another as New Technology File System (NTFS),
which allows the use of features unique to different file systems on the same computer.
Partitioning and formatting are required before a hard disk can be used; the manufacturer typically performs
low-level formatting to define the drive's geometry and divide the disk into tracks, sectors, and cylinders, while
high-level formatting prepares a logical drive for use by a specific operating system and sets up the file system
on the drive for that system.
Partitioning Schemes
Partitioning schemes include Master Boot Record (MBR) and GUID Partition Table (GPT). MBR disks store
partition information in the first sector of the disk, while GPT disks store partition information in the GPT header
and also maintain redundancy by writing the GPT header and partition table at the end of the disk.
GPT disks retain the MBR entry for compatibility. MBR disks have a wider range of compatibility, but GPT disks
support larger partition sizes. 6 When a new disk is added in Windows 7, users must choose between making it
an MBR or GPT disk.
The active partition is essential for the boot process, as the BIOS uses it to load the operating system
A file system
A file system is a structure used by an operating system to organise and manage files on a storage device such as
a hard drive, solid state drive (SSD), or USB flash drive. It defines how data is stored, accessed, and organised on
the storage device. Different file systems have varying characteristics and are often specific to certain operating
systems or devices. Here are some of the common file systems.
FAT (File Allocation Table), FAT16, FAT32
FAT is one of the oldest and simplest file systems. It was initially developed for MS-DOS and is still used in many
removable storage devices. The two major versions of this system are FAT16 and FAT32. FAT uses a file
allocation table to keep track of file locations on the disk. However, it lacks some advanced features like file
permissions and journaling, making it less suitable for modern operating systems. FAT 16 was introduces in 1987
with DOS 3.31 while FAT32 was introduced with Windows 95 OSR2(MS-DOS 7.1) in 1996.
exFAT (Extended File Allocation Table)
exFAT is a file system introduced by Microsoft as an improved version of FAT32. It addresses some of the
limitations of FAT32, allowing for larger file sizes and better performance. exFAT is commonly used for
removable storage devices, such as external SSDs, hard drives and SD cards as it provides compatibility across
multiple operating systems. It was first introduced in 2006 as part of Windows CE 6.0.
Disadvantages:
Limited metadata support: exFAT lacks some advanced features found in other modern file systems. It
doesn’t support file-level security permissions, journaling, or file system-level encryption.
Fragmentation: Like FAT file systems, exFAT is still susceptible to fragmentation. As files are created,
modified, and deleted, fragmentation can occur leading to decreased performance over time.
NTFS (New Technology File System)
NTFS is the default file system used by Windows NT-based operating systems, starting in 1993 with Windows NT
3.1, all the way up to and including Windows 11. It offers advanced features like file permissions, encryption,
compression, and journaling. NTFS supports large file and partition sizes, making it suitable for modern storage
devices. However, it has limited compatibility with non-Windows operating systems.
Bluetooth Technology
Bluetooth is a wireless communication technology standard designed for short-range data exchange between
devices. Operating on radio frequency (RF) within the 2.4 GHz ISM band, Bluetooth eliminates the need for
physical cables while maintaining secure and reliable connections.
Bluetooth is a short- range wireless technology standard that allows data participating up to 10 meters( 30 feet)
in utmost cases. It makes it possible for electrical devices to interact with one another wirelessly, including
tablets, computers, smartphones, headphones, and Internet of effects devices.
Key Features of Bluetooth:
Short Range: Typically operates within 10 meters (33 feet), with some devices reaching up to 100
meters.
Low Power Consumption: Ideal for portable and battery-operated devices.
Secure Communication: Uses encryption and authentication to safeguard data.
Versatile Applications: Supports audio streaming, file transfers, device control, and more.
How Does Bluetooth Work
Bluetooth technology uses low-power radio waves to transmit data between devices. Here’s a step-by-step
breakdown of its operation: Short-range wireless communication between electrical devices is made possible by
Bluetooth technology. This is a condensed description of how it functions:
1. Device Discovery
Bluetooth-enabled devices broadcast signals to find nearby compatible devices. This process is known as pairing.
2. Pairing and Authentication
Once discovered, devices exchange encryption keys to establish a secure connection. Users may need to confirm
a passcode for pairing. Prior to communicating, two Bluetooth- enabled devices need to be paired. The bias
exchange encryption keys to produce a secure connection during pairing.
3. Connection Establishment
After successful pairing, devices form a piconet — a small network where one device acts as the master, and
others function as slaves.
4. Data Transmission
Bluetooth transmits data using frequency hopping spread spectrum (FHSS), rapidly switching frequencies to
minimize interference and improve reliability.
Wi-Fi
WiFi is a wireless technology that allows electronic devices to connect to the internet and communicate with
each other without a physical cable. This uses radio waves to transmit the data between a WiFi router and
compatible devices like smartphones, computers, and smart home gadgets. These WiFi networks are common in
homes, offices, and public spaces providing convenient internet access and local connectivity. This technology
has become an essential part of modern digital life enabling wireless internet browsing, file sharing, and device
communication in various settings.
Wireless Access Point
The WAP means a wireless access point is the networking device that allows WiFi-enabled devices to connect to
the wired network. It acts as the central hub broadcasting the Wi-Fi signal that devices can detect and join.
Access points are commonly used to extend the range of existing networks, create separate network segments,
or provide Wi-Fi connectivity in large spaces like offices, schools or public areas. They can be standalone devices
or integrated into a router and they enable multiple devices to access network resources and the internet
wirelessly within their coverage area.
Applications of Wi-Fi
Using Wi-Fi we can access the internet in any Wi-Fi-capable device wirelessly. We can stream or cast
audio or video wirelessly on any device using Wi-Fi for our entertainment.
We can share files, data, etc between two or more computers or mobile phones using Wi-Fi, and the
speed of the data transfer rate is also very high. Also, we can print any document using a Wi-Fi printer,
this is very much used nowadays.
We can use Wi-Fi as HOTSPOTS also, it points Wireless Internet access for a particular range of area.
Using Hotspot the owner of the main network connection can offer temporary network access to Wi-Fi-
capable devices so that the users can use the network without knowing anything about the main
network connection.
Also using W-Fi a whole city can provide network connectivity by deploying routers at a specific area to
access the internet. Already schools, colleges, and universities are providing networks using Wi-Fi
because of its flexibility. Wi-Fi is used as a positioning system also, by which we can detect the positions
of Wi-Fi hotspots to identify a device location.
Single-User/Single-Tasking OS
An operating system that allows a single user to perform only one task at a time is called a Single-User Single-
Tasking Operating System. Functions like printing a document, downloading images, etc., can be performed only
one at a time. Examples include MS-DOS, Palm OS, etc.
Advantages
This operating system occupies less space in memory.
Disadvantages
It can perform only a single task at a time.
Single-User/Multitasking OS
An operating system that allows a single user to perform more than one task at a time is called Single-User
Multitasking Operating System. Examples include Microsoft Windows and Macintosh OS.
Advantages
It is time saving as it performs multiple tasks at a time yielding high productivity.
Disadvantages
This operating system is highly complex and occupies more space.
Multiuser/Multitasking OS
It is an operating system that permits several users to utilize the programs that are concurrently running on a
single network server. The single network server is termed as "Terminal server". "Terminal client" is a software
that supports user sessions. Examples include UNIX, MVS, etc.
Advantages
It is highly productive as it performs multiple tasks at a time.
It is time saving as we dont have to make changes in many desktops, instead can make changes only to
the server.
Disadvantages
If the connection to the server is broken, user cannot perform any task on the client as it is connected to
that server.
Embedded OS
An embedded operating system (OS) is an operating system designed to run on embedded systems, which are
specialized computer systems that are built into other devices or machines. Embedded systems are used in a
wide range of applications, such as automotive systems, medical devices, industrial control systems, and
consumer electronics. Here are some of the key features and components of an embedded operating system:
Directory Structure
Your home directory is H:\. This directory is the one you start with once you have logged in. This directory, as
with all directories, can contain files or more directories. A directory contained within another directory is called
a subdir ectory. A schematic of a directory structure is shown in Figure 1.
Figure 1. Schematic representation of a disk directory structure. Icons labeled as sub are subdirectories and
icons labeled as doc are documents. All documents and subdirectories are stored in the home directory in the
order displa yed. Note that any subdirectory can contain documents or another directory.
It is important to become familiar with the directory structure of any computer system. You will need to copy
files from your home directory to a floppy disk for backup. The floppy disk drive, A:\, is the 3.5" floppy in the PC
you are working on. Likewise, C:\ is the internal hard drive in the PC you are working on. Your home directory
H:\ is storage space allocated to you on a central disk storage system maintained by the System Administrator.
The H:\ storage is accessible from either the SUN's or the PC's. Regularly backup your important files on the A:\
drive.
Besides changing directories for the purpose of backup, there are other reasons to learn the directory structure.
Often you will end in a directory other than your home directory when exiting an application. For example,
when you exit from Windows, you will no longer be in your home directory. You will probably find yourself in C:\
WINDOWS. The C:\ part of this path indicates that your are now in a new main directory, C:\. To access files
stored in your home directory, you will need to change the dire ctory or specify a complete pathname for the
file.
Path's and Pathnames
DOS filenames can have eight (8) characters plus a three character extension. Example: NAME1234.EXT where
NAME1234 is the filename and EXT is the extension. A pathname ends with a file name. A path ends with a
directory or sub- directory name.
To switch between one directory and another, simply time the letter-colon combination for that directory . For
example, if you are currently in C:\WINDOWS, typing H: and a return will change your main directory to H:\ and
the prompt will now indicate H:\ >. If you type C: and return, you will switch back to the C:\WINDOWS sub-
directory. MS-DOS will remember your last active path in a given directory and will switch you to that path. To
change paths, see the CD command below.
Wildcards can be used to designate a group of files in a DOS command string. For example, the command DEL
*.TXT will delete all files that end with the .TXT extension. The two wildcards available are * and ?.
The * is a wildcard character that represents any group of characters. For example three files named
JOEPETE.TXT, JOEJOE.TXT, and JOEBOB.TXT can be represented as JOE*.TXT. Likewise, three files JOEPETE.TXT,
JOEJOE.XLS, and JOEBOB.DOC can be rep resented as JOE*.*. Any part of a pathname can be replaced by a
wildcard.
The ? is a wildcard character that replaces a single character in a file name. For example, the files JOE.TXT and
JOE.TXS could be represented as JOE.TX? in a DOS command string.
Commands
Note: Characters in {} braces are optional. Characters in [] brackets are not optional. Do not include either type
of brackets when entering commands.
CD
Changes from the current directory to a new directory.
Syntax: CD {dirname}
Comments: Typing CD alone simply tells you the name of the current directory. To change to a new directory, a
directory name must be specified. In the example given, the new directory is named dirname. CD will change to
the directory only if the direc tory is farther down the directory tree (i.e. dirname is a sub-directory). To change
to a directory that is at a higher level in the directory tree, specify the complete pathname which includes the
main directory, directory and all sub-directories leadin g to the final sub-directory. An example path might be
H:\classes\gn120\.
Alternatively, to change to a directory that is at a higher level in the directory tree, type CD.. (read: CD period
period ). This takes you back one directory level. Also, CD\ takes you to the root or main directory. For every
main directory, or disk drive, there is always an active path. You can specify the active path by entering CD
{path}. Then any commands, such as COPY, that have only a drive specified (Example COPY A:\FILE.TXT C:) will
use that default path. In the example given, if the path on C:\ had previously been set to C:\WINDOWS using the
command CD C:\WINDOWS, a copy of the file A:\FILE.TXT would now be found in C:\WINDOWS.
CLS
Clears the screen.
Syntax: CLS
COPY
Copies files to another disk.
Syntax: COPY [d:]pathname1 [d:]pathname2]
Comments: If both files are in the working directory, you need to replace pathnames with filenames.
DATE
Displays or sets date.
Syntax: DATE {mm-dd-yy}
Comments: Typing DATE with no optional parameters specified displays the date.
DEL
Deletes a file or files.
Syntax: DEL [d:]pathname1 {/p}
Comments: Adding /p causes DEL to ask if you want to delete each file. The wild cards * and ? can be used.
DIR
Lists the files in a directory.
Syntax: DIR [d:]pathname1 {/p}{/w}
Comments: Adding /p causes DIR to type the directory contents one page at a time and then pause. Adding /w
causes DIR to type the directory contents in a wide display format.
DISKCOPY
Copies the contents of one disk to another.
Syntax: DISKCOPY [d:1] [d:2]
FORMAT
Formats a floppy disk.
Syntax: FORMAT [d:]
Comments: Various parameters can be specified for this command to control the formatting process. If anything
other than a 1.4MB or 720K disk is used, consult a DOS manual for the proper parameters.
MD
Makes a new directory.
Syntax: MD [d:]pathname
Comments: Pathname can specify a directory to create in an existing directory. For example, if the directory
users exists, a pathname \users\pete creates a subdirectory pete in the directory users.
PRINT
Prints a text file.
Syntax: PRINT [d:]pathname
REN
Renames a file.
Syntax: REN [d:][path] filename_old filename_new
RD
Removes a directory.
Syntax: RD [d:][path]
TIME
Displays the time of day.
Syntax: TIME {hh:mm{:ss{.cc}}}
Comments: Typing TIME with no optional parameters specified displays the time. The characters hh represent
hours, mm represent minutes, ss represent seconds, and cc represent centiseconds.
TYPE
Displays a text file on the screen.
Syntax: TYPE [d:]filename
An Introduction to DOS FAT Volume and File Structure
Mark Kampe [email protected]
1. Introduction
When the first personal computers with disks became available, they were very small (a few megabytes of disk
and a few dozen kilobytes of memory). A file system implementation for such machines had to impose very little
overhead on disk space, and be small enough to fit in the BIOS ROM. BIOS stands for BASIC I/O Subsystem. Note
that the first word is all upper-case. The purpose of the BIOS ROM was to provide run-time support for a BASIC
interpreter (which is what Bill Gates did for a living before building DOS). DOS was never intended to provide the
features and performance of real timesharing systems.
Disk and memory size have increased in the last thirty years, People now demand state-of-the-art power and
functionality from their PCs. Despite the evolution that the last decades have seen, old standards die hard.
Much as European train tracks maintain the same wheel spacing used by Roman chariots, most modern OSs still
support DOS FAT file systems. DOS file systems are not merely around for legacy reasons. The ISO 9660 CDROM
file system format is a descendent of the DOS file system.
The DOS FAT file system is worth studying because:
It is heavily used all over the world, and is the basis for more modern file system (like 9660).
It provides reasonable performance (large transfers and well clustered allocation) with a very simple
implementation.
It is a very successful example of "linked list" space allocation.
2. Structural Overview
All file systems include a few basic types of data structures:
bootstrap
code to be loaded into memory and executed when the computer is powered on. MVS volumes reserve
the entire first track of the first cylinder for the boot strap.
volume descriptors
information describing the size, type, and layout of the file system ... and in particular how to find the
other key meta-data descriptors.
file descriptors
information that describes a file (ownership, protection, time of last update, etc.) and points where the
actual data is stored on the disk.
free space descriptors
lists of blocks of (currently) unused space that can be allocated to files.
file name descriptors
data structures that user-chosen names with each file.
DOS FAT file systems divide the volume into fixed-sized (physical) blocks, which are grouped into larger fixed-
sized (logical) block clusters.
The first block of DOS FAT volume contains the bootstrap, along with some volume description information.
After this comes a much longer File Allocation Table (FAT from which the file system takes its name). The File
Allocation Table is used, both as a free list, and to keep track of which blocks have been allocated to which files.
The remainder of the volume is data clusters, which can be allocated to files and directories. The first file on the
volume is the root directory, the top of the tree from which all other files and directories on the volume can be
reached.
The "next block" organization of the FAT means that in order to figure out what physical cluster is the third
logical block of ar file, must know the physical cluster number of the second logical block. This is not usually a
problem, because almost all file access is sequential (reading the first block, and then the second, and then the
third ...).
If we had to go to disk to re-read the FAT each time we needed to figure out the next block number, the file
system would perform very poorly. Fortunately, the FAT is so small (e.g. 512 bytes per megabyte of file system)
that the entire FAT can be kept in memory as long as a file system is in use. This means that successor block
numbers can be looked up without the need to do any additional disk I/O. It is easy to imagine
5.3 Free Space
The notion of "next block" is only meaningful for clusters that are allocated to a file ... which leaves us free to
use the FAT entries associated with free clusters as a free indication. Just as we reserved a value (-1) to mean
end of file we can rerserve another value (0) to mean this cluster is free.
To find a free cluster, one has but to search the FAT for an entry with the value -2. If we want to find a free
cluster near the clusters that are already allocated to the file, we can start our search with the FAT entry after
the entry for the first cluster in the file.
5.4 Garbage Collection
Older versions of FAT file systems did not bother to free blocks when a file was deleted. Rather, they merely
crossed out the first byte of the file name in the directory entry (with the reserved value 0xE5). This had the
advantage of greatly reducing the amount of I/O associated with file deletion ... but it meant that DOS file
systems regularly ran out of space.
When this happened, they would initiate garbage collection. Starting from the root directory, they would find
every "valid" entry. They would follow the chain of next block pointers to determine which clusters were
associated with each file, and recursively enumerate the contents of all sub-directories. After completing the
enumeration of all allocated clusters, they inferred that any cluster not found in some file was free, and marked
them as such in the File Allocation Table.
This "feature" was probably motivated by a combination of laziness and a desire for performance. It did,
however, have an advantage. Since clusters were not freed when files were deleted, they could not be
reallocated until after garbage colection was performed. This meant that it might be possible to recover the
contents of deleted files for quite a while. The opportunity this created was large enough to enable Peter
Norton to start a very successful company.
6. Descendents of the DOS file system
The DOS file system has evolved with time. Not only have wider (16- and 32-bit) FAT entries been used to
support larger disks, but other features have been added. The last stand-alone DOS product was DOS 6.x. After
this, all DOS support was under Windows, and along with the change to Windows came an enhanced version of
the FAT file system called Virtual FAT (or simply VFAT).
6.1 Long File Names
Most DOS and Windows systems were used for personal productivity, and their users didn't demand much in
the way of file system features. Their biggest complaints were about the 8+3 file names. Windows users
demanded longer and mixed-case file names.
The 32 byte directory entries didn't have enough room to hold longer names, and changing the format of DOS
directories would break hundreds or even thousands of applications. It wasn't merely a matter of importing files
from old systems to new systems. DOS diskettes are commonly used to carry files between various systems ...
which means that old systems still had to be able to read the new directories. They had to find a way to support
longer file names without making the new files unreadable by older systems.
The solution they came up was to put the extended filenames in additional (auxiliary) directory entries. Each file
would be described by an old-format directory entry, but supplementary directory entries (following the
primary directory entry) could provide extenstions to the file name. To keep older systems from being confused
by the new directory entries, they were tagged with a very unusual set of attributes (hidden, system, read-only,
volume label). Older systems would ignore new entries, but would still be able to access new files under their
8+3 names in the old-style directory entries. New systems would recognize the new directory entries, and be
able to access files by either the long or the short names.
The addition of long file names did create one problem for the old directory entries. What would you do if you
had two file names that differred only after the 8th character (e.g. datafileread.c and datafilewrite.c)? If we just
used the first 8 characters of the file name in the old directory entries (datafile), we would have two files with
the same name, and this is illegal. For this reason, the the short file names are not merely the first eight
characters of the long file names. Rather, the last two bytes of the short name were merely made unambiguous
(e.g. "~1", "~2", etc).
6.2 Alternate/back-up FATs
The File Allocation Table is a very concise way of keeping track of all of the next-block pointers in the file system.
If anything ever happened to the File Allocation Table, the results would be disastrous. The directory entries
would tell us where the first blocks of all files were, but we would have no way of figuring out where the
remainder of the data was.
Events that corrupt the File Allocation Table are extremely rare, but the consequences of such an incident are
catastrophic. To protect users from such eventualities, MicroSoft added support for alternate FATs. Periodically,
the primary FAT would be copied to one of the pre-reserved alternat FAT locations. Then if something bad
happened to the primary FAT, it would still be possible to read most files (files created before the copy) by using
the back-up FAT. This is an imperfect solution, as losing new files is bad ... but losing all files is worse.
6.3 ISO 9660
When CDs were proposed for digital storage, everyone recognized the importance of a single standard file
system format. Dueling formats would raise the cost of producing new products ... and this would be a lose for
everyone. To respond to this need, the International Standards Organization chartered a sub-committee to
propose such a standard.
The failings of the DOS file system were widely known by this time, but, as the most widely used file system on
the planet, the committee members could not ignore it. Upon examination, it became clear that the most
ideomatic features of the DOS file system (the File Allocation Table) were irrelevent to a CDROM file system
(which is written only once):
We don't need to keep track of the free space on a CD ROM. We write each file contiguously, and the
next file goes immidiately after the last one.
Because files can be written contiguously, we don't need any "next block" pointers. All we need to know
about a file is where its first block resides.
It was decided that ISO 9660 file systems would (like DOS file systems) have tree structured directory
hierarchies, and that (like DOS) each directory entry would describe a single file (rather than having some
auxiliary data structure like and I-node to do this). 9660 directory entries, like DOS directory entries, contain:
file name (within the current directory)
file type (e.g. file or directory)
location of the file's first block
number of bytes contained in the file
time and date of creation
They did, however, learn from DOS's mistakes:
Realizing that new information would be added to directory entries over time, they made them variable
length. Each directory entry begins with a length field (giving the number of bytes in this directory entry,
and thus the number of bytes until the next directory entry).
Recognizing the need to support long file names, they also made the file name field in each entry a
variable length field.
Recognizing that, over time, people would want to associate a wide range of attributes with files, they
also created a variable length extened attributes section after the file name. Much of this section has
been left unused, but they defined several new attributes for files:
o file owner
o owning group
o permissions
o creation, modification, effective, and expiration times
o record format, attributes, and length information
But, even though 9660 directory entries include much more information than DOS directory entries, it remains
that 9660 volumes resemble DOS file systems much more than they resemble any other file system format. And
so, the humble DOS file system is reborn in a new generation of products.
7. Summary
DOS file systems are very simple, They don't support multiple links to a file, or symbolic links, or even multi-user
access control. They are also and very economical in terms of the space they take up. Free block lists, and file
block pointers are combined into a single (quite compact) File Allocation Table. File descriptors are incorporated
into the directory entries. And for all of these limitations, they are probably the most widely used file system
format on the planet. Despite their primitiveness, DOS file systems were used as the basis for much newer CD
ROM file system designs.
What can we infer from this? That most users don't need alot of fancy features, and that the DOS file system
(primitive as it may be) covers their needs pretty well.
It is also noteworthy that when Microsoft was finally forced to change the file system format to get past the 8.3
upper case file name limitations, they chose to do so with a klugy (but upwards compatible) solution using
additional directory entries per file. The fact that they chose such an implementation clearly illustrates the
importance of maintaining media interchangability with older systems. This too is a problem that all (successful)
file systems will eventually face.
8. References
DOS file system information
PC Guide's Overview of DOS FAT file systems. (this is a pointer to the long filename article ... but the
entire library is nothing short of excellent).
Free BSD sources, PCFS implementation, BIOS Parameter block format, and (Open Solaris) FDISK table
format.
Free BSD sources, PCFS implementation, Directory Entry format
9660 file system information
WIkipedia Introduction to ISO 9660 file systems
Free BSD sources, ISOFS implementation, ISO 9660 data structures.
Operating system
Every computer must have an operating system to run other programs. The operating system coordinates the
use of the hardware among the various system programs and application programs for various users. It simply
provides an environment within which other programs can do useful work.
The operating system is a set of special programs that run on a computer system that allows it to work properly.
It performs basic tasks such as recognizing input from the keyboard, keeping track of files and directories on the
disk, sending output to the display screen, and controlling peripheral devices.
Purposes and Tasks of Operating Systems
Several tasks are performed by the Operating Systems and it also helps in serving a lot of purposes which are
mentioned below. We will see how Operating System helps us in serving in a better way with the help of the
task performed by it.
Purposes of an Operating System
It controls the allocation and use of the computing System’s resources among the various user and tasks.
It provides an interface between the computer hardware and the programmer that simplifies and makes it
feasible for coding and debugging of application programs.
Characteristics of Operating Systems
Device Management: The operating system keeps track of all the devices. So, it is also called the Input/Output
controller that decides which process gets the device, when, and for how much time.
File Management: It allocates and de-allocates the resources and also decides who gets the resource.
Job Accounting: It keeps track of time and resources used by various jobs or users.
Error-detecting Aids: These contain methods that include the production of dumps, traces, error messages, and
other debugging and error-detecting methods.
Memory Management: It keeps track of the primary memory, like what part of it is in use by whom, or what
part is not in use, etc. and It also allocates the memory when a process or program requests it.
Processor Management: It allocates the processor to a process and then de-allocates the processor when it is
no longer required or the job is done.
Control on System Performance: It records the delays between the request for a service and the system.
Security: It prevents unauthorized access to programs and data using passwords or some kind of protection
technique.
Convenience: An OS makes a computer more convenient to use.
Efficiency: An OS allows the computer system resources to be used efficiently.
Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing,
and introduction of new system functions at the same time without interfering with service.
Throughput: An OS should be constructed so that It can give maximum throughput (Number of tasks per unit
time).
Functionalities of Operating System
Resource Management: When parallel accessing happens in the OS means when multiple users are accessing
the system the OS works as Resource Manager, Its responsibility is to provide hardware to the user. It decreases
the load in the system.
Process Management: It includes various tasks like scheduling and termination of the process. It is done with
the help of CPU Scheduling algorithms.
Storage Management: The file system mechanism used for the management of the storage. NIFS, CIFS, CFS,
NFS, etc. are some file systems. All the data is stored in various tracks of Hard disks that are all managed by the
storage manager. It included Hard Disk.
Memory Management: Refers to the management of primary memory. The operating system has to keep track
of how much memory has been used and by whom. It has to decide which process needs memory space and
how much. OS also has to allocate and deallocate the memory space.
Security/Privacy Management: Privacy is also provided by the Operating system using passwords so that
unauthorized applications can’t access programs or data. For example, Windows uses Kerberos authentication
to prevent unauthorized access to data.
The process operating system as User Interface:
1. User
2. System and application programs
3. Operating system
4. Hardware
Every general-purpose computer consists of hardware, an operating system(s), system programs, and
application programs. The hardware consists of memory, CPU, ALU, I/O devices, peripheral devices, and storage
devices. The system program consists of compilers, loaders, editors, OS, etc. The application program consists of
business programs and database programs.
Client/server network OS
Client/server network operating systems are those networks that contain two types of nodes, the servers, and
clients. The servers host the applications or services for users while clients use these applications. In a
client/server system, both the server and client computers must have certain software installed to connect to
each other securely over a network connection.
Client-server networks are a type of computer network in which two or more computer systems are linked through
a telecommunications network. Clients are the computers that use the network to access services provided by
the server. Servers are the computers that provide the services to the network. Client/server networks are
commonly used in business and government applications.
Advantages
Allows companies to scale their computing resources to handle increased demand without having to buy new
hardware.
Client-server systems can be quickly reconfigured to meet the changing needs of an organization.
They are also more reliable and easier to maintain than dedicated server systems.
Lower operating cost.
More reliable and easier to maintain than dedicated server systems
Disadvantages
These OS need more sophisticated management and networking technologies, longer startup times, and
increased vulnerability to attack.
Less secure than dedicated server systems.
More challenging to scale than dedicated server systems.