You are on page 1of 36

Sistemas operativos I

UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS EN


EL VALLE DE SULA.
ING. ERNESTO PINEDA
computel_ern@yahoo.com
http://ing-ernesto-pineda.blogspot.com/

Qu es un Sistema Operativo

Un S. O. es un grupo de programas de proceso con las rutinas de


control necesarias para mantener continuamente operativos dichos
programas. [Tanenbaum]
Programa que controla la ejecucin de los programas de aplicacin y
que acta como interfaz entre el usuario de la computadora y el
hardware del mismo. [Stallings]

Todo aquello que te entrega el vendedor cuando le pides un Sistema


Operativo. El nico programa que se est ejecutando en todo momento
en el computador (denominado ncleo o kernel), siendo el resto
programas de aplicacin. [Silberschatz]
Un SO puede ser contemplado como una coleccin organizada de
extensiones software del hardware, consistente en rutinas de control
que hacen funcionar una computadora y proporcionan un entorno para
la ejecucin de los programas. [Milenkovic]

El objetivo primario de un Sistema Operativo es:

Optimizar todos los recursos del sistema para


soportar los requerimientos de los usuarios.

A los efectos de situar a los S. O. en el conjunto


del software para computadoras, podemos
clasificar a este de la siguiente manera:
Programas de sistema: Controlan la operacin
de la computadora en s. Por ejemplo:

Programas de aplicacin: Son aquellos que


resuelven los problemas para los usuarios.

Componente de un sistema informtico

Un sistema informtico consta de 3


componentes:

Hardware
Software

Programas de aplicacin
Software de sistemas

Usuarios

Programas de sistemas
Sistema operativo

Personas que se identifican individualmente ante el SO


Ven al sistema informtico en trminos de las aplicaciones
que usan
Sesin: conjunto de actividades entre la identificacin y el
fin de realizacin de actividades

Otras mquinas, otros sistemas

Funciones de un sistema operativo

Administrador de recursos

Asignacin

Asignacin de recuros a los programas en ejecucin


(procesos)
Asignacin de recursos en funcin de la disponibilidad de
recursos y ciertas caractersticas de los procesos.
Se debe poder recuperarlos cuando ya no se necesiten.

Proteccin
Se Debe garantizar la no interferencia entre procesos
en el uso de recursos
Debe impedir que un proceso acceda a recursos de
otro

Para todo lo anterior utilizar una serie de


estructuras de datos que registrarn el estado de
los recursos

Los S. O. son, en primer lugar, administradores de


recursos, siendo el recurso primario el hardware del
sistema (ver Figura 1.1)

Los principales recursos


administrados por los S. O. son:
Procesadores.
Almacenamiento.
Dispositivos de e / s.
Datos.

Las principales caractersticas de los S. O. son:

Definir la Interfaz del Usuario.


Compartir el hardware entre usuarios.
Permitir a los usuarios compartir los
datos entre ellos.
Planificar recursos entre usuarios.
Facilitar la entrada / salida.
Recuperarse de los errores.

Los S. O. son una interfaz con:

Operadores.
Programadores de aplicaciones.
Programadores de sistemas
(administradores del S. O.).
Programas.
Hardware.
Usuarios.

Historia de los Sistemas Operativos por Generaciones


Los S. O. han estado relacionados histricamente con la
arquitectura de las computadoras en las cuales se ejecutan, razn
por la cual su historia puede analizarse segn las siguientes
generaciones y sus principales caractersticas [7, Deitel]:

Generacin Cero (dcada de 1940):

Carencia total de S. O.
Completo acceso al lenguaje de mquina.

Primera generacin (1945-1955): bulbos y


conexiones:

Carencia de S. O.
En los aos cincuenta comienzan como transicin
entre trabajos, haciendo la misma ms simple.

Historia de los Sistemas Operativos Generaciones (cont.)

Segunda generacin (1955-1965): transistores y


sistemas de procesamiento por lotes (batch):

En los aos sesenta aparecen los S. O. para sistemas


compartidos con:

Multiprogramacin: varios programas de usuarios se


