Closed

System calls and I/O handling

You are to write a program which will reserve tickets for a concert. Our concert hall is very small and has only 5 rows of 8 seats each. A random access file is to be used to keep track of which seats have been reserved. Each seat will have one byte reserved to indicate whether it is taken or not. The seat s in row r is recorded in byte (8*r + s-1) of the file where r=1, ..., 5; s=1, ..., 8. You may simply record an "O" [as Occupied] in byte(8*r + s-1) to indicate that the seat is Occupied. You may create the random access file prior to running the programs. It simply needs to have zero length. Run your program [login to view URL] twice and log the output using script or photo in concertA.log.

Every request will be followed by a confirmatory response from the program with the reserved seats numbers in their corresponding [login to view URL] time and date of reservation should also be printed in the confirmation so that one can ascertain at what time and date the request was entered. Your data file should be named [login to view URL] which should be created first and should have its protection set by the commands:

$ touch [login to view URL]

$ chmod ug+lrw [login to view URL]

Your program should prompt for a function:$ Reserve or Display>Entering D results in a display of the occupied seats while entering an R causes prompts for the row number and then for a range of seat numbers. EnteringQ quits the program. All file entries should be in raw I/O format[using buffers]with error control and boundary checking. It should be possible to enter a single symbol(char)to reserve one seat.

Run 1:

Reserve seats 2-5in row 1

Reserve seats 4-7in row 2

Attempt to reserve seat 4in row 2–rejected

Reserve seat 3 in row 1Display reserved seats:

(example output)

12345678

XOOOOOOO

XXXOOOXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

Run 2:

Reserve seats 2-3 in row 4

Attempt to reserve seats 5-9in row 5–rejected

Display reserved seats

Part B-

Multiple copies of the program should be able to run at the same time (started with separate terminal windows & run commands). To obtain a seat reservation for x adjacent seats in row r, the program should lock the locations corresponding to that row, make the reservation, and then unlock the locations. Use the blocking option so that you wait if the lock is not available. Your test run should show two programs running simultaneously both trying to lock row 3and one being forced to wait. Run two copies of your program [login to view URL]) from two windows at the same time and make logs [login to view URL] and [login to view URL] one for each window & run.

Additional Information:

Possible C/C++ library includes

<sys/file.h>, <stdio.h>, <stdlib.h>, <signal.h><sys/types.h>, <unistd.h>, <fcntl.h>, <time.h>

Practicing Operating Systems Techniques:

Part A:

-Timing

-I/O analysis and error handling

-Random access file using lseek, read, and write system calls

Part B:

-lock/flock and unlock/flock a position in the file-wait for a lock

Skills: C Programming, C# Programming, C++ Programming, Python, Software Architecture

See more: unix read and write system calls sample program in c, read system call, implementation of system calls in c, open system call in unix, write system call in c, system calls in c programming, close system call, creat system call, billing system calls, php multiline system calls, mediawiki system calls extension, create system calls parent process create print message exit sample program, modify system calls linux, writing system calls linux kernel, programs using fork exec system calls, system calls operating system, linux system calls mini project, i/o board, i/o, modbus rtu i/o

About the Employer:
( 1 review ) Bowling Green, United States

Project ID: #17810228

11 freelancers are bidding on average $43 for this job

utkarshkatiyar19

I have a lot of experience with os concepts. I can do this project.

$100 USD in 3 days
(343 Reviews)
7.2
ITPyramid85

hello,how are you. i read your bid carefully. i am c/c++, c# expert and have full experience for 10 years. c/c++, c# is my top skill and i can complete your project by using c/c++, c#. i can provide most quality and More

$25 USD in 1 day
(12 Reviews)
6.8
hbxfnzwpf

I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ More

$120 USD in 2 days
(143 Reviews)
7.0
adeel94

I'm a Google certified Software Developer (AAD). Having plenty of experience in multi-tier diverse C++/VC++ application development. You'll get your job done perfectly. Have a look at my portfolio and reviews.

$15 USD in 1 day
(45 Reviews)
5.2
profvipabutaleb

I'm computer engineering TA with 10+ years of experience Experienced in C/C++/Data structures and algorithms / file processing / processes management and timing - fork and lock of certain processes and threads - pass More

$50 USD in 1 day
(56 Reviews)
5.2
prakash9125

Having 5 years of experience in embedded software development. I have worked on many projects which uses the system call for device handling.

$25 USD in 2 days
(5 Reviews)
2.3
donghyukchung

Dear client. I am happy to bid you. I have something to ask you. The index is 8 * (r-1) + (c-1) by your 1-base indexing rule, isn't it? Finally, I understand your requirement perfectly and very interesting. If you More

$20 USD in 1 day
(3 Reviews)
1.9
$10 USD in 3 days
(3 Reviews)
0.9
creativetek9

Hi, Thank you for giving me a chance to bid on your project. i am a serious bidder here and i have already worked on a similar project before and can deliver as u have mentioned I have got Rich experience in Jooml More

$61 USD in 1 day
(1 Review)
0.0
NaveenKumarGowda

I have 4 years experience in C development. Worked networking protocols in cutting edge technology

$25 USD in 1 day
(0 Reviews)
0.0
aamiryousafi822

My name is Aamir Yousafi. I was raised in the U.S. I have a passion for the natural sciences, and I am a science writer, software programmer, and medical coder. I have a computer science degree and am quite proficie More

$20 USD in 1 day
(0 Reviews)
0.0