Find Jobs
Hire Freelancers

program in Java that simulates the behavior of the multiprogramming operating system. urgent project.

$30-250 CAD

종료됨
게시됨 거의 5년 전

$30-250 CAD

제출할때 지불됩니다
Hardware: The computer hardware is assumed to have: 1. A RAM of size 256MB, where 16MB is used to store the OS. 2. A single core CPU that executes one instruction each unit of time. 3. An I/O device for input and output operations. 4. An internal clock that allows to measure time in milliseconds. Operating System: The operating system is the multiprogramming OS. We would be interested in only two features in this simulation: The Job and CPU scheduling. 1. Job Scheduling: The system implements multiprogramming batch processing. 2. A long term scheduler selects jobs in sequence and allocates them the needed memory until the 80% of the memory is full. A job is loaded only if there is enough memory to satisfy its first memory requirement. 3. Each required memory block should be contiguous but a process may have more than one block of memory in different locations of the memory 4. The short term scheduler will allocate processes to the CPU following a multi-level feedback queue scheduling. 5. A process will have several CPU-burst / IO burst sequences at described in the example below. In each CPU burst a process may require additional memory or decide to free part of its memory. 6. If a process requires additional memory and there is not enough memory to satisfy its request, it should be put in Waiting state until there is enough memory for it. 7. If all processes are in Waiting state, only if all waiting for memory allocation, this is a deadlock. The system should declare a deadlock and select the largest waiting process to be killed in order to get some free memory for the other processes. 8. At any moment the processes will have one of the states, READY, WAITING, RUNNING, TERMINATED, KILLED. 9. When the job queue is empty and all processes are killed or terminated, the system should write a file containing statistics about all processes and their final status TERMINATED or KILLED. 10. Every 100 milliseconds, the long term scheduler will wake-up, check the memory and load more jobs until the 80% of the memory is full. Instructions: 1. You MUST use multithreading where the long-term (Job) scheduler runs in one thread while the short-term (CPU) scheduler runs in another thread. 2. Design the multi-level feedback queue however you see fit. Your design and implementation should include: a. Number of queues. b. Scheduling algorithms for each queue. c. Method used to determine when to upgrade a process. d. Method used to determine when to demote a process. Initialization phase: You should perform the following steps before running the simulation: 1. Load all jobs in the jobs file into a jobs queue in memory 2. Start the system clock (in milliseconds) 3. Start the long term scheduler that check the first job in the job queue, check if there is enough memory for it and then: a. create a process for that job, b. allocate its memory c. put it in the Ready queue, d. remove it from the jobs queue 4. Load the RAM with the maximum number of user programs, then go to sleep for 200ms. 5. Start the simulation run which consists of a simulation of the Machine Execution Cycle. At each millisecond, the scheduler will check if a job CPU-burst has ended and if the I/O burst of a process has ended. It should also check if any waiting process can be reactivated and put in the ready queue. Output from the simulation: A text file containing statistics about all processes and their final status TERMINATED or KILLED. Statistics about a process should contain: a. Process ID b. Program name c. When it was loaded into the ready queue. d. Number of times it was in the CPU. e. Total time spent in the CPU f. Number of times it performed an IO. g. Total time spent in performing IO h. Number of times it was waiting for memory. i. Time it terminated or was killed j. Its final state: Killed or Terminated k. CPU Utilization l. Waiting time. m. Turnaround time. i will provide a sample text file
프로젝트 ID: 19157617

프로젝트 정보

5 제안서
원격근무 프로젝트
활동 중 5년 전

돈을 좀 벌 생각이십니까?

프리랜서 입찰의 이점

예산 및 기간 설정
작업 결과에 대한 급여 수급
제안의 개요를 자세히 쓰세요
무료로 프로젝트에 신청하고 입찰할 수 있습니다
5 이 프로젝트에 프리랜서들의 평균 입찰은 $154 CAD입니다.
사용자 아바타
Hi there! My name is Orestes and I am a Software Engineer with specialty in Java/Spring. I represent a team of Software Engineers (so our 'technology' stack is actually quite big: Java, C#, Javascript, Python among others) that have undertaken too many projects (mainly Web Applications, Web Services, RESTful APIs etc) so I can guarantee that you (and your project) are in safe hands with us! :) I would like to state that even though your description has given us a basic idea for the project, there are still a lot to discuss so we can clarify the details of the project. That is why the price of the bid is yet to be discussed and we can decide on a fair price for you and for us! Feel free to get in touch! Orestes
$268 CAD 20일에
4.9 (24 건의 리뷰)
7.5
7.5
사용자 아바타
Hello Sir A Java expert developer is here I can you write a multi level simulator in Java Feel free to message me This is an initial bid Regards
$30 CAD 1일에
4.9 (210 건의 리뷰)
6.8
6.8
사용자 아바타
I DO NOT OUTSOURCE I have been a freelancer for the past 8 years, I believe that my experience and skill in this background will prove to be of great help to you. Contact me to discuss more on the details
$150 CAD 3일에
5.0 (5 건의 리뷰)
3.5
3.5
사용자 아바타
Dear Employer, I am a Java expert and I'm interested in the development of your project as it falls within my area of expertise. I've written multiple task scheduling and parallel processing concurrency programs and as such, hiring me for this project guarantees excellent results. I will also provide detailed documentation to explain the function of each lines of the code. Kindly contact me to discuss the details
$166 CAD 5일에
5.0 (5 건의 리뷰)
3.3
3.3
사용자 아바타
i have study java for 3 years and i can do this job . i have study process scheduling and operating systemes
$155 CAD 6일에
0.0 (0 건의 리뷰)
0.0
0.0

고객에 대한 정보

국기 (CANADA)
ontario, Canada
4.9
74
8월 25, 2018부터 회원입니다

고객 확인

감사합니다! 무료 크레딧을 신청할 수 있는 링크를 이메일로 보내드렸습니다.
이메일을 보내는 동안 문제가 발생했습니다. 다시 시도해 주세요.
등록 사용자 전체 등록 건수(일자리)
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
미리 보기 화면을 준비 중...
위치 정보 관련 접근권이 허용되었습니다.
고객님의 로그인 세션이 만료되어, 자동으로 로그아웃 처리가 되었습니다. 다시 로그인하여 주십시오.