Sign in to follow this  

i need your help ...

This topic is 4780 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hi all , how are you ? :) i need your help in this project

			CSC 227 Operating Systems
			  Project Specification

Problem Definition:
You are asked to simulate the behavior of the Time-sharing Operating System. The OS should respond only to raised interrupts.  For each interrupt level, you should provide the adequate routine that deals with this specific interrupt. The list of all interrupts will be listed below. The computer system can be modeled with the following queuing diagram.


We assume that, there are 12 processes initially in the ready queue, numbered from 0 to 11. They should be in some random order and not necessarily ordered in ascending order of their PID. Processes 0 to 5 are monitor processes and processes 6 to 11 are user processes. Process 0 is the idle process that does nothing except looping while waiting for other processes to join the ready queue. Whereas the IO queue is initially empty. Assume that the CPU and IO times are not known a priori. The OS system has the following interrupt levels:

Timer int. that is triggered every quantum units.
End Program SVC called when the program terminates its execution
IO request SVC called when requesting an IO operation
IO complete SVC that is triggered when the IO operation completes
Trap 1 is triggered when execution an illegal instruction like a division by 0
Trap 2 is triggered when making an illegal memory access known as memory violation 
Trap 3 is triggered when a user’s program executes an illegal instruction. 
Simulation Model:
The simulation is event-driven; meaning that the simulator responds to events only. In our case, the user can set some events, as we will see in the output section. The quantum is fixed to 20 time units; where a time unit is equivalent 100 milliseconds.

Input:
The first input to the simulator is a warm up time. The simulation should run for this warm up time with no interaction with the user. This period will take the system to some stable state where simulation statistics are considered to be acceptable. During the simulation, it required to keep track of all processes and to be able to deliver some performance figures such as CPU utilization and turnaround time. At the end of the warm up phase, the simulator should output an interactive menu, which is explained in the next section.

Output:
An example of a possible menu is given below. The program should check first for the validity of the user choice and then respond to it by changing some simulation states or printing some results. An example of invalid request is triggering Trap 3 while a monitor process is using the CPU:

Display the CPU utilization percentage
Display CPU and IO times used by a specific process
Display the PID of the process that is currently running
Display the contents of the Ready Queue
Insert a new process or kill a process.
Display the PID of the process that is currently performing an IO operation
Trigger an interrupt and see how the OS react to this interrupt.
Terminate the simulation.

Deadline:
Projects, which are submitted after the deadline time, are not accepted. Consequently the group should be severely penalized.

i need your help in this projectbecause i don't have any knowlage in OS i want the concept and how can i coding it ( like which library should i use ) ?? cya ..

Share this post


Link to post
Share on other sites
Sure, we'll be glad to answer your questions, as long as they are not too general (we don't have time for pages of explanations). And we're also willing to give you any advice you might ask for.

About the language you should code this in: ask the people in charge of this course what languages are allowed, this should narrow down your choices to a few languages. Then, simply choose the language that you know the best (or, if you know more than one, the one that sounds the most adapted to the project).

The fact that you don't have any knowledge in Operating Systems is fairly easy to correct: read your course, ask the lecturer for some books on the subject and read them. This usually makes everything clear.

Share this post


Link to post
Share on other sites
ok i am well-know on c++ but i don't know any thing in coding OS the course i have is the general of the OS not the coding that what make never-know in OS coding i hope you help me like tell me the concept and tell me the way to coding like is there any library for this thing or is there any good tutorials ??
i hope so ...
cya

Share this post


Link to post
Share on other sites
well I am pretty sure that you should've taken a prerequisite course that would teach you all the required skills needed. Unless you decided to jump ahead and take a class before taking the required prerequisites. They wouldn't just have a class where they wouldn't supply you with enough info on your assignments.

Share this post


Link to post
Share on other sites
First of all, we're not supposed to help people with their homework, the whole purpose of this is to do that work yourself.

Quote:

i need your help in this projectbecause i don't have any knowlage in OS
i want the concept and how can i coding it ( like which library should i use ) ??


The concept is what they teach you in that course, we can't teach you that in a forum. The project requires you to make a simple simulation of an OS, either on pseudo-code or in a languange, you didn't clarify that. Note that they're asking you to simulate the behaviour of an OS, not to write an OS.

Anyway, you know programming, and the material of this course is OS concepts and various algorithms, so it's up to you to study the course and do the project.

Good luck.

Share this post


Link to post
Share on other sites
ok i need some tip like tutorials for making simple OS to understand the concept or tell me for any library that used in OS thing any tips ... please :(
cya

Share this post


Link to post
Share on other sites
Talk to your instructor. If you don't know what you're doing, you've either missed some important instruction, or else your thinking about this problem the wrong way. Your instructor should be able to put this in to perspective.

Share this post


Link to post
Share on other sites

This topic is 4780 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this