✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
Written 5: Safe Wombat Storage (25 Marks)
Alternative Partial Credit Problem: For part marks, you can instead solve the following multithreading problem: write psuedocode to find if a file with a specific name exists in a two-level directory. Your answer should use at least two threads and should use the level of complexity of multithreading described in the course. You may assume the specific data structures.
Full Mark Problem: After a considerable emotional and monetary investment, I have developed an IO device that allows users to input an image, remove all non-wombat aspects of the image, store it on the device for future access, then later retrieve it for the user.
Figure 1: Ceci n'est pas une wombat.
For the custom OS that uses this device, there are two commands for IO: iowrite(device_id, device_register, input) and ioread(device_id, device_register, variable_to_read). This device has the unique id "Wmbt" that allows for the OS to communicate with it.You are provided the following additional details: - The wombat device's "0 register" refers to the busy bit register.- The wombat device's "1 register" refers to the data input register. Users can either input in a filename and an image (to save the image) or a filename without an image to retrieve the image edited to remove all non-wombat data.- The wombat device's "2 register" refers to the image output register.- The wombat device's "3 register" refers to a status register.- The wombat device's "4 register" encodes errors as three bits.- The wombat device's data "input" and data "output" represent input and output.For example, ioread("Wmbt", 2, output) would copy over the device's output register data to the local variable output and only continue the program after the it is copied over.
a 2 marks) Describe what type of device is this based on course terminology. (Suggested Length: 4-5 words.) For a hint, I am thinking of terminology like "sharable"b 9 marks) Write psuedocode for a function to take an image and file name and save it using the above details. Basically, you want to make sure that you properly can save a wombat image then receive the output. Assume that no other processes can interact with the device at the same time.c 3 marks) What kind of errors related to Unit 6C would be relevant to this system? Suggested Length: 1-2 sentences.d 9 marks) Now develop a system to handle requests from multiple programs to use the wombat identifier device.Hints/Grading: Your program should make sure that multiple processes can send requests for wombat storage without errors or wombat related confusion, the worst kind. You can assume whatever program calls and structure are necessary to design your system. Part of the mark will be from the technical complexity of your answer and a correct use of Unit 4 and 6 concepts.