Está en la página 1de 20

 Sesión 1.

Definición y Objetivos
o Programas de aplicación
o Definición de Sistema Operativo
 Definiciones de distintos autores.
 Posición del Sistema Operativo
 Perspectivas de los Sistemas Operativos.
o Objetivos de un Sistema Operativo

 Sesión 2. Perspectiva histórica


o Perspectiva histórica
 Monitores Residentes.
 Sistemas con Almacenamiento Temporal de E/S
o Sistemas Operativos Multiprogramados.

 Sesión 3. Interrupciones y Excepciones


o Interrupciones y Excepciones del Hardware
 Interrupciones de los Dispositivos de E/S
 Excepciones durante la Ejecución de un Programa.

 Sesión 4. Llamadas al Sistema Operativo


o Llamadas al Sistema Operativo
o Ejecución de Llamadas al Sistema Operativo
 Llamadas de Función
 Llamadas al Sistema

 Sesión 5. Componentes de un Sistema Operativo


o Componentes de un Sistema Operativo
 Gestión de Procesos
 Gestión de Almacenamiento Primario y Secundario
 Gestión del Sistema de E/S.
 Sistemas de Archivos de Protección y de Comunicaciones.
 Intérprete de Comandos
o Programas del Sistema

1
 Sesión 6. Implementación de un Sistema Operativo
o Implementación de un Sistema Operativo
 Organizaciones Estructurales de los SSOO
 Objetivos de Diseño
 Lenguajes de Implementación y Portabilidad
 Normalización de Interfaces
o Clases de Sistemas Operativos
 Algunos tipos de SSOO.
 El Sistema Operativo de referencia para este curso.

2
Sesión 1: Definición y Objetivos.
1. Programas de aplicación.

Un sistema informático puede dividirse a grandes rasgos en cuatro componentes: el hardware,


el sistema operativo, los programas de aplicación y los usuarios.

El hardware (CPU, memoria, dispositivos de E/S), proporciona los recursos básicos de computo
al sistema. Los programas de aplicación, como son los procesadores de texto, las hojas de
cálculo, los compiladores o los exploradores web, definen las formas en que estos recursos se
emplean para resolver los problemas informáticos de los usuarios. El sistema operativo controla
y coordina el uso del hardware entre los diversos programas de aplicación por parte de los
distintos usuarios.

2. Definición de Sistema Operativo.


En general no disponemos de ninguna definición de sistema operativo que sea completamente
adecuada. Como sabemos, el objetivo fundamental de las computadoras es ejecutar programas
de usuario y resolver los problemas del mismo fácilmente. Con este objetivo se construye el
hardware de la computadora, pero este no es fácil de usar por sí solo. Por este motivo se
desarrollan programas de aplicación, que requieren ciertas operaciones comunes, tales como
controlar los dispositivos de E/S. Las operaciones habituales de control y asignación de recursos
se incorporan en una misma pieza del software: el sistema operativo.

 Definición (Silberschatz). Es un programa que actúa como intermediario entre el


usuario de un computador y el hardware de éste.
 Definición (Tanebaum). El programa de sistema más fundamental es el sistema
operativo, que controla todos los recursos de la computadora y establece la base
sobre la que pueden escribirse los programas de aplicación.
 Definición (Stallings). El sistema operativo oculta al programador los detalles del
hardware y le proporciona una interfaz cómoda para utilizar el sistema.

2.1 Posición del Sistema Operativo.


-Las aplicaciones pueden usar limitadamente el hardware y usar los servicios del Sistema
Operativo.

Pueden utilizar directamente el procesador, usando solo


una parte del juego de instrucciones y la memoria,
usando solo la que el Sistema Operativo le asigne.

No puede utilizar directamente los dispositivos de E/S.

-El sistema Operativo puede usar libremente el


hardware. Tiene que realizar operaciones especiales a

3
petición de la aplicación. Cuando el S.O realiza la operación, informa a la aplicación y le entrega
los resultados.

2.2 Perspectivas de los Sistemas Operativos


•La máquina extendida. La arquitectura de la mayor parte de los ordenadores en el nivel de
lenguaje de máquina es primitivo y difícil de programar. El sistema operativo como máquina
extendida se encarga de ocultar la complejidad del hardware y proporcionar abstracciones de
mayor nivel mucho más fácil de programar.

