Operating Systems Project


University at Albany Department of Computer Science CSI 500

Assigned: Tuesday, February 21tst, 2023

Due: Tuesday, March 21st by 11:59 PM. Submissions with 20% penalty will be accepted by Thursday, March 23rd, by 11:59 PM.

Unlimited number of submissions is allowed.


To develop a synchronous inter-process communication through the use of both fork(), pipe(), and exec() system calls. For this exercise only ordinary pipes are to be used.

What to Do

You are to develop a producer/consumer application. Both the C programming language and any distribution of the Linux operating system are to be used. Your solution must be structured as a set of services. The core service is the inter-process communication which it is referred here as the producer/consumer service.


A synchronous producer/consumer pair of processes is to be created to support the service of replacing all lowercase letters in a set of strings of characters with their uppercase correspondent. The service above described will require support of a set of other services to perform

  1. the encoding and decoding of the data,
  2. to change lowercase letters into uppercase,
  3. to open and close files,
  4. to include and verify parity bits,
  5. to read from pipes, and
  6. to write to pipes.

Both the standard ASCII character set and odd bit parity are to be used. All data communications between producer and consumer are to be done by reading and writing through two shared pipes. The data generated by the producer is encoded and shared with the consumer through one pipe. The consumer decodes the message, modifies it, encodes it, and shares it with the producer through the second pipe.

You are to create a library to support your producer/consumer process activities. The file “encDec.h” is to be created and it must contain the prototypes of all code required to support the producer/consumer activities as described by the services provided by the three layers discussed below. All access to the services provided by this library must be done only through the use of any of the members of the exec() family of system calls. The three distinct layers to be created

are physical, data link and application and details regarding the services each one of them provided are as follows:

  1. The physical layer must contain routines to handle tasks such as
    1. converting a character into a binary bit pattern,
    1. converting binary patterns into characters,
    1. including a parity bit, and
    • checking and removing the parity bit.
  2. The data link layer must contain routines for
    1. framing (putting two SYN characters, a LENGTH character, and data into a frame), and
    • deframing (separating control characters from data characters).
  3. The application layer must contain routines to handle tasks such as
    1. reading data to be transmitted from input data files in the producer, and
    • writing received data into display (or output data file) in the consumer.

Your solution must also include a module to simulate transmission errors.

Information containing the original data is to be stored in a file with extension inpf. You are to use a set of temporary files to debug and document the results produced by the various activities performed during the processing of the required services. The encoded version of the input data, as well as the modified version of it are to be stored in files with the extension binf, and outf respectively. Files with the extensions chck and done will contain the encoded version of the file modified by the consumer and the decoded version of the data obtained by reading one of the pipes created respectively. Details regarding such files are provided by the table below.

File Characteristics
NamingContentsCreated byAccessed by
filename.inpfAny ASCII characteruserproducer/consumer
filename.binfEncoded (0/1) + parity + frame version of .inpfproducerconsumer
filename.outfUppercase version of .inpfconsumerconsumer
filename.chckEncoded (0/1) + parity + frame version of .outfconsumerconsumer/producer
filename.doneDecoded + Deframed + no-parity version of .chckproduceruser

The Producer

Creates strings of bits (‘0’ and ‘1’ characters) from the input files. All valid input files contain data made up of ASCII characters and have the .inpf file extension. The data to be transmitted must be structured as a set of frames. Each frame will consist of 2 SYN characters, ASCII 22, one control character to indicate the length of data block followed by a maximum of 32 data characters. Assume that there are no trailing control characters. Every block transmitted must contain 32 data characters except possibly the case where the remainder of the set of characters cannot fill the frame. Each character will consist of 7 information bits and a parity bit. The two tables below illustrate the structure of a frame created to transmit the “BCCA” character string. The top table shows the frame contents in decimal and in the table at the bottom, the actual contents of the frame have been encoded with characters ‘0’ and ‘1’ to simulate the binary representation of the characters used.


