Sie sind auf Seite 1von 29

Lecture #2

Structures of the Operating


Systems
Structures of the Operating Systems

Once new issues has been identified, the architecture (or


structure) of the operating systems has (sometimes
radically) changed.
The very first OS were simple enough in order to lack a
clearly defined structure.
The description of OS has essentially changed once
some key notions, as virtual machines or layers have
been introduced.

10/12/2008 Sisteme de operare -- 2008


Structures... Monolithic OS

This structure describes OS that are characterized by


having … NO STRUCTURE.
A monolithic OS is constructed as a collection of
procedures, each of these procedures being accessible to
all other procedures.
The interface of these procedures is rigorously defined.

10/12/2008 Sisteme de operare -- 2008


Structures... Monolithic OS

In a monolithic OS, an application should be constructed by


compiling first all of the necessary procedures, without hiding any of
the details of these procedures.
Sometimes it is possible to impose a kind of structure by requiring a
specialization for some of the procedures, such that the services of
the OS are being requested through a set of specialized instructions
(named traps), for which the data (parameters) are to be stored in
several fixed locations.

10/12/2008 Sisteme de operare -- 2008


Structures...Monolithic OS

A simple structure could be constructed over the


following scheme:
1. A main routine, responsible with service calls (the OS
kernel)
2. A set of routines, designed for serving the OS services
(system calls)
3. A set of routines used in order to intermediate the OS
services, eventually in the name of other applications
(library functions, standard applications).

10/12/2008 Sisteme de operare -- 2008


Structures... Monolithic OS

Two largely used operating systems has been characterized


by a kind of monolithic structure:
1. The MS-DOS operating system; is an OS with a weak
structure, without a clear delimitation of interfaces or the
levels of functionality.
MS-DOS offer a simple approach for the I/O devices: every
application can directly access every I/O device.
Also, MS-DOS always ignored a hardware issue at processor
level: the dual mode of operation; keeping the OS at the level
of 8088/80286 processors.

10/12/2008 Sisteme de operare -- 2008


Structures... Monolithic OS
Structures... Monolithic OS

1. The UNIX OS
The first UNIX OS are characterized by a (limited)
monolithic structure. One can identify two distinct
components: the OS kernel and system applications.
However, the services offered by these two components
are very large, essentially the same, from different
points of view.

10/12/2008 Sisteme de operare -- 2008


Structures... Layered OS

One can establish for monolithic systems a structure,


too. Layered operating systems offer a generalization of
this point of view.
The OS can be viewed now as a hierarchy of specialized
layers (levels), each being based on the previously
defined layers.

10/12/2008 Sisteme de operare -- 2008


Structures... Layered OS

Layered OS offer a clearer construction and an easier


administration of the operating system, with several
drawbacks:
The definition of the different layers must be clearly made
prior to the design of the entire OS;
Making system calls from higher layers requires a lot of
overhead in order to identify the target layer and the original
layer for the system call.

10/12/2008 Sisteme de operare -- 2008


Structures... Layered OS
The (theoretical) “THE” OS highlights the following layers:
1. The hardware layer; this is close to the physical machine
2. The scheduling layer; it offers basic functions for multiprogramming
3. The memory management layer; it is responsible with memory
allocation to processes, pagination/virtual memory techniques
4. The communication layer;
5. The I/O devices management layer;
6. The end-user applications layer;
7. The user layer (in fact, a pseudo-layer, in the top of the hierarchy)

10/12/2008 Sisteme de operare -- 2008


Structures... Layered OS
Structures... Virtual machines

Virtual machines has been developed starting from early


time-sharing machines:
A virtual machine should offer an extension of the
machine, by a convenient interface;
A virtual machine should offer the basic services of
multiprogramming.
In the same time, the virtual machine should offer a
clear separation between these two functions.

10/12/2008 Sisteme de operare -- 2008


Structures... Virtual machines

The VM/370 OS
This OS is due to IBM, and it offers a monitor of virtual
machines, able to support the basic functions for
multiprogramming.
On a higher level, there are several virtual machines,
exact copies of the original physical machine.
Each of these (virtual) machines can run its own OS
(CMS for the case of VM/370).