encuentran al mismo tiempo en el almacenamiento principal,
cambiando el procesador rpidamente de un trabajo a otro.
Multiprocesamiento: varios procesadores se utilizan en un
mismo sistema para incrementar el poder de procesamiento.

Posteriormente aparece la independencia de dispositivo:

El programa del usuario especifica las caractersticas de los


dispositivos que requieren los archivos.
El S. O. asigna los dispositivos correspondientes segn los
requerimientos y las disponibilidades.

Historia de los Sistemas Operativos Generaciones (cont.)

Tercera generacin (1965-1980): circuitos integrados y


multiprogramacin:

Difusin de la multiprogramacin:

Proteccin por hardware del contenido de cada particin de memoria.


Aparicin de tcnicas de spooling:

Particin de la memoria en porciones, con trabajos distintos en cada una de ellas.


Aprovechamiento del tiempo de espera consecuencia de operaciones de e/s, para
utilizar la CPU para otros procesos.

Simultaneous Peripheral Operation On Line: operacin simultnea y en lnea de


perifricos.
Almacenamiento de trabajos de entrada y de salida en dispositivos transitorios
rpidos (discos), para disminuir el impacto de los perifricos mas lentos.

Son sistemas de modos mltiples, es decir que deben soportar sistemas


de propsitos generales; son grandes y complejos pero muy poderosos.
Interponen una capa de software entre el usuario y el hardware.
Aparecen los lenguajes de control de trabajos, necesarios para especificar
el trabajo y los recursos requeridos.
Soportan timesharing (tiempo compartido), variante de la
multiprogramacin con usuarios conectados mediante terminales en lnea,
permitiendo la operacin en modo interactivo o conversacional.
Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta
muy exigentes, especialmente para usos industriales o militares.

Historia de los Sistemas Operativos Generaciones (cont.)

Cuarta generacin (1980-1990): computadoras personales:

Aparicin de software amigable con el usuario, destinado a usuarios no


profesionales y con una interfase grfica muy desarrollada.
Desarrollo de sistemas operativos de red y sistemas operativos
distribuidos.

Sistemas operativos de red:

Los usuarios estn conscientes de la existencia de varias computadoras


conectadas.
Cada computadora ejecuta su propio S. O. local.
Son similares a los S. O. de un solo procesador pero con el agregado de:

Sistemas operativos distribuidos:

Controlador de interfaz de la red y su software de bajo nivel.


Software para conexin y acceso a archivos remotos, etc.

Aparece ante los usuarios como un S. O. de un solo procesador, an cuando


soporten a varios procesadores.
Los usuarios no son conscientes del lugar donde se ejecutan sus programas o
donde se encuentran sus archivos, ya que lo debe administrar el S. O.
automticamente.
Deben permitir que un programa se ejecute mediante varios procesadores a la
vez, maximizando el paralelismo.

Aparicin de emuladores de terminal para el acceso a equipos remotos


desde computadoras personales (PC).
Gran nfasis en la seguridad, en especial por el desarrollo de los sistemas
de comunicaciones de datos.
Proliferacin de sistemas de bases de datos, accesibles mediante redes
de comunicacin.

Conceptos Generales

La interfaz entre el S. O. y los programas del usuario se define como el conjunto


de instrucciones ampliadas [23, Tanenbaum] que proporciona el S. O. y
son las llamadas al sistema:
Crean, eliminan y utilizan objetos del software controlados por el S. O.:

Procesos:

Es el concepto central de todos los S. O.


Es bsicamente un programa en ejecucin.
Consta del programa ejecutable, sus datos y pila, contador y otros registros, adems
de la informacin necesaria para ejecutar el programa.
La informacin de control relacionada con los procesos se almacena en la tabla de
procesos:
Es administrada por el S. O.
Posee un arreglo de estructuras, una por cada proceso existente en ese momento.

Un proceso (suspendido) consta de:

Los mas importantes son procesos y archivos.

Un espacio de direccin.
Los datos pertinentes de la tabla de procesos.

Un proceso puede crear procesos hijo y estos nuevos procesos hijo,


conformando un rbol de procesos.

Conceptos Generales (Continuacin)

Archivos:

