Find Jobs
Hire Freelancers

Operating Systems scheduling project

$30-250 USD

ที่ทำเสร็จแล้ว
โพสต์ มากกว่า 6 ปีที่ผ่านมา

$30-250 USD

ชำระเงินเมื่อส่งงาน
The Project needs to be done in C language in LINUX. Check the attachment if you are interested. Full work is required. It is about thread scheduling, it may come long but it is to make the Project clear instead of much harder. Clarifications: Whenever you want to update the min_vruntime (rq.min_vruntime below) of the runqueue, update it as follows so that it is monotonically increasing: Let p be the running process and [login to view URL] is the runqueue rbtree (or linked list) if len([login to view URL]) > 0: // if there is a ready process firstnode = [login to view URL][0] // firstnode is the one that has smallest vrtuntime in the tree vruntime = min([login to view URL], [login to view URL]) else: vruntime = [login to view URL] rq.min_vruntime = max(rq.min_vruntime, vruntime) To keep the set of ready processes, you can use any data structure you like: red-black tree, AVL tree, linked list, etc. When we say rbtree below or in any place in the assignment, that means any one of the structure you like. Keep time values in nanoseconds in your program. That means use ns unit in your code. In the workload file, the time unit is ms. Hence we you read those values in your program, convert them into ns in your program. It is better if your program is working with ns as the time unit inside. This will simplify a lot of thing for you. Timeslice value in your program will be an integer and the unit will be ns (nanosecond). Consider the runqueue (structure) to consist of the following fields (at least): 1) red black tree (rbtree) containing processes that are in ready state (ordered wrt to vruntime), 2) currently running process (it is not part of the rbtree, but it is in the runqueue data structure), 3) min_vruntime (a monotonically increasing value; never decreases), 4) number of processes in the runqueue (includes the running process), 5) load (weight) of the runqueue, which is the total weight of the processes in the runqueue (includes the running process and the processes in the rbtree). You don't need to write out the cpu utilization. Don't need to compute it. Timeslice value will be computed for the running process at each timer tick as well. Hence it is only computed for the running process. Whan the running process has run in the cpu for timeslice time, it is suspended. This means that the timeslice values of processes are computed dynamically. When process goes into cpu, at that time and at each timer tick, the timeslice of the process is computed using the load of the process and the load of the runqueue. When process is out of cpu, its timeslice needs not be computing till it is executed again. Timeslice for a process becomes relevant when a process starts executing in the cpu. At each timer tick, the vruntime of the running process is updated. The min_vruntime of the runqueue is also updated. It is also checked if the current running process expired its allowed timeslice or finished its cpu burst. You need to update vruntim of the running process and also the min_vruntime of the runqueue also when the cpu burst of the running process finishes, or when another job needs to be scheduled, before the running job is removed from cpu.
รหัสโปรเจกต์: 15607934

เกี่ยวกับโปรเจกต์

6 ข้อเสนอ
โปรเจกต์ระยะไกล
ใช้งานอยู่ 6 ปีที่ผ่านมา

กำลังมองหาการสร้างรายได้ใช่ไหม?

ประโยชน์ของการประมูลกับ Freelancer

กำหนดงบประมาณและกรอบเวลาของคุณ
รับเงินจากการงานของคุณ
อธิบายข้อเสนอของคุณในภาพรวม
ลงทะเบียนและเสนอราคาฟรี
หมอบหมายให้:
รูปอวาตาร์ของผู้ใช้
............ Relevant Skills and Experience ........... Proposed Milestones $45 USD - mmmm
$45 USD ใน 3 วัน
5.0 (33 รีวิว)
4.9
4.9
6 ฟรีแลนซ์กำลังเสนอราคาโดยเฉลี่ย $153 USD สำหรับงานนี้
รูปอวาตาร์ของผู้ใช้
Hello We are top rated developers for C programming here on freelancer. thank you Relevant Skills and Experience C programming -----15+ years Proposed Milestones $150 USD - milestone
$150 USD ใน 3 วัน
4.8 (205 รีวิว)
7.1
7.1
รูปอวาตาร์ของผู้ใช้
Hi, i am best in OS and concurrency task. Let me do it for you Relevant Skills and Experience C, C++, Java Proposed Milestones $120 USD - task
$120 USD ใน 3 วัน
5.0 (1 รีวิว)
1.4
1.4

เกี่ยวกับลูกค้า

ปักธงของ TURKEY
ankara, Turkey
5.0
9
ยืนยันวิธีการชำระเงินแล้ว
เป็นสมาชิกตั้งแต่ พ.ย. 19, 2015

การยืนยันลูกค้า

ขอบคุณ! เราได้ส่งลิงก์สำหรับเครดิตฟรีให้คุณทางอีเมลแล้ว
เกิดข้อผิดพลาดขณะส่งอีเมลของคุณ กรุณาลองอีกครั้ง
โลโก้ Freelancer Thailand / ภาษาไทย ช่วยเหลือและสนับสนุน FreelancerประเภทโปรเจคการประกวดFreelancerองค์กรแพ็กเกจสมาชิกโครงการ Freelancer ชั้นแนวหน้าการจัดการโปรเจคงานในพื้นที่Photo Anywhereหน้าจัดแสดงผลงานAPI สำหรับนักพัฒนาได้รับการยืนยันDesktop App เกี่ยวกับเกี่ยวกับเราวิธีใช้งานความปลอดภัยนักลงทุนแผนผังเว็บไซต์เรื่องราวข่าวออกสื่อทีมรางวัลข่าวประชาสัมพันธ์ร่วมงานกับเรา ข้อกำหนดนโยบายความเป็นส่วนตัวข้อกำหนดและเงื่อนไขนโยบายลิขสิทธิ์ข้อพึงปฏิบัติค่าธรรมเนียมและค่าบริการหุ้นส่วนEscrow.comLoadshiftWarrior Forum แอปโลโก้ Apple App Store โลโก้ Google Play
ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้ โปรดลองอีกครั้งหลังปรับเปลี่ยนการอนุญาต
คัดลอกไปยังคลิปบอร์ดแล้ว
ผู้ใช้ที่ลงทะเบียน งานที่มีการโพสต์ทั้งหมด
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
กำลังโหลดตัวอย่าง
ได้รับอนุญาตสำหรับตำแหน่งทางภูมิศาสตร์
เซสชั่นการเข้าสู่ระบบของคุณหมดอายุและคุณได้ออกจากระบบแล้ว กรุณาเข้าสู่ระบบอีกครั้ง