-
Sistemas Informticos
Fundamentos deSistemas Operativos
Fede Prez
TEMA Fundamentos de Sistemas Operativos
1. - Introduccin
2. - El Sistema Operativo como parte de un Sistema de
Computacin
2.1 Componentes Esenciales de un Sistema de Computacin
2.2 Funciones de un Sistema Operativo
2.3 Enfoque Jerrquico de un Sistema Operativo
2.4 Elementos de un Sistema Operativo
3. Tipos de Sistemas Operativos
3.1 Primeros Sistemas
3.2 Sistemas Monitor Simple; Sistemas por Lotes Sencillos
3.3 Sistemas por Lotes Multiprogramados
3.4 Sistemas de Tiempo Compartido
3.5 Sistemas de Computador Personal
3.6 Sistemas Paralelos
3.7 Sistemas Distribuidos
3.7 Sistemas de Tiempo Real
4. Funcionamiento de los Sistemas de Computacin
5. Elementos de Sistemas Operativos
5.1 Componentes del Sistema
5.2 Servicios del Sistema Operativo
5.3 Llamadas al Sistema
5.4 Programas de Sistema
6. Arquitecturas de Sistemas Operativos
6.1 Estructura del Sistema
ndice
-
Definicin
Sistema OperativoEs un programa que acta como intermediario
entre el
usuario de un computador y el hardware de ste
Servicios de un Sistema Operativo
9 asignar recursos del ordenador (CPU, memoria,...) a los
programas 9 dar acceso indirecto a los dispositivos del ordenador y
a los perifricos 9 proporcionar un sistema organizado de
almacenamiento de datos 9 comunicacin interactiva con el
usuario
Objetivos de un Sistema Operativo9 Ejecucin de programas de
usuario9 Amigabilidad9 Eficiencia
Componentes Esenciales de un Sistema de Computacin
Componentes de unSistema de Computacin
9 el hardware 9 los programas de aplicacin9 los usuarios 9 el
sistema operativo
-
Funciones de un Sistema Operativo
Funciones de un Sistema Operativo9 Asignar Recursos 9 Programa
de Control9 Facilitador de tareas de usuarios
UsuariosMquina Virtual
Informacin
DatosHardware
SistemaOperativo
Programas deAplicacin
Enfoque Jerrquico de un Sistema OperativoMquina Desnuda
Caractersticas fsicas del computador (hardware), sin ningn
revestimiento lgico (software)
9 Entorno rido de programacin 9 Conocimiento profundo del
sistema
Mquina ExtendidaMquina virtual que se constituye a partir de la
mquina desnuda dotada de mdulos lgicos
9 Amigable9 Eficiente9 Segura
Dos Niveles9 Mquina Extendida Interna
Operaciones elementales y comunes que actan sobre algn elemento
fsico del sistema
9 Mquina Extendida ExternaMdulos fsicos que pueden extraerse y
funcionar sobre el nivel de mquina extendida interna
-
Elementos de un Sistema Operativo
Elementos Software de un Sistema Operativo
9 Ncleo o Kernel 9 Programas de Aplicacin
NcleoKernel
Tipos Sistemas Operativos Primeras Realizaciones
Caractersticas9 El programador deba ser operador9 Explotacin
mediante listas de reserva
Problemas:Tiempo asignado insuficienteTiempo asignado mayor
Primeros Ordenadores (antes de los 50)Mquinas muy grandes que
carecan de elementos
lgicos
ProblemasUso ineficiente de recursos
9Baja utilizacin de la CPU9Tiempo requerido para dejar listo un
programa para ejecucin (setup time)
Primeras Mejoras9Dispositivos Fsicos: lectoras, impresoras,
cintas9Dispositivos lgicos: ensambladores, cargadores, linkadores y
drivers9Lenguajes de alto nivel: compiladores (FORTRAN, COBOL)
-
Sistemas Monitores Residentes
ObjetivoDisminuir el setup time
9 Operador Profesional9 Estrategia de explotacin: agrupacin
por
Lotes9 Secuenciamiento automtico de trabajos
Control de finalizacin de tareasTratamiento de erroresCarga y
ejecucin automtica de la siguiente tarea
Problemas9Falta de iteracin entre usuario y maquina9Lentitud
frente a operaciones de E/S
Primer Sistema OperativoMonitor residente, realiza
automticamente el
secuenciamiento de tareas
Introduce tarjetas de Control ($FNT $JOB $END)
Funciones9Intrprete de tarjetas de Control9Cargador9Drivers de
dispositivos
rea de Programas de Usuario
Sistema Operativo
Memoria
Sistemas por Lotes Operaciones de E/S
ObjetivoMejorar el rendimiento de los sistemas por lotes
perfeccionando tcnicas de E/S
BufferingEsquema 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-lineModo 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
ObjetivoMejorar el rendimiento de la CPU
Tareas del Sistema Operativo9Gestin de Memoria9Planificacin de
la CPU9Planificacin de Trabajos9Proteccin9Control de Concurrencia
(Dead Lock)
MotivacinConsecuencia de la planificacin de tareas (job
scheduling)
ProcedimientoConmutacin 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
ObjetivoMejorar la interactividad con el usuario
Tareas del Sistema Operativo9Sistema Multitarea (tarea
proceso)9Sistema Interactivo 9Sistema de Archivos
(archivos/directorios)9Sistema Multiusuario 9Memoria Virtual
(memoria lgica)
CaracterizacinSistemas multiprogramados e interactivos.
Asignacin de la CPU en rodajas de tiempo a todos los usuarios,
consiguiendo:
Tiempos de respuesta cortosImpresin de usuario nico
-
Sistemas de Computador Personal
ObjetivoSistemas de computador dedicados a un solo usuario
Caractersticas9Adoptan funcionalidades de grandes sistemas9No
necesitan caractersticas de utilizacin eficiente de CPU, ni
proteccin
Dispositivos de E/STecladoRatnPantallasPequeas impresoras
PropiedadesAdaptados al usuario y sus necesidades
Sistemas Paralelos
ObjetivoSistemas multiprocesador.
Sistemas fuertemente acoplados
Caractersticas9Mayor rendimiento9Compartir recursos9Sistemas
tolerantes a fallos9Sistemas de multiprocesamiento
Multiprocesamiento simtrico: cada procesador ejecuta una copia
del sistema operativoMultiprocesamiento asimtrico: cada procesador
tiene una tarea especfica
PropiedadesCon ms de un procesador, comparten bus, reloj,
memoria, perifricos,...
-
Sistemas Distribuidos
ObjetivoSistemas multicomputador (distribuir el cmputo
entre varios procesadores).Sistemas dbilmente acoplados
Caractersticas9Recursos compartidos9Computacin ms
rpida9Confiabilidad9Comunicacin
PropiedadesLos procesadores no comparten ni memoria, ni reloj.
Se comunican entre s a travs de lneas de comunicacin
Sistemas de Tiempo Real
ObjetivoLos requisitos de tiempo de la operacin de procesador o
del flujo de datos son estrictos
Tipos9Tiempo real duro: garantiza que las tareas crticas se
terminarn a tiempo9Tiempo real bando: una tarea de tiempo real
crtica tiene prioridad respecto a otras tareas
-
Funcionamiento de los Sistemas de Computacin
Sistema de Computacin9Controlador de dispositivo9Bus de
sistema9Memoria compartida
Controlador9Controlador de dispositivo: componente hardware
device controler9Controlador software: componente software device
driver
Programa de Arranque9Init: primer proceso 9Interrupcin:
Interrupcin hardware: a travs de bus de sistemaInterrupcin
software: Llamada al sistema
Elementos de Sistemas Operativos Componentes del Sistema
9Gestin 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)
9Gestin 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
9Gestin 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)
9Gestin 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
dispositivosDrivers (controladores software)
9Gestin de Almacenamiento Secundario administracin del espacio
libre de almacenamiento
secundario asignacin del almacenamiento planificacin del
almacenamiento secundario
9Trabajo con Redes
9Sistema de Proteccin
9Sistema de Interpretacin de rdenes intrprete de lnea de
comandos interfaz grfica de usuario
-
Elementos de Sistemas Operativos Servicios del Sistema
9Ejecucin de Programas
9Operaciones de E/S9Manipulacin de Sistema de Archivos
9Comunicaciones
9Deteccin de Errores
9Asignacin de recursos9Contabilizacin9Proteccin
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
CategorasInterfaz 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 SistemaAlgunos 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 DiseoForma en que se puede construir un Sistema
Operativo para que funcione correctamente y pueda modificarse con
facilidad.
1. Estructura Simple: D.O.S2. Modelo de Capas: UNIX, OS/23.
Modelo de Mquina Virtual: VM4. 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 terminalespor seales
Sistema de E/S por caracteresDrivers de terminales
Sistema de archivosSistema de E/S por
intercambio de bloquesDrivers de disco y cinta
Planificacin de CPUReemplazo de pginas
Paginacin por demandaMemoria virtual
Interfaz con el ncleo mediante llamadas al sistema
Shells y rdenesCompiladores 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 SimpleLos sistemas operativos con esta estructura son
generalmente sistemas pequeos, sencillos y limitados.
Arquitectura de Sistemas Operativos Estructura por Capas
Capa M
Capa M-1Operacionesocultas
Operacionesexistentes
Operacionesnuevas
Capa de un Sistema Operativo
Capa 0: HardwareCapa 1: Intrprete de instruccionesCapa 2:
Planificacin de CPUCapa 3: Canal de E/SCapa 4: Memoria virtualCapa
5: Controladores de dispositivosCapa 6: Programas de Usuario
Estructura de capas de Venus
Objetivos1. Mayor libertad para implementadores2. Modularidad en
los sistemas3. Ocultamiento de informacin para que los
programadores
Modelo por CapasDiseados para utilizacin de hardware ms
avanzado, estos sistemas operativos se encuentran mucho ms
fragmentados.
-
Arquitectura de Sistemas Operativos Mquinas Virtuales
Mquinas VirtualesUtilizando 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.
HardwareNcleo
Procesos
HardwareMquina Virtual
Ncleo
Procesos
Ncleo
Procesos
Ncleo
Procesos
Mquina no virtual Mquina virtual
Interfazde
programacin