epository structurestore more information characterising elements of programthis information accessed and updated by optimising components that need more global knowledge of the program being builtClient-Server:The first client is running program one and it communicates to with the server programThe Server program then sends the information to the second client( a copy of program one)communications involve an “applications protocol” (a set of requests / commands that client can send to server, and a set of standard forms of reply)Layered System:term most typically used to describe a way of organizing library support routine.each layer relies on services provided by the layer below.an example is the UNIX OS.What are the advantages and disadvantages of compilation to "byte codes" and use of a byte code interpreter as compared to full compilation to machine code. (2 marks) “Byte code” interpreters mimic the normal edit, compile, execute cycle – but the compile (and link) steps are typically simplified and relatively fast.The interpreter is now a simulator for an idealized computer.The compiler produces code for this simple idealized computer.Simulated machine relatively simple, so can write moderately efficient simulator for any given computer.Write one compiler, language now on every computer with simulator.execution speed adequatecontrol over executionWhat is the role of the "linker" in the normal compile-link approach to producing executable programs? (1 mark) Linker has task of threading such files together.Take each file in sequence:copy code to end of “executable” file being builtwork out relative addresses of all “entry” pointscheck whether any previous file has externs matched by these entrysif so, go back and fill in addresses where specifiedcheck extern refs of current filesee if can resolve against any already known entrysWhat is meant by a) "static linking", b) "shared libr...