After the two pipes are created, the producer application uses one pipe to share all the encoded frames with the consumer. The producer also reads from another pipe all data processed by the consumer, deframes the data received, checks and removes parity bit, decodes the dada obtained, and it stores it in a file named filename.done.

The Consumer

Reads all encoded frames through the pipe used by the producer to transmit data, deframes the data received, checks and removes parity bit, decodes the dada obtained, converts all lowercase characters to uppercase, encodes the converted characters, adds the parity bit, creates all needed frames, stores the resulting information in a file (.chck), and uses a pipe to share the encoded result with the producer.

Important Tasks

The following are the fundamental tasks to be done for this project:

  1. Create the C files needed for each of the three layers. Compile them and create your “encDec.h” file with the prototypes of all functions needed to provide the services defined by each of the three layers.
  2. Create the consumer/producer application, as discussed in this document, that uses two shared pipes for communication. Your consumer/producer application must contain the statement #include “encDec.h”
  3. Create and populate the filename.inpf. This file will contain all the original data to be shared between producer and consumer.
  4. Create the filename.binf. This is the binary (0’s and 1’s) version of the original data. This will help you check the correctness of your conversion module. This file is created by the producer, shared with the consumer through the pipe, and processed by the consumer.
  5. Create the filename.outf. This is the modified version of filename.inpf where all lower case letters have been replaced by upper case letters. The consumer is responsible for the creation of filename.outf.
  6. Create the filename.chck. This file is the encoded version of filename.outf with parity bit and frame included.

What to Submit

  1. Your solution must be uploaded to Blackboard.
  2. Copies of all source files as well as their executables, and any data you used for testing your solution must be included.
  • You are to place all files that are related to your solution as well as your report document into a .zip file. Your .zip file must follow the format: CSI 500 Project2 Your Name.
  • The documentation associated with your solution must be typeset in MS Word. Marks will be deducted if you do not follow this requirement.

Your program should be developed using GNU versions of the C compiler. Your solution must use Ordinary Pipes (Lecture 03 – Interprocess Communication; slides 34-36). It should be layered, modularized, and well commented. The following is a tentative marking scheme and what is expected to be submitted for this assignment:

  • External Documentation (as many pages necessary to fulfill the requirements listed below.) including the following:
    1. Title page
    1. A table of contents
    1. [20%] System documentation
      1. A high-level data flow diagram for the system
      1. A list of routines and their brief descriptions
      1. Implementation details
    1. [5%] Test documentation
      1. How you tested your program
      1. Test sets must include
        1. input files .inpf; binary files .binf; and output files .outf; as well as the. chck and .done files.
        1. You may use the quote below as one of your testing files. You may name it as winVirus.inpf.
    1. [5%] User documentation
      1. How to run your program
      1. Describe parameter (if any)
  • Source Code
    • [65%] Correctness
      • All required services must be accomplished using any member of the set of exec() system calls.
      • The file encDec.h must contain only the prototypes of the functions used to perform any service.
      • Any solution deviating from items (i) and (ii), stated above, will be considered not correct because they will be addressing a different problem instead of solving project-2.
      • An example illustrating the use of the encDec.h file, the use of execl() system call, as well as the accepted approach to add a service to your solution is provided in the project-2 document.
  • [5%] Programming style
    • Layering
    • Readability
  • Comments
    • Efficiency


McAfee-Question: Is Windows a virus?

No, Windows is not a virus. Here’s what viruses do:

  1. They replicate quickly-okay, Windows does that.
  2. Viruses use up valuable system resources, slowing down the system as they do so-okay, Windows does that.
  3. Viruses will, from time to time, trash your hard disk-okay, Windows does that too.
  4. Viruses are usually carried, unknown to the user, along with valuable programs and systems. Sign… Windows does that, too.
  5. Viruses will occasionally make the user suspect their system is too slow (see 2.) and the user will buy new hardware. Yup, that’s with Windows, too.

