• Aucun résultat trouvé

Assignment 3.1: Explain to your instructor:

N/A
N/A
Protected

Academic year: 2022

Partager "Assignment 3.1: Explain to your instructor:"

Copied!
1
0
0

Texte intégral

(1)

Windows Operating System Internals Assignments OS3

Assignment 3.1:

Explain to your instructor:

 What is the meaning of the term busy waiting?

 What other kinds of waiting are there in an operating system?

 Can busy waiting be avoided altogether?

 Where does the Windows kernel use busy waiting for synchronization?

Assignment 3.2:

Implement the Windows CriticalSection-API (MyCriticalSection()) using the Bakery-Algorithm. Do a performance evaluation of your implementation and the Windows implementation using 3 different threads manipulating a counter. Explain the results.

Assignment 3.3:

Explore the Windows named-pipe mechanism for synchronization and interprocess communication. Design and implement a talk-application:

a. Write a named-pipe server that waits for connection requests from clients and implements a main loop that reads data from the client, prints it on standard output, reads user input and sends it back to the client.

b. Write a named-pipe client that connects to the server and executes a main loop that reads user input, sends it to the server, gets the server response and prints it on standard output.

Assignment 3.4:

Design and implement two versions of a Producer-Consumer application. The Producer-thread shall increment a counter value and display it on standard output.

The Consumer shall decrement the counter and print the current value on standard output. Both threads shall communicate using a shared variable.

a. Write a version of your program that uses CriticalSections for synchronization

b. Write a version of your program that uses Mutexes for synchronization Do a performance comparison of both versions of your program. Measure the maximum/minimum counter values reached by both versions of the program.

Explain the results.

April 2005 © 2005 David A. Solomon and Mark Russinovich with Andreas Polze 1

Références

Documents relatifs

Informally, this rule means that a callout server that wants to get out of the loop fast should send a DWSS message immediately followed by a DWSR message; the server does

If the server determines that it does not want to include a ticket after it has included the SessionTicket extension in the ServerHello, then it sends a zero-length ticket

The server MUST send this extension in the ServerHello if it wishes to issue a new ticket to the client using the NewSessionTicket handshake message.. The server MUST NOT

DHCP servers that implement this Relay Agent Information suboption MUST use this value, if present in a DHCP message received from a client, as the value to insert into the

When multiple ENABLE commands are issued, each corresponding ENABLED response SHOULD only contain extensions enabled by the corresponding ENABLE command.. There are no

Application Server (AS), that includes the conference/media policy server, the notification server, and the focus, all defined in RFC 4353 [CARCH], to interact with one or

If the server is unable to set a new annotation because it does not support private annotations on one of the specified mailboxes, the server MUST return a tagged NO response

Using server-to-server notifications, the mail system can provide the end user with a unified notification experience (the same look and feel for accounts at all