Una de las funciones principales del S. O. es brindar independencia de


dispositivo.
Muchos S. O. soportan el concepto de directorio como una forma de agrupar
archivos.
Los directorios se estructuran jerrquicamente, por lo que a cada archivo le
corresponde una ruta de acceso.
Existen distintos esquemas de seguridad de archivos en los distintos S. O.

Llamadas al sistema:

Permiten a los programas comunicarse con el S. O. y solicitarle servicios.


A cada llamada le corresponde un procedimiento:

Pone los parmetros de la llamada en un lugar especfico para luego ejecutar una
instruccin tipo trap de llamada a procedimiento protegido para iniciar el S. O.
Luego de trap el S. O. recupera el control , examina los parmetros y si son vlidos
ejecuta el trabajo solicitado.
Luego de terminar, el S. O. coloca un cdigo de estado en un registro indicando si tuvo
xito o fracaso y ejecuta una instruccin del tipo return from trap para regresar el
control al procedimiento.
El procedimiento regresa al programa llamador con un cdigo de estado como un valor
de funcin; dentro de los parmetros pueden regresar valores adicionales.

Componentes de un sistema operativo

Bloques funcionales
Estructuras de datos

Componentes de un sistema operativo (Bloques


funcionales)

Un SO se divide, desde un punto de vista


lgico, en un conjunto de mdulos con
funciones, entradas y salidas bien definidas.
Administracin de procesos

Creacin, eliminacin, suspensin y reanudacin de


procesos
Mecanismos para sincronizacin y comunicacin de
procesos
Mecanismos para manejo de interbloqueos

Administracin de memoria principal

Registrar qu partes de la memoria estn en uso y por


quin
Asignar y liberar espacio de memoria cuando sea
necesario

Componentes de un sistema operativo (Bloques


funcionales)
Administracin de E/S

Administracin del almacenamiento secundario

Garantiza la identidad de los usuarios y define las


operaciones posibles para cada uno

Redes

Creacin y borrado de ficheros


Primitivas para manipulacin de archivos
Mapeado de archivos en memoria secundaria

Seguridad y proteccin

Administra el espacio libre


Planifica las operaciones sobre disco

Administracin de archivos y directorios

Facilita el uso de los dispositivos perifricos

Posibilita la comunicacin entre diferentes


computadores

Intrprete de comandos

En algunos SO forma parte de su ncleo


En otros es un programa especial

Componentes de un sistema operativo (Estructura


de datos)

Cada uno de los mdulos anteriores se


apoya en un conjunto de estructuras de
datos que guardan informacin especfica
del mismo

Se manipulan en:

Tambin hay estructuras de datos


comunes/compartidas por varios mdulos

Llamadas al sistema
Gestin de interrupciones

Se inicializan (en general) en el arranque


del sistema operativo

Estructura de los Sistemas Operativos

A medida que se han aadido caractersticas a


los SO y el hardware subyacente se ha hecho
ms complejo, ha ido creciendo el tamao y la
complejidad de los SO.
Genera varios problemas

Los SO estn cronolgicamente retrasados cuando se


entregan.
Tienen fallos laterales que se muestran con su uso
Su rendimiento no suele ser el esperado

Para solucionar los problemas, hay que


estructurar bien el SO

Estructura Monoltica

El SO es una coleccin de
procedimientos que
pueden invocar a
cualquiera de los otros
cuando lo necesitan

Se compilan todos ellos


para generar un nico
archivo objeto
No existe ocultamiento de
la informacin

Dado que todos los


procedimientos ven al
resto
En contraposicin a una
estructura en mdulos o
paquetes

An as, se puede
encontrar algo de
estructura en estos SO
(figura siguiente)

Forma detallada de un sistemas monolticos

Problemas
Difcil evolucin
Difcil mantenimiento

Llamadas al sistema en un sistema monoltico

Para ejecutar los servicios del S. O. (llamadas al sistema): (ver


Figura 1.3 [23, Tanenbaum]).

Se solicitan colocando los parmetros en lugares bien definidos


