Browse > Article
http://dx.doi.org/10.9708/jksci.2014.19.12.359

Teaching Process Synchronization with the Bank Account Problem  

Yang, Hee-Jae (School of Computer Engineering, Kyungsung University)
Abstract
Process synchronization is one of the most difficult subject for students learning the Operating System courses. It is due to the fact that concurrent process environment, where many events occur at the same time, is difficult to understand for ordinary human who thinks only one thing at a time. Classical synchronization examples like the Bounded buffer problem or the Dining philosopher problem fail to hook attention and interest from lower grade students who just begin to study the Operating System courses in college because these examples are either too technical or too unrealistic. In this paper we propose another synchronization example named the Bank account problem as an alternative to the classical ones. Bank account problem is proved to succeed getting high interest and understanding from the student as it is easy and realistic, and almost every student has the experience using bank account in real life. Various synchronization subjects including controlling the execution sequence of each process, incorrect result due to the race conditions, use of semaphores, deadlock, and monitor are considered to apply them to the Bank account problem.
Keywords
process synchronization; concurrent process; multithread; computer education; operating system;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 A. Silberschatz, P. B. Galvin, and G. Gagne, Operating System Concepts with Java, 8th edition, John Wiley & Sons, Inc., 2010
2 W. Stallings, Operating Systems: Internals and Design Principles, 7th edition, Prentice Hall, 2011
3 A. S. Tanenbaum and H. Bos, Modern Operating Systems, 4th edition, Prentice Hall, 2014
4 A. D. Fekete, "Teaching about Threading: Where and What?", ACMSIGACT News, vol.40, no.1, pp.51-57, Mar 2009
5 C-K Shene, "Multithreaded Programming Can Strengthen an Operating Systems Course", Computer Sci. Edu, vol.12, pp.275-299, 2002   DOI   ScienceOn
6 H. Jarvinen, M. Tiusanen, and A. Virtanen, "Convit, a Tool for Learning Concurrent Programming", Proc of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education, pp.2220-2223, 2003
7 R. Oechsle and T. Schmitt, "JAVAVIS: Automatic Program Visualization with Object and Sequence Diagrams Using the Java Debug Interface (JDI)", Lecture Notes In Computer Sci, vol. 2269, Springer-Verlag, pp.672-675, 2002
8 K. Mehner, "JaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs", Lecture Notes In Computer Science, vol. 2269, Springer-Verlag, pp.163-175, 2002
9 H. Leroux, A. Requile-Romanczuk, and C. Mingins, "JACOT: A Tool to Dynamically Visualise the Execution of Concurrent Java Programs," Proc of the 2nd International Conf on Principles and Practice of Programming in Java (PPPJ 2003), pp.201-206, 2003
10 S. Carr, J. Mayo, and C-K Shene, "ThreadMentor: A Pedagogical Tool for Multithreaded Programming", ACM Journal on Educational Resources in Computing, Vol.3, No.1, 2003
11 G. Malnati, C. M. Cuva, and C. Barberis, "JThreadSpy: Teaching Multithreading Programming by Analyzing Execution Traces", Proc of the 2007 ACM Workshop on Parallel and Distributed Systems: Testing and Debugging, pp.3-13, 2007
12 S. Robbins, "Experimentation with Bounded Buffer Synchronization", Proc of the 31st SIGCSE Technical Symp on Computer Science Education, pp. 330-334, 2000
13 W. Campbell and E. Bolker, "Teaching Programming by Immersion, Reading and Writing", Proc of 32nd ASEE/IEEE Frontiers in Education Conference, Boston, MA, Nov 2002
14 G. Nutt, Operating Sustems - A Modern Perspective, 2nd ed., Addison-Wesley, 2002
15 S. Oaks and H. Wong, Java Threads, O'Reilly & Assoc., Inc, 1997
16 C. A. R. Hoare, "Monitors: An Operating System Structuring Concept", Communications of the ACM, Vol. 17, No. 10. pp.549-557, Oct 1974   DOI   ScienceOn
17 E. W. Dijkstra, "Cooperating Sequential Processes", Technological University, Eindhoven, The Netherlands, Sept 1965
18 S. J. Hartley, "Alfonse, Wait Here For My Signal!", ACM SIGCSE, pp.58-62, Mar 1999
19 Accreditation Board for Engineering Education of Korea, http://www.abeek.or.kr
20 K. Kim, J.Song, and T. Lee, "Effect of Digital Storytelling based Programming Education on Motivation and Achievement of Students in Elementary school", J. of the Korea Society of Computer and Information, vol.14, no. 1, pp.47-55, Jan 2009   과학기술학회마을