•El Sistema como Administrador de Recursos. Un sistema informático tiene muchos recursos
que pueden ser necesarios para solucionar un problema: tiempo de CPU, espacio de memoria,
espacio de almacenamiento de archivos, dispositivos de E/S, etc. El sistema operativo actúa
como administrador de estos recursos y debe decidir como asignarlos a programas y usuarios
específicos, de modo que la computadora pueda operar de manera eficiente.

3. Objetivos de un Sistema Operativo.


El sistema operativo debe:

-Proporcionar comodidad en el uso de un computador.

-Lograr que los recursos del sistema de cómputo se aprovechen con eficiencia.

-Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin inferir con
los servicios que ya se presentaban (evolutividad).

En esta sesión se ha visto:


●Varias definiciones aproximativas al concepto de S.O.
●El lugar ocupado por el S.O. frente a las aplicaciones y el hardware
●La programación de las aplicaciones para ejecutar sobre una máquina extendida
●El papel del S.O. como soporte parcial del interfaz de esa Máquina extendida
●El papel del S.O. como administrador de recursos y supervisor de operaciones
●Los objetivos que un S.O. debe cumplir

4
Sesión 2: Perspectiva histórica.
1. Perspectiva Histórica
-Años 1945-1950. Las primeras computadoras eran máquinas físicamente enormes que
se ejecutaban desde una consola. El programador, que también era el operador del sistema,
escribía un programa y luego lo gestionaba directamente desde la consola.

-Años 1950-1960. A medida que fue pasando el tiempo, se desarrolló software y


hardware adicional. En cuanto al hardware, los lectores de tarjetas, las impresoras de líneas y
las cintas magnéticas llegaron a ser comunes. Respecto al software, se diseñaron
ensambladores, cargadores y montadores para facilitar la tarea de programación y se crearon
bibliotecas de funciones comunes.

1.1 Monitores residentes.


Cuando un trabajo se detenía, el operador tenía que darse cuenta de que se había detenido
(observando la consola), determinar por qué se había detenido (terminación normal o anormal),
volcar la memoria y los registros, cargar el dispositivo apropiado con el siguiente trabajo y
reiniciar la computadora. Durante esta transición de un trabajo al siguiente, la CPU permanecía
inactiva.

Para aprovechar este tiempo de inactividad, se desarrollaron mecanismos de secuenciamiento


automático de trabajos; con esta técnica nacieron los primeros sistemas operativos
rudimentarios. Un pequeño programa denominado monitor residente, que se encuentra
siempre cargado en memoria, se utiliza para transferir el control automáticamente de un trabajo
al siguiente y dar soporte de entrada/salida a los trabajos de la cola.

 Componentes de un monitor residente.

Un monitor residente tiene varias partes identificables:

-El cargador para cargar programas del sistema y programas de aplicación en la memoria a
ciertos intervalos.

-Los controladores de dispositivo (drivers) utilizados para realizar operaciones de


entrada/salida.

-Intérprete de comandos. Encargado de leer y ejecutar las instrucciones en el punto de


ejecución.

Sin embargo, la CPU continuaba estando inactiva muy a menudo. El problema era la lenta
velocidad de los dispositivos de E/S mecánicos.

Una solución provisional al problema de E/S era sustituir los dispositivos lentos (lectores de
tarjetas e impresoras) por otros más rápidos (cintas magnéticas), sin tener que cambiar los
programas de aplicación. Esta solución hizo que se revisará el monitor residente para soportar
la independencia de los dispositivos.

5
1.2 Sistemas con Almacenamiento Temporal de E/S
Los avances en el hardware crearon el soporte de interrupción y posteriormente se llevó a cabo
un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos,
creando así un sistema de buffer con el siguiente funcionamiento:

-Un programa escribe su salida en un área de memoria (búfer 1).

-El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula
depositando la salida en el buffer 2.

-La salida desde el buffer 1 termina y el nuevo cálculo también.

-Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.

-El proceso se puede repetir de nuevo.

Si la duración media de los ciclos de cálculo es parecida a la duración de las operaciones, el


rendimiento es aceptable. Los problemas surgen si hay muchas más operaciones de cálculo que
de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que de
cálculo (limitado por la E/S).