Until now it seems Windows is a virus but there are fundamental differences:

Viruses are well supported by their authors, are running on most systems, their program code is fast, compact and efficient and they tend to become more sophisticated as they mature.

So, Windows is not a virus. It’s a bug.

Code to Illustrate the encDec.h File.

int toUpper( char *inData );
#include <stdio.h> #include <unistd.h> #include <sys/wait.h>   int main(int argc, char *argv[]){ int pid = fork(); if( pid == 0 ){ printf(“Child!!!!\n”); execl(“toUpperService”, “toUpperService”, “z”, NULL ); } else if( pid > 0){ wait(NULL); printf(“Parent!!!!\n”); }
#include <stdio.h> #include <ctype.h> #include “encDec.h”   int main(int argc, char *argv[]){ printf( “%c\n”, toUpper( argv[1] )); }   int toUpper( char *inData ){ if( (int)*inData >= ‘a’ && (int)*inData <= ‘z’ ) return( toupper( *inData )); }
Order Now

Get expert help for Operating Systems Project and many more. 24X7 help, plag free solution. Order online now!

Universal Assignment (March 22, 2023) Operating Systems Project. Retrieved from https://universalassignment.com/operating-systems-project/.
"Operating Systems Project." Universal Assignment - March 22, 2023, https://universalassignment.com/operating-systems-project/
Universal Assignment March 18, 2023 Operating Systems Project., viewed March 22, 2023,<https://universalassignment.com/operating-systems-project/>
Universal Assignment - Operating Systems Project. [Internet]. [Accessed March 22, 2023]. Available from: https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment - Accessed March 22, 2023. https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment [Online]. Available: https://universalassignment.com/operating-systems-project/. [Accessed: March 22, 2023]

Please note along with our service, we will provide you with the following deliverables:

Please do not hesitate to put forward any queries regarding the service provision.

We look forward to having you on board with us.

Get 90%* Discount on Assignment Help

Most Frequent Questions & Answers

Universal Assignment Services is the best place to get help in your all kind of assignment help. We have 172+ experts available, who can help you to get HD+ grades. We also provide Free Plag report, Free Revisions,Best Price in the industry guaranteed.

We provide all kinds of assignmednt help, Report writing, Essay Writing, Dissertations, Thesis writing, Research Proposal, Research Report, Home work help, Question Answers help, Case studies, mathematical and Statistical tasks, Website development, Android application, Resume/CV writing, SOP(Statement of Purpose) Writing, Blog/Article, Poster making and so on.

We are available round the clock, 24X7, 365 days. You can appach us to our Whatsapp number +1 (613)778 8542 or email to info@universalassignment.com . We provide Free revision policy, if you need and revisions to be done on the task, we will do the same for you as soon as possible.

We provide services mainly to all major institutes and Universities in Australia, Canada, China, Malaysia, India, South Africa, New Zealand, Singapore, the United Arab Emirates, the United Kingdom, and the United States.

We provide lucrative discounts from 28% to 70% as per the wordcount, Technicality, Deadline and the number of your previous assignments done with us.

After your assignment request our team will check and update you the best suitable service for you alongwith the charges for the task. After confirmation and payment team will start the work and provide the task as per the deadline.

Yes, we will provide Plagirism free task and a free turnitin report along with the task without any extra cost.

No, if the main requirement is same, you don’t have to pay any additional amount. But it there is a additional requirement, then you have to pay the balance amount in order to get the revised solution.

The Fees are as minimum as $10 per page(1 page=250 words) and in case of a big task, we provide huge discounts.

We accept all the major Credit and Debit Cards for the payment. We do accept Paypal also.

Popular Assignments

The Global Economy Assignment help

