Download An eLearning Tool: Operating System Simulator - DSpace

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
ABARNAH ET AL: AN ELEARNING TOOL: OPERATING SYSTEM SIMULATOR – PSRS; VOL. 3, DEC 2009
28
An eLearning Tool: Operating System Simulator
K Abarnah, B Yaaminee, R Shalinee, S Vigneswararaja, Y Vijith and U.U.S.K.Rajapaksha
Department of Information Technology, Sri Lanka Institute of Information Technology, Malabe
Operating System (OS) is like the heart of a computer. Even though all the hardware is available, there is no use of a
computer without an OS. Therefore learning about the components and concepts of the Operating system is very much
essential and useful. Learning the concepts and teaching those concepts are not very easy. Nowadays in almost all the
universities Operating System is a module which is very popular in undergraduate level. Operating System concepts have
been taught to students theoretically, in which students find it very hard to understand. The concepts of OS are really
hard to explain theoretically. Regardless of how good the lecturer is explaining or how good knowledge he has, it is not
easily understood by the students. Therefore the need for simulators which simulates the functions of the components
has aroused. Even though the lecturers are very knowledgeable in the particular area, they still find it difficult to explain
all the concepts theoretically. Therefore the team has decided to develop an Operating System Simulator which will help
to visualize the concepts.
Index terms - Process management, Process synchronization, CPU scheduling, Memory management, Virtual memory,
File system and Dead lock
I. INTRODUCTION
T
he system namely Operating System Simulator for
Undergraduates (OSS4U), help the lecturers and
undergraduates of Computer Science who will be the frequent
learners of an Operating System. But still this will be very
useful for those who are interested in learning the OS
concepts. Analyzing from previous research papers and
project reports, ideas from past systems and drawbacks of
them were taken in to account to develop a system which will
help to learn the concepts related to Operating Systems by
visualizing the components. Even though there are many
simulators for Operating Systems that exists those are not
always fully implemented with all the components as well as
they does not have better user interfaces. This system will be
implemented with the major components of Operating System.
The concepts regarding Process management, Process
synchronization, CPU scheduling, Memory management,
Virtual memory, File system and Dead lock are visualized in
the system. In this system main components and the
components that are not yet implemented are implemented,
due to time consideration. In future works some components
are considered to be implemented. This system provides
accurate results for given user inputs. As this is done for
teaching purposes, main concern is given for accuracy and
correctness. The system is developed as a dynamic web
component. Hence this can be integrated with an existing
eLearning system. This has been developed using Java and
applets and hence it is portable across any platforms.
The introduction to the simulator system is given in the first
section. Next the description about currently available system
and the features of those systems are given. In the third section
the methodologies used in the development process and the
modules included in the system are stated. In the section four,
the evaluation about the current system is given and at last the
conclusion and the future works are given.
Background section of this paper gives a description about
the existing systems. It gives few features that are available in
the past systems. System architecture gives an overview of
the components implemented in the simulator. Further it also
describes the development methods used to develop the
system. It also includes system overview diagram. The
evaluation section gives a comparison between the past
systems and the currently implemented system. Conclusion
and future works states the conclusion that have been drawn
from the past researches and the components that are to be
developed later.
II. BACKGROUND
There are many simulators available at present to help
learning Operating Systems. MINIX[1,2,13], XINU[3],
RCOS.Java[10], OSP[11], TOST[5], SchedulerSim[4],
SOsim[7], SimOS[6], OSSIM[8], MOSS[9] are few examples
of existing OS simulators. MINIX and XINU are to be used in
a lab where students need to have a fair knowledge on the
architecture of the computer, UNIX and C / C+ programming
hence the intended software is to be implemented in Java
which is fairly known by many which might not need that
many resources to be allocated like other existing systems.
RCOS and OSP too requires fair knowledge on UNIX and
programming and the process to learn the above tools requires
time as well, also as these tools have a steep learning curve it
is not that easy to teach a specific concept where else the
intended system will be much flexible and will provide easy
methods to teach the concepts and the learners will be much
benefited. When considering SchdulerSim, it is designed only
for teaching CPU scheduling methods and only Round Robin
algorithm is implemented, and also in OSSIM it does not have
some features like Process Management, Memory
Management, and File System implemented. Therefore the
intended simulator addresses the above drawbacks with having
the above process included in implementation which will be a
ABARNAH ET AL: AN ELEARNING TOOL: OPERATING SYSTEM SIMULATOR – PSRS; VOL. 3, DEC 2009
better product in order to provide assistance as an Operating
System Simulator.
29
III. SYSTEM ARCHITECTURE
This system does not involve any high risk, but need to be
more accurate and correctly implemented. Testing is a main
important thing in the system. Therefore, this system is
developed using V model. The requirements for the system
were also gathered accurately and completely at the beginning.
Therefore this method was very suitable and was a success in
implementing. Verification and validation were also done
parallel with the implementation.
The system is implemented using Java. Java applets are
used in web applications to visualize the components. Object
oriented paradigm is used for development considering many
advantages and further improvements. Since the modular
structure is available with the Object Oriented paradigm, it
will be easy to expand the system in future. As future works
are proposed, considering extension is a very important think
in this system. The figure 1 shows the main components of our
system.
Fig.2.- Process Management - CPU scheduling
shows the interface used to demonstrate the producer
consumer problem.
Fig.3.- Process Synchronization
Memory Management
Fig.1.- System Overview Diagram
Process Management
In process management several functions have been
included. Here the user will be able to create a process, view
the process and view the CPU scheduling. The system will
illustrate the concept of multiprogramming in which the user
can create multiple processes. CPU scheduling algorithms are
used here to choose which process will gain the CPU
resources at first. Presently there are many algorithms
available to serve this purpose. Figure 2 shows one of the user
interface used in process management simulation. In the
proposed system the following algorithms are implemented.
•
•
•
•
First Come First Serve (FCFS)
Shortest Job First (SJF)
Priority
Round Robin
Memory management is another component that is
demonstrated in this system. This system simulates three
memory management algorithms. The following algorithms
are simulated. The interface used to demonstrate the First-fit
algorithm is shown in the figure 4.
•
•
•
First-Fit algorithm
Best-Fit algorithm
Worse-Fit algorithm
Fig.4.- Memory Management
Process Synchronization
Page Replacement Algorithms
Process Synchronization is another concept illustrated in the
system. This is illustrated by using three problems. The
producer consumer problem, reader's writer's problem and
dining philosopher's problem are illustrated here. Figure 3
Several memory segments are created with predefined size.
Each segment will have same block size. The prime objective
here is to minimize the number of jobs waiting in the queue to
acquire the space. Therefore choosing the best algorithm
ABARNAH ET AL: AN ELEARNING TOOL: OPERATING SYSTEM SIMULATOR – PSRS; VOL. 3, DEC 2009
30
accordingly is the most important task here. It is because
different algorithms work in different manner and also it
should be selected in order to minimize the wastage of the
memory blocks. Page replacement also can be used here. The
following algorithms are demonstrated in the system. The
figure 5 shows an interface used to demonstrate page
replacement algorithm
•
•
•
•
•
First in First out algorithm
Random algorithm
Least recently used algorithm
Second chance algorithm
Clock algorithm
Fig.6.- File Allocation method
Options are given for the users to mostly select the input
rather than entering in order to eliminate the errors. The users
also have the option to select the sample values for simulation
or to enter the values they wish. Since the system is a web
based module the deployment is also easy. Also it can be
accessed from anywhere. The system also comprises main five
modules of the OS together as one unit.
V. CONCLUSION AND FUTURE WORKS
Fig.5.- Page Replacement Algorithm
File System
File System is another Operating System concept
demonstrated in the system. In the contest of Operating
System, there are file system such as FAT32, NTFS and
UNIX and so available. UNIX file system is implemented in
this system. The concept is implemented in a way to support
the concepts of files and directories. It also have programmerlevel library of functions, for example with the file name
oss4u- delete, oss4u-open, oss4u-close, oss4u-read etc. By
using these functions, the file system operations are
demonstrated in the system. In the real operating system
concept there are many file allocation methods available.
These allocating methods are used to specify how blocks are
allocated for files. The following file allocation methods that
are simulated in the system. Figure 6 shows the interface for
file allocation method.
•
•
•
Continuous allocation
Linked allocation
Indexed allocation
IV.
EVALUATION
The developed system is easy to handle by the users. This
system does not allow code modification. The users have to
simply enter the values in the interface to simulate the
modules. Further command prompt inputs are also not given.
The users are provided with interactive user interface where
they find only few places to insert the values.
The team has successfully implemented the system. The
system is functioning as we expected. It is thoroughly tested
and almost error free. As it is used for teaching purposes the
system is ensured to be error free. As the recognition, this
system was nominated for National Best Quality Software
Awards Competition and participated in the national first
round competition representing SLIIT.
With the improvement of technologies, e-learning is
becoming a new trend in the educational world. People have
already started following courses on line, where they learn by
them self with the help of on line tutors. As for to cater their
needs this operating system simulator can also be integrated to
an e-learning system.
As the future works the team has planned to implement
threads and semaphores. Threads and semaphores are yet
another two important concepts in the Operating System. The
team also have planned to implement a stand alone system that
will comprise of all the modules available in the web
component.
ACKNOWLEDGEMENT
The final year project is a milestone our undergraduate
career. The team would not have been able to jump over this
without the help of many.
The team considers it as a great pleasure in thanking the
project supervisor Mr. Samantha Rajapakshe who helped in
immense ways in selecting a suitable project and who guided
through out by providing valuable advice and helped to make
this project a success.
The team would also like to extend a very big thanks to the
project lecturer Mr. Jayantha Lal Amararchchi who has given
timely guidance and advice on developing the product and the
documents.
ABARNAH ET AL: AN ELEARNING TOOL: OPERATING SYSTEM SIMULATOR – PSRS; VOL. 3, DEC 2009
The team extends special thanks all the academic and non
academic state of Sri Lanka Institute of Information
Technology for extending their help on time providing
necessary resources to carry out the project successfully. Last
but not least the team take this opportunity thank all others
including parents and friends who helped in making this
project a success.
REFERENCES
[1]
Hampshire College, USA, Minix1 Home formerlyMinix1:hampshire:edu
[Online]. Available: http://minix1.woodhull.com/index1.html [Accessed:
Feb 08,2009]
[2] Andy Tanenbaum at the Vrije Universiteit, in Amsterdam, The
Netherlands, MINIX3 [Online].Available: http:// www.minix3.org/
index.html [Accessed: Feb 08,2009]
[3] Prentice-Hall, XINU [Online]. Available:http:// www.dmi.unict.it/
pappalar/lab3/xinuhome.html[Accessed: Feb 10,2009]
[4] PORTAL, A software tool in Java for teaching CPU scheduling [pdf].
Available:http://portal.acm.org/citation.cfm?id=1050231.1050269
[Accessed: Feb 9,2009]
[5] TzankoGolemanov, EmiliaGolemanova, A Teaching in Operating
Systems Tool [pdf]. Available:http://ecet.ecs.ru.acad .bg/cst06
/Docs/cp/sIV/IV.4.pdf. [Accessed: Feb 8,2009]
[6] Mendel Rosenblum,Mani Varadarajan, SimOS: A Fast Operating
System Simulation Environment [pdf]. Available:ftp://reports.
stanford.edu/pub/cstr/reports/csl/tr/94/631/CSL-TR-94
631.pdf.
[Accessed: Feb 12,2009]
[7] Luiz Paulo Maia,Ageu C. Pacheco Jr, A SIMULATOR SUPPORTING
LECTURES
ON
OPERATING
SYSTEMS
[pdf].
Available:http://www.training.com.br/sosim/fei2003.pdf.[Accessed: Feb
10,2009]
[8] Richard M. Reese., PhD Assistant Professor of Computer Science,
Tarleton State University, OSSIM:An Operating System Simulator
[pdf]. Available:http:// www.texasacet.org/ journal/ACETJournalVol5/
OperatingSystemSimulator.pdf.[Accessed: Feb 10,2009]
[9] Ray Ontko,Alexander Reeder, Modern Operating Systems Simulators
[online].
Available:http://www.ontko.com/moss/[Accessed:
Feb
12,2009]
[10] David Jones, Andrew Newman, RCOS.JAVA: A SIMULATED
OPERATING
SYSTEM
WITH
ANIMATIONS
[pdf].
Available:http://rcosjava.sourceforge.net/Papers/RCOSjava.html
[Accessed: Feb 12,2009]
31