Los cambios de velocidad de los dispositivos de E/S o de la CPU también afectan al


comportamiento del sistema de buffers

 Spoolers. Con la aparición del disco magnético aparecen nuevas soluciones a los problemas
de rendimiento.
Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos
y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del
cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes
tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

2. Sistemas Operativos Multiprogramados


El spooling conduce de manera natural a un nuevo avance: el hardware con protección de
memoria, ofreciendo nuevas soluciones a los problemas de rendimiento:

-Solapar el cálculo de unos trabajos con la entrada/salida de otros trabajos.

-Mantenimiento en memoria de varios programas.

-Asignación del uso de la CPU a los diferentes programas en memoria.

Con los cambios anteriores el monitor residente debe abordar nuevas tareas, naciendo los
Sistemas Operativos multiprogramados con las siguientes funciones:

-Administrar la memoria.

-Gestionar el uso de la CPU (planificación).

-Administrar el uso de los dispositivos de E/S.

Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo


multiprogramado.

6
7
Sesión 3: Interrupciones y Excepciones

Recordemos. El sistema Operativo ocupa una posición


intermedia entre los programas de aplicación y el hardware.
Sin embargo, el sistema operativo no se limita a utilizar el
hardware a petición de las aplicaciones, ya que hay
situaciones en las que es el hardware el que necesita que se
ejecute código del S.O. En tales situaciones, el hardware debe
poder llamar al sistema.

El hardware necesita llamar al sistema en dos clases de situaciones:

-Porque algún dispositivo de E/S necesite atención. (Interrupción)

-Porque se haya producido una situación de error al intentar ejecutar una instrucción
del programa. (Excepción)

En ambos casos la acción realizada no figura en el programa de aplicación.

Una interrupción es una señal eléctrica que envía un dispositivo de E/S a la CPU para indicar que
necesita atención. Por ejemplo, para indicar que la operación de la se estaba ocupando ya ha
terminado.

Una excepción es una situación de error, detectada por la CPU mientras ejecutaba una
instrucción, que requiere tratamiento por parte del S.O.

1. Interrupciones de los Dispositivos de E/S


Lo primero que tenemos que saber es cuál es el ciclo que se sigue a la hora de ejecutar una
instrucción cualquiera de la CPU, ya que una interrupción “detiene” lo que se esté haciendo en
ese momento.

En primer lugar, la CPU obtiene la instrucción apuntada por el contador de programa, y lo


actualiza para que apunte a la siguiente instrucción que se tiene que ejecutar. A continuación se

8
decodifica la instrucción para saber si es una instrucción de salto, aritmética, etc., y se ejecuta.
La interrupción siempre se produce antes o después del proceso de ejecución, pero no durante.
Una vez que se ha producido la interrupción, se comprueba si esa misma está o no permitida
por el sistema. Si la interrupción está permitida, se comprueba si hay alguna pendiente.

El tratamiento de la interrupción depende de cual sea el dispositivo de E/S que la ha provocado.


Por ello, el sistema operativo debe de identificar quien ha sido el que ha causado la interrupción.

 Servicio de una interrupción.

Ver diapositivas 11-14

 Importancia de las interrupciones.

-El mecanismo de tratamiento de las interrupciones permite al S.O utilizar la CPU en servicio de
una aplicación mientras otra permanece a la espera de que concluya una operación en un
dispositivo de E/S.

-El hardware se ocupa de avisar al S.O cuando el dispositivo de E/S ha terminado y el S.O puede
intervenir entonces para, si es conveniente, hacer que el programa que estaba esperando por el
dispositivo continúe ejecutando

-En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las
interrupciones pueden inhibirse por programa, aunque esto no deben poder hacerlo las
aplicaciones

2. Excepciones durante la Ejecución de un Programa


Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control
lanza una excepción para permitir al S.O. ejecutar el tratamiento adecuado. Al contrario que en
una interrupción, la instrucción en curso es abortada.

Las excepciones, como las interrupciones, deben de estar identificadas.

 Clases de Excepciones.

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

-El código de operación puede ser incorrecto.

-Se intenta realizar alguna operación no definida, como dividir por cero.

-La instrucción puede no estar permitida en el modo de ejecución actual.

-La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos
de uso.

 Tratamiento de una Excepción.