(registros o pilas).
Se ejecuta una instruccin especial de trampa: llamada al ncleo
o llamada al supervisor.
La instruccin cambia la mquina del modo usuario al modo ncleo
(o modo supervisor). [23, Tanenbaum]
Se transfiere el control al S. O.
El S. O. examina los parmetros de la llamada para determinar cul
de ellas se desea realizar.
El S. O. analiza una tabla que contiene en la entrada k un
apuntador al procedimiento que realiza la k-sima llamada al
sistema:

Identifica al procedimiento de servicio llamado.

La llamada al sistema termina y el control regresa al programa del


usuario.

Estructura de sistemas con capas

Es una generalizacin del modelo


de estructura simple para un
sistema monoltico.
Consiste en organizar el s. o.
como una jerarqua de capas,
cada una construida sobre la
inmediata inferior.
El primer sistema con este
esquema fue el THE (Holanda Dijkstra -1968): (ver Tabla 1.1
[23, Tanenbaum]).

5 Operador

4 - Programas del Usuario

3 - Control de Entrada - Salida


2 - Comunicaciones Operador
Proceso
1 - Administracin de la
Memoria y del Disco
0 - Asignacin del Procesador y
Multiprogramacin
Tabla 1.1: Estructura del S.O.
en capas "THE".

THE: Technische Hogeschool Eindhoven.


Funciones de cada capa

Capa 0:

Capa 1:

Controla los dispositivos de e / s y almacena en buffers los flujos de informacin entre


ellos.
Por sobre la capa 3 cada proceso puede trabajar con dispositivos abstractos de e / s
en vez de con dispositivos reales.

Capa 4:

Administra la comunicacin entre cada proceso y la consola del operador.


Por sobre esta capa, cada proceso tiene su propia consola de operador.

Capa 3:

Administra la memoria.
Asegura que las pginas (porciones de memoria) requeridas de los procesos lleguen a
memoria cuando fueran necesarias.

Capa 2:

Trabaja con la asignacin del procesador.


Alterna entre los procesos cuando ocurren las interrupciones o expiran los
cronmetros.
Proporciona la multiprogramacin bsica.

Aloja los programas del usuario.


Los programas. del usuario no tienen que preocuparse por el proceso, memoria,
consola o control de e / s.

Capa 5:

Localiza el proceso operador del sistema.

Estructura de Mquina Virtual

Se separan totalmente las funciones de multiprogramacin


y de mquina extendida.
Existe un elemento central llamado monitor de la
mquina virtual que:

Se ejecuta en el hardware.
Realiza la multiprogramacin.
Proporciona varias mquinas virtuales a la capa superior.

Las mquinas virtuales instrumentan copias exactas del


hardware simple, con su modo ncleo / usuario, e / s,
interrupciones y todo lo dems que posee una mquina
real.
Pueden ejecutar cualquier S. O. que se ejecute en forma
directa sobre el hardware.
Las distintas mquinas virtuales pueden ejecutar distintos
S. O. y en general as lo hacen.
Soportan perifricos virtuales.

Estructura de Mquina Virtual

