Está en la página 1de 13

Fundamentos de

Sistemas Operativos

Sistemas Informáticos

Fede Pérez

Índice
TEMA – Fundamentos de Sistemas Operativos
1. - Introducción
2. - El Sistema Operativo como parte de un Sistema de Computación
2.1 – Componentes Esenciales de un Sistema de Computación
2.2 – Funciones de un Sistema Operativo
2.3 – Enfoque Jerárquico 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 Computación
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
Definición

Sistema Operativo
Es un programa que actúa como intermediario entre el
usuario de un computador y el hardware de éste

Objetivos de un Sistema Operativo


9 Ejecución de programas de usuario
9 Amigabilidad
9 Eficiencia

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 periféricos
9 proporcionar un sistema organizado de almacenamiento de datos
9 comunicación interactiva con el usuario

Componentes Esenciales de un Sistema de Computación


Componentes de un
Sistema de Computación
9 el hardware
9 los programas de aplicación
9 los usuarios
9 el sistema operativo
Funciones de un Sistema Operativo
Funciones de un Sistema Operativo
9 Asignar Recursos
9 Programa de Control
9 Facilitador de tareas de usuarios

Máquina Virtual
Usuarios
Información

Hardware
Datos
Sistema
Operativo
Programas de
Aplicación

Enfoque Jerárquico de un Sistema Operativo


Máquina Desnuda
Características físicas del computador (hardware),
sin ningún revestimiento lógico (software)

9 Entorno árido de programación


9 Conocimiento profundo del sistema

Máquina Extendida
Máquina virtual que se constituye a partir de la
máquina desnuda dotada de módulos lógicos

9 Amigable
9 Eficiente
9 Segura

Dos Niveles
9 Máquina Extendida Interna
Operaciones elementales y comunes
que actúan sobre algún elemento físico
del sistema
9 Máquina Extendida Externa
Módulos físicos que pueden extraerse y
funcionar sobre el nivel de máquina
extendida interna
Elementos de un Sistema Operativo
Elementos Software de un Sistema
Operativo
9 Núcleo o Kernel
9 Programas de Aplicación

Núcleo
Kernel

Tipos Sistemas Operativos – Primeras Realizaciones

Primeros Ordenadores (antes de los 50)


Máquinas muy grandes que carecían de elementos
lógicos

Características
9 El programador debía ser operador
9 Explotación mediante listas de reserva
Problemas:
¾Tiempo asignado insuficiente
¾Tiempo asignado mayor

Primeras Mejoras
9Dispositivos Físicos: lectoras, impresoras,
cintas
9Dispositivos lógicos: ensambladores,
cargadores, linkadores y drivers
9Lenguajes de alto nivel: compiladores
(FORTRAN, COBOL)

Problemas
Uso ineficiente de recursos
9Baja utilización de la CPU
9Tiempo requerido para dejar listo un
programa para ejecución (setup time)
Sistemas Monitores Residentes
Objetivo
Disminuir el setup time
9 Operador Profesional
9 Estrategia de explotación: agrupación por
Lotes
9 Secuenciamiento automático de trabajos Memoria
¾Control de finalización de tareas
¾Tratamiento de errores
¾Carga y ejecución automática de la Sistema
siguiente tarea Operativo

Primer Sistema Operativo


Monitor residente, realiza automáticamente el
secuenciamiento de tareas
Introduce tarjetas de Control ($FNT $JOB $END)
Área de
Funciones Programas
9Intérprete de tarjetas de Control
9Cargador de Usuario
9Drivers de dispositivos

Problemas
9Falta de iteración entre usuario y maquina
9Lentitud frente a operaciones de E/S

Sistemas por Lotes – Operaciones de E/S


Objetivo
Mejorar el rendimiento de los sistemas por lotes
perfeccionando técnicas de E/S
Técnicas
Buffering
Esquema de operación de E/S en el que las
transferencias de E/S se realizan a través 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 operación de ciertos equipos de E/S que
trabajan no controlados directamente por la CPU
Se reemplazan dispositivos mecánicos por
dispositivos electrónicos (cintas mágnéticas)

Operaciones On-line (Spooling)


(Simultaneous Peripheral Operation On-Line)
Consiste en usar el disco como tampón 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
Sistema
Operativo
Motivación
Consecuencia de la planificación de tareas (job Trabajo 1
scheduling)

Procedimiento Trabajo 2
Conmutación de CPU: cuando una tarea deba
esperar, los recursos de CPU son asignados a
otra tarea preparada para ejecución Trabajo 3

