Operating Systems Project

universal

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.

Purpose

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.

Details

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.

22224BCCA
00010110000101100000010011000010010000110100001111000001

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

Joke:

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.

encDec.h
int toUpper( char *inData );
toUpperClient.c
#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”); }
toUpperService.c
#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 (December 11, 2025) Operating Systems Project. Retrieved from https://universalassignment.com/operating-systems-project/.
"Operating Systems Project." Universal Assignment - December 11, 2025, https://universalassignment.com/operating-systems-project/
Universal Assignment March 18, 2023 Operating Systems Project., viewed December 11, 2025,<https://universalassignment.com/operating-systems-project/>
Universal Assignment - Operating Systems Project. [Internet]. [Accessed December 11, 2025]. Available from: https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment - Accessed December 11, 2025. https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment [Online]. Available: https://universalassignment.com/operating-systems-project/. [Accessed: December 11, 2025]

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.

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

Project Development and Analysis in Emerging Technologies

Assessment Brief- Assessment 2 Unit Code/Description ICT305 – Topics in IT Course/Subject BIT Semester 2024- S1 Unit Learning Outcomes Addressed ULO 1, 2, and 3. Assessment Objective The primary objective of this assessment is to provide students with hands-on experience in designing, implementing, and analysing a project in one of

Read More »

EDUC1006 Interdisciplinary Studies: Crossing the line

ASSESSMENT 2: Report Summary Title Assessment 2 Type Report Due Date Thursday 17 April, 11.59 pm (end of Week 6) Length 1500 words or equivalent Weighting 50% Academic Integrity The use of GenAI is allowed but limited for this assessment task. Submission Word document or PDF submitted to Turnitin Unit

Read More »

Writing in Community Development

Assessment Overview Overview Length or Duration Worth Due This essay should demonstrate a coherent argument, which is backed up by evidence from relevant journal articles, books and websites. You are expected to make two direct quotations only; and the rest should be paraphrases. You should also list at least eight sources.   If you are unsure of

Read More »

Counselling Theory and Practice in Schools

Assignment 1 Requirements Word limit 2500 words; excluding references Referencing You’re required to follow APA Academic Integrity Please refer to the Guidelines Task Purpose 🎯 This assessment task is designed to develop and assess students’ critical thinking and reflective skills, essential for counselling professionals in educational contexts. By engaging in a literature

Read More »

PSY1040 Cultural Responsiveness Self-Assessment

PSY1040 Cultural Responsiveness Self-Assessment The below self-assessment tool has been adapted from the following resource: Bennett, B., & Morse, C. (2023). The Continuous Improvement Cultural Responsiveness Tools (CICRT): Creating more culturally responsive social workers. Australian Social Work, 76(3), 315–329. Bennett’s collection of Cultural Responsiveness Self-Assessment Tools is designed for social workers

Read More »

TEAC7094 Assessment 2 Report: Analysis of a Student Work Sample

TEAC7094 Assessment 2 Report: Analysis of a Student Work SampleRemember to include a completed Cover Sheet for this task. CONTEXT PROBLEM AND SOLUTION (approx. 600 – 800 words) RECOMMENDATIONS (approx. 400 words) CONCLUSION REFERENCES Appendix One: Annotated and coded interview transcript from working with the child Appendix Two: Annotated and

Read More »

Psychological Data Analysis Report

Written Assignment This page outlines the major written assignment and the steps involved in preparing for submission. This assignment will allow you to develop essential skills in analysing and interpreting a data set to address a psychological issue and report the results in APA style. Note that separate documents are

Read More »

Principles of Economics

Principles of Economics Short-answer Assignment V1 (20% of final mark) The assignment consists of four questions.  You should allocate at least half a page (or 250 words) to each answer or 1000 words for all four answers depending on the nature of and/or marks allocated for the question/s. You may

Read More »

MRTY 5134 Laboratory Report Assignment

MRTY 5134 Laboratory Report Assignment Semester 1 2025Due 18th May 2025Answer TemplateEnter your name and student number below.Name:SID:Use this document to record your answers to the tasks described in the laboratoryreport assignment. When completed submit this document for marking via theassignment portal in Canvas.Things to note:

Read More »

Mind Map – Personal Philosophy

Mind Map – Personal Philosophy Assessment 2  Assessment Overview Overview Length or Duration Worth Due Part A – Annotated mind-map (equivalent to 350 words). Part B – 350 word personal reflection about your history, identity and values and link it with concepts explored in the unit. Part A – 350 words equivalent

Read More »

Consumer Partnerships in OT Practice

ASSESSMENT NUMBER 3 ASSESSMENT TYPE Written assignment DATE FOR SUBMISSION Refer to the Course Profile WEIGHTING 40% LENGTH   Part A – 500 words Part B – 500 words Part C – 500 words Notes This word allocation includes in-text references but excludes the reference list.There is no allowance for

Read More »

HPSYSD101 The Evolution of Psychology

ASSESSMENT 2 BRIEFSubject Code and Title HPSYSD101 The Evolution of Psychology Assessment Task Annotated BibliographyIndividual/Group IndividualLength 2,000 words (+/- 10%)Learning Outcomes The Subject Learning Outcomes demonstrated by successfulcompletion of the task below include:b) Examine the significant figures, events and ideas present inthe history of psychology.c) Identify and relate the key

Read More »

Literature Review and Reflection on Counselling in Education

Assessment Task SheetEDU6114 – Assessment 1 – Literature Review and Reflection Course Code and Name EDU6114 – Counselling in EducationAssessment Name Literature Review and Reflective EssayAssessment Item 1 Assessment Type EssayMarks/Weighting 50% Length 2500 words (excluding references)Assessed LearningOutcomesCLO 1, 3, 7 Due Date Please check Study Desk for Due DatesRationale

