You are on page 1of 13

Fundamentos de Sistemas Operativos

Sistemas Informticos

Fede Prez

ndice
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

Definicin
Sistema Operativo
Es un programa que acta como intermediario entre el usuario de un computador y el hardware de ste

Objetivos de un Sistema Operativo


Ejecucin de programas de usuario Amigabilidad Eficiencia

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

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

Mquina Virtual Usuarios 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


Primeros Ordenadores (antes de los 50)
Mquinas muy grandes que carecan de elementos lgicos

Caractersticas
El programador deba ser operador Explotacin mediante listas de reserva Problemas: Tiempo asignado insuficiente Tiempo asignado mayor

Primeras Mejoras
Dispositivos Fsicos: lectoras, impresoras, cintas Dispositivos lgicos: ensambladores, cargadores, linkadores y drivers Lenguajes de alto nivel: compiladores (FORTRAN, COBOL)

Problemas
Uso ineficiente de recursos Baja utilizacin de la CPU Tiempo requerido para dejar listo programa para ejecucin (setup time) un

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

Memoria
Sistema Operativo

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

Problemas
Falta de iteracin entre usuario y maquina Lentitud frente a operaciones de E/S

Sistemas por Lotes Operaciones de E/S


Objetivo
Mejorar el rendimiento de los sistemas por lotes perfeccionando tcnicas de E/S

Tcnicas
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

Sistemas por Lotes Multiprogramados


Memoria
Objetivo
Mejorar el rendimiento de la CPU

Motivacin
Consecuencia de la planificacin de tareas (job scheduling)

Sistema Operativo Trabajo 1 Trabajo 2 Trabajo 3

Procedimiento
Conmutacin de CPU: cuando una tarea deba esperar, los recursos de CPU son asignados a otra tarea preparada para ejecucin

Tareas del Sistema Operativo


Gestin de Memoria Planificacin de la CPU Planificacin de Trabajos Proteccin Control de Concurrencia (Dead Lock)

Sistemas de Tiempo Compartido


Objetivo
Mejorar la interactividad con el usuario

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

Tareas del Sistema Operativo


Sistema Multitarea (tarea <> proceso) Sistema Interactivo Sistema de Archivos (archivos/directorios) Sistema Multiusuario Memoria Virtual (memoria lgica)

Sistemas de Computador Personal


Objetivo
Sistemas de computador dedicados a un solo usuario

Propiedades
Adaptados al usuario y sus necesidades

Dispositivos de E/S
Teclado Ratn Pantallas Pequeas impresoras

Caractersticas
Adoptan funcionalidades de grandes sistemas No necesitan caractersticas de utilizacin eficiente de CPU, ni proteccin

Sistemas Paralelos
Objetivo
Sistemas multiprocesador. Sistemas fuertemente acoplados

Propiedades
Con ms de un procesador, comparten bus, reloj, memoria, perifricos,...

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

Sistemas Distribuidos
Objetivo
Sistemas multicomputador (distribuir el cmputo entre varios procesadores). Sistemas dbilmente acoplados

Propiedades
Los procesadores no comparten ni memoria, ni reloj. Se comunican entre s a travs de lneas de comunicacin

Caractersticas
Recursos compartidos Computacin ms rpida Confiabilidad 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 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

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

Trabajo con Redes Sistema de Proteccin Sistema de Interpretacin de rdenes


intrprete de lnea de comandos interfaz grfica de usuario

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)

Elementos de Sistemas Operativos Servicios del Sistema


Servicios para comodidad del programador
Ejecucin de Programas Operaciones de E/S Manipulacin de Sistema de Archivos Comunicaciones Deteccin de Errores

Servicios para aseguran el funcionamiento eficiente


Asignacin de recursos Contabilizacin Proteccin

Elementos de Sistemas Operativos Llamadas al Sistema


Llamadas al Sistema
Interfaz entre el proceso y el Sistema Operativo Disponibles como instrucciones en lenguaje ensamblador o lenguajes de alto nivel, y se listan en los manuales empleados en la programacin del lenguaje

Categoras
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

Elementos de Sistemas Operativos Programas del Sistema


Programas del Sistema
Algunos de ellos son interfaces entre el usuario y las llamadas al sistema, mientras que otros son mucho ms complejos Ubicados en el ncleo del sistema operativo y los programas de usuario

Categoras
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,...

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. 2. 3. 4. Estructura Simple: D.O.S Modelo de Capas: UNIX, OS/2 Modelo de Mquina Virtual: VM Modelo Cliente/Servidor: Windows-NT

Arquitectura de Sistemas Operativos Estructura Simple


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
Programa de Aplicacin

Ncleo del Sistema Residente

Controladores de dispositivos de S.O.

Usuarios
Shells y rdenes Compiladores e intrpretes Bibliotecas del sistema

Controladores de dispositivos en ROM BIOS

Estructura de bloques de D.O.S.


Planificacin de CPU Reemplazo de pginas Paginacin por demanda Memoria virtual

Interfaz con el ncleo mediante llamadas al sistema


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

Interfaz del ncleo con el hardware


Controladores de Terminales Controladores de Dispositivos Terminales Discos y Cintas Controladores de Memoria Memoria Fsica

Estructura de bloques de UNIX Clsico

Arquitectura de Sistemas Operativos Estructura por Capas


Modelo por Capas
Diseados para utilizacin de hardware ms avanzado, estos sistemas operativos se encuentran mucho ms fragmentados.
Operaciones nuevas

Capa M

Objetivos
1. Mayor libertad para implementadores 2. Modularidad en los sistemas 3. Ocultamiento de informacin para que los programadores
Operaciones existentes

Operaciones ocultas

Capa M-1

Capa de un Sistema Operativo

Capa 6: Programas de Usuario Capa 5: Controladores de dispositivos Capa 4: Memoria virtual Capa 3: Canal de E/S Capa 2: Planificacin de CPU Capa 1: Intrprete de instrucciones Capa 0: Hardware

Estructura de capas de Venus

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.

Procesos Procesos Procesos


Interfaz de programacin

Procesos

Ncleo

Ncleo Mquina Virtual Hardware

Ncleo

Ncleo Hardware

Mquina no virtual

Mquina virtual

You might also like