You are on page 1of 60

Fundamentos de Sistemas

Operativos
Jorge Daz-Ramrez

Contenidos
Llamadas al sistema.

Control de trabajos o procesos.


Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Jerarqua de almacenamiento

Llamadas al sistema
Llamada al sistema" (System Call) es
el mecanismo usado por un programa
para solicitar un servicio al Sistema
Operativo.

Llamadas al sistemas
fundamentos
Los programas son un conjunto de
instrucciones organizadas con un objetivo.
Un proceso es conceptualmente un programa
en ejecucin. En los sistemas operativos
multitarea, puede haber varios procesos
ejecutndose
concurrentemente.
Cada
proceso puede requerir el uso de recursos de
hardware, como perifricos, o espacio de
memoria principal, u otros recursos.

Llamadas al sistemas
fundamentos
Dado que el hardware es compartido por
mltiples procesos, el acceso a los recursos
debe ser administrado para garantizar su
correcto uso y evitar problemas de seguridad.
La nica forma de acceder al hardware es a
travs de las llamadas al sistema, que estn
perfectamente definidas.

Llamadas al sistemas
fundamentos
Los procesadores proveen diferentes niveles de
privilegio de forma tal que los sistemas operativos
pueden restringir las operaciones que ejecutan los
programas tanto por razones de seguridad como de
estabilidad. Estas operaciones incluyen el acceso a
perifricos, habilitar o deshabilitar interrupciones,
cambiar el estado del procesador, y acceder a la
memoria, entre otras.

Llamadas al sistemas
mecanismos
Las llamadas al sistema comnmente usan
una instruccin especial de la CPU que
causa que el procesador transfiera el control
a un cdigo privilegiado, previamente
especificado por el mismo cdigo. Esto
permite al cdigo privilegiado especificar
donde el va a ser conectado as como el
estado del procesador.

Llamadas al sistemas
mecanismos
Cuando una llamada al sistema es invocada, la
ejecucin del programa que invoca es interrumpida y
sus datos son guardados, normalmente en su PCB,
para poder continuar ejecutndose luego. El
procesador entonces comienza a ejecutar las
instrucciones de cdigo, para realizar la tarea
requerida. Cuando esta finaliza, se retorna al proceso
original, y contina su ejecucin. El retorno al proceso
demandante no obligatoriamente es inmediato,
depende del tiempo de ejecucin de la llamada al
sistema y del algoritmo de planificacin de CPU.

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Control de trabajos o
procesos
Qu es un proceso?
Un proceso es un programa en ejecucin. Una vez
definido que es un proceso nos podramos preguntar
cul es la diferencia entre un programa y un proceso,
y bsicamente la diferencia es que un proceso es
una actividad de cierto tipo que contiene un
programa, entradas salidas y estados.

Control de trabajos o
procesos
Los procesos pueden ser cooperativos o
independientes, en el primer caso se
entiende que los procesos interactan entre
s y pertenecen a una misma aplicacin. En
el caso de procesos independientes en
general se debe a que no interactan y un
proceso no requiere informacin de otros o
bien porque son procesos que pertenecen a
distintos usuarios.

Control de trabajos o
procesos
Estados de los procesos
Un proceso puede estar en cualquiera de los siguientes
tres estados: Listo, En ejecucin y Bloqueado.
Los procesos en el estado listo son los que pueden pasar
a estado de ejecucin si el planificador los selecciona.
Los procesos en el estado ejecucin son los que se estn
ejecutando en el procesador en ese momento dado. Los
procesos que se encuentran en estado bloqueado estn
esperando la respuesta de algn otro proceso para poder
continuar con su ejecucin

Control de trabajos o
procesos
Implantacin de los procesos

La implementacin del modelo de procesos se logra debido a que el sistema


operativo almacena en una tabla denominada tabla de control de procesos
informacin relativa a cada proceso que se esta ejecutando en el procesador.
Cada lnea de esta tabla representa a un proceso.
La informacin que se almacena es la siguiente:
1) Identificacin del proceso.
2) Identificacin del proceso padre.
3) Informacin sobre el usuario y grupo.
4) Estado del procesador.
5) Informacin de control de proceso
5.1) Informacin del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados.

Control de trabajos o
procesos
Comunicacin entre procesos
Condiciones de competencia
Las condiciones de competencia se dan cuando dos o ms
procesos intentan acceder a un mismo recurso.

Secciones crticas
Para solucionar las condiciones de competencia se
implement un modelo para prohibir que dos procesos
accedan al mismo recurso. El modelo en cuestin se
denomina exclusin mutua.

Control de trabajos o
procesos
Exclusin mutua con espera ocupada
Las soluciones con espera ocupada funcionan de la
siguiente manera, cuando un proceso intenta ingresar a su
regin crtica, verifica si esta permitida la entrada. Si no, el
proceso se queda esperando hasta obtener el permiso.

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Estructura interna del sistema


operativo
Se considera la organizacin interna de
los SO y conforme a ella se los clasifica
de la siguiente manera, destacndose
sus principales caractersticas.

