Está en la página 1de 12

Definicin

Sistema Operativo
Es un programa que acta como intermediario entre el
usuario de un computador y el hardware de ste
Servicios de un Sistema Operativo
asignar recursos del ordenador (CPU, memoria,...) a los programas
dar acceso indirecto a los dispositivos del ordenador y a los perifricos
proporcionar un sistema organizado de almacenamiento de datos
comunicacin interactiva con el usuario
Objetivos de un Sistema Operativo
Ejecucin de programas de usuario
Amigabilidad
Eficiencia
Componentes Esenciales de un Sistema de Computacin
Componentes de un
Sistema de Computacin
el hardware
los programas de aplicacin
los usuarios
el sistema operativo

Funciones de un Sistema Operativo
Funciones de un Sistema Operativo
Asignar Recursos
Programa de Control
Facilitador de tareas de usuarios
Usuarios
Mquina Virtual
Informacin
Datos
Hardware
Sistema
Operativo
Programas de
Aplicacin
Enfoque Jerrquico de un Sistema Operativo
Mquina Desnuda
Caractersticas fsicas del computador (hardware),
sin ningn revestimiento lgico (software)
Entorno rido de programacin
Conocimiento profundo del sistema
Mquina Extendida
Mquina virtual que se constituye a partir de la
mquina desnuda dotada de mdulos lgicos
Amigable
Eficiente
Segura
Dos Niveles
Mquina Extendida Interna
Operaciones elementales y comunes
que actan sobre algn elemento fsico
del sistema
Mquina Extendida Externa
Mdulos fsicos que pueden extraerse y
funcionar sobre el nivel de mquina
extendida interna
Elementos de un Sistema Operativo
Elementos Software de un Sistema
Operativo
Ncleo o Kernel
Programas de Aplicacin
Ncleo
Kernel
Tipos Sistemas Operativos Primeras Realizaciones
Caractersticas
El programador deba ser operador
Explotacin mediante listas de reserva
Problemas:
Tiempo asignado insuficiente
Tiempo asignado mayor
Primeros Ordenadores (antes de los 50)
Mquinas muy grandes que carecan de elementos
lgicos
Problemas
Uso ineficiente de recursos
Baja utilizacin de la CPU
Tiempo requerido para dejar listo un
programa para ejecucin (setup time)
Primeras Mejoras
Dispositivos Fsicos: lectoras, impresoras,
cintas
Dispositivos lgicos: ensambladores,
cargadores, linkadores y drivers
Lenguajes de alto nivel: compiladores
(FORTRAN, COBOL)
Sistemas Monitores Residentes
Objetivo
Disminuir el setup time
Operador Profesional
Estrategia de explotacin: agrupacin por
Lotes
Secuenciamiento automtico de trabajos
Control de finalizacin de tareas
Tratamiento de errores
Carga y ejecucin automtica de la
siguiente tarea
Problemas
Falta de iteracin entre usuario y maquina
Lentitud frente a operaciones de E/S
Primer Sistema Operativo
Monitor residente, realiza automticamente el
secuenciamiento de tareas
Introduce tarjetas de Control ($FNT $JOB $END)
Funciones
Intrprete de tarjetas de Control
Cargador
Drivers de dispositivos
rea de
Programas
de Usuario
Sistema
Operativo
Memoria
Sistemas por Lotes Operaciones de E/S
Objetivo
Mejorar el rendimiento de los sistemas por lotes
perfeccionando tcnicas de E/S
Buffering
Esquema de operacin de E/S en el que las
transferencias de E/S se realizan a travs de un rea
intermedia de memoria (buffer)
Permite solapar operaciones de E/S de una tarea con
instrucciones de CPU de esa misma tarea
Operaciones Off-line
Modo de operacin de ciertos equipos de E/S que
trabajan no controlados directamente por la CPU
Se reemplazan dispositivos mecnicos por
dispositivos electrnicos (cintas mgnticas)
Operaciones On-line (Spooling)
(Simultaneous Peripheral Operation On-Line)
Consiste en usar el disco como tampn o sistema de
buffering. Existe una tarea especial el spooler
Permite solapar operaciones de E/S de una tarea con
instrucciones de CPU de otras tareas
Tcnicas
Sistemas por Lotes Multiprogramados
Objetivo
Mejorar el rendimiento de la CPU
Tareas del Sistema Operativo
Gestin de Memoria
Planificacin de la CPU
Planificacin de Trabajos
Proteccin
Control de Concurrencia (Dead Lock)
Motivacin
Consecuencia de la planificacin de tareas (job
scheduling)
Procedimiento
Conmutacin de CPU: cuando una tarea deba
esperar, los recursos de CPU son asignados a
otra tarea preparada para ejecucin
Sistema
Operativo
Memoria
Trabajo 1
Trabajo 2
Trabajo 3
Sistemas de Tiempo Compartido
Objetivo
Mejorar la interactividad con el usuario
Tareas del Sistema Operativo
Sistema Multitarea (tarea <> proceso)
Sistema Interactivo
Sistema de Archivos (archivos/directorios)
Sistema Multiusuario
Memoria Virtual (memoria lgica)
Caracterizacin
Sistemas multiprogramados e interactivos.
Asignacin de la CPU en rodajas de tiempo a todos
los usuarios, consiguiendo:
Tiempos de respuesta cortos
Impresin de usuario nico
Sistemas de Computador Personal
Objetivo
Sistemas de computador dedicados a un solo usuario
Caractersticas
Adoptan funcionalidades de grandes sistemas
No necesitan caractersticas de utilizacin
eficiente de CPU, ni proteccin
Dispositivos de E/S
Teclado
Ratn
Pantallas
Pequeas impresoras
Propiedades
Adaptados al usuario y sus necesidades
Sistemas Paralelos
Objetivo
Sistemas multiprocesador.
Sistemas fuertemente acoplados
Caractersticas
Mayor rendimiento
Compartir recursos
Sistemas tolerantes a fallos
Sistemas de multiprocesamiento
Multiprocesamiento simtrico: cada procesador
ejecuta una copia del sistema operativo
Multiprocesamiento asimtrico: cada procesador
tiene una tarea especfica
Propiedades
Con ms de un procesador, comparten bus, reloj,
memoria, perifricos,...
Sistemas Distribuidos
Objetivo
Sistemas multicomputador (distribuir el cmputo
entre varios procesadores).
Sistemas dbilmente acoplados
Caractersticas
Recursos compartidos
Computacin ms rpida
Confiabilidad
Comunicacin
Propiedades
Los procesadores no comparten ni memoria, ni reloj.
Se comunican entre s a travs de lneas de
comunicacin
Sistemas de Tiempo Real
Objetivo
Los requisitos de tiempo de la operacin de
procesador o del flujo de datos son estrictos
Tipos
Tiempo real duro: garantiza que las tareas crticas
se terminarn a tiempo
Tiempo real bando: una tarea de tiempo real
crtica tiene prioridad respecto a otras tareas
Funcionamiento de los Sistemas de Computacin
Sistema de Computacin
Controlador de dispositivo
Bus de sistema
Memoria compartida
Controlador
Controlador de dispositivo: componente hardware
device controler
Controlador software: componente software
device driver
Programa de Arranque
Init: primer proceso
Interrupcin:
Interrupcin hardware: a travs de bus de
sistema
Interrupcin software: Llamada al sistema
Elementos de Sistemas Operativos Componentes del Sistema
Gestin de Procesos
crear y eliminar procesos, tanto de usuario como de
sistema
suspender y reanudar procesos
proveer mecanismos para la sincronizacin de
procesos
proveer mecanismos para la comunicacin de
procesos
proveer mecanismos para manejar bloqueos mutuos
(dead locks)
Gestin de Memoria Principal
conocer el estado actual de la memoria y quien la
est utilizando
decidir que procesos se cargarn en la memoria
cuando se disponga de espacio
asignar y liberar espacio de memoria segn se
necesite suspender y reanudar procesos
Gestin de Archivos
crear y eliminar archivos
crear y eliminar directorios
proveer primitivas para la manipulacin de archivos
y directorios
establecer la correspondencia de los archivos con el
almacenamiento secundario
resguardar los archivos en medios de
almacenamiento estables (no voltiles)
Gestin del Sistema de E/S
crear y eliminar directorios
un componente de gestin de memoria que incluye
buffers, cachs, y spool
un interfaz general con los controladores de
dispositivos
Drivers (controladores software)
Gestin de Almacenamiento Secundario
administracin del espacio libre de almacenamiento
secundario
asignacin del almacenamiento
planificacin del almacenamiento secundario
Trabajo con Redes
Sistema de Proteccin
Sistema de Interpretacin de rdenes
intrprete de lnea de comandos
interfaz grfica de usuario
Elementos de Sistemas Operativos Servicios del Sistema
Ejecucin de Programas
Operaciones de E/S
Manipulacin de Sistema de Archivos
Comunicaciones
Deteccin de Errores
Asignacin de recursos
Contabilizacin
Proteccin
Servicios para comodidad del
programador
Servicios para aseguran el
funcionamiento eficiente
Elementos de Sistemas Operativos Llamadas al Sistema
1. Control de procesos y tareas
cargar, ejecutar
fin, abortar
crear proceso, terminar proceso
obtener atributos, establecer atributos del proceso
esperar tiempo
esperar sucesos, indicar sucesos
asignar, liberar memoria
2. Manipulacin de Archivos
crear, eliminar
abrir, cerrar
leer, escribir, reposicionar
obtener atributos, establecer atributos
3. Manipulacin de Dispositivos
solicitar, liberar
leer, escribir, reposicionar
obtener atributos, establecer atributos
conectar, desconectar lgicamente
4. Mantenimiento de Informacin
obtener, establecer fecha y hora
obtener, establecer datos del sistema
obtener atributos de proceso, archivo o dispositivo
establecer atributos de proceso, archivo o dispositivo
5. Comunicaciones
crear, eliminar conexin
enviar, recibir mensajes
transferir informacin de estado
conectar, desconectar dispositivos remotos
Categoras
Interfaz entre el proceso y el Sistema Operativo
Llamadas al Sistema
Disponibles como instrucciones en lenguaje
ensamblador o lenguajes de alto nivel, y se listan en
los manuales empleados en la programacin del
lenguaje
Elementos de Sistemas Operativos Programas del Sistema
1. Manipulacin de Archivos
crear, eliminar, copiar, cambiar nombre,...
2. Informacin de Estado
fecha, hora, espacio de disco, nmero de usuarios,...
3. Modificacin de Archivos
editores de texto,...
4. Apoyo a Lenguajes de Programacin
ensambladores, compiladores, intrpretes,...
5. Carga y Ejecucin de Programas
ensambladores, compiladores, intrpretes,...
6. Comunicaciones
acceso remoto, transferencia de archivos, correo
electrnico,...
Categoras
Ubicados en el ncleo del sistema operativo y los
programas de usuario
Programas del Sistema
Algunos de ellos son interfaces entre el usuario y las
llamadas al sistema, mientras que otros son mucho
ms complejos
Arquitectura de Sistemas Operativos 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
3. Modelo de Mquina Virtual: VM
4. Modelo Cliente/Servidor: Windows-NT
Arquitectura de Sistemas Operativos Estructura Simple
Controladores de dispositivos en ROM BIOS
Controladores de dispositivos de S.O.
Ncleo del Sistema Residente
Programa de Aplicacin
Estructura de bloques de D.O.S.
Controladores de Terminales
Terminales
Controladores de Dispositivos
Discos y Cintas
Controladores de Memoria
Memoria Fsica
Interfaz del ncleo con el hardware
Manejo de terminales
por seales
Sistema de E/S por caracteres
Drivers de terminales
Sistema de archivos
Sistema de E/S por
intercambio de bloques
Drivers de disco y cinta
Planificacin de CPU
Reemplazo de pginas
Paginacin por demanda
Memoria virtual
Interfaz con el ncleo mediante llamadas al sistema
Shells y rdenes
Compiladores e intrpretes
Bibliotecas del sistema
Usuarios
Estructura de bloques de UNIX Clsico
Los recursos se estructuran por bloques.
Mximo de funcionalidad en un mnimo de espacio,
con hardware limitado
Estructura Simple
Los sistemas operativos con esta estructura son
generalmente sistemas pequeos, sencillos y
limitados.
Arquitectura de Sistemas Operativos Estructura por Capas
Capa M
Capa M-1
Operaciones
ocultas

Operaciones
existentes

Operaciones
nuevas

Capa de un Sistema Operativo


Capa 0: Hardware
Capa 1: Intrprete de instrucciones
Capa 2: Planificacin de CPU
Capa 3: Canal de E/S
Capa 4: Memoria virtual
Capa 5: Controladores de dispositivos
Capa 6: Programas de Usuario
Estructura de capas de Venus
Objetivos
1. Mayor libertad para implementadores
2. Modularidad en los sistemas
3. Ocultamiento de informacin para que los
programadores
Modelo por Capas
Diseados para utilizacin de hardware ms
avanzado, estos sistemas operativos se encuentran
mucho ms fragmentados.
Arquitectura de Sistemas Operativos Mquinas Virtuales
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.
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.
Hardware
Ncleo
Procesos
Hardware
Mquina Virtual
Ncleo
Procesos
Ncleo
Procesos
Ncleo
Procesos
Mquina no virtual Mquina virtual
Interfaz
de
programacin

También podría gustarte