Ver diapositivas 18-21

 Importancia de las Excepciones.

-El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de
ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones hagan
operaciones que no les están permitidas

9
-En cualquier caso, el tratamiento específico de una excepción lo realiza el S.O.

-Como en el caso de las interrupciones, el hardware se limita a dejar el control al S.O. y éste es
el que trata la situación como convenga.

-Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se
estaba ejecutando cuando se produjo la excepción, sino que el S.O. aborte la ejecución de ese
programa.

10
Sesión 4: Llamadas al Sistema Operativo
1. Llamadas al Sistema Operativo
Son llamadas que ejecutan los programas de aplicación para pedir algún servicio al Sistema
Operativo. Cada SSOO implementa un conjunto propio de llamadas al sistema. Este conjunto de
llamadas proporcionan una interfaz con la que poder invocar los servicios que el sistema
operativo ofrece.

Cuando un programa de aplicación diseñado para trabajar sobre un S.O concreto se intenta
ejecutar sobre otro SO distinto, en general el programa no funcionará, a no ser que el nuevo
sistema operativo tenga la misma interfaz. Para ello, las llamadas correspondientes tienen que
tener el mismo formato, y cada llamada tiene que dar los mismos resultados que la
correspondiente llamada del SO anterior.

2. Ejecución de Llamadas al Sistema Operativo.

2.1 Llamadas de Función

Paso 1.
Paso 2.

11
Paso 3.
Paso 4.
Paso 5.

2.2 Llamadas al Sistema.


Las llamadas a funciones no bastan, porque una aplicación no sabe dónde está situada la rutina
de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier
cambio en el S.O. haría que hubiera que reconstruir la aplicación.
Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la
CPU.
Para solucionar esto, se utilizan instrucciones máquina diseñadas específicamente para este
cometido, denominadas llamadas al sistema, y cuyas tareas son distintas de las que se usan para
las llamadas de función.
Las llamadas al sistema proporcionan los medios para que un programa de usuario pida al
sistema operativo que realice tareas reservadas del sistema operativo en nombre del programa
del usuario. Cuando se ejecuta una interrupción, el hardware la trata como una interrupción
software.

12
13
Sesión 5: Componentes de un Sistema
Operativo
1. Componentes de un Sistema Operativo.
1.1 Gestión de Procesos.
Un proceso es un programa en ejecución, aunque como veremos en el Tema 3, el concepto de
proceso es mucho más general.

Un proceso necesita para llevar a cabo su tarea ciertos recursos, entre los que se incluyen tiempo
de CPU, memoria, archivos y dispositivos de E/S. Estos recursos se pueden proporcionar al
proceso en el momento de crearlo o se le asignan mientras se está ejecutando.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


de procesos:

-Crear y borrar procesos.

-Suspender y reanudar procesos.

-Proporcionar mecanismos para:

-Sincronización de procesos.

-Comunicación entre procesos.

1.2 Gestión de Almacenamiento Primario y Secundario.

1.2.1 Gestión de Almacenamiento Primario

La memoria principal es una matriz de palabras o bytes cada uno de los cuales tiene su propia
dirección. La memoria principal es un repositorio de datos rápidamente accesibles, compartida
por la CPU y los dispositivos de E/S Una de las características de esta memoria, es que es un
dispositivo de almacenamiento volátil, es decir, pierde su contenido cuando no recibe señales
eléctricas.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


de memoria:

-Controlar que partes de la memoria están actualmente en uso y por quién.

-Decidir que procesos se cargarán en memoria cuando haya espacio disponible.

-Asignar y liberar la asignación de espacio de memoria cuando sea necesario.

14
1.2.2 Gestión de Almacenamiento Secundario.

Dado que la memoria principal es demasiado pequeña para acomodar todos los datos y
programas, y puesto, que los datos que guarda se pierden al desconectar la alimentación, el
sistema informático debe proporcionar un almacenamiento secundario como respaldo de la
memoria principal.

La mayoría de los sistemas informáticos modernos usan discos como principal medio de
almacenamiento, tanto para programas como para datos. Así, la mayor parte de los programas,
incluyendo compiladores, ensambladores o procesadores de texto, se almacenan en un disco
hasta que se cargan en memoria, y luego usan el disco como origen y destino de su
procesamiento.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