Unit Name: The Global Economy Answer all the questions below. Question 1 (this question has three parts, (a), (b) & (c)) Country A Country B phones computers phones computers 1000 0 600 0 500 200 400 300 0 400 0 800 (i) Can you tell which country has a comparative

Read More »

MAE 203 The Global Economy Estimated Reading

DEAKIN UNIVERSITY FACULTY OF BUSINESS AND LAW Department of Economics FINAL EXAMINATION TRIMESTER 1, 2021 Unit Code: MAE 203 Unit Name: The Global Economy Estimated Reading Time: 15 minutes Estimated Working Time: 2 hours Estimated time for preparing and submitting your final responses to CloudDeakin Dropbox: 45 minutes This is

Read More »

Property Asset Finance Assignment

QUESTION 1 (This question has three parts, (a) , (b) and (c) ) Discuss the following questions in detail: QUESTION 2 (This question has three parts, (a), (b) and (c)) QUESTION 3 (This question has three parts, (a), (b) and (c)) Abacus Property Group, a diversified property group listed on

Read More »


COURSE:                                 BACHELOR OF ACCOUNTING UNIT:                                       ICT 201 BUSINESS INFORMATION SYSTEMS ASSESSMENT TASK:                                    ASSIGNMENT 2 ASSESSMENT MARKS:            30% DUE DATE:                              Week 12 ASSESSMENT INSTRUCTIONS The second assignment provides an opportunity to applied knowledge of the concept of data and information and business information systems for the purpose of strategic and operational

Read More »

Critically evaluate the auditors’ role in detecting financial statement frauds

Semester April 2021 Module Code ACC4304 Module Title Auditing Coursework Structure Essay (1,800 words) Assignment Weighting 40% Assignment Title Critically evaluate the auditors’ role in detecting financial statement frauds. Coursework Submission Deadline Date: Week 13 of April 2021 Session Time: 5pmMethod: SafeAssign via Blackboard Assessment Criteria Learning Outcomes: Knowledge and

Read More »

Computer Security Vulnerabilities and Countermeasures

Computer Security (CSI1101) Case Study:                  Computer Security Vulnerabilities and Countermeasures Weighting:                    40% of the final mark of the unit Due Date:                     Check Blackboard under Assessment à Assignments à Assessment Overview Word count:                 3500 words excluding the Title Page, Table of Contents, Reference list, and Appendices (if you wish to add).

Read More »

System Analysis & Design

To make this assignment (and thus the module) more relevant and interesting for you, rather than give all students the same fixed (and artificial) case study, you will select your own realworld case study and then apply the concepts and techniques you have learned from this module to that case

Read More »


_________________________________________________________________________ CBOP3103 OBJECT ORIENTED APPROACH IN SOFTWARE DEVELOPMENT PENDEKATAN BERORIENTASIKAN OBJEK DALAM PEMBANGUNAN PERISIAN MAY 2021 SPECIFIC INSTRUCTION / ARAHAN KHUSUS Jawab dalam BAHASA INGGERIS atau BAHASA MELAYU. Jumlah patah perkataan: 2500 – 3000 patah perkataan tidak termasuk rujukan. Hantar tugasan SEKALI sahaja dalam SATU fail. Tugasan ini dihantar secara

Read More »

Assignment 2: Case study – Template and tips

Assignment 2: Case study – Template and tips Contents Overview of the assignment………………………………………………………………………………… 2 Aim of the Case Study assignment…………………………………………………………………….. 2 Selecting a behaviour……………………………………………………………………………………… 2 Overview of structure…………………………………………………………………………………….. 3 General formatting notes………………………………………………………………………………… 3 Frequently Asked Questions…………………………………………………………………………….. 3 Assignment structure………………………………………………………………………………………… 5 HEADING: Reason for Referral………………………………………………………………………….. 5 HEADING: Assessment……………………………………………………………………………………. 5 SUBHEADING: Behaviour

Read More »

BUSM4741 Financial Analytics for Managerial Decisions

