Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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