Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Operating System Expert

Project: A Multithreaded Server

Overview -

In this assignment, you will learn how to implement a multi-thread server with a thread pool. To get started, download a copy of the starting source code from blackboard course assignment link. The goals of this assignment are as follows:

  • To gain experience in writing and debugging multi-threaded code. In particular, you will be exposed to code that can deadlock or have race conditions.
  • To make use of common synchronization primitives such as locks and condition variables.
  • To gain some tangential exposure to network programming.
  • To understand the concept of overlapping I/0 and computation.

Background -

As I'm sure you know, the Internet has exploded in popularity over the past decade. Driving much of this explosion is the proliferation of networked servers, which are programs that run "in the guts" of the Internet. Client programs (such as web browsers) communicate with these servers over the network, sending requests and reading back the servers' responses. For example, a web browser will send a web server a request for a particular web page; the server will process this request, and then respond by sending back the page's HTML, which the web browser reads, parses, and displays. One of the challenges in building Internet services is dealing with concurrency. In particular, many independent clients can simultaneously send requests to a given server. A server therefore must be designed to deal with concurrent requests. There are many different strategies for doing this; we will explore two in this project.

Deliverables -

You should submit a write-up of what you did (name it readrae.txt), plus all the source code files for your project. Your write-up should include the following:

  • A verbal description of the structure of your thread pool implementation, including a list of any design decisions you made.
  • A list of critical sections inside your thread pool code (and why they are critical sections).
  • A description of the synchronization inside your thread pool. What condition variables did you need, where, and why? Under what conditions do threads block, and which thread is responsible for waking up a blocked thread?

Submit in the all your files as a gzip compressed tarball. Include in the tarball all files necessary for a successful build! The name of your attachment should be project.tar.gz.

Your submission will be graded by compiling and running it and reviewing the source code.

  • As usual, the grading platform is linprog. Make sure your code works on linprog.
  • Please make sure your source code can compile. Absolutely no credit if it does not compile.
  • Get rid of warnings from the compiler. Points will be deducted if your code has excessive warnings.
  • Please don't include the binary files. Do a make clean before submission. You'll make grading harder for us if you do.
  • Please don't leave out any files! You'll make grading harder for us if you do.
  • Please don't modify any files you don't need to! You'll make grading harder for us if you do.
  • Please don't send us the meta-information from your revision control system! You'll make grading harder for us.

And if we have a hard time grading, you'll have a hard time getting points!

Attachment:- Assignment Files.rar

Operating System, Computer Science

  • Category:- Operating System
  • Reference No.:- M92273855

Have any Question?


Related Questions in Operating System

Question what do you see as the major differences between

Question : What do you see as the major differences between UNIX/Linux and other operating systems, such as Windows and Mac OS X? The response must be typed, single spaced, must be in times new roman font (size 12) and m ...

Question state the required answer precisely and then

Question : State the required answer precisely and then provide proper explanation. It is not enough to provide one- word or one-line answers. What is the purpose of the command interpreter? Why is it usually separate fr ...

Question students working at individual pcs in a computer

Question : Students working at individual PC's in a computer laboratory send their files to be printed by a server that spools the files on its hard disk. Under what conditions may a deadlock occur if the disk space for ...

Question description of lasa in this assignment you will

Question: Description of LASA: In this assignment, you will select a real-world operating system (can be for a PC, server, tablet, handheld, or embedded device). You will introduce the operating system and its components ...

Question topic computerized operating systems os are almost

Question: Topic: Computerized Operating Systems (OS) are almost everywhere. We encounter them when we use out laptop or desktop computer. We use them when we use our phone or tablet. Find articles that describes the diff ...

Question you are a security administrator responsible for

Question: You are a security administrator responsible for providing secure configuration requirements for new laptop deployments. After reading Module 2 of Certified Secure Computer User v2exercises, apply the configura ...

State the required answer precisely and then provide proper

State the required answer precisely and then provide proper explanation. It is not enough to provide one- word or one-line answers. Consider a computer embedded in the control of a manned spacecraft. Would it require an ...

Show all stepssuppose that the following processes arrive

Show all steps Suppose that the following processes arrive for execution at the times indicated. Each process will run the listed amount of time. in answering the questions, use non-preemptive scheduling and base all dec ...

Question 1answer the following questions 10 marks a

Question 1 Answer the following questions: 10 marks a. Consider the following page reference string: 3, 1, 4, 1, 2, 3, 5, 3, 2, 1, 2,5, 4, 3, 5, 2, 4,2, 5,3 Using the above page reference string display the contents of t ...

Discussion question this research assignment will give

Discussion Question : This research assignment will give further information on the nature and workings of multi-tasking and multi-processing operating systems. All information reported in this assignment is to be in the ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As