Graduate School of Business and Law — Course Code: BUSM4741 Subject Name: Financial Analytics for Managerial Decisions Assessment # 1: Reflective Exercises Assessment Type: Individual Reflections Word limit: 2,000 (+/– 10%)   Due date:     Weighting   Sunday of Week 3, 23:59 (Melbourne time)     20 %  

Read More »

PROJ6004: Contracts and Procurement

ASSESSMENT BRIEF – Assessment 2 Subject Code and Title PROJ6004: Contracts and Procurement Assessment Assessment 2: Contracts and Procurement Review of the case study and associated Learning Resources, including detailed analysis of findings. Individual/Group Individual Report Length 2400 words Learning Outcomes Critically evaluate the risks associated with contract and procurement

Read More »


ASSIGNMENT 1: 2nd SEMESTER 2021 FINANCIAL MANAGEMENT (FM202B) Please note that this assignment consists of three sections, all of which should be completed. SECTION 1 Working capital [10] Extract from Shoprite Holdings group financial statements   Rm Rm   2020 2019 Revenue 83 430 79 711 Cost of sales –     

Read More »

Research & Enquiry – Assignment Two

In what ways can an organisation increase an employee’s work motivation? 1.0 Introduction The main objective of human resource management is to ensure long term organisational performance by aiming for optimal employee productivity (Hanaysha & Majid, 2018). Employees are an organisation’s most valuable assets and managers are always looking for

Read More »

BBF308/03 International Financial Management Assignment

BBF308/03 International Financial Management Assignment 1 (50%) September 2021 Semester Instructions BBF308/03 ASSIGNMENT 1 Part 1 (100 marks) Answer ALL questions. QUESTION 1 (25 MARKS) QUESTION 2 (25 MARKS) Three friends Derek (Malaysia), Nook (Thailand) and Minori (Japan) decided to join an international competition of innovation product. The registration fee

Read More »

LAW203 Taxation Law

Course:                            Bachelor of Accounting Unit:                                LAW203 Taxation Law Assessment Task:                                        Task 2 – Individual Assignment Assessment Marks:                             30% or 30 marks Assessment task Type (1) When assessed – year, session and week Weighting (%        of total marks for unit) Cross reference to learning outcomes Case Study Assignment and Class Debate:

Read More »

FSC521: The Financial Services Industry

FSC521: The Financial Services Industry Learning outcomes This assignment assesses the following learning outcomes: Instructions Tasks Topic 1 Financial institutions and the tax system 2 The impact of natural disasters and change in the OCR 3 Financial markets and the impact of the business cycle 4 Regulators Continued next page

Read More »

FNS50320 Diploma of Finance and Mortgage Broking Management

UNIT  – FNSPRM613 Grow financial practices STUDENT INSTRUCTIONS This assessment and subsequent assessments in this module are all based on this Case Study Scenario below. You are to target your existing database and then do research on securing new business clients. Overview of assessment requirements in the whole module: Complete

Read More »

FINC3017 Investments and Portfolio Management

