Q 1.Explain how interrupt driven I/O is different from programmed I/O (CLO3, 5 Marks, 1 Week) Q 2.Consider the following C program: /* a simple C program to average 3 integers */ main () { int avg; int i1 = 20; int i2 = 13; int i3 = 82; avg = (i1 + i2 + i3)/3; } Write an assembly code version of this program. (CLO4, 3 Marks, 1 Week) Q 3.The xchg instruction can be used to exchange the contents of two registers. Suppose that the x86 instruction set did not support this instruction. a.Implement xchg ax, bx using only push and pop instructions. b.Implement xchg ax, bx using only the xor instruction (do not involve other registers). (CLO4, 4 Marks, 1 Week) Note: The marking criteria varies for each Assignment Sections to be included in the reportDescription of the sectionMarks IntroductionWrite the 1-page introduction of the assignment5 Literature Review Write 1-page literature review distributed systems5 Problem DomainExplain the problem domain and the scope5 Data sharing or device sharingExplain ways of sharing data through computer networks5 Facilitating human-to-human interaction Discuss how humans can control machines through natural and intuitive behaviours5 Performance and flexibility Discuss flexible distributed computing systems5 Maintenance and data back-upExplain the distributed computing backup and recovery processes5 Discussion Discuss 2 DS examples application (Task 2) and support the discussion based on what you have done before (Task 1).50 Presentation and technical DemonstrationCreate a 5-10 minute presentation to explain your assignment15 Total100