Abstract
Modern operating systems should be
extensible and flexible. This means that the operating system should be able to
accept new behaviour and change existing behaviour without too much trouble and
that it should ideally also be able to do this without any, or very little,
downtime. Furthermore, during the past years the importance of the network has
increased drastically, creating a demand for operating systems to function in a
distributed environment. To achieve this flexibility and distributedness, I
have designed and evaluated ABOS, an Agent-Based Operating System. ABOS uses
agents to solve all the tasks of the operating system kernel, thus moving away
from traditional monolithic kernel structures. Early results show that I have
gained in flexibility and modularity, creating a fault-tolerant distributed
operating system that can adapt and be adapted to almost any situation with
negligible decrease in performance. Within ABOS some tasks has been designed
further, and there exists a demonstration of how the agent-based filesystem
might work. Keywords: Operating systems, Practical application of multi-agent
systems.
Chapter One
Introduction
Requirements on modern operating
systems are that they should be extensible and flexible [6]. This means that
the operating system should be able to accept new behaviour and change existing
behaviour without too much trouble. In truly distributed environments they
should ideally also be able to do this without any, or very little, downtime.
This is due to the trouble of for example migrating processes running on the
machine in question. During the past years the importance of the network has
increased drastically. Thus, operating systems also need to be more or less
distributed. As always, performance is also an issue. The traditional way to
solve performance problems is to embed everything into one single, monolithic
kernel, while still using a microkernel design and object-oriented programming
to achieve flexibility. This enables modules to communicate via shared memory
and simple procedure calls, instead of using the overhead of inter process
communication (IPC). Obviously, this embedding is in conflict with the
requirement of flexibility. When every new function has to be imported or
implemented in the kernel space, one cannot easily add new services on-the-fly.
Indeed, it is also the exact opposite of what one wishes to achieve by using a
microkernel design. The cause of this embedding is, as stated, the overhead of
using IPC calls. However, recent studies [1] have shown that the overhead for
IPC calls has decreased enough to make this a practical approach. The benefits
one can gain by using IPC to communicate within the kernel are substantial.
Modules can be exchanged during run-time and new ones can be added without
having to reboot or recompile, which sometimes is the case. New strategies and
resources can be changed and added as easy as they should be. By using IPC, one
can also easily and transparently run some of the services on another machine,
thus creating a truly distributed system. A concept that is beginning to see
the light and that can address the questions above is agents. Agents are small
software components with certain qualities, described later in this paper.
Interesting about agents is that they are autonomous, uses IPC and can adapt
over time. This makes them highly suitable for employing within an operating
system kernel. My idea is to explore whether agents can be used to facilitate
the tasks in an operating system. I aim to present a model where agents reside
within the kernel of an operating system. Furthermore, I will present a design
solution for some common tasks that a distributed operating system performs.
This thesis will present a brief overview of the most commonly known operating
systems, followed by a presentation of some of the research performed in
operating systems. Succeeding this there is a presentation of agents and agent
technologies to clarify what an agent is. There is also a survey showing what
attempts has been made to apply agents in operating systems. To get some
understanding of what the requirements and problems are in a modern operating
system the section following this survey will deal with what an operating
system should perform. Once this is clear we can move on to the presentation of
ABOS, an agent-based operating system. Some examples of more top-level tasks
are also given, after which it is time to evaluate the agent operating system.
This is done and topped of with some concluding comments.
Topic: Background Analysis and Design of ABOS, an Agent-Based Operating System
Chapters: 1 - 5
Delivery: Email
Delivery: Email
Number of Pages: 75
Price: 5000 NGN
In Stock

No comments:
Post a Comment
Add Comment