Ejemplo de S. O. representativo de
esta estructura: VM/370 de IBM:
(ver Figura 1.4 [23, Tanenbaum]
Las m. v. generalmente utilizaran,
entre otros, el S. O. CMS:
Conversational Monitor System.
Cuando un programa CMS
ejecuta una llamada al sistema:

La llamada es atrapada por el S. O.


en su propia m. v.; no pasa
directamente al VM/370.
CMS proporciona las instrucciones
de e / s en hardware para la
lectura del disco virtual o lo
necesario para efectuar la llamada.
VM/370 atrapa estas
instrucciones de e / s y las ejecuta
sobre el hardware verdadero.

Modelo cliente - servidor:

Una tendencia en los S. O. modernos es la de explotar la idea de


mover el cdigo a capas superiores y mantener un ncleo mnimo,
de manera similar al VM/370.
Implantar la mayora de las funciones del S. O. en los procesos del
usuario.
Para solicitar un servicio (por ej.: lectura de un bloque de cierto
archivo) segn el modelo cliente - servidor: (ver Figura 1.5 [23,
Tanenbaum]).

Modelo cliente - servidor: (continuacin)

El proceso del usuario (proceso cliente) enva la solicitud a un


proceso servidor:
Realiza el trabajo y regresa la respuesta.
El ncleo controla la comunicacin entre los clientes y los servidores.
Se fracciona el S. O. en partes, cada una controlando una faceta:
Servicio a archivos, a procesos, a terminales, a memoria, etc., cada
parte pequea y ms fcilmente controlable.
Los servidores se ejecutan como procesos en modo usuario:
No tienen acceso directo al hardware.

Se aslan y acotan ms fcilmente los problemas.


Se adapta para su uso en los sistemas distribuidos: (ver Figura 1.6 [23,
Tanenbaum]).

Modelo cliente - servidor: (continuacin)

Si un cliente se comunica con un servidor mediante mensajes:

No necesita saber si el mensaje se atiende localmente o mediante un servidor


remoto, situado en otra mquina conectada.
Enva una solicitud y obtiene una respuesta.

Algunas funciones del S. O., por ej. el cargado de comandos en los registros
fsicos del dispositivo de e / s, presentan problemas especiales y distintas
soluciones:
Ejecucin en modo ncleo, con acceso total al hardware y comunicacin con
los dems procesos mediante el mecanismo normal de mensajes.
Construccin de un mnimo de mecanismos dentro del ncleo manteniendo
las decisiones de poltica relativas a los usuarios dentro del espacio del
usuario.

Arranque del sistema operativo

Introduccin
Arranque hardware
Ubicacin del sistema operativo
Arranque del sistema operativo

Arranque del sistema operativo

El arranque del sistema tiene 2 fases

Arranque hardware
Arranque del sistema operativo

Resumen de actividades ms importantes

Arranque de Hardware

El computador slo puede realizar actividades tiles si


tiene un programa cargado en memoria principal:

Que es voltil
Al arrancar el computador, la memoria principal no contiene
informacin vlida

Para solucionar el problema, se usa un programa de


arranque (iniciador ROM) grabado permanentemente en
memoria ROM (no voltil)

Cuando se arranca el computador se cargan unos valores


predefinidos en los registros

En especial, se carga en el registro contador de programa la direccin


de comienzo del iniciador ROM.

Ubicacin del sistema operativo

El SO est almacenado en disco


En una zona predefinida del disco (los N primeros
sectores) est almacenado el programa cargador (boot)
del SO

Tiene un tamao prefijado


Llevado a memoria por el iniciador ROM

El iniciador ROM es independiente del SO a arrancar

Ubicacin, tamao y direccin de arranque del cargador no


cambian entre SO diferentes

Arranque del sistema operativo

Misin del cargador del SO

Traer a memoria ciertos componentes del SO


Una vez cargados, se pasa a la fase de iniciacin

Fase de iniciacin

Comprobacin del sistema

Establecer estructuras de datos propias del SO

Al conjunto de componentes del SO que estn permanentemente en memoria


se le denomina sistema operativo residente

Crear un proceso de inicio (login) por cada terminal definida en el sistema

Tabla de procesos, de memoria, de E/S, etc.

Cargar en memoria el resto de componentes del sistema operativo que


han de estar siempre en memoria

Completar las pruebas hardware


Comprobar que el sistema de archivos tiene un estado coherente

Presentan un mensaje de bienvenida y esperan a que el usuario inicie la sesin

Crear un conjunto de procesos auxiliares y demonios

Para impresin, comunicaciones, etc.

Clasificacin de los sistemas operativos

Clasificacin de
los sistemas
operativos

Segn la utilizacin de
recursos
Segn la interactividad
Segn el nmero de
usuarios

Clasificacin de los sistemas operativos

Segn la utilizacin de recursos (sobre todo, CPU)

Segn la interactividad (tiempo de respuesta)

Sistemas monoprogramados
Sistemas multiprogramados
Sistemas de multiprocesamiento
Sistemas de procesamiento por lotes (batch)
Sistemas de tiempo compartido
Sistemas de tiempo real

Segn el nmero de usuarios (definir usuario)

Sistemas mono usuario


Sistemas multiusuario

You might also like