Вы находитесь на странице: 1из 6

2009 IEEE International Advance Computing Conference (IACC 2009)

Patiala, India, 67 March 2009

Integration of TCP/IP Module into BIOS to


Boot a Remote Operating System
Suhas J Manangi, Vivek M Rathod, Parul Chaurasia, Satish E, Saumya Hegde
Computer Science Department
National Institute of Technology Karnataka, India
E-mail: {suhasjm, vivekmrathod,stylishparul,hsitas444,hegdesaumya}@gmail.com

Abstract:
:LWKHYHULQFUHDVLQJLQWHUQHWVSHHGLWVIDVWHUWRORDG
Operating System from a network with 2 GBps line than
from a local hard disc. Then why have OS in a hard disc
which is not at all robust with its moving parts. There are
few technologies which try to solve this problem. Ether
boot, WebOS, onlineOS, Thin Clients are the few ideas.
But majority of these make use of a small OS initially
loaded which takes control in loading OS from the
QHWZRUN ,WV OLNH 26 RQ DQRWKHU 26 WKXV LW OHDGV WR
increase in the booting time. This becomes big drawback
in loading OS over a network (Network Booting [1]). This
paper discusses about integrating TCP/IP module and an
INTERPRETER module into the BIOS and running OS
on a remote server, thus trying to achieve zero booting
time.

So it becomes like an OS running on another OS. So it


becomes necessary to reduce the boot up time. This
paper discusses about achieving this by integrating a
TCP/IP module into the BIOS and running OS on a
remote server and thus to obtain minimum booting
time.
Following assumptions are made here in this paper:
1.
2.
3.

Conventions used in this paper:


1.

Key words: Operating System, TCP/IP module,


modified BIOS, Ether boot, Thin Client.

2.

1. Introduction
7RGD\V SHUVRQDO FRPSXWHUV DUH RSHUDWHG E\ 26
within their local hard disc. But with increasing internet
speed, with 2 GBps internet speed we can achieve the
PCI speed that is generally used in PCs. So we can
instead boot OS from a network and thus can avoid the
need of hard disc on every computer. Well known
technology towards solving this problem generally
loads complete or a part of OS from a network. Most of
these technologies make use of small OS which will be
initially loaded from its local ROM memory.

The internet speed is minimum of


2 GBps
There is no bottle neck in the network.
No packet loss in the network.

Commands, input, output, display messages, audiovideo data etc all are referred in this paper as data.
Proposed Client Server Model, which is defined
later in this paper, is referred to as System

2. Work in this paper


The main objective of this paper is to integrate
TCP/IP module into BIOS and run OS remotely and
thus achieve zero booting time. This task is divided into
3 subtasks as follows:
1.

2047

Understanding the necessity to avoid loading from


hard disc and present technologies existing and
under development towards loading operating
system from remote server. Their advantages and
disadvantages.

2.

3.

Integration of TCP/IP module with BIOS.


Modifications needed with sequence of BIOS
procedures.
Functions of the TCP/IP module, Interpreter
module and low end processor in individual
personal computers. Since only commands and
messages are exchanged between remote server
running OS and local PCs we need to have
interpreter module with specified functions.
2.1. Major reasons to avoid hard disc

Hard disc are economical but comes with few


disadvantages. Reasons that make elimination of hard
disc in near future are as following:
1.

2.

3.

2048

Hard disc are slow:


Due to their moving read/write heads, the
transfer rate of an ATA100 disk would be
roughly 100Mb/s. The rotation speed of IDE
hard disk is 5400RPM to 7200RPM which is
also slow comparatively. Seek time is generally
of order of 10ms.
Life span:
Just like any good old machine with mechanical
components, Hard Disc Drives tend to
deteriorate over time. Hard Disc Drives consist
of rotating, magnetic disks, known as platters
that are used to store data. This rotation of the
mechanical arms results in much wear and tear
after long periods of use. Regular 'head' crashes
can damage the surface of the disk, leading to
loss of data in that sector. The operational
lifespan of a computer Hard Disc Drives is
typically over three years.
Application specific:
Computers are difficult to use in hazardous
conditions like places with high temperatures
and vibrations. Processor efficiency is inversely
related to temperature thus it restricts the use of
computers in air-cooled atmosphere. Rotating
mechanical parts in hard disc add to the
temperature and hence become a bottle neck in
SODFHVZKHUHWHPSHUDWXUHVFDQWEHDYRLGHGOLNH
in manufacturing units or war zones etc. Hard
GLVF FDQW ZLWKVWDQG KLJK vibrations thus we
FDQWXVHWKHPZKLOHWUDYHOOLQJRULQIDFWRULHV

