The file proedit is a normal text editor, which allows its users to open, edit, save and
Question:
The file proedit is a normal text editor, which allows its users to open, edit, save and execute files. Copy and complete the access-control matrix illustrated below, such that it shows for each of the above five files, whether alice, bobby, or carla are able to obtain, directly or indirectly, read (R) or replace (W) access to its contents. Underline any access that can only be obtained through elevated rights. proedit readme.txt runtime.cfg src/code.c src/code.h alice bobby carla [12 marks] (b) Several Linux file systems extend the POSIX file permission bits with an access-control list mechanism defined in POSIX.1e Draft 17. Explain four significant differences between these Linux ACLs and those of Windows NTFS. (a) An application process receives information via a UDP packet over a wired Ethernet LAN connection. If the packet carries a source port number below 1024, under which conditions can the information be trusted? [6 marks] (b) What is a UDP-based amplification attack and why are similar attacks far less practical via TCP? [6 marks] (c) Name and briefly explain four techniques that the designers of C compilers and operating system kernels can implement to reduce the risk of stack-based buffer-overflow attacks. [4 marks] (d) How can an implementation of the C function strcmp() cause a vulnerability to a side-channel attack, and how can this be mitigated? [4 marks] 8 CST1.2018.4.9 SECTION B 8 Semantics of Programming Languages Consider the following syntax up to alpha equivalence, where n ranges over natural numbers, x over a set of variables, and (as usual) x is binding in e in fn x e. expressions, e ::= n | x | fn x e | e e0 values, v ::= n | x | fn x e (a) Define free variables fv(e) and capture-avoiding substitution {e/z}e 0 . [3 marks] (b) Define a left-to-right call-by-value reduction relation e e 0 .
(a) What is an (m, M)R-Tree? Explain how new items can be inserted and how range queries can be evaluated. (b) Explain the trade-off in varying m between small and large values. If the dataset is known in advance, would a large or small value of m be appropriate?
(c) R+-Trees, R -Trees, and QSF-Trees are special forms of R-Tree. Explain how each differs from the basic R-Tree and what advantage is presented by each modification. (d) As private motor cars increase in electronic sophistication, Sentient Computing becomes ever more applicable. Describe two context-aware behaviours that a car's electronic systems could exhibit, making use of general-purpose processing power, data storage, and wireless data communication.
Measuring the energy between atoms in a molecular dynamics simulation is a very common calculation which computers are used to solving, to model the movement of molecules like proteins, enzymes, DNA, RNA in order to better understand how they perform their functions in biology and chemistry. For a system with N atoms, there will be an N by 3 array of doubles, representing the coordinates of each atom in 3 dimensional space. Then, based on the distance between atoms, a calculation is performed that represents the energy. For this exercise we'll use a very simplified version of the energy, 1.) assuming that invoking Math.sqrt costs us 13 ticks of the clock; and 2.) assuming that Math.pow invocations cost 5 + 3*P ticks (where P is the second argument, the power to which the first argument is raised).
1 public double calculateEnergy(double[][] coords, double[] eps, int numAtoms) {
2 double energySum = 0.0;
3 double r0 = 1.2;
4 for (int i = 0; i < numAtoms-1; i++) {
5 for (int j = 0; j < numAtoms; j++) {
6 double distance = Math.sqrt( (coords[i][0] - coords[j][0]) * (coords[i][0] - coords[j][0]) +
7 (coords[i][1] - coords[j][1]) * (coords[i][1] - coords[j][1]) +
8 (coords[i][2] - coords[j][2]) * (coords[i][2] - coords[j][2]) );
9 double term2 = Math.pow( (r0/distance), 12 ) ;
10 double term1 = Math.pow( (r0/distance), 6) ;
11 double epsilon = Math.sqrt( eps[i] * eps[i] + eps[j] * eps[j]);
12 energySum = energySum + (4.0 * epsilon * (term1 - 2.0 * term2) );
13 }
14 }
15 return energySum;
16 }
The above example is the basic form of what is known as a 6-12 potential, and the names is based on the power of the r0/distance terms. So, from the information given, what would the big-O signature, and a detailed analysis of this algorithm look like...? If the inner loop was changed to:
for (int j= i+1; j < numAtoms; j++)
then what would the big-O signature, and a detailed analysis of the algorithm look like...?
(a) Name five different types of intellectual property. (b) Distinguish between "Deep linking" and "Direct linking". Can a search engine deep link without infringing the copyright of the original site? (c) Why is the use of thumbnails of pictures by a search engine fair use? (d) Why are there likely to be only a few dominant search engines? 14 E-Commerce (a) In a telecommunications business context, what is meant by Triple and Quadruple Play strategies, and what will be the effects of the adoption of such strategies? (b) Describe possible business models for a small independent Internet television start-up company. Estimate start-up costs and profitability, and describe some of the challenges such a television station will need to overcome.
(a) (i) Briefly describe the purpose of broadband fixed wireless access (FWA) and give typical situations where it could be deployed. (ii) What advantages does radio offer over traditional wired access?
(b) Explain how intersymbol interference (ISI) arises in a wireless communication system and its effect on system performance. (c) (i) Describe how linear equalisation orthogonal frequency division multiplexing (OFDM) can be used to combat ISI. [4 marks] (ii) Highlight a problem which can occur when using linear equalisation and describe an alternative equalisation approach that can overcome this problem. What problem can occur with this alternative approach?
(iii) Highlight problems that arise with the use of OFDM. In what situation is OFDM preferred over the use of equalisation?
(a) Describe, with examples, the function of a naming service for a largescale distributed system. Include definitions for "name space" and "naming domain". (b) Discuss consistency versus availability for naming data in large-scale systems.
(c) How can any distributed naming service be engineered so that invocations on behalf of users can be resolved efficiently in the presence of failures and heavy load? (d) Contrast the assumptions under which DNS was designed originally for the Internet, with the properties of dynamically formed groups of mobile hosts using wireless communication (MANETS). How might DNS-like services be provided for MANETS? 5 Advanced Systems Topics Modern peer-to-peer (P2P) systems are typically described as structured or unstructured. (a) Compare and contrast these two approaches. Include a discussion of the general topology, membership management and query mechanisms. Use examples to support your answer. (b) Which approach is more resilient to churn? Justify your answer. (c) One early criticism of P2P systems was that they did not consider network latencies. Describe how one can add proximity awareness to: (i) unstructured P2P systems (ii) structured P2P systems. (d) Swarming P2P systems like BitTorrent are designed for efficient (and incentive compatible) download of large files. However, it is typically not possible to use the file until it has downloaded in its entirety. Sketch the design of a swarming P2P system which supports streaming video - that is, allows playback of video to overlap the ongoing download of the remainder of the stream. Comment on how efficient (in terms of network resources) your system would be in comparison with a system like BitTorrent
Write program to print your name on the screen. Write program to print "Welcome to C++" on the screen Write to program to calculate the area of a square.
Write program to find sum of all even numbers between 1 to n. Write program to print all natural numbers from 1 to n.
A majority gate with three inputs signals logic one on its output if two or more of its inputs are one, and zero otherwise. A minority gate is its complement. (a) Give the boolean equation for a minority gate as a sum of products. (b) Sketch the circuit diagram for a minority gate using NAND gates and inverters.
(c) Sketch the transistor-level circuit diagram for an alternative implementation as a single stage of CMOS logic. [3 marks] (d) Calculate the number of transistors required for each implementation.
(e) Assuming that a conducting p-channel has a resistance twice that of a similarly sized n-channel, use logical effort to compare the performance of the two implementations. 3 Digital Communication II (a) The Transmission Control Protocol (TCP) employs a transmit window and cumulative acknowledgement and timeout system, as well as sequence numbering of packets, to achieve reliable delivery of data. (i) Outline the procedure for round-trip time estimation and the calculation of the retransmission timer. (ii) Explain the function of buffering at the sender and receiver. (iii) How do fast retransmit and fast recovery improve performance after packet loss? (b) In a wireless network, delay to access the channel due to scheduling of the media access control protocol, and random packet loss due to interference, may be non-negligible. (i) Explain how this can interfere with the round-trip time estimation process above. (ii) Explain how this can interfere with the congestion control scheme that TCP employs.
Information retrieval systems vary in the expressivity of the query languages they employ. For instance, some systems support proximity search: if two query terms are connected by the "Next" operator, then only those documents are retrieved where the query terms appear close together (i.e., within a certain number of words of each other). (a) List and briefly describe other ways in which the syntax and the interpretation of query languages may vary. (b) Describe with an example how the "Next" operator described above is implemented efficiently in modern information retrieval systems. Your answer should include a description of the data structure(s) necessary to support it.
(c) A search engine supports error correction in the following way: If an error is suspected in a query term, the system provides a link labelled "Did you mean X?", where X is the corrected term, in addition to its normal results. The link leads to a list of retrieved documents, corresponding to a variant of the original query, with X replacing the misspelled term. (i) Explain why it is non-trivial to implement this feature efficiently.
(ii) Discuss methods for implementing this feature in a realistic setting.
give answers to all questions
Smith and Roberson Business Law
ISBN: 978-0538473637
15th Edition
Authors: Richard A. Mann, Barry S. Roberts