10/12/2008 Sisteme de operare -- 2008


Structures... Virtual machines
Structures... Virtual machines

By a VM/370 virtual machine, the very basic requirements are met. Such
a machine should, however, respond to some distinctive allocation
issues:
In order to avoid conflicts due to the usage of I/O devices, it should
be necessary to develop virtual devices, similar with the original
devices, managed at a basic level of the OS.
Theoretically, virtual machines should run only in the user space.
Thus, the virtual machine should run its own virtual user mode and
virtual kernel mode. When solving a system call, the virtual machine
should switch first to its virtual kernel mode, and then trigger the
same switch (this time to the real kernel mode) in the monitor of
virtual machines.

10/12/2008 Sisteme de operare -- 2008


Structures... Virtual machines

By using virtual machines, every user has his own environment for
task execution, even if the OS in the virtual machine is a single-user
OS.
By a complete separation of resources, every virtual machine should
run in an isolated environment, easy to protect from other machines
or external threats.
Resource sharing should be done more likely by sharing virtual
resources, not physical resources.
Virtual machines can offer the support for implementing a network
of virtual machines. This task can be done by implementing a
monitor of virtual machines close enough to a networking model.

10/12/2008 Sisteme de operare -- 2008


Structures... Exo-kernel

If virtual machines are offering exact copies for the


physical machine, this time we have copies of the original
systems, but only with a part of the original resources.
Such a structure is based on a central application (named
exo-kernel), running in kernel mode, whose main task is to
allocate resources to the virtual machines and to manage
the allocated resources.

10/12/2008 Sisteme de operare -- 2008


Structures... Client-server

In this model the services of the OS are offered through


specialized processes, which are able to handle only
certain type of requests.
More, parts of the operating system are being
implemented directly in user processes (client
processes).
The OS kernel should be more likely oriented through
communication control between the client and server
processes.

10/12/2008 Sisteme de operare -- 2008


Structures... Client-server

Theoretically, all the processes are to be run in user


space, with the exception of OS kernel. Practically,
some of the OS functions can be offered only in kernel
mode.
The client-server model can be easily adapted for usage
in a distributed environment.

10/12/2008 Sisteme de operare -- 2008


Structures... Client-server
Lecture #2
Families of Operating Systems (starting
from different families of computing
systems)
Families... MAINFRAME

Has been develop since the first generations of computing systems;


are massive systems, with an extremely high capacity for I/O
operations.
They are the ideal support for large scale servers, oriented to the
processing of large amounts of tasks (jobs).
Usually offers three basic types of services:
1. Batch processing; for solving a lot of routine tasks, without the
intervention of a user;
2. Transaction processing;
3. Time sharing.
Families... SERVER

Are able to fulfill the requests of a large


number of users;
They offer at the same time the means for
hardware and software sharing of the basic
computing system.
Families... MULTI-PROCESSOR

Are usually used in order to obtain an extremely high


processing power, whenever there are increased needs
for (scientific) computing.
Most of these systems are based on simple
(interconnected) single-processor operating systems.
Families... MAINFRAME

The main objective for systems of this type is to


offer a suitable interface to a single user (eventually
a restricted group of users).
Families... REAL-TIME

Time is a key component. Actions can be restricted to


certain moments of time, and even conditioned by other
tasks.
There could be a rigorous control of the actions (hard
real-time, like in the case of systems for production
control) or it can be kept in generous limits (soft real-
time, like in systems for multimedia control).
Families... EMBEDDED

These Operating Systems are working on small


computing systems, like PDA, consumer electronics and
others.
They are able to solve relatively few tasks.
They can be considered as being simple real-time
systems, with restrictions, mainly due to their small
dimensions.
Families... SMARTCARD

They come together with “intelligent” cards.


There are severe restriction regarding memory and
processing, these systems being able to execute an
extremely low number of functions.
They are able to support Java VM and to execute
(eventually remote) small applications: applets.

Das könnte Ihnen auch gefallen