FINC3017 Investments and Portfolio Management Assignment 1: Asset Allocation and Portfolio Construction Due: 11:59PM, 3 April 2022 Word limit: 1500, excluding tables and figures Objective You are hired as an investment consultant by a hedge fund that focuses on the following six US stocks: Apple (ticker AAPL), Ford Motors (ticker

Read More »

Manual Recording Case Study – Fast Pedallin Pty Ltd

Assessment Task 1: 25% Manual Recording Case Study – Fast Pedallin Pty Ltd READ THESE INSTRUCTIONS. THEY DETAIL HOW TO MAXIMISE YOUR RESULT. IMPORTANT:  Part A: Manual Recording To record transactions manually, you must use the Excel files provided via email. Handwritten work or Excel files other than the Excel

Read More »

Corporate Sustainability – MGMT2001

Ecological Footprint Project and Pathway to Net Zero ASSIGNMENT BRIEF V2.0 This is an Individual Assignment Value: 35 marks Due date: 4:00pm Monday, 02 May 2022 Week 09 Submission: via Turnitin link on Wattle Return: 16 May 2022 Maximum length: 12 pages (1.5 line spacing, font, Times New Roman or

Read More »


ASSIGNMENT #2 – SUBMISSIONS Object of the Assignment In this assignment, you will prepare a written submission to the Licence Appeal Tribunal (“LAT”) relating to the issue of whether Suzie Stumble’s injuries arose from an “accident” as defined in the relevant Statutory Accident Benefits Schedule (“SABS”). Due Date and Value

Read More »

Micro Economics Short Answer Questions

Assessment Task: Short Answer Questions Submission Date and Time: 5th April 2022; 23:59PM (NSW time) Value (Weight): 20% of total assessment Word Length: 1500 words Assignment 1 Questions: (1)         (All Students – 18 Marks). The following table presents Jane’s marginal utility from consuming hotdogs (H) and cola drinks (C). She has only

Read More »

MK102 Global Food Markets

Institute of Agricultural Policy and Market Research Chair of Agricultural and Food Market Analysis TAKE-HOME ASSIGNMENT MK102 Global Food Markets (WiSe 2021-22) Student name:             **please fill in your name here** Student ID-number:     **please fill in your student ID here** Start time:                    Thursday, February 17, 2022 at 10:00 am (CET) End

Read More »


Ayesha Khan is the daughter of Salman and Huma. Until they retired, Salman and Huma operated a successful business in Melbourne importing engineering components from Karachi. Thirty years ago, Salman and Huma’s accountant advised them that they should set up a discretionary trust for tax purposes, which they did. This

Read More »

The transborder challenge or threat

Your essay should be structured as follows: (excluding the reference list). o What are the main debates surrounding the causes of this challenge, which voices dominate in this debate, and why? This part of the essay involves: (a) identifying the main debates surrounding the causes of this challenge/threat, the key

Read More »

LWZ223 Property Law: Assessment One

Word Limit 2 000 words AGLC referencing and bibliography are required. Refer to rubric for marking guide. Relevant Unit Learning Outcomes for task, 1, 4, 5 and 6: advice on disputes in hypothetical problem and actual case law situations. Tip: Remember to support your response with law. This can be

Read More »

LAW5211 Constitutional Law Essay

LAW/CRI ASSESSMENT TASK SHEET – LAW5211 Assessment # 1 Assessment Name and description: Constitutional Law Essay Assessment purpose/scope and relevance:    The purpose of this assessment is to:    assess students’ ability to research issues of constitutional law; assess students’ ability to analyse and apply the results of that research

Read More »

SOC201A Mediation and Conflict Management

  Assessment Brief   Program   Bachelor of Applied Social Science   Subject   Mediation and Conflict Management   Subject code   SOC201A   Name of assessment   Assessment 3: Case Study   Length   2000 words   Learning outcomes addressed by this assessment:   A, B, C, D, E,

Read More »


This assignment addresses market demand in census tract neighbourhoods in the Toronto Census Metropolitan Area (CMA). You will first collect and present demographic data on two census tracts. Then you will compare and contrast the two census tract neighbourhoods. Finally, you will briefly identify census variables from your own neighbourhood.

Read More »

Supply Chain Risk Management and Logistics Activities in Online Retail

SECTION A: Criteria: FORMAT:                    Report. LENGTH:                    3000 words ± 10% (which excludes tables, appendices, and references). TYPOGRAPHY:          Arial, size 11 or 12, 1½ line spacing, with justified margins.  Pages should be numbered at the bottom right. REFERENCING:         Harvard referencing style should be used, and a minimum of twenty academic sources

Read More »

Can't Find Your Assignment?

Open chat
Free Assistance
Universal Assignment
Hello 👋
How can we help you?