• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/17

Click to flip

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;

17 Cards in this Set

  • Front
  • Back
User goals and System goals
 User goals – operating system should be convenient to use, easy to learn, reliable, safe,
and fast.

 System goals – operating system should be easy to design, implement, and maintain, as
well as flexible, reliable, error-free, and efficient.
Classifications of Multi-Processor Systems
Loosely coupled or distributed multi-processor or cluster
consists of a collection of relatively autonomous systems, each processor having its own main memory and I/O channels.

Functionally specialized processors there is a master, general-purpose processor; specialized processors are controlled by the master processor and provide services to it.

Tightly coupled multiprocessor consists of a set of processors that share a common main memory and are under the integrated control of an operating system.
Real Time Systems
The operating system, and in particular the scheduler, is perhaps the most important component.

Correctness of the system depends not only on the logical result of the computation but also on the time at which the results are produced.

Tasks or processes attempt to control or react to events that take place in the outside world. These events occur in “real time” and tasks must be able to keep up with them
Hard real-time task
- one that must meet its deadline

- otherwise it will cause unacceptable damage or a fatal error to the system
Soft real-time task
- Has an associated deadline that is desirable but not mandatory.

- It still makes sense to schedule and complete the task even if it has passed its deadline
Characteristics of Real-Time Systems
Real-time operating systems have requirements in five general areas:
Determinism – concerned with how long an operating system delays before acknowledging an interrupt. Operations are performed at fixed, predetermined times or within predetermined time intervals when multiple processes are competing for resources and processor time, no system will be fully deterministic

Responsiveness -
Together with determinism make up the response time to external events critical for real-time systems that must meet timing requirements imposed by
individuals, devices, and data flows external to the system. Concerned with how long, after acknowledgment, it takes an operating system to service the interrupt.

User control -
Generally much broader in a real-time operating system than in ordinary operating systems. It is essential to allow the user fine-grained control over task priority.
User should be able to distinguish between hard and soft tasks and to specify relative priorities within each class.

Reliability -
More important for real-time systems than non-real time systems. Real-time systems respond to and control events in real time so loss or degradation of performance may have catastrophic consequences such as:
 financial loss
 major equipment damage
 loss of life

Fail-soft operation -
A characteristic that refers to the ability of a system to fail in such a way as to preserve as much capability and data as possible. Important aspect is stability a real-time system is stable if the system will meet the deadlines of its most critical, highest-priority tasks even if some less critical task deadlines are not always met
Classes of Client/Server Applications
- Host-based Processing
Not true client/server computing

Traditional mainframe environment in which all or virtually all of the processing is done on a central host

Often the user interface is via a dumb terminal.

The user’s station is generally limited to the role of a terminal emulator.

- Server-based processing

Server does all the processing

Client provides a graphical user interface

Rationale behind configuration is that the user workstation is best suited to providing a
user-friendly interface and that databases and applications can easily be maintained on
central systems.

User gains the advantage of a better interface.

- Client-based processing

All application processing is done at the client

Data validation routines and other database logic functions are done at the server

Some of the more sophisticated database logic functions are housed on the client side

This architecture is perhaps the most common client/server approach in current use

It enables the user to employ applications tailored to local needs.

- Cooperative processing

Application processing is performed in an optimized fashion

Complex to set up and maintain

Offers greater productivity and efficiency
Benefits of Clustering
Clustering Methods
Two general approaches when developing an embedded OS
Adapting an existing OS
Purpose-built embedded OS
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
Race Condition
A race condition occurs when
 - Multiple processes or threads read and write data items
 - They do so in a way where the final result depends on the order of execution of the processes
- The output depends on who finishes the race last.
Process Interaction
Competition among processes for resources. Three main control problems
Requirements for Mutual Exclusion:
 A process must not be delayed access to a critical section when there is no other process using it
 No assumptions are made about relative process speeds or number of processes
 A process remains inside its critical section for a finite time only

- Deadlock
 Two processes are waiting for the same resources (or each waiting for a resource that the other
has exclusive of)
 Neither will release the resource that it already owns until it has acquired the other resource
and performed the function requiring both resources.
 The two processes are deadlocked.

- Starvation
 The OS may grant access to resources to a number of processes while neglecting another
Process Interaction
 When processes interact with one another, two fundamental requirements must be satisfied:
synchronization and communication.
 Message Passing is one solution to the second requirement
Added bonus: It works with shared memory and with distributed systems
Competition among processes for resources.