Tareas del Sistema Operativo


9Gestión de Memoria
9Planificación de la CPU
9Planificación de Trabajos
9Protección
9Control de Concurrencia (Dead Lock)

Sistemas de Tiempo Compartido


Objetivo
Mejorar la interactividad con el usuario

Caracterización
Sistemas multiprogramados e interactivos.
Asignación de la CPU en rodajas de tiempo a todos
los usuarios, consiguiendo:
¾Tiempos de respuesta cortos
¾Impresión de usuario único

Tareas del Sistema Operativo


9Sistema Multitarea (tarea <> proceso)
9Sistema Interactivo
9Sistema de Archivos (archivos/directorios)
9Sistema Multiusuario
9Memoria Virtual (memoria lógica)
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
¾Ratón
¾Pantallas
¾Pequeñas impresoras

Características
9Adoptan funcionalidades de grandes sistemas
9No necesitan características de utilización
eficiente de CPU, ni protección

Sistemas Paralelos
Objetivo
Sistemas multiprocesador.
Sistemas fuertemente acoplados

Propiedades
Con más de un procesador, comparten bus, reloj,
memoria, periféricos,...

Características
9Mayor rendimiento
9Compartir recursos
9Sistemas tolerantes a fallos
9Sistemas de multiprocesamiento
¾Multiprocesamiento simétrico: cada procesador
ejecuta una copia del sistema operativo
¾Multiprocesamiento asimétrico: cada procesador
tiene una tarea específica
Sistemas Distribuidos
Objetivo
Sistemas multicomputador (distribuir el cómputo
entre varios procesadores).
Sistemas débilmente acoplados

Propiedades
Los procesadores no comparten ni memoria, ni reloj.
Se comunican entre sí a través de líneas de
comunicación

Características
9Recursos compartidos
9Computación más rápida
9Confiabilidad
9Comunicación

Sistemas de Tiempo Real


Objetivo
Los requisitos de tiempo de la operación de
procesador o del flujo de datos son estrictos

Tipos
9Tiempo real duro: garantiza que las tareas críticas
se terminarán a tiempo
9Tiempo real bando: una tarea de tiempo real
crítica tiene prioridad respecto a otras tareas
Funcionamiento de los Sistemas de Computación

Sistema de Computación
9Controlador de dispositivo
9Bus de sistema
9Memoria compartida

Controlador
9Controlador de dispositivo: componente hardware
‘device controler’
9Controlador software: componente software
‘device driver’

Programa de Arranque
9Init: primer proceso
9Interrupción:
¾ Interrupción hardware: a través de bus de
sistema
¾Interrupción software: Llamada al sistema

Elementos de Sistemas Operativos – Componentes del Sistema

9Gestión de Procesos 9Gestión del Sistema de E/S


ƒ crear y eliminar procesos, tanto de usuario como de ƒ crear y eliminar directorios
sistema ƒ un componente de gestión de memoria que incluye
ƒ suspender y reanudar procesos buffers, cachés, y spool
ƒ proveer mecanismos para la sincronización de ƒ un interfaz general con los controladores de
procesos dispositivos
ƒ proveer mecanismos para la comunicación de ƒ Drivers (controladores software)
procesos
ƒ proveer mecanismos para manejar bloqueos mutuos 9Gestión de Almacenamiento Secundario
(dead locks) ƒ administración del espacio libre de almacenamiento
secundario
9Gestión de Memoria Principal ƒ asignación del almacenamiento
ƒ conocer el estado actual de la memoria y quien la ƒ planificación del almacenamiento secundario
está utilizando
ƒ decidir que procesos se cargarán en la memoria 9Trabajo con Redes
cuando se disponga de espacio
ƒ asignar y liberar espacio de memoria según se 9Sistema de Protección
necesite suspender y reanudar procesos
9Sistema de Interpretación de Órdenes
9Gestión de Archivos
ƒ intérprete de línea de comandos
ƒ crear y eliminar archivos
ƒ interfaz gráfica de usuario
ƒ crear y eliminar directorios
ƒ proveer primitivas para la manipulación de archivos
y directorios
ƒ establecer la correspondencia de los archivos con el
almacenamiento secundario
ƒ resguardar los archivos en medios de
almacenamiento estables (no volátiles)
Elementos de Sistemas Operativos – Servicios del Sistema

Servicios para comodidad del Servicios para aseguran el


programador funcionamiento eficiente

9Ejecución de Programas 9Asignación de recursos

9Operaciones de E/S 9Contabilización

