--%>

A program to handle Hotel Reservations in UNIX

Operating Systems

In this assignment, you will implement a program to handle hotel reservations requested by customers at different locations connected to the \Fall-OS" hotel's database.

Suppose each customer is represented by a process and the body of the process consists of all the reservations made by that customer. A customer can make reservations, payments cancellation of reservations/payments. Two or more customers may be doing the same transactions at around the same time. Obviously, reservations/payments to the same room/time period must be performed atomically (mutual exclusively). If a customer tries to reserve a room that has already been taken, then disallow this action and print a "room taken" message. If a transaction tries to operate a non-existent room, print an error message. A customer can reserve a contiguous or non-contiguous block of two or more rooms at the same time.

To ensure these concurrent operations yield correct results, you are to use Unix semaphores to control access to rooms/stay periods, which are stored in shared variables.

To simulate (1) the transmission delay between the hotel's central computer and a customer's computer, and (2) the processing of each transaction, the rest four lines in the body of each customer specify the required total execution time (in milliseconds) for each of the three operations performed at that customer. In your implementation, each specialized time is the length of the critical section for the corresponding transaction.

Valid transactions are:

reserve (room_number) begin_date number_of_days name_of_customer

cancel (room_number) begin_date number_of_days name_of_customer

reserve (room_number1,...,room_numberK) begin_date number_of_days name_of_customer

/* non-contiguous block */

cancel (room_number1,...,room_numberK) begin_date number_of_days name_of_customer

reserve (room_number1-room_numberM) begin_date number_of_days name_of_customer

/* contiguous block */

cancel (room_number1-room_numberM) begin_date number_of_days name_of_customer

check customer_name /* show rooms and stay periods reserved */

Example{reserving a non-contiguous block of rooms:

reserve (2,5,58) ...

Example{reserving a contiguous block of rooms:

reserve (8-15) ...

You can cancel a room reservation only after you have reserved it. The input is as follows:

n /* number of rooms, numbered from 1 to n */

m /* number of customers */

customer_1:

reserve reserve_time (in milliseconds)

cancel cancel_time (in milliseconds)

check check_time (in milliseconds)

:

valid operations

:

end.

:

:

customer_m:

reserve reserve_time (in milliseconds)

cancel cancel_time (in milliseconds)

check check_time (in milliseconds)

:

valid operations

:

end.

The output after completing all transactions is: a report showing the transactions and resulting

room assignments with customer names.

2

   Related Questions in Science

  • Q : Similarity between Hitler and FDR

    Similarity between Hitler and FDR: The character and political values of the two men were similar. Both men were virtuosos in their use of modern mass communication. They both were ambitious to achieve their goals. They both were also determined about

  • Q : Describe Eisenhowers political beliefs

    Eisenhower's political beliefs: Eisenhower believed in dynamic conservation. He was conservative on money matters and was liberal to human beings. He believed in government support for big business, budget spending and the return of federal functions

  • Q : Strenuous life in 19 century What was

    What was the “strenuous life?” Why did it show in the late 19th century? What were some of the games that were popularized during this time?

  • Q : Define Weak Preservation Weak

    Weak Preservation: An abstraction of a concrete system is weakly preserving if a set of properties true in the abstract system encompass corresponding properties in the concrete system which are also true.

  • Q : Define Instant Messaging Instant

    Instant Messaging (IM): The best example would be Skype, through which instant communication could be sent to employee or members’ hand-held device or desktop.

  • Q : Areas of eZ Publish use Normal 0 false

    Normal 0 false false

  • Q : XIR signal and its uses Normal 0 false

    Normal 0 false false

  • Q : Operation of a Model checker Model

    Model Checking a Program: The operation of a model checker can be described in terms of the familiar metaphor of searching a graph (Figure shown below). The nodes of the graph represent the states of the program and the links connecting the nodes repr

  • Q : RM tool You are to identify and

    You are to identify and research 3 different Requirements Management Tools. You will write a 3 page paper containing the following components: 1.      For each RM tool, describe its major characteristics (or capabilities). 2.