ch.4 Flashcards
1
Q
what are the issues with soft modularity?
A
- caller and callee share a memory
- write to something its not suppose to
- arbitrary access to state (no boundaries)
- buffer overflow attacks - caller and callee share an interpreter
- no control over runaway modules (propagation of effects)
- no module level permission (modules can delete its entire self)
- cannot mange permissions
- modules share fate (prop of effects)
2
Q
what are the advantage of a client server model?
A
- don’t rely on shared state
- many errors cannot propagate as requests are marshaled
- can limit the time it waits for a response ( no infinite loops)
- only communicate using messages, so it encourages well-defined interfaces
3
Q
what are two challenges of a client server mode?
A
- improper timeouts could lead to a functions running too many times (server needs enough time to process requests)
- the server could fail to send back a request
4
Q
what are remote procedure calls? (RPC)
A
a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network’s details
5
Q
what is idempotence?
A
doesn’t change the state of the program, side effect free & can be executed multiple times
6
Q
synchronous RPC
A
the client is forced to wait for the server before proceeding with further actions
7
Q
asynchronous RPC
A
the server can perform tasks while the client also performs tasks