9Manipulación de Sistema de Archivos 9Protección

9Comunicaciones

9Detección de Errores

Elementos de Sistemas Operativos – Llamadas al Sistema


Llamadas al Sistema Categorías
Interfaz entre el proceso y el Sistema Operativo
1. Control de procesos y tareas
ƒ cargar, ejecutar
Disponibles como instrucciones en lenguaje ƒ fin, abortar
ensamblador o lenguajes de alto nivel, y se listan en ƒ crear proceso, terminar proceso
los manuales empleados en la programación del ƒ obtener atributos, establecer atributos del proceso
lenguaje ƒ esperar tiempo
ƒ esperar sucesos, indicar sucesos
ƒ asignar, liberar memoria
2. Manipulación de Archivos
ƒ crear, eliminar
ƒ abrir, cerrar
ƒ leer, escribir, reposicionar
ƒ obtener atributos, establecer atributos
3. Manipulación de Dispositivos
ƒ solicitar, liberar
ƒ leer, escribir, reposicionar
ƒ obtener atributos, establecer atributos
ƒ conectar, desconectar lógicamente
4. Mantenimiento de Información
ƒ 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 conexión
ƒ enviar, recibir mensajes
ƒ transferir información de estado
ƒ conectar, desconectar dispositivos remotos
Elementos de Sistemas Operativos – Programas del Sistema
Programas del Sistema Categorías
Algunos de ellos son interfaces entre el usuario y las
1. Manipulación de Archivos
llamadas al sistema, mientras que otros son mucho
ƒ crear, eliminar, copiar, cambiar nombre,...
más complejos
2. Información de Estado
ƒ fecha, hora, espacio de disco, número de usuarios,...
Ubicados en el núcleo del sistema operativo y los 3. Modificación de Archivos
programas de usuario ƒ editores de texto,...
4. Apoyo a Lenguajes de Programación
ƒ ensambladores, compiladores, intérpretes,...
5. Carga y Ejecución de Programas
ƒ ensambladores, compiladores, intérpretes,...
6. Comunicaciones
ƒ acceso remoto, transferencia de archivos, correo
electrónico,...

Arquitectura de Sistemas Operativos – Estructura del Sistema


Modelos de Diseño
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 Máquina Virtual: VM
4. Modelo Cliente/Servidor: Windows-NT
Arquitectura de Sistemas Operativos – Estructura Simple
Estructura Simple
Programa de Aplicación
Los sistemas operativos con esta estructura son
generalmente sistemas pequeños, sencillos y
limitados.
Núcleo del Sistema Residente
Los recursos se estructuran por bloques.
Máximo de funcionalidad en un mínimo de espacio,
con hardware limitado
Controladores de dispositivos de S.O.

Usuarios Controladores de dispositivos en ROM BIOS


Shells y órdenes
Compiladores e intérpretes
Bibliotecas del sistema Estructura de bloques de D.O.S.
Interfaz con el núcleo mediante llamadas al sistema

Manejo de terminales Sistema de archivos Planificación de CPU


por señales Sistema de E/S por Reemplazo de páginas
Sistema de E/S por caracteres intercambio de bloques Paginación por demanda
Drivers de terminales Drivers de disco y cinta Memoria virtual

Interfaz del núcleo con el hardware


Controladores de Terminales Controladores de Dispositivos Controladores de Memoria
Terminales Discos y Cintas Memoria Física

Estructura de bloques de UNIX Clásico

Arquitectura de Sistemas Operativos – Estructura por Capas


Modelo por Capas
Capa M
Diseñados para utilización de hardware más
Operaciones
avanzado, estos sistemas operativos se encuentran


nuevas •

mucho más fragmentados.


Operaciones
ocultas

• Capa M-1
Objetivos •

1. Mayor libertad para implementadores Operaciones •

2. Modularidad en los sistemas existentes •


3. Ocultamiento de información para que los


programadores
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: Planificación de CPU
Capa 1: Intérprete de instrucciones
Capa 0: Hardware
Estructura de capas de Venus
Arquitectura de Sistemas Operativos – Máquinas Virtuales
Máquinas Virtuales
Utilizando planificación de la CPU y técnicas de
memoria virtual, un sistema operativo puede crear la
ilusión de que múltiples procesos se ejecutan cada
uno en su propio sistema.

Otro tipo de visión de máquina 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

Procesos
Interfaz
de
Núcleo Núcleo Núcleo
programación
Núcleo Máquina Virtual
Hardware Hardware
Máquina no virtual Máquina virtual

También podría gustarte