Read More »

NUTR1023 Health and Fitness through Diet and Exercise

Subject NUTR1023 Health and Fitness through Diet and Exercise Assessment Personal Diet and Exercise Plan Learning Objectives Apply the principles of training to develop a personal exercise program with appropriate mode/intensity/frequency to develop the students’ own health and fitness.Apply the current dietary guidelines to develop a personal diet plan for

Read More »

Behaviour Support Plan & Reflection

Overview Submit your support plan and reflective piece as one document. Description Part A: Support plan (1750 words) For a case study develop a support plan. This plan should aim to support an individual to reduce the need for a behaviour that challenges to occur. Collect and analyse data on a behaviour

Read More »

ASSESSMENT 2: Child Study Report

ASSESSMENT 2: Child Study Report Moderater very strict on  Rubric, its her bible, so please look into it Assignment – Written Assignment Due Date: 28th May, 23:59 (AEST) Weight: 60% Description (2500-3000 words): In this task, you are required to apply your knowledge of observational methods and child development to write

Read More »

Arts Assignment Help Australia

Introduction Arts is a broad and creative discipline that encompasses visual arts, performing arts, music, design, literature, and creative writing. Studying arts helps students explore creativity, cultural heritage, and expression through multiple mediums. In Australia, arts courses are offered at universities and TAFE institutes such as University of Melbourne, Monash

Read More »

Health Sciences Assignment Help Australia

Introduction Health Sciences is a multidisciplinary field that studies human health, disease prevention, treatment, and healthcare management. It encompasses areas such as nursing, public health, anatomy, physiology, medical research, and healthcare administration. In Australia, health sciences is a highly sought-after discipline offered at universities including Monash University, University of Melbourne,

Read More »

Literature Assignment Help Australia

Introduction Literature is the study of written works, encompassing poetry, prose, drama, fiction, and non-fiction, with a focus on understanding themes, symbolism, and cultural context. It is an essential discipline for students studying English, humanities, or creative writing at universities like University of Melbourne, Monash University, University of Sydney, and

Read More »

Humanities Assignment Help Australia

Introduction Humanities is the study of human culture, society, and history, encompassing disciplines such as history, philosophy, literature, sociology, linguistics, and cultural studies. It plays a crucial role in understanding human behaviour, values, and creativity. In Australia, humanities courses are offered at leading universities including University of Melbourne, Monash University,

Read More »

Environmental Science Assignment Help Australia

Introduction Environmental Science is an interdisciplinary field that studies the relationship between humans and the natural environment. It covers topics such as ecology, climate change, sustainability, pollution control, and environmental management. In Australia, environmental science is a popular field of study due to the country’s rich biodiversity and focus on

Read More »

Biology Assignment Help Australia

Introduction Biology is the science of life, exploring everything from molecular structures to ecosystems. It is a core subject in disciplines such as medicine, nursing, biotechnology, environmental science, and genetics. Students in Australia pursuing biology at universities like Monash University, University of Melbourne, University of Sydney, and Deakin University often

Read More »

Education Assignment Help Australia

Introduction Education is one of the most impactful fields of study, focusing on teaching methods, pedagogy, curriculum development, and learning strategies. Students pursuing education degrees in Australia at institutions such as the University of Melbourne, Monash University, University of Sydney, and Deakin University aim to become skilled teachers, administrators, and

Read More »

Economics Assignment Help Australia

Introduction Economics is the study of how societies allocate scarce resources, focusing on production, consumption, and decision-making. As one of the most popular academic fields in Australia, economics is taught at leading universities including the University of Melbourne, Monash University, University of Sydney, and ANU. Students pursuing economics often face

Read More »

Psychology Assignment Help Australia

Introduction Psychology is the scientific study of the human mind and behaviour, covering areas like cognition, emotions, mental health, and social interactions. In Australia, psychology is one of the most popular disciplines, with thousands of students enrolling at universities such as the University of Melbourne, Monash University, University of Sydney,

Read More »

Marketing Assignment Help Australia

Introduction Marketing is a dynamic and ever-evolving discipline that plays a critical role in the success of any business. From branding and market research to digital campaigns and consumer psychology, marketing requires both creativity and analytical thinking. In Australia, marketing students studying at top institutions like the University of Melbourne,

Read More »

Finance Assignment Help Australia

Introduction Finance is one of the most essential fields of study, forming the backbone of global business, economics, and investment. In Australia, students pursuing degrees in finance, accounting, economics, and business management at top institutions such as Monash University, University of Melbourne, University of Sydney, and RMIT face an intense

Read More »

Computer Science Assignment Help

Introduction Computer Science is one of the fastest-growing and most demanding academic disciplines worldwide. Students in Australia, the UK, and beyond pursue computer science degrees to build careers in software engineering, artificial intelligence (AI), cybersecurity, data science, and web development. However, the field is highly technical and requires extensive practical

Read More »

Law Assignment Help Australia

Introduction Law is one of the most intellectually challenging and competitive fields of study in Australia. Students pursuing law degrees at prestigious institutions such as Monash University, University of Melbourne, University of Sydney, and Australian National University face an intense academic workload. From legal case studies and essays to research

Read More »

Nursing Assignment Help Australia

Introduction Nursing is one of the most respected and challenging professions in Australia. Students pursuing nursing courses at top institutions such as Deakin University, Monash University, University of Melbourne, University of Sydney, and TAFE colleges face a demanding academic workload. From care plans and reflective essays to case studies and

Read More »

Can't Find Your Assignment?