Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
36 Cards in this Set
- Front
- Back
Examples of some User Goals?
Examples of some System Goals? |
- User
Convenient to use Easy to learn Reliable Safe Fast - System Easy to design Implement, and maintain Flexible Reliable Error-free Efficient |
|
What are the 3 classifications of Multiprocessor Systems?
|
1. Loosely coupled, distributed multiprocessor or cluster
2. Functionally specialized processors 3. Tightly coupled multiprocessor |
|
Define a Real-Time Systems?
|
Real-Time Systems
- The OS & scheduler most important component - Correctness of system depends on the logical result of the computation & time at which the results are produced - Tasks or processes react to events that take place in the outside world - These events occur in “real time” - tasks must be able to keep up with them |
|
Define a Hard Real-time task?
Define a Soft real-time task? |
Hard Real-time task?
- Must meet its deadline - Otherwise unacceptable damage or a fatal error to system Soft real-time task? - Associated deadline that is desirable but not mandatory - Makes sense to schedule & complete task even if passed its deadline |
|
5 characteristics of Real-Time Systems?
|
- Determinism
- Responsiveness - User control - Reliability - Fail-soft operation |
|
Define Host-Based Processing?
|
- Not a true client/server computing
- Mainframe environment -processing done - central host - UI via a dumb terminal - User’s station limited to terminal emulator |
|
Define Server-Based Processing ?
|
- Server does all the processing
- Client provides a graphical UI - Databases & applications maintained on central systems |
|
Define Client-Based Processing ?
|
- All application processing is done at client
- Data validation & database logic functions done at server - Sophisticated DB logic functions are housed on client side - This architecture most common client/server approach |
|
Define Cooperative-Based Processing ?
|
- Application processing is performed in an optimized fashion
- Complex to setup and maintain - Offers greater productivity and efficiency |
|
What are the 4 Benefits of Clustering?
|
1. Absolute scalability
(Possible to create large clusters) 2. Incremental scalability (Possible to add new systems to the cluster in small increments) 3. High availability (Failure of one node in not critical to system) 4. Superior price/performance (Possible to put together a cluster at much lower cost then single large machine) |
|
Clustering methods benefits & Limitations Diagram
|
Passive standby
- Secondary server takes over if primary failure - Easy to implement - High cost Active standby - Secondary server is also used for processing tasks - Reduced cost - Increased complexity Separate servers - Separate servers have own disks - High availability - High overhead "Copying operations" Servers connected to disks - One server fails other disks taken over by other server - Reduced network overhead - Requires RAID Servers share disks - Multi-servers share access to disks - Low overhead - reduced downtime - Requires lock manager software RAID |
|
What are the two approaches to Developing an Embedded OS?
|
1. Take an existing OS adapt it for embedded applications
2. Design & implement an OS intended solely for embedded use |
|
What are the 3 points that can be added to an existing commercial OS so that it can be used for an embedded system?
|
- Real time capability
- Streamlining operation - Adding necessary functionality |
|
What are the advantages and disadvantages in adapting an Existing OS?
|
- Advantages - familiar IU
- Disadvantages - not optimized for real-time & embedded applications |
|
What are the typical characteristics of a purpose-built embedded OS?
|
1. Fast & lightweight process or thread switch
2. Small Size 3. Scheduler policy is in real-time 4. Quick response to interrupts 5. Minimizes intervals when interrupts are disabled 6. Accumulate data fast rate |
|
List the characteristics of Embedded OS?
|
- Real-time operation
- Reactive operation - Configurability - I/O device flexibility - Streamlined protection mechanisms from external Input - never ignores core task - Direct use of interrupts |
|
Name two embedded OS's?
|
- eCOS
- TinyOS |
|
The Race Condition
|
Occurs when - Multiple processes or threads read and write data items
- Final result depends on the order of execution of the processes - Output depends on who finishes the race last. |
|
Process interaction is classified on the basis of the degree to which they are aware of each other's existence. List 3 possible degrees of awareness & the consequences of each?
|
From Diagram - Process interaction
1. Process unaware of each other - Mutual exclusion - Deadlock - Starvation 2. Process indirectly aware of each other (Shared objects) - Mutual exclusion - Deadlock - Starvation - Data coherence 3. Process indirectly aware of each other (Must have communication) - Deadlock - Starvation |
|
What are the 3 main control problems with regard to processes that are in competition for resources ?
|
1. Need for Mutual Exclusion
- Two or more processes require access to single non-share-able resource - Such a resource is call "Critical resource" That portion of the program that uses it - "Critical section" - OS may not understand & enforce the restriction 2. Deadlock - Two processes waiting for the same resources - Neither will release resource that it already owns until it has acquired the other resource and performed the function requiring both resources - Two processes are deadlocked 3. Starvation - The OS may grant access of resources to a number of processes while neglecting another |
|
What are the requirements for Mutual Exclusion?
|
1. A process must not be delayed access to a critical section when there is no other process using it
2. No assumptions are made about relative process speeds or number of processes 3. A process remains inside its critical section for a finite time only |
|
Process Interaction
|
1. When processes interact with one another 2 fundamental requirements must be satisfied:-synchronization and communication.
2. Message Passing is one solution to the second requirement Added bonus: It works with shared memory and with distributed systems |
|
In concurrent programming what is a 'critical section' of code?
|
A critical section is a piece of code that accesses a shared resource
|
|
Spinlocks
|
- Most common technique for protecting critical section in Linux
- Can only be required by one thread at a time - Built on an integer location in memory, checked by each thread before it enters critical section - Wait time for acquiring lock is very short |
|
Disadvantages of Spinlocks
|
Locked out threads continue to execute in a busy-waiting mode
|
|
3 types of kernel Semaphores?
|
- Binary
- Counting - Reader-writer |
|
In relation to process synchronization explain the following terms?
- Semaphores - Race Condition - Monitors |
- Semaphores
An integer value used for signalling among processes Three operations (That maybe performed) - Initialize, Decrement & Increment - Race Condition Occurs when - Multiple processes or threads read and write data items Final result depends on the order of execution of the processes Output depends on who finishes the race last - Monitors A programming language construct - provides functionality to that of semaphores & that is easier to control (Implemented in Java) |
|
What are the 3 types of process scheduling queues?
|
- Job queue
- Ready queues - Device queue - Processes migrate among the various queues |
|
Explain the difference between direct & indirect communication as used in inter-process messaging?
|
- Direct Communication
Process must name each other explicitly Send p (send message) Send q (receive massage) Links established automatically Link is associated with excatally one pair of communicating processes Between each pair - one link Link unidirectional usually bi-directional - Indirect Communication Massages are directed & received from mailboxes (also called ports) Links - share common mailbox Link - associated with many process Process may share communication links Link unidirectional or bi-directional |
|
Describe the difference between I/O bound processes & CPU bound processes
|
- I/O-bound process
More time doing I/O than computations Many short CPU bursts - CPU-bound process More time doing computations Few very long CPU bursts |
|
What is a Remote Method Invocation (RMI) as used in Java?
|
- Is a Java mechanism
- Allows Java program on one machine to invoke a method on a remote object. |
|
Define a remote procedure call in client server communication?
|
- Allows programs on different machines to interact using simple procedure call/return semantics
- Used for access to remote services - Common method for encapsulating communication in distributed system |
|
Define a socket in client server communication?
|
A socket is defined as an endpoint for communication.
|
|
What are the advantages of cooperating processes?
|
- Info sharing
- Computation sharing - Modularity - Convenience |
|
Describe the operation of the "message system" in inter-process communication?
|
- Processes communicate with each other without resorting to shared variables
|
|
List 4 benefits of using threads?
|
- Application can be a set of threads that cooperate & execute concurrently in same address space
- Uni-processor threads can be used as a program structuring aid & overlap I/O with processing - Multiprocessor system threads can be used to exploit parallelism in an application - Gains in performance in multiprocessor systems |