Find Jobs
Hire Freelancers

Write some Software

$30-250 USD

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

$30-250 USD

ชำระเงินเมื่อส่งงาน
Your task is to implement a semaphore-based solution to the problem stated below. Consider a system with N blocks of storage, each of which holds one unit of information (e.g. an integer, character, or employee record). Initially, these blocks are empty and are linked onto a list called freelist. Three processes communicate using shared memory in the following manner: Shared Variables: freelist, list-1, list-2: block (where block is some data type to hold items) Using the appropriate libraries, rewrite the pseudo-code as actual Unix/Linux processes, using semaphores to implement the necessary mutual exclusion and synchronization. The solution must be deadlock-free and concurrency should not be unnecessarily restricted. Further, you will have to implement a correct representation of the three lists so that access to them is shared among the processes. Deliverables: You must submit a working solution that compiles without errors on the CSE computers. Further, you must submit a detailed description of the approach you have used to solve the problem. Grading: Your project will be graded on program correctness, particularly whether it is avoiding deadlocks and its ability to maximize concurrency among the three processes. Further, the detailed description of your approach regarding shared list implementation and the synchronization mechanisms used will weigh in the final project grade. PROCESS #1 var b: pointer to type block; while (1) { b:= unlink(freelist); produce_information_in_block(b); link(b, list1); } PROCESS #2 var x,y: pointer to type block; while (1) { x:=unlink(list-1); y:=unlink(freelist); use_block_x_to_produce info_in_y(x, y); link(x, freelist); link(y, list-2); } PROCESS #3 var c: pointer to type block; while(1) { c:=unlink(list-2); consume_information_in_block(c); link(c, freelist); } Using the appropriate libraries, rewrite the pseudo-code as actual Unix/Linux processes, using semaphores to implement the necessary mutual exclusion and synchronization. The solution must be deadlock-free and concurrency should not be unnecessarily restricted. Further, you will have to implement a correct representation of the three lists so that access to them is shared among the processes
รหัสโปรเจกต์: 15408790

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

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

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

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

กำหนดงบประมาณและกรอบเวลาของคุณ
รับเงินจากการงานของคุณ
อธิบายข้อเสนอของคุณในภาพรวม
ลงทะเบียนและเสนอราคาฟรี
หมอบหมายให้:
รูปอวาตาร์ของผู้ใช้
I have worked with producer/consumer models in Linux, using C. Relevant Skills and Experience C, Linuxm synchronization, semaphores Proposed Milestones $80 USD - final milestone
$80 USD ใน 1 วัน
4.9 (430 รีวิว)
7.2
7.2
7 ฟรีแลนซ์กำลังเสนอราคาโดยเฉลี่ย $139 USD สำหรับงานนี้
รูปอวาตาร์ของผู้ใช้
please ignore the bid amount we will discuss the price later in the chat after we have discussed the project thoroughly Relevant Skills and Experience: . Proposed Milestones: 190 - . Hi varmaraobujji! Please drop a message to discuss more about the project
$190 USD ใน 2 วัน
5.0 (65 รีวิว)
7.2
7.2
รูปอวาตาร์ของผู้ใช้
Hi, i have understood the project. i can easily complete it for you. we can have a chat thanks Relevant Skills and Experience c programming Proposed Milestones $140 USD - all
$140 USD ใน 2 วัน
4.9 (389 รีวิว)
7.3
7.3
รูปอวาตาร์ของผู้ใช้
Hi! Dear if you have any work for a programmer to do some applications,then I will do this task.i have a good typing and also work on turbo C++.
$155 USD ใน 2 วัน
0.0 (0 รีวิว)
0.0
0.0

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

ปักธงของ UNITED STATES
denton, United States
5.0
1
ยืนยันวิธีการชำระเงินแล้ว
เป็นสมาชิกตั้งแต่ ต.ค. 16, 2017

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

งานอื่นๆ จากลูกค้ารายนี้

write a code using c programming
$30-250 USD
ขอบคุณ! เราได้ส่งลิงก์สำหรับเครดิตฟรีให้คุณทางอีเมลแล้ว
เกิดข้อผิดพลาดขณะส่งอีเมลของคุณ กรุณาลองอีกครั้ง
โลโก้ 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)
กำลังโหลดตัวอย่าง
ได้รับอนุญาตสำหรับตำแหน่งทางภูมิศาสตร์
เซสชั่นการเข้าสู่ระบบของคุณหมดอายุและคุณได้ออกจากระบบแล้ว กรุณาเข้าสู่ระบบอีกครั้ง