Hi,
Hi friends i am new to this site.Am happy to tell you guys out there that i liked this site and all the effort that everyone has put to keep this site going.
Now coming to the point,i need to decide on a project possibly in c/c++/java which is related to an operating systems.I actually need this for my operating system course.May be something related to file systems,security,scheduling,P threads,distributed systems, inter process communication,concurrency and any other topic you think is good.This is graduation level topic that i need.

Dani AI

Generated

asked for a graduation-level OS project in C/C++/Java. Building on 's deadlock suggestion and the resource hint from , a high-impact, well-scoped project is a "Deadlock strategy comparison simulator." It models multiple processes and resource types, runs real concurrent workloads (pthreads or Java threads), implements prevention, avoidance (runtime safety checks), detection (wait-for graph), and simple recovery, and produces measurable outputs for comparison. Confirm scope with the course instructor as recommended.

Suggested implementation roadmap: define core data structures (process, resource, allocation/request tables), write a simulator core that accepts deterministic test cases and random stress generators, implement at least two contrasting strategies (for example: ordered locking for prevention and a runtime safety-check for avoidance), add a detector using a wait-for graph plus cycle detection, and implement one recovery policy (abort or preemption). Instrument for metrics: blocked time, aborts/rollbacks, throughput, and fairness. Produce CSV logs and a short report with charts comparing trade-offs under different workloads.

Small, practical helper — cycle detection on a wait-for graph (adjacency list) using DFS:

bool dfs(int v, vector<int>& state, const vector<vector<int>>& adj) {
  state[v]=1; // visiting
  for (int u: adj[v]) {
    if (state[u]==1) return true;
    if (state[u]==0 && dfs(u,state,adj)) return true;
  }
  state[v]=2; // done
  return false;
}
bool hasCycle(int n, const vector<vector<int>>& adj) {
  vector<int> state(n,0);
  for (int i=0;i<n;i++) if (state[i]==0 && dfs(i,state,adj)) return true;
  return false;
}

Scope note: for a semester project, implement two strategies thoroughly, include repeatable tests, and document assumptions and limitations.

Recommended Answers

All 5 Replies

Hi,
Hi friends i am new to this site.Am happy to tell you guys out there that i liked this site and all the effort that everyone has put to keep this site going.
Now coming to the point,i need to decide on a project possibly in c/c++/java which is related to an operating systems.I actually need this for my operating system course.May be something related to file systems,security,scheduling,P threads,distributed systems, inter process communication,concurrency and any other topic you think is good.This is graduation level topic that i need.

Hm well on this forum you can get diffrent answers. The best way probably is to consult your teacher.

You can implement deadlock related algorithms. I think that'll be interesting.

You can implement deadlock related algorithms. I think that'll be interesting.

Do you have anything more specific please.

Maybe you would want to have a look here for some OS related resources. It features the implementation of a bankers algo and some of the other advanced topics overview which should help you in deciding which project to choose.

Hope it helped, bye.

Do you have anything more specific please.

I meant you can implement algorithms for
1) Deadlock Prevention
2) Deadlock Avoidance
3) Deadlock Detection etc.

You can choose specific area out of them or implement all of them if your project needs to be big.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.