0% found this document useful (0 votes)
79 views9 pages

KV5051 - Operating Systems Assessment

The assessment for the Operating Systems module requires students to implement a C program demonstrating OS fundamentals and propose a network infrastructure for a fictional company, Tech Solutions Inc. The assignment consists of two parts: practical implementation of OS concepts and a technical consultancy report detailing network services setup, including DNS and web servers. Submissions are due by January 16, 2025, with penalties for late submissions and guidelines against academic misconduct.

Uploaded by

Aizaz Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views9 pages

KV5051 - Operating Systems Assessment

The assessment for the Operating Systems module requires students to implement a C program demonstrating OS fundamentals and propose a network infrastructure for a fictional company, Tech Solutions Inc. The assignment consists of two parts: practical implementation of OS concepts and a technical consultancy report detailing network services setup, including DNS and web servers. Submissions are due by January 16, 2025, with penalties for late submissions and guidelines against academic misconduct.

Uploaded by

Aizaz Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Department of Computer & Information Sciences

ASSESSMENT BRIEF
Module Title: Operating Systems
Module Code: KV5051
Academic Year / Semester: 2024-25 / Semester 1
Module Tutor / Email (all queries): Fatih Tuysuz [email protected]
% Weighting (to overall module): 100%
OS Fundamentals and Network Infrastructure
Assessment Title:
Implementation for a Company
Date of Handout to Students: 28th October 2024

Mechanism for Handout: Module Blackboard Site & Lecture in Week 5

Deadline for Attempt Submission by


16th January 2025 11.59pm GMT
Students:
Mechanism for Submission: Document upload to Module Blackboard Site
Please upload your written report as a single PDF or
Submission Format / Word Count MS Word document. Your report should not exceed
2,000 words in length.
Date by which Work, Feedback and
12th February 2025
Marks will be returned:
Mark and individual written feedback sheet will be
Mechanism for return of Feedback and
uploaded to the Module Site on Blackboard. For
Marks:
further queries please email module tutor.

1. MODULE LEARNING OUTCOMES


The learning outcomes (LOs) for this module are:
1.1. Knowledge & Understanding
LO1 Understand the principles underlying Operating systems in a network environment
and use appropriate terminology in explaining the functions of an operating system.
LO2 Select appropriate features of an operating system for computer network
implementation.

1.2. Intellectual / Professional skills & abilities


LO3 Design and develop a computer network application using standard operating
systems

1.3. Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA)
LO4 Effectively formulate responses to well defined problems in both written and oral
form.
This assessment addresses learning outcomes LO1, LO2, LO3 and LO4.

2. PROGRAMME LEARNING OUTCOMES


The completion of this assignment will enable you to demonstrate full or partial achievement
of the following programme learning outcomes:

2.1. Knowledge & Understanding (K&U)


KU1 Demonstrate an in-depth and comprehensive knowledge of essential facts,
concepts, principles, theories, capabilities, limitations and challenges of computer
networks and other enabling techniques underpinning computer networks.
KU3 Demonstrate a comprehensive understanding of the professional, ethical, legal,
social, security and privacy issues involved in a range of aspects of computer networks.

2.2. Intellectual / Professional Skills & Abilities (IPSA)


IPSA1 Systematically apply knowledge and understanding to identify and analyse
complex problems, and design and recommend computer network solutions.
IPSA3 Reflect on the professional, ethical, legal, social and security issues surrounding
the development and the application of differing technologies within computer networks
subject area.
IPSA4 Demonstrate independent research and enquiry skills at an appropriately
advanced level.

2.3. Personal Values Attributes (Global / Cultural Awareness, Ethics, Curiosity) (PVA)
PVA1 Demonstrate creativity in problem solving and decision making in complex and
unpredictable solutions for the benefit of society and environment
PVA3 Demonstrate initiative, personal responsibility, personal enterprise, ethical and
security awareness, self-reliance and self-direction, acting autonomously in planning,
designing and implementing tasks at a professional level