Estructura interna del sistema


operativo
Sistema simple
Sistema por capas
Maquinas virtuales

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Estructura simple y enfoque


por capas (o jerrquica)
Estructura del sistema
Modelos de Diseo
Forma en que se puede construir un Sistema
Operativo para que funcione correctamente y
Pueda modificarse con facilidad.

1. Estructura Simple: D.O.S


2. Modelo de Capas: UNIX, OS/2

Estructura simple y enfoque


por capas (o jerrquica)
Estructura simple
Los sistemas operativos con esta
estructura son generalmente sistemas
pequeos, sencillos y limitados.
Los recursos se estructuran por bloques.
Mximo de funcionalidad en un mnimo de
espacio, con hardware limitado

Estructura simple y enfoque


por capas (o jerrquica)

Estructura simple y enfoque


por capas (o jerrquica)

Estructura simple y enfoque


por capas (o jerrquica)
Estructura por capas
Diseados para utilizacin de hardware
ms avanzado, estos sistemas
operativos se encuentran mucho ms
fragmentados.

Estructura simple y enfoque


por capas (o jerrquica)
Objetivos
1. Mayor libertad para implementadores
2. Modularidad en los sistemas
3. Ocultamiento de informacin

Estructura simple y enfoque


por capas (o jerrquica)

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Mquinas virtuales
Utilizando planificacin de la CPU y
tcnicas de memoria virtual, un sistema
operativo puede crear la ilusin de que
mltiples procesos se ejecutan cada
uno en su propio sistema.

Mquinas virtuales
Otro tipo de visin de mquina virtual
es la de Java, donde los programas se
ejecutan sobre una JVM (Java Virtual
Machine), haciendo a los programas
independientes del hardware utilizado.

Mquinas virtuales

Mquinas virtuales

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Manipulacin de archivos
introduccin
Para la mayora de las aplicaciones y para el
usuario final un archivo es uno de los
elementos centrales de un ordenador. Un
programa es almacenado como un archivo y es
ejecutado desde ese archivo. Un programa
graba la informacin que va a ser utilizada en
el futuro por algn otro usuario o programa en
un archivo. Los archivos y sus estructuras son,
por lo tanto, de gran importancia.

Manipulacin de archivos
sistemas de archivos
Un sistema de archivos es la estructura y el medio en
el cual se almacenan los archivos. Debido a su
importancia, es necesario que un sistema operativo
tenga la capacidad de leer, escribir, acceder y
mantener la integridad de un sistema de archivos. Un
sistema de archivos provee al usuario crear con
facilidad colecciones de datos llamados archivos.
Estas colecciones debern tener los siguientes
requisitos o propiedades:

Manipulacin de archivos
sistemas de archivos
Existencia a largo tiempo: Los archivos
debern ser almacenados sobre una
unidad de almacenamiento y debern
permanecer all aun cuando el usuario
apague el ordenador

Manipulacin de archivos
sistemas de archivos
Deberan tener la capacidad de ser
compartidos : Los archivos tendrn
nombres que los identifique y debern
poseer permisos de acceso los cuales
permitiran el compartimiento controlado
entre procesos.

Manipulacin de archivos
sistemas de archivos
Debern poseer una estructura definida :
Dependiendo del tipo de sistema de
archivos, un archivo deber poseer una
estructura definida y conveniente;
permitiendo que los archivos puedan ser
organizados en orden jerrquico o en
cualquier otro orden para reflejar su
relacin con otros archivos.

Manipulacin de archivos
sistemas de archivos
El sistema de archivos permite realizar
varias operaciones sobre los archivos.
Entre estas operaciones tenemos:
Crear un archivo
Borrar un archivo
Abrir un archivo
Cerrar un archivo
Leer
Escribir

Manipulacin de archivos
estructuras de archivos
Un archivo est compuesto de campos
y registros.
Campos: son la estructura de datos ms
bsica. Un campo contiene un solo valor
como el nombre de un empleado, una
fecha, etc. Los campos se caracterizan por
el tamao del tipo de dato (Por ejemplo: el
tamao de una cadena de letras, un
decimal, etc).

Manipulacin de archivos
estructuras de archivos
Registro: puede ser tratado como una unidad por
alguna aplicacin. Por ejemplo el registro de un
empleado puede contener ciertos campos que
contienen informacin como el nombre del
empleado,
apellido,
direccin
domiciliaria,
posicin, etc. Un registro al igual que un campo
puede ser de tamao fijo o variable

Manipulacin de archivos
estructuras de archivos
Un archivo es considerado por usuarios y
programas como una entidad. Un archivo
puede ser asociado con un nombre de
archivo y a este nivel se pueden aplicar
varias propiedades como permisos de
acceso, modificacin, etc. En algunos
sistemas, los permisos de acceso estn al
nivel de los campos y registros.

Manipulacin de archivos
estructuras de archivos

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Programas del sistema
Jerarqua de almacenamiento