de disco:

-Gestión del espacio libre.

-Asignación del espacio de almacenamiento.

-Planificación del disco.

1.3 Gestión del Sistema de E/S.

El subsistema de E/S consta de varios componentes:

-Un componente de almacenamiento temporal (caché)

-Una interfaz general para controladores de dispositivos.

-Controladores para dispositivos hardware específicos. Solo el controlador del dispositivo


conoce las peculiaridades del dispositivo específico al que está asignado.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


del sistema de E/S:

-Gestionar el almacenamiento temporal de E/S.

-Servir las interrupciones de los dispositivos de E/S.

1.4 Gestión del Sistema de Archivos.


La gestión de archivos es uno de los componentes más visibles de un sistema operativo. Un
archivo es una colección de información relacionada definida por su creador. Comúnmente, los
archivos representan programas (tanto en formato fuente como en formato objeto) y datos.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


del sistema de E/S:

-Creación y destrucción de archivos.

-Creación y destrucción de directorios.

15
-Soporte de funciones primitivas para manipular archivos y directorios.

-Asignación de archivos a los dispositivos de almacenamiento secundario.

-Copia de seguridad de archivos en medios de almacenamiento no volátiles.

1.5 Gestión del sistema de Protección


La protección es cualquier mecanismo que controle el acceso de procesos y usuarios a los
recursos del sistema.

El sistema operativo es responsable de las siguientes actividades en lo que se refiere a la gestión


de la protección:

-Distinguir entre uso autorizado y no autorizado.

-Especificar los controles a realizar.

-Forzar el uso de estos mecanismos de protección.

1.6 Gestión del sistema de Comunicaciones de red.


Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y
recepción de información a través de los interfaces de red. Para ello, hay que crear y mantener
puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear
y mantener conexiones virtuales entre las aplicaciones están ejecutándose localmente y otras
que lo hacen remotamente.

1.7 Intérprete de Comandos.


El Shell del sistema es el principal componente del S.O utilizado por el usuario, ya que la
utilización del sistema por parte de un usuario siempre se realiza de manera directa o indirecta
a través del Shell.

Generalmente, incorpora un lenguaje de programación para automatizar tareas.

Los intérpretes de comandos pueden ser:

-Alfanuméricos. Las órdenes se expresan mediante un lenguaje específico usando cadenas de


caracteres introducidas por el terminal.

-Gráficos. Las órdenes se especifican por medio de iconos.

16
2. Programas del Sistema.
Son aplicaciones de utilidad que se suministran con el sistema operativo pero no forman parte
de él. Estas aplicaciones ofrecen un entorno útil para el desarrollo y ejecución de programas.
Realizan diferentes tareas como:

-Manipulación y modificación de archivos.

-Información del estado del sistema.

-Soporte a lenguajes de programación.

-Comunicaciones,

17
Sesión 6: Implementación de un Sistema
Operativo
1. Implementación de un Sistema Operativo.
La ingeniería de un sistema tan grande y complejo como es un sistema operativo moderno debe
hacerse cuidadosamente para que el sistema funcione apropiadamente y pueda modificarse con
facilidad.

1.1 Organizaciones Estructurales de los SSOO.


•Sistemas Monolíticos.
Todo el sistema Operativo es un
único programa, sin distinción entre
sus componentes, lo que significa
que tiene que cargarse en memoria
principal. Ejemplo: MS-DOS, UNIX.

•Sistemas Basados en Micronúcleos


Algunos componentes del sistema operativo anterior se sacan fuera del mismo. De esa forma,
se intenta reducir el bloque que debe
estar en memoria principal.

Lo que se establece es un núcleo del


SSOO lo más pequeño posible y que se
ocupa solo de las tareas de más bajo
nivel.

•Sistemas Estructurados en Niveles


El S.O. está dividido en un número de
niveles. La idea es que cada nivel
proporciona servicios al nivel
inmediato superior y recibe servicios
del nivel inmediatamente inferior.

18
•Sistemas de Máquina Virtual
El nivel más bajo del SO se ocupa de la
multiplicación de los recursos. A las
aplicaciones se les proporciona el
interfaz de un SO monousuario. Cada
máquina virtual ejecuta una copia del
hardware desnudo de soporte.

