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 (February 12, 2025) Operating Systems Project. Retrieved from https://universalassignment.com/operating-systems-project/.
"Operating Systems Project." Universal Assignment - February 12, 2025, https://universalassignment.com/operating-systems-project/
Universal Assignment March 18, 2023 Operating Systems Project., viewed February 12, 2025,<https://universalassignment.com/operating-systems-project/>
Universal Assignment - Operating Systems Project. [Internet]. [Accessed February 12, 2025]. Available from: https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment - Accessed February 12, 2025. https://universalassignment.com/operating-systems-project/
"Operating Systems Project." Universal Assignment [Online]. Available: https://universalassignment.com/operating-systems-project/. [Accessed: February 12, 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

STM1001: Assignment 3 for Science/Health Stream Students

STM1001: Assignment 3 Science/Health Stream Students Only Academic Integrity Information In submitting your work, you are consenting that it may be copied and transmitted by the University for the detection of plagiarism. If you are unsure of your academic integrity responsibilities, please check the information provided in the Assessment Overview

Read More »

ACCG1000 Accounting for Decision Making Xero Assignment

1ACCG1000Accounting for Decision MakingXero AssignmentInformation packSession 2 2024Due Date: Friday 18th October 2024 at 11.55pm2Xero AssignmentIntroductionThe Xero assignment is designed to provide introductory accounting students with an overview of the Xero Accounting Software by completing a one-month accounting cycle for a fictional business. This is an online assignment worth 20%

Read More »

WRIT1001 Assessment Notification 2

6Final Essay: Rhetorical analysisDue: Friday 18 October 2024 at 23:59 (Sydney time)Length: 1500 words, worth 40% of the overall grade for the unitSubmit: as a Word document or PDF, via Canvas AssignmentMain question:● Present a scholarly essay that analyses the rhetoric used in arguments about thecontentious topic you have been

Read More »

WRIT1000 Assessment Four

Title: Self-ReflectionDue: Friday October 18 by 11:59PM.Length: 500 words (+/- 10%)Weight: 10% of the total gradeFormat: Times New Roman, double-spaced, 12pt. Your project should have the title“WRIT1000 Assessment Four – Self Reflection for xxxxxxx” where “xxxxxxxx” is yourstudent number. Please only submit Word documents (.doc or .docx). Turnitin doesnot recognise

Read More »

Written Assessment – Psychosocial Research Perspectives

Written Assessment – Psychosocial Research Perspectives TRIGGER WARNING: This is a case study of a real person. Katherine Knight was the first woman in Australia to receive a life sentence without parole after she decapitated and cooked her lover. If you think that you will have problems reading about this

Read More »

RES800 Assessment 1 – Research Question and Literature Review

Subject Title Business Research Subject Code RES800 Assessment Title Assessment 1 – Research Question and Literature Review Learning Outcome/s     Utilise critical thinking to analyse managerial problems and formulate relevant research questions and a research design   Apply research theories and methodologies to assist in developing a business research

Read More »

Assessment Task 2 Health advocacy and communication plan

Assessment Task 2 Health advocacy and communication plan Rationale and multimedia plan presentation Submission requirements Due date and time:         Rationale: 8pm AEST Monday 23 September 2024 (Week 11) Multimedia plan presentation: 8pm AEST Monday 30 September 2024 (Study Period) % of final grade:         50% of overall grade Word limit: Time

Read More »

MLI500 Leadership and innovation Assessment 1

Subject Title Leadership and innovation Subject Code MLI500 Assessment Assessment 1: Leadership development plan Individual/Group Individual Length 1500 words Learning Outcomes LO1 Examine the role of leaders in fostering creativity and innovation LO5 Reflect on and take responsibility for their own learning and leadership development processes Submission   Weighting 30%

Read More »

FPC006 Taxation for Financial Planning

Assignment 2 Instructions Assignment marks: 95 | Referencing and presentation: 5 Total marks: 100 Total word limit: 3,000 words Weighting: 40% Download and use the Assignment 2 Answer Template provided in KapLearn to complete your assignment. Your assignment should be loaded into KapLearn by 11.30 pm AEST/AEDT on the wdue

Read More »

TCHR5001 Assessment Brief 1

TCHR5001 Assessment Brief 1 Assessment Details Item Assessment 1: Pitch your pedagogy Type Digital Presentation (Recorded) Due Monday, 16th September 2024, 11:59 pm AEST (start of Week 4) Group type Individual Length 10 minutes (equivalent to 1500 words) Weight 50% Gen AI use Permitted, restrictions apply Aligned ULOS ULO1, ULO2,

Read More »

HSH725 Assessment Task 2

turquoise By changing the Heading 3 above with the following teal, turquoise, orange or pink you can change the colour theme of your CloudFirst CloudDeakin template page. When this page is published the Heading 3 above will be removed, but it will still be here in edit mode if you wish to change the colour theme.

Read More »

Evidence in Health Assessment 2: Evidence Selection

Evidence in Health Assessment 2: Evidence Selection Student name:                                                                    Student ID: Section 1: PICO and search strategy Evidence Question: Insert evidence question from chosen scenario here including all key PICO terms.       PICO Search Terms                                                                                                                                                                                                          Complete the following table.   Subject headings Keywords Synonyms Population  

Read More »

Assessment 1 – Lesson Plan and annotation

ASSESSMENT TASK INFORMATION: XNB390 Assessment 1 – Lesson Plan and annotation This document provides you with information about the requirements for your assessment. Detailed instructions and resources are included for completing the task. The Criterion Reference Assessment (CRA) Marking Matrix that XNB390 markers will use to grade the assessment task

Read More »

XNB390 Task 1 – Professional Lesson Plan

XNB390 Template for Task 1 – Professional Lesson Plan CONTEXT FOR LESSON: SOCIAL JUSTICE CONSIDERATIONS: Equity Diversity Supportive Environment UNIT TITLE:    TERM WEEK DAY TIME 1   5           YEAR/CLASS STUDENT NUMBERS/CONTEXT LOCATION LESSON DURATION         28 Children (chl): 16 boys; 12

Read More »

A2 Critical Review Assignment

YouthSolutions Summary The summary should summarise the key points of the critical review. It should state the aims/purpose of the program and give an overview of the program or strategy you have chosen. This should be 200 words – included in the word count. Critical analysis and evaluation Your critical

Read More »

PUN364 – Workplace activity Assignment

Assessment 1 – DetailsOverviewFor those of you attending the on-campus workshop, you will prepare a report on the simulated simulated inspection below. For those of you who are not attending, you will be required to carry out your own food business inspection under the supervision of a suitably qualified Environmental

Read More »

FPC006 Taxation for Financial Planning

Assignment 1 Instructions Assignment marks: 95 | Referencing and presentation: 5 Total marks: 100 Total word limit: 3,600 words Weighting: 40% Download and use the Assignment 1 Answer Template provided in KapLearn to complete your assignment. Your assignment should be loaded into KapLearn by 11.30 pm AEST/AEDT on the due

Read More »

Mental health Nursing assignment

Due Aug 31 This is based on a Mental health Nursing assignment Used Microsoft word The family genogram is a useful tool for the assessment of individuals, couples, and families.  It can yield significant data and lead to important, new patient understandings and insights as multigenerational patterns take shape and

Read More »

Assessment 2: Research and Policy Review

Length: 2000 words +/- 10% (excluding references)For this assessment, you must choose eight sources (academic readings and policy documents) as the basis of your Research and Policy Review. You must choose your set of sources from the ‘REFERENCES MENU’ on the moodle site, noting the minimum number of sources required

Read More »

HSN702 – Lifespan Nutrition

Assessment Task: 2 Assignment title: Population Nutrition Report and Reflection Assignment task type: Written report, reflection, and short oral presentation Task details The primary focus of this assignment is on population nutrition. Nutritionists play an important role in promoting population health through optimal nutritional intake. You will be asked to

Read More »

Written Assessment 1: Case Study

Billy a 32-year-old male was admitted to the intensive care unit (ICU) with a suspected overdose of tricyclic antidepressants. He is obese (weight 160kg, height 172cm) and has a history of depression and chronic back pain for which he takes oxycodone. On admission to the emergency department, Paramedics were maintaining

Read More »

Assessment Task 8 – Plan and prepare to assess competence

Assessment Task 8 – Plan and prepare to assess competence Assessment Task 8 consists of the following sections: Section 1:      Short answer questions Section 2:      Analyse an assessment tool Section 3:      Determine reasonable adjustment and customisation of assessment process Section 4:      Develop an assessment plan Student Instructions To complete this

Read More »

Nutrition Reviews Assignment 2 – Part A and Part B

This assignment provides you with the opportunity to determine an important research question that is crucial to address based on your reading of one of the two systematic reviews below (Part A). You will then develop a research proposal outlining the study design and methodology needed to answer that question

Read More »

NUR332 – TASK 3 – WRITTEN ASSIGNMENT

NUR332 – TASK 3 – WRITTEN ASSIGNMENT for S2 2024. DESCRIPTION (For this Task 3, the word ‘Indigenous Australians’, refers to the Aboriginal and Torres Strait Islander Peoples of Australia) NUR332 Task 3 – Written Assignment – Due – WEEK 12 – via CANVAS on Wednesday, Midday (1200hrs) 16/10/2024. The

Read More »

NUR100 Task 3 – Case study

NUR100 Task 3 – Case study To identify a key child health issue and discuss this issue in the Australian context. You will demonstrate understanding of contemporary families in Australia. You will discuss the role of the family and reflect on how the family can influence the overall health outcomes

Read More »

NUR 100 Task 2 Health Promotion Poster

NUR 100 Task 2 Health Promotion Poster The weighting for this assessment is 40%. Task instructions You are not permitted to use generative AI tools in this task. Use of AI in this task constitutes student misconduct and is considered contract cheating. This assessment requires you to develop scholarship and

Read More »

BMS 291 Pathophysiology and Pharmacology CASE STUDY

BMS 291 Pathophysiology and Pharmacology CASE STUDY Assessment No: 1 Weighting: 40% Due date Part A: midnight Friday 2nd August 2024 Due date Part B: midnight Sunday 29th September 2024 General information In this assessment, you will develop your skills for analysing, integrating and presenting information for effective evidence-based communication.

Read More »

Can't Find Your Assignment?

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