Gestin de dispositivos
introduccin
La heterogeneidad de los dispositivos
hace que el tratamiento de la
entrada/salida por el sistema operativo
sea difcilmente generalizable.

Gestin de dispositivos
caractersticas
Los dispositivos se caracterizan por su
heterogeneidad, lo que introduce
complejidad en el sistema operativo.
Algunas de las caractersticas en las
que los dispositivos pueden diferir
son las siguientes:

Gestin de dispositivos
caractersticas
Unidad de
transferencia: Unos
dispositivos utilizan el byte como unidad
de transferencia
(dispositivos
de
caracteres, como el teclado o el ratn).
Otros transfieren y/o almacenan la
informacin en bloques (dispositivos de
bloques,
como
discos
y
cintas
magnticas).

Gestin de dispositivos
caractersticas
Velocidad: Los rangos en los que se
mueven los dispositivos son muy amplios.
Los discos y los dispositivos de
comunicacin transfieren millones de
caracteres por segundo y pueden hacerlo
a velocidad constante, mientras que con el
teclado se transfieren a lo sumo unos
cuantos caracteres por segundo, en un
periodo concreto.

Gestin de dispositivos
caractersticas
Representacin de los datos: Incluso
un mismo dispositivo puede utilizar
diferentes codificaciones configurables
en la instalacin, como es el caso del
teclado y el monitor.

Gestin de dispositivos
caractersticas
Protocolos
de
comunicacin:
La
comunicacin entre el dispositivo y la CPU
se realiza de acuerdo a un determinado
protocolo que depende del dispositivo y del
bus de comunicacin.

Gestin de dispositivos
caractersticas
Operaciones: Hay dispositivos de
entrada, de salida y de entrada/salida.
Adems, algunos dispositivos requieren
operaciones especficas (por ejemplo,
posicionar
el
cabezal
de
lectura/escritura en los discos).

Gestin de dispositivos
caractersticas
Errores: Las condiciones de error
varan con la naturaleza del dispositivo.
Por ejemplo, en la impresora hay que
tratar la falta de papel como una
situacin de error especfica, mientras
que en un disco puede haber
errores en el posicionamiento del
cabezal.

Gestin de dispositivos
Para proporcionar una forma homognea
de direccionar los dispositivos, a nivel
hardware, stos se conectan al sistema
mediante controladores (drivers). El sistema
operativo ya no trata con el dispositivo en
s mismo, sino con una interfaz que lo
representa mediante un conjunto de
direcciones o registros del controlador.

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Jerarqua de almacenamiento

Interrupciones
introduccin
Una peticin de interrupcin IRQ ("Interrupt
Request") es una seal que se origina en un
dispositivo hardware (por ejemplo, un perifrico),
para indicar al procesador que algo requiere su
atencin inmediata; se solicita al procesador que
suspenda lo que est haciendo para atender la
peticin.

Interrupciones
introduccin
Las interrupciones juegan un papel fundamental, en
especial en la operacin de dispositivos E/S, ya que
les permite enviar estas peticiones a la CPU. Sin
ellas el sistema debera chequear constantemente
los dispositivos para comprobar su actividad, pero las
interrupciones permiten que los dispositivos puedan
permanecer en silencio hasta el momento que
requieren atencin del procesador.

Contenidos

Llamadas al sistema.
Control de trabajos o procesos.
Estructura interna del sistema operativo.
Estructura simple y enfoque por capas (o jerrquica).
Mquinas virtuales
Manipulacin de archivos
Gestin de Dispositivos
Interrupciones
Jerarqua de almacenamiento

Jerarqua de
almacenamiento
Los programas y datos tienen que estar en la memoria
principal para poder ejecutarse o ser referenciados
Los programas y datos que no son necesarios de
inmediato pueden mantenerse en el almacenamiento
secundario.
El almacenamiento principal es ms costoso y menor
que el secundario pero de acceso ms rpido.
Los sistemas con varios niveles de almacenamiento
requieren destinar recursos para administrar el
movimiento de programas y datos entre niveles.

Jerarqua de
almacenamiento
Un nivel adicional es el cach o memoria de alta velocidad, que
posee las siguientes caractersticas:
Es ms rpida y costosa que la memoria principal.
Impone al sistema un nivel ms de traspaso:
Los programas son traspasados de la memoria principal al cach
antes de su ejecucin.
Los programas en la memoria cach ejecutan mucho ms rpido que
en la memoria principal.
Al utilizar memoria cach se espera que:
La sobrecarga que supone el traspaso de programas de un nivel
de memoria a otro sea mucho menor que la mejora en el
rendimiento obtenida por la posibilidad de una ejecucin mucho
ms rpida en la cach.

Jerarqua de almacenamiento

PCB
El Bloque de control del proceso BCP o
en ingls PCB (Process Control Block) es
un registro especial donde el SO agrupa toda
la informacin que necesita conocer respecto
a un proceso particular. Cada vez que se
crea un proceso el sistema operativo crea el
BCP correspondiente para que sirva como
descripcin en tiempo de ejecucin durante
toda la vida del proceso.

You might also like