Information Systems homework help.  
Faculty of Computer Studies
Course Code: TM298
Course Title: Operating Systems
Tutor Marked Assignment: Spring 2019/2020
Cut-Off Date:                                              Total Marks:
This assignment should be submitted electronically. You should write your solutions to the questions in a single word document, which is named using your short ID (6 digits), your full name, the course code and the TMA, your file name should look as follows:
Submit your document to your tutor on or preferably before the cut-off date shown above.
This TMA assesses your work of the course covering the material from chapter one to chapter Six of the TM298 book. The total marks for each question are shown at the end of each question. You have to answer ALL the questions.
Plagiarism Warning:
As per AOU rules and regulations, all students are required to submit their own TMA work and avoid plagiarism. The AOU has implemented sophisticated techniques for plagiarism detection. You must provide all references in case you use and quote another person’s work in your TMA. You will be penalized for any act of plagiarism as per the AOU’s rules and regulations.
Declaration of No Plagiarism by Student (to be signed and submitted by student with TMA work):
I hereby declare that this submitted TMA work is a result of my own efforts and I have not plagiarized any other person’s work. I have provided all references of information that I have used and quoted in my TMA work.
Name of Student:
Question I
This question carries 40% of the marks for this assignment.
You are asked to develop a bash shell script program that collects information about the computer that is executing it and further executes some tasks (it is up to you, what the tasks should perform). We are expecting that the shell script program makes use of the following bash command categories:
[ 6 marks each]

  1. Read at least two arguments from the command line
  2. Process management (examples: ps, jobs and top) { I would search for specific process and try to kill it}
  3. System information (examples: date, time) { I would use the time to keep track of the execution time of each task}
  4. Network (examples: ssh, sftp and scp) { I would here try to connect to remote services such as ssh, ftp and http}
  5. Programming (examples: java, javac, python, perl,){ I would here write script command to compile and run a JAVA or python program}
  6. File permissions (examples: chmod, chown) { I would try to change the file permission for specific files}

What I suggest is to create a folder a put there all necessary files (for instance a  java source file, python and/or any other file} and execute my script within this folder.
You are also asked to relate the shell command you use to the Linux operating system call, you have also to specify whether the shell command is an exactable or an internal shell command. [ 4 marks]
Question II
This question carries 40% of the marks for this assignment.
Youi are going to use the semaphores for process synchronization. Therefore, you are asked to develop a consumer and producer multithreaded program.
Let’s assume, that we have a thread (producer, we will call it producer_thread) reading data (positive integer numbers) from the keyboard, entered by a user to be stored in an array (dynamic array). (Assume that the array can hold all numbers entered without overflow.) [15 marks]
Another thread (consumer, we will call it consumer_thread) should read data from the array and write them into a file. This thread should run concurrently with the producer (producer_thread). [15 marks]
Your program should make sure that the consumer_thread can read from the array only after the producer_thread has stored new data. Both threads will stop when the user enters a negative number.
Thereafter, another thread (testing_thread) should start reading the array data as well as the file data and display them on the screen in order to verify if the consumer and producer have worked in a correctly synchronized fashion. This thread should not be synchronized with other threads, it useful for testing that consumer thread is synchronized with produce thread. [10 marks]
You are kindly asked to provide your tutor with the source code as well as screen snapshots that show the work of the testing_thread.
You are free to choose the programming language.
Question III
This question carries 20% of the marks for this assignment.

  1. Given the following mix of tasks, task lengths, and arrival times, compute the completion and response time for each task, along with the average response time for the FIFO, RR, and SJF algorithms. Assume a time slice of 10 milliseconds and that all times are in milliseconds.


Information Systems homework help