1.2 Objetivos de Diseño.


Más allá del tipo de sistema y de la elección del hardware, los requisitos del sistema se pueden
dividir en dos grupos básicos: objetivo de usuario y objetivos del sistema.

Desde el punto de vista de los usuarios, desean ciertas propiedades obvias en un sistema: el
sistema debe ser cómodo de utilizar, fácil de aprender y de usar, fiable, seguro y rápido. Un
conjunto de requisitos similar puede ser el definido por aquellas personas que tienen que
diseñar, crear y mantener el sistema. Así, desde la perspectiva del sistema, debería ser fácil de
diseñar, implementar, y mantener; debería ser flexible, fiable, libre de errores y eficiente.

-Mecanismos y políticas.
Dos conceptos relacionados con los requisitos de un sistema operativo son los mecanismos y
políticas. Los mecanismos determinan cómo hacer algo, mientras que las políticas determinan
qué hacer. Por ejemplo, cuando es necesario decidir si un recurso se asigna o no, se debe tomar
una decisión política. Cuando la pregunta es cómo hay que asignar un proceso, es un mecanismo
lo que hay que determinar. Es decir, el sistema operativo ofrece unos mecanismos y el
administrador del sistema o el usuario definen las políticas.

La separación entre políticas y mecanismos es importante por cuestiones de flexibilidad, ya que


las políticas probablemente cambien con el paso del tiempo.

1.3 Lenguajes de Implementación y Portabilidad.


Tradicionalmente, los sistemas operativos tenían que escribirse en lenguaje ensamblador. Sin
embargo, actualmente se escriben en lenguajes de alto nivel como C o C++.

Las ventajas de usar un lenguaje de alto nivel son las mismas que las que se obtiene cuando el
lenguaje se usa para programar aplicaciones: el código puede escribirse más rápido, es más
compacto y más fácil de entender y depurar. Además, un sistema operativo es más fácil de
transportar a otro tipo de hardware si está escrito en un lenguaje de alto nivel.

Sin embargo, las partes del sistema operativo que manipulan directamente el hardware
continúan escribiéndose en lenguaje ensamblador.

19
1.4 Normalización de Interfaces.
La portabilidad de las aplicaciones necesita que el interfaz del Sistema Operativo esté
normalizado. La norma debería además describirse en algún lenguaje de alto nivel que índice el
modo de llamar a las funciones de la Biblioteca de Llamadas al S.O.

Cuando las normas anteriores no son propiedad de ninguna compañía es más probable que los
cambios sean menores y sean pactados entre muchas entidades.

La norma POSIX describe un interfaz del tipo citado y es la que se utiliza en los SSOO llamados
abiertos.

2. Clases de SSOO.
2.1 Algunos tipos de SSOO
•Sistemas Localizados. Son aquellos que proporcionan todos los servicios ejecutándose en
una misma máquina. Por ejemplo, el Sistema Operativo que utilizamos.

•Sistemas de Red. Son sistemas que permiten proporcionar servicios a aplicaciones remotas
(que se ejecutan en otras máquinas). Las aplicaciones que se ejecutan sobre ellos pueden pedir
servicios no locales (proporcionados por otros SSOO en otras máquinas) como archivos remotos
o dispositivos de E/S remotos.

•Sistemas basados en Middleware. Sistemas que extienden la funcionalidad de los SSOO de


red para permitir que las aplicaciones efectúen llamadas a funciones que residen en otras
máquinas, administradas por otros SSOO. También permiten que las aplicaciones sean
construidas como aplicaciones distribuidas con mayor facilidad que los SSOO de red.

•Sistemas Operativos Distribuidos. Son SSOO que no residen físicamente sobre una
máquina sino que se extienden sobre varias, que forman así un verdadero sistema
multicomputador. Consiguen que las aplicaciones que ejecutan sobre ellos puedan ser
distribuidas sin que el programador tenga que ocuparse de dónde reside cada parte.

•Sistemas Operativos Multiprocesadores. Son SSOO que trabajan sobre máquinas que
disponen de varios procesadores que acceden a una memoria única y usan un mismo reloj.
Consiguen que las aplicaciones que ejecutan sobre ellos puedan compartir el uso de los
diferentes procesadores y la memoria común.

20

También podría gustarte