4.

Other minor reasons:


High power consumption, low shock resistance,
moderate data error rates, sometimes difficult to
recover data from disk failure, they have internal
moving parts, disk sectors eventually become
dead, and most of them will be destroyed if
dropped (especially while in operation).
Generation of mechanical noise and moderate
heat from motor. So by removing the motor, we
can reduce noise and temperature. If we can keep
the temperature of hard disk down, then we can
keep our hard disk effective. But in order to
avoid motors we have to shift to solid state drive.
High weight ratios and large sizes thus putting
constraints on the increasing urge for compact
computers.
2.2. Present technologies and ongoing works:

Operating system is one of the most important


software that is stored in hard disc. If we are trying to
remove the hard disc then the other option to keep our
OS would be alternative to hard disc like Solid State
Drives, CD-ROMs, and Flash Drives etc. But looking at
the big picture we are trying to remove the necessity of
having a local storage device itself. Thus we have
DQRWKHU RSWLRQ 7+( ,17(51(7 1HWZRUN booting
[10]
is not a new concept and lot of research is on in this
area already.
Thin Clients [2]
:
A thin client (sometimes also called a lean or slim client)
is a client computer or client software in client-server
architecture networks which depends primarily on the
central server for processing activities, and mainly
focuses on conveying input and output between the user
and the remote server. In contrast, a thick or fat client
does as much processing as possible and passes only data
for communications and storage to the server. These make
use of small OS (embedded OS [3]) which will be initially
loaded from local flash memory which then takes over
control to interact with the remote server.
Ether Boot
:
Concept of network booting is implemented here.
In this system diskless computers contain boot
ROM which would be extension to BIOS. Here as
soon as BIOS process starts, part of kernel is
downloaded from the network and once necessary

2009 IEEE International Advance Computing Conference (IACC 2009)

kernel modules are loaded, it will take control to


further loading of OS. This type of booting only
reduces the need for hard drives but does nothing
in order to reduce boot up time.

Online OS and Web OS [4]


:
Unlike traditional operating system here web
application platform mimics the look and feel of
classic desktop operating systems such as
Microsoft Windows, Mac OS X or KDE etc. All
applications are run within the web browser.
Major disadvantage of these technologies is that they
load operating system from a remote server thus
increasing the boot up time. This system is inefficient to
have minimal boot up time. Hence a new system is
defined here.
2.3. Proposed client-server system: Zero Boot
Client-Server System
In this paper we proposed a System is defined,
consisting of client computers/devices and server as
shown in figure 1. Client side computers consist of
display monitor, keyboard, mouse, sound system and
other peripheral devices needed. And most important
thing is that the motherboard contains modified BIOS
and a network card. A low end processor would suffice
here. The Server side contains a copy of Operating
System and all the application software and very high
end processors and it is stored in a secure place.

decode) the commands and messages that are received


and sent.
The Sequence of BIOS events:
1.

Once the computer is turned on, BIOS does its


regular functions like POST, low level peripheral
management, initialization of processor registers
etc.

2.

Establish the TCP connection with the preset server


which contains OS. The server creates another
instance of the OS and this OS takes
over the control of computer here on.

3.

All the inputs from mouse, keyboard, etc are coded


by Interpreter and sent to the remote OS through
WKH 7&3 FRQQHFWLRQ HVWDEOLVKHG +HUH ZH GRQW
load the complete OS from remote

4.

server but instead run it on remote severs and only


command and messages are exchanged between
server and client computer. Thus the computer will
start as soon it is switched on without waiting to
load like in earlier technologies. Thus we can
achieve almost zero booting time.

Each computer connecting to it gets a space in the


server where it can store the private data that could
have been stored in local hard disc. And the server is
secured with high virus security and anti piracy. Hence
maintaining of OS and the security of data against virus
attacks and piracy of software could be controlled to a
great extent.
2.4. Modification in BIOS and working
The modified BIOS include the TCP/IP module and
Interpreter module. TCP/IP module is responsible for
establishing the connection between server and client
computer when the computer is turned on. The
Interpreter is responsible for application layer protocol
in the internet model. Thus to interpret (code and

Figure 2: Proposed Client-Server System

2009 IEEE International Advance Computing Conference (IACC 2009)

2049

5.

To run any software or application, either we can


install it on the remote OS or use the already
installed one. Like mentioned above, it runs on
remote high end processor and only results are sent
as TCP messages which are decoded by the
Interpreter and used in our computer. Since all the
computation is performed at the server side, even a
low end processor would be enough on our
computers to do the interpretation.
2.5. Functions of Interpreter

Interpreter is a software module which acts at the


application layer. This is also a part of extended BIOS
and stored in ROM chip (Flash memory):
1.

2.

3.

4.

5.

It collects all the changes in mouse position, key


board strokes, battery option, and peripherals
connected system RAM etc and decide what is to
be sent to TCP/IP module.
It decides how packets are to be constructed, how
much data to be put in each packet, what is urgent
data, when not to wait for packet to be of full size.
It prioritizes all the packets to be sent. It decides
about the order of packets that need to be sent so as
to avoid system lag.
It also receives incoming packets from TCP/IP
module which are transmitted from the OS server.
It unpacks the grouped data.
Prioritizes the data that needs to be sent to
processor, monitor and printer etc and forwards
accordingly.

3.

4.

5.

It receives data from Interpreter and puts system IP


address to the packets and forwards it to the OS
server.
It is responsible for sequencing, error checking,
and acknowledgment of the incoming and outgoing
packets.
It provides connection oriented service.

The TCP/IP header that will have following segment


structure shown in the figure 2.Total length of the
header: 24 Bytes. Destination and source port is not
needed because at client side there is only one port for
communication and at server side since only one port
for one IP, server can maintain IP Port No table.

Source IP
(32 Bits)
Destination IP
(32 Bits)
Sequence number
(32 Bits)
Acknowledgment number
(32 Bits)
Header
(4B)

Unused
(6B)

Flags
(6B)

Internet checksum
(16 Bits)

Receive window
(16B)
Urgent data
(16 Bits)

Data
Figure 2: Packet Structure [5]

2.6. Functions of TCP/IP module:


2.7. Functions of Local Processor:
TCP/IP module is a software module that acts in
transport and network layer. As name says
Transmission Control Protocol (TCP) and Internet
Protocol (IP) are implemented. This is part of BIOS and
is self triggered as soon as the computer is switched on
during bootstrap process.
1.
2.

2050

Each computer will have its own local processor.


Even a low end processor will serve the need of running
this new system in a stable and lag free manner. But at
the server side there has to be very high end processor.
It executes the command passed to it from Interpreter
and TCP/IP module.

It sets IP address to system, either gets dynamic IP


using DHCP protocol or statically given to it.
List of servers containing OS is pre-fed and then it
identifies the server giving priority to the one
having lesser load and thus establishing a TCP
connection.
2009 IEEE International Advance Computing Conference (IACC 2009)

Specify type of input


Total size required to be transferred

1 Byte
2 Bytes

Figure 5: Calculation of Required Transfer

Header size (over head)


Amount of data to be transferred
Total sending

24 Bytes
02 Bytes
26 Bytes

Figure 6: Total Size of the Packet for Worst Case

Effective transfer rate

: 02/26 Bytes

Percentage of useful transfer: 7.69%


Best case result:
Figure 3: Comparisons of PCI Bus speeds

3. Results:

If application rate is less than the incoming packet


rate, for example: playing a movie in VLC player, then
Generally movie speed will vary from 125 KBps to
300 KBps
We are considering the internet speed as 2 GBps
and worst case would have 9% of this transmission
so it comes up to 180MBps so packet rate is greater
than application rate.
So the extra data is stored in RAM

In the existing traditional systems, PCI bus, which is


generally used, can achieve maximum of 1 GBps speed
(as of today) shown in figure 3. And PCI bus with 1
GBps is not yet used in full fledge. So if we can achieve
even 512 MBps then our system defined here will be
sustainable. So efficiency needed would be 25%.
In our system we look at the worst case and best case to
study the efficiency of the system defined in this paper.
Worst case result:
Worst case would be when only the smallest data has
to be transferred between server OS and BIOS. For
example it can be a single mouse click or mouse
position or single key stroke.
Taking reference to GCC compiler, the number of bytes
needed for the following is (we are considering
maximum needed). Sizes shown in Figure 4 are
considered.
Character
Integer
Float

And maximum packet size in Internet model can be


64KB (including the header) but Data link layer will
fragment the packets if they are too large and prefer less
than 1500 bytes. So let the maximum packet size be
fixed to 1500 Bytes so as to avoid further delay in
routers because of fragmenting bigger packets.
Calculation of Packet size for best case is shown in
Figure 7.
Total size that can be transferred
Header size
Data size(total size-header size)

Figure 7: Calculating Size of Packet for Best Case

Effective transfer rate

1 Byte
4 Byte
4 Byte

1500 Bytes
24 Bytes
1480 Bytes

: 1475/1500 Bytes

Percentage of useful transfer: 98.33%

Figure 4: sizes Considered for char, int, float

The worst case to happen is when we type a single


character and it has to appear on the screen or move our
mouse and it changes its position on the screen. Size of
data required to be sent is calculated in Figure5. Size of
Complete packet is calculated in Figure 6.
Size of single character

1 Byte

4. Applications and advantages of above


proposed system:
1.

Due to lack of maintenance we encounter crashing


of Operating system quite often. Here since
Operating system need not be managed by users
thus chances of crashing will be greatly reduced.
Server can have powerful virus protection and

2009 IEEE International Advance Computing Conference (IACC 2009)

2051

2.

3.

4.

5.

6.

threat protection which a normal user may not be


able to manage.
Computers can be more compact and easily
portable by removing hard disc and same
technology can be implemented on small hand held
devices like PDA and make them more efficient by
giving them all the features of a general personal
computer.
Computers will be more resistant to hazardous
conditions and can withstand vibrations and even
moderate temperature because of no moving parts
and low end processors.
Software distribution including operating system
will be faster and easier. Even piracy can be greatly
controlled since all the applications and operating
system reside inside server.
Price of electronic space per MB will be drastically
ORZDQGHYHQIUHHLILWVDOORQOLQHEXWLWKDVWREH
given high security and trust. Easy back up and
better failure management
Hardware and software up gradation will be faster
and easier causing less E-waste. E-waste contains
heavy metal and plastic which are not eco friendly
thus by reducing the E-waste we are able to keep
our environment clean and healthy.

5. Disadvantages of the system defined in this


paper:
1.

2.

Centralized network:
This system is more towards a centralized network.
The major disadvantage comes in making this a
decentralized system because of allotting disc
space for each user. One solution for this may be to
inter connect all the servers containing OS. Thus
will have access to electronic space allotted to each
user. But this will further decrease the efficiency of
the system proposed in this paper.
Single point of failure:
Crashing of server containing OS will shut down
the entire network.

2.

used in universities where each student can have


only the low cost computers proposed here and
university can manage the central server running
OS.
A new dimension could be brought into the Local
Area Network using our system. Since all the OS
applications are run on the same server and it
seems efficient and better in communicating
operating systems on the same server than
individual computers, this might be possible in
near future.

6. Conclusion:
In this system a TCP connection is established with
the server containing OS. Best case efficiency of
98.33% and the worst case efficiency of 7.69% is
achieved. But most of the time this would be working
near to worst case hence average of this would be closer
to worst case. Considering the usage of personal
computers we expect an average efficiency of 15%25% is achievable. So a 2 GBps internet connection
with 15%-25% efficiency would mean 300MBps 500
MBps speed so that will be comparable with 64 bit, 133
MHz, 512 MBps PCI bus. Hence our system can
replace the existing traditional loading of Operating
System from a local hard disc. And since we are
creating one more instance of OS in the server and
running the OS on server we are drastically reducing
the boot up time. And with further increase in internet
speed it will be a better option than running OS on a
local hard disc.

7. References:
1.

2.

3.
4.

6. Future of this system:


5.

1.

2052

Overall cost of computers will be less since we


have no hard disc and a low end processor. Thus it
will be affordable by more people and educational
institutes. A mini version of this system can be

Network boot system . Yokota, Daisuke (Yokohama-shi,


JP) Kimura, Shinji ,United States Patent Application
20060206699
Client Server System Thin Client Architecture
Ambrose, Jesse , Arnalz, Gilberto ,Coker, John L,Diec,
Thanh ,Hahn, Samuel Shin-yi, Katchour, Ernst ,
Rothwein, Thomas M.
United States Patent Application 20020065879
Embedded OS PXE server James Jr., Frye F. (Houston,
TX, US) United States Patent Application 20030126426
Web OS and web desktop Lim, Chaeuk , United States
Patent Application 20030184583
Data communication and networking Tata McGraw-Hill
publication, Fourth edition, Author Behrouz A Forouzan
page no: 721, 583

2009 IEEE International Advance Computing Conference (IACC 2009)

Вам также может понравиться