3. INSTRUCTION OF ASSESSMENTS
3.1. Introduction
Operating Systems (OS) and Network Infrastructure are foundational components of
modern computing environments, enabling efficient process management, resource
allocation, and communication across networks.

The main element of summative assessment (100%) will be a single coursework


assignment that brings together all your new skills and techniques. The assessment has
two parts: (i) Part 1: Practical implementation, where you will work on OS
implementation and OS-related questions (50%) and (ii) Part 2: IT Consultancy Report, in
which you will take on the role of an IT consultant and propose a secured and load
balanced Network infrastructure for a fictional company (50%).
3.2. The Scenario
Your client is a mid-sized company called "Tech Solutions Inc." that provides a variety of
IT services to small businesses. The company has grown rapidly and now requires a robust
and scalable IT infrastructure to support its operations. In this context, Tech Solutions
Inc. requires a fully working OS implementation (Part 1 of the assessment) that can
efficiently handle concurrent processes, threads, and ensure proper synchronization and
scheduling. Apart from that the company also requires a secured and load balanced
network infrastructure (Part 2 of the assessment) that includes deployments of DNS and
web servers.

3.3. The Requirement


Part 1: You are asked to complete the missing parts of an OS-centric C program and also
answer OS-related questions.

Part 2: You are expected to propose a secured and load balanced network infrastructure
that will support existing processes and improve operational efficiency of a fictional
company.

In this regard, you must design and implement the following components:

1. OS Fundamentals: Work on the skeleton code given to develop/complete a C program


that demonstrates process creation, thread management, synchronization using
mutex and semaphore, and scheduling.
2. Answer questions related to the Operating Systems
3. DNS Server: Implement a DNS server using BIND9
4. Web Server: Implement a web server using Apache, including a load balancing setup
for high availability and reliability.

4. ASSESSMENT REGULATIONS

You are advised to read the guidance for students regarding assessment policies. They
are available online here.

4.1. Late submission of work


Where coursework is submitted without approval, after the published hand-in deadline,
the following penalties will apply.

For coursework submitted up to 1 working day (24 hours) after the published hand-in
deadline without approval, 10% of the total marks available for the assessment (i.e.
100%) shall be deducted from the assessment mark.

Coursework submitted more than 1 day (24 hours) after the published hand-in deadline
without approval will be marked as zero but will be eligible for referral.

The full policy can be found here.


4.2. Word limits and penalties
If the assignment is within +10% of the stated word limit, no penalty will apply. The report
should contain 2000 words (+10% = 2200 words), excluding the following sections: Table
of Contents, List of Tables and Figures, Glossary of Acronyms, References, Bibliography,
and Appendices. The word count is to be declared on the front page of your assignment
and the assignment cover sheet. The full Word Limits Policy is available here.,

4.3. Academic Misconduct


In all assessed work you should take care to ensure that the work you submit is your own.
The University takes academic dishonesty and cheating very seriously and it is your
responsibility to ensure that you don’t attempt to cheat or become victim to cheating.

There are many different forms of academic misconduct or ‘cheating’. Plagiarism is the
most common and both the University library and your academic tutors are able to
provide further guidance on proper citation and referencing in your assessed work.

The full Academic Misconduct Policy is available here. Useful guidance for avoiding
academic misconduct can be found here.

4.4. Generative AI, Proof Reading and Paraphrasing Tools


Northumbria University’s guidance on AI Tools / ChatGPT can be found here. Any use of
generative AI tools or AI based proof reading or paraphrasing tools is not permitted in
this module except the following when properly acknowledged (i.e., which tools are used
and what search prompt or keywords were used):

• Support with literature searching or identifying relevant sources of information


• Help with formatting references and citations

The following use of AI tools or software engineering automation (SEA) tools will lead to
academic misconduct investigation:

• Code, data or text generated by AI & SEA tools


• Diagrams or models created by AI & SEA tools either from Assignment
Specification text or reverse engineering or mapping code to diagrams
• Any data dictionary descriptions or definitions or specifications generated by AI &
SEA tools
5. ASSIGNMENT DETAILS:
5.1. Assignment Title: OS Fundamentals and Network Infrastructure Implementation

5.2. What do you need to submit? - A C program and A Technical Consultancy Report
5.2.1. C Program
You are expected to develop a C program that demonstrates process creation, thread
management, synchronization using mutex and semaphore, and scheduling. For this
task, skeleton codes are provided in Black Board (BB) module page under the
Assessment folder. Skeleton codes are fully functional with all important elements, but
the implementation of some parts is missing. You are expected to complete these
missing elements (TODO tasks in the codes) for this program to be fully working. Details
of TODO tasks are also given in the skeleton codes as comments.

Task 1: Process Creation and Termination


• Objective: Students are required to implement this section to create a child
process, handle its tasks, and terminate it properly.

TODO:
• Write code to iterate over a loop in the child process, and within the loop, print
a message that differs for the last iteration.
• Modify the behaviour of the child process, adding some delays using sleep() or
other system calls.

Task 2: Thread Creation and Scheduling


• Objective: Students will work with POSIX threads (pthreads) and manage thread
creation, execution, and synchronization between threads. They are expected
to differentiate thread priorities through conditional logic and introduce delays
using usleep().

TODO:
• Write code that adds delays to simulate work done by the threads.
• Implement the thread functions with different behaviours for each thread, using
conditions and loops.

Task 3: Synchronization Using Mutex (Critical Sections)


• Objective: The focus here is on managing access to shared resources. Students
must protect the file access using mutexes to prevent race conditions.

TODO:
• Implement the producer logic, including writing to a file with a condition (even vs.
odd iterations).
• Use a loop to introduce some delays and simulate real-world producer behaviour.
• Protect the file operations using the mutex (pthread_mutex_lock() and
pthread_mutex_unlock()).
Task 4: Semaphore Synchronization and File Operations
• Objective: This task requires students to use semaphores to synchronize the start
of the consumer task with the completion of the producer task. They will also
work with basic file operations like reading and writing.

TODO:
• Use a loop to read all lines from the file and print even and odd lines with different
messages.
• Implement the consumer logic, including waiting for the semaphore signal and
then reading from the shared file.

Once you complete these missing elements, you are expected to submit your codes to
the Submission Point (Program Submission) opened for the Programming part under
the Assessment folder.

5.2.2. A Technical Consultancy Report

For this task, you are expected to take on the role of a consultancy firm who has been
commissioned to produce a report (in the format of PDF or Microsoft Word) that will
first answer OS specific questions and then allow a company to build a functional
network services-based infrastructure solution based upon their requirements
(outlined below).

5.2.2.1. Operating Systems related Questions

Question 1. In modern operating systems, the process creation mechanism relies


on system calls like fork() and exec(). Compare and contrast the fork() system call
with the vfork() system call. What are the advantages and disadvantages of each,
particularly in terms of memory management and performance? In what
situations would you prefer one over the other?

Expected Focus: Memory management, performance, process table, child-


parent process relationship.
Research Direction: Compare Linux’s fork() and vfork() mechanisms, explore
differences in terms of memory overhead, context switching, and copy-on-
write strategies.

Question 2. In the context of synchronization, mutexes and semaphores are


widely used to manage access to shared resources. However, improper use can
lead to deadlocks. Explain the difference between mutexes and semaphores.
Then, analyze the common causes of deadlocks in multi-threaded programs.
Propose solutions or techniques to avoid deadlocks in critical sections.

Expected Focus: Mutexes, semaphores, synchronization, deadlocks,


starvation, circular waiting.
Research Direction: Detailed comparison of mutexes and semaphores,
exploring techniques like deadlock prevention, avoidance, and detection in
operating systems.

5.2.2.2. Network Implementation of the Company

Tech Solutions Inc., a rapidly growing IT services provider for small businesses,
requires a scalable and reliable IT infrastructure. Your task is to prepare a
consultancy report for the company's management and IT team that outlines the
setup of DNS servers and Apache web servers, ensuring secure, load-balanced
services.

The report must be sufficiently detailed to allow the company’s IT Department to


replicate your design and the management team to understand the benefits of
the solution. Include technical explanations, diagrams, and configuration files.

You will design and explain how to configure:


1. A DNS system on Linux.
2. A web hosting solution that are load-balanced, secure, and integrated with the
DNS system.

5.3. Work Packages of the Report:

WP1. Response to OS-related Questions


- Answer the Question 1 given in Section 5.2.2.1.
- Answer the Question 2 given in Section 5.2.2.1.

WP2. Executive Summary for Managers:


- Summarize the proposed network infrastructure solution for Tech Solutions Inc.
- Highlight the need for scalability, security, and reliability.
- Discuss the number of DNS servers and Apache servers involved.
- Discuss the benefits of this setup compared to alternative solutions (e.g., cloud-based
services, single-server setups) in terms of cost, control, and security.
- Provide an overview of secure and load balanced system and why it is crucial for the
company’s operations.

WP3. DNS Infrastructure Setup (Proposed Implementation):


- Server Setup:
- Explain the installation of DNS servers on Linux.
- Specify the Linux distribution to be used (e.g., Ubuntu, CentOS).
- Provide commands for installing BIND9 (DNS software).
- Detail the DNS zone files configuration for the primary server and the
replication process for secondary servers, if used any.
- DNS Configuration:
- Explain how to set up the zone transfers to ensure the secondary servers
receive updates from the primary.
- Discuss security measures to authenticate zone transfers.
- Demonstrate how to register the Apache web servers and clients in the DNS
database.
- Provide screenshots of DNS files and records (A records, CNAME records, etc.).

WP4. Web Server Infrastructure Setup (Proposed Implementation):


- Apache Installation:
- Provide step-by-step instructions on installing Apache on Linux servers.
- Detail how to configure Virtual Hosts to serve web content.

- Load Balanced & Secured Configuration:


- Discuss the use of load balancing.
- Explain how to distribute traffic evenly across the Apache servers.
- Include security measures for secure communication.
- Show how to configure DNS records so that the domain name points to the load
balancer, which then distributes traffic to the Apache servers.

5.4. Suggested Report Structure:


The technical consultancy report should follow a professional format to ensure clarity for
both management and technical staff, and it should include a front heading page that is
comprised of the report title, your name/Uni ID, date, module title/code, etc. This should
be followed by the main body of the report, and you are recommended to structure your
report using the following headings:

• Cover Page
• Table of Contents
• List of Figures
• WP1: Response to OS-related Questions
• WP2: Executive Summary for Manager
• WP3: DNS Infrastructure Setup
• WP4: Web Server Infrastructure Setup
• Glossary of Acronyms
• References
• Appendix

Key examples may be used throughout to support your recommendation. Evidence


should be provided to support your claims, statements and arguments. Please use
appendices appropriately to support your work despite optional.
The report should also be supported by appropriate references to relevant literature.
Either Harvard or British Standard are recommended for your report. The reference style
must be consistent for the whole report. You may wish to use reference editing tools,
such as Endnote (usually working with Microsoft Word), Bibtex (which usually works with
Latex) amongst others, to support the consistent use of references.

Note that this is an individual assignment and must be your own unaided work.

5.5. Module Specific Assessment Criteria and Rubric


Here is a summary of the mark breakdown.

Component Weighting
OS-based C code 30%
Report – WP1. Answering OS related questions 20%
Report – WP2. Executive Summary 15%
Report – WP3. DNS setup and configuration 15%
Report – WP4. Web server setup and load balancing 15%
Presentation of the report 5%

Note that Evaluation of the report presentation will be based on the report's structure,
proper use of headings, captions for visuals, correct referencing, and in-text citations.
Clarity and logical flow are key.

END

You might also like