Solved

Banker's Algorithm

Posted on 2010-11-14
2
2,218 Views
1 Endorsement
Last Modified: 2012-05-10
This is an academic question (i.e. student question).  Since the original person who was helping ran into some computer problems, he/she asked me to delete the first one and repost.  Therefore, I am.  I am a student at Uinversity of New Mexico in an OS class working on my second masters.  I've been around for a while, and am not trying to cheat the system :-)

My study partner and I have worked on this and have run into a deadend (sort of).  When I compile the code it runs correctly for the first run.  The next runs have a segmentation fault.  When I recompile . . . it runs good for the first run, then has a segmentation fault for the next runs . . . on and on.  Therefore, I know we are just about there, but...we are apparently missing something (probably fairly simple).  That's the problem with we students . . . little problems can really be big, and big problems can really be little.  Therefore, I'm asking for assistance.

Apparently we have the basic concept laid out correctly, or it wouldn't run correctly the first time.  I believe the problem lies somwhere around lines 40 thru 45.  I think that the way we have the PThread being created may be causing a problem.  However, I'm not sure.  Thus, my question.  

I've attached the code.  Please take a look and let me know your thoughts.  I don't want anyone to do it for me, I just want some advice.  


Thanks much,
Darrell
rrb-bankers.c
1
Comment
Question by:dlb_sun
2 Comments
 
LVL 35

Accepted Solution

by:
mccarl earned 250 total points
ID: 34133000
There seem to be a couple of problems, that may result in the issue that you are seeing (I haven't tried actually running your code) or not but at least should be something that you should address.

- Line 38, you initialise the mutex a second time

- Lines 44 - 49, you create only 3 threads but you are 'joining' 9 threads (3 loops on i and j each)

0
 

Author Closing Comment

by:dlb_sun
ID: 34173144
Thanks for your advice.  Although it didn't specifically rectify all our issues, it did help in that direction.  I apologize for being so long in getting back to this.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question