You are on page 1of 32

Escuela Universitaria de Informtica (Segovia).

1
Unidad 1: Conceptos generales
de Sistemas Operativos.
Tema 1: Introduccin:
1.1 Introduccin: Qu es un sistema operativo?.
1.2 Conceptos clave de un sistema operativo.
1.3 El sistema operativo como administrador de
recursos y como interfaz.
1.4 Evolucin histrica y tipos de sistemas.
Escuela Universitaria de Informtica (Segovia). 2
1.1 Introduccin: Qu es un sistema operativo?.
Definicin de Sistema Operativo (1):
Principio de embellecimiento:
S. O. como conjunto de programas cuya misin es ofrecer
al usuario final de la computadora la imagen de que sta
es una mquina sencilla de manejar, por muy difcil y
complicado que sea el hardware con el que se haya
construido.
Gobierno:
No desempea ninguna funcin por s slo.
Crea un entorno dentro del que otros programas pueden
realizar un trabajo til.
Escuela Universitaria de Informtica (Segovia). 3
1.1 Introduccin: Qu es un sistema operativo?.
Definicin de Sistema Operativo (2):
Objetivos:
Actuar de intermediario entre usuario y hardware.
Garantizar el funcionamiento correcto del computador.
Facilitar la tarea de programacin (comodidad).
Administrar eficientemente los recursos de la mquina.
Propsito: creacin de un entorno cmodo y eficiente para
poder ejecutar programas.
Desarrollo: evolucin desde los primeros sistemas
manuales hasta los sistemas multiprogramados y de tiempo
compartido actuales.
Escuela Universitaria de Informtica (Segovia). 4
1.1 Introduccin: Qu es un sistema operativo?.
Definicin de Sistema Operativo (3):
Un sistema de computacin se divide en cuatro
componentes principales:
Hardware: CPU, memoria y dispositivos de E/S
Sistema Operativo (software).
Programas de aplicacin, o de usuario: compiladores,
DB, juegos (software).
Usuarios: usuarios, programadores, mquinas.
Escuela Universitaria de Informtica (Segovia). 5
1.1 Introduccin: Qu es un sistema operativo?.
Funciones del Sistema Operativo:
Como gestor de recursos:
Gestiona: tiempo de CPU, espacio de memoria, espacio
de almacenamiento de archivos y dispositivos de E/S.
Acta: rbitro que decide qu solicitudes atender cuando
no pueden satisfacerse todas simultneamente, asignando
recursos de forma eficiente.
Como programa de control:
Controla: ejecucin de programas de usuarios para evitar
errores o usos incorrectos.
Escuela Universitaria de Informtica (Segovia). 6
1.2 Conceptos clave de un sistema operativo.
Tipos de usuarios:
Usuario de rdenes / aplicaciones.
Usuario programador.
Usuario diseador / implementador.
Administrador del sistema.
Escuela Universitaria de Informtica (Segovia). 7
1.2 Conceptos clave de un sistema operativo.
Conceptos relacionados con el usuario de rdenes:
Usuario: elemento (persona, mquina) identificable por el
sistema.
Sesin: conjunto de acciones desarrolladas por el usuario
desde que entra (login) hasta que sale (logout).
Programa: conjunto de instrucciones destinadas a resolver
un problema.
Fichero: (o archivo), conjunto de datos relacionados
almacenados en almacenamiento no pedecedero.
Programa del sistema:acciones relacionadas con el SO.
Intrprete de rdenes:programa del sistema que recoge y
manda ejecutar las rdenes del usuario.
Escuela Universitaria de Informtica (Segovia). 8
1.2 Conceptos clave de un sistema operativo.
Conceptos relacionados con el usuario programador:
Llamadas al sistema: Mecanismo que utilizan los
programas de aplicacin para solicitar que el sistema
operativo haga algo.
Niveles de ejecucin: Distintos modos de ejecucin del
procesador, que determinan que instrucciones se pueden
ejecutar en cada momento. Los programas de usuario se
ejecutan en modo normal, mientras que el cdigo del sistema
operativo lo hace en modo privilegiado.
Escuela Universitaria de Informtica (Segovia). 9
1.2 Conceptos clave de un sistema operativo.
Conceptos relacionados con el usuario diseador (1):
Sistema de gestin de procesos: encargado de crear,
eliminar, suspender, reanudar, comunicar y sincronizar
procesos.
Stma. de gestin de memoria: encargado de la memoria
ppal.
Controla particiones libres/ocupadas.
Asigna/libera espacios.
Llama a la memoria principal.
Sistema de gestin de E/S: encargado de los dispositivos
de E/S. Permite su comparticin ordenada, minimiza efectos
de diferencia de velocidad, uniformiza distintos dispositivos.
Escuela Universitaria de Informtica (Segovia). 10
1.2 Conceptos clave de un sistema operativo.
Conceptos relacionados con el usuario diseador (2):
Sistema de gestin de ficheros: encargado de los ficheros.
Define:
Concepto y tipos de ficheros.
Gestiona almacenamiento y operaciones.
Ncleo (kernel) del sistema operativo: programa
individual que siempre est cargado en memoria principal y
que se est ejecutando permanentemente en el computador.
Escuela Universitaria de Informtica (Segovia). 11
1.3 Sistema operativo como administrador de
recursos.
Sistema operativo como administrador de recursos:
rbitro eficiente que asigne recursos a los procesos:
Procesos: programas en ejecucin que compiten por el uso de
recursos.
Recursos: (escasos) reales o virtuales, fsicos o lgicos.
Conocer:
Estado en que se encuentran los recursos.
Quin, cundo y durante canto tiempo tiene el control.
Asociar y desasociar recursos.
Escuela Universitaria de Informtica (Segovia). 12
1.3 Sistema operativo como interfaz.
Capa entre usuario y hardware, que ofrece una mquina
extendida que es una abstraccin de la realidad y contra la
que van los procesos.
Ventajas:
Comodidad: Mejor usabilidad para usuario y programador.
Portabilidad: Independencia con el hardware.
Escuela Universitaria de Informtica (Segovia). 13
1.4 Evolucin histrica y tipos de sistemas.
1.4.1 Evolucin histrica (1):
1 Generacin (1945 -1955):
Sistema operativo: Al principio es inexistente, hacia el final se constituye
como un conjunto de funciones de uso general.
Tecnologa: Tubos de vaco.
Introduccin de trabajo: A travs de panel de control.
Lenguaje: Lenguaje mquina.
2 Generacin (1955 1965):
Sistema operativo: Monitor para cargar trabajos, ejecutarlos, ...
(procesamiento en serie). Posteriormente procesamiento por lotes.
Tecnologa: Transistores.
Introduccin de trabajo: Tarjetas perforadas.
Lenguaje: Cobol, Fortran
Escuela Universitaria de Informtica (Segovia). 14
1.4 Evolucin histrica y tipos de sistemas.
1.4.1 Evolucin histrica (2):
3 Generacin (1965 1975):
Sistema operativo: Multiprogramacin, tiempo compartido, sistemas en
tiempo real (OS/360,Multics, UNIX, ...).
Tecnologa: Circuitos integrados, mquinas multipropsito,
miniordenadores.
Introduccin de trabajo: Tarjetas perforadas, terminales.
Lenguaje: Cobol, Fortran, ...
4 Generacin (1975 1990):
Sistema operativo: En red, cliente-servidor, seguridad (criptografa),
(MacOS, MS-DOS, Novell, ...)
Tecnologa: Circuitos integrados, ordenadores personales, redes de
ordenadores.
Introduccin de trabajo: Ternminal
Escuela Universitaria de Informtica (Segovia). 15
1.4 Evolucin histrica y tipos de sistemas.
1.4.1 Evolucin histrica (3):
5 Generacin (1990 actualidad):
Sistema Operativo: Distribuido, modelo cliente servidor en la
construccin del sistema.
Tecnologa: Circuitos integrados a gran escala (VLSI),
ordenadores personales potentes, estaciones de trabajo.
Orientacin de la evolucin:
Aumentar: Potencia, multipropsito, fiabilidad, n de usuarios,
comodidad y amigabilidad.
Disminuir: Precio, tamao, requisitos de instalacin, dificultad
de uso, tiempo de respuesta.
Escuela Universitaria de Informtica (Segovia). 16
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas:
Primeros sistemas.
Sistemas por lotes.
Multiprogramacin.
Sistemas de tiempo compartido.
Sistemas de ordenadores personales.
Sistemas paralelos-multiprocesadores.
Sistemas distribuidos.
Sistemas de tiempo real.
Tendencias actuales y futuras en sistemas operativos.
Escuela Universitaria de Informtica (Segovia). 17
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (2):
Primeros sistemas:
Caracterizacin: Gran tamao y ejecucin desde panel de control.
Organizacin del trabajo:
Programador = Operador del sistema.
Un solo usuario en cada momento (tiempo asignado, reserva).
Operaciones: Carga manual del programa en la memoria (instruccin
tras instruccin), establecer inicio, activar ejecucin, vigilar ejecucin.
Mejoras:
Fsicas: lectores de tarjetas, impresoras y cintas magnticas.
Reutilizacin de cdigo: Bibliotecas de funciones comunes.
Desarrollo de ensambladores, compiladores y cargadores para facilitar
las tareas de programacin.
Drivers o subrutinas especiales para cada dispositivo de E/S.
Desventajas:
Mquina parada mucho tiempo por el modo de trabajo.
Error poda implicar comenzar de nuevo.
Escuela Universitaria de Informtica (Segovia). 18
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (3):
Sistemas por lotes:
Organizacin del trabajo:
Operador especialista, minimiza tiempos de preparacin.
Reduccin de tiempos por agrupamiento en lotes que se
pueden ejecutar a la vez.
Secuenciado automtico de trabajos: Transferencia
automtica de control entre un trabajo y el siguiente =>
Monitor Residente.
Monitor residente:
Realiza automticamente las acciones:
Control de la finalizacin de tareas.
Tratamiento de errores.
Carga y ejecucin automtica de la siguiente tarea.
Escuela Universitaria de Informtica (Segovia). 19
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (4):
Sistemas por lotes (2):
Tarjetas de control:
Para que el monitor residente sepa qu programa ejecutar
(se distinguen por $ de las tarjetas de instrucciones).
Organizacin de la memoria para un monitor
residente:
Cargador, secuenciado de trabajos, intrprete de tarjetas.
Drivers para cargador e intrprete.
Ventaja: Eliminacin del tiempo de preparacin y del
secuenciado manual de trabajos.
Escuela Universitaria de Informtica (Segovia). 20
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (5):
Sistemas por lotes (3):
El problema de la E/S:
E/S muy lenta en comparacin con la CPU, lo que implica que la
CPU queda ociosa mucho tiempo esperando la terminacin de las
operaciones de E/S.
Solucin: Introduccin de tecnologa de discos, lo que posibilita,
Operaciones fuera de lnea (off-line): independencia con el
dispositivo, la CPU dialoga slo con dispositivos rpidos.
Uso de bferes: las transferencias de E/S se realizan a travs de
una zona intermedia de memoria y slo cuando el dispositivo est
preparado.
Spooling: Uso del disco como bfer de gran tamao, leyendo por
adelantado de los dispositivos de entrada, guardando la informacin y
envindola a los dispositivos de salida cuando stos estn disponibles.
Escuela Universitaria de Informtica (Segovia). 21
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (6):
Multiprogramacin:
Gracias al spooling (reserva de trabajos en el disco), el
sistema operativo escoge qu trabajo ejecutar a
continuacin con el criterio de mejorar el
aprovechamiento de la CPU, planificacin de trabajos.
El aspecto ms importante de la planificacin es la
multiprogramacin, aumentando el aprovechamiento de
la CPU.
Siempre habr varios trabajos en memoria, el sistema
operativo escoger de entre ellos y lo ejecutar, de tal
forma que siempre haya un trabajo en ejecucin.
Escuela Universitaria de Informtica (Segovia). 22
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (7):
Multiprogramacin (2):
Caractersticas de la multiprogramacin:
Si un proceso se bloquea, esperando por la E/S, en la CPU
ejecutamos instrucciones de otro proceso.
Ejecucin entrelazada de procesos: concurrencia.
Mayor rendimiento, finalizacin de ms trabajos en menos tiempo.
Escuela Universitaria de Informtica (Segovia). 23
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (8):
Multiprogramacin (3):
Mayor complejidad de los stmas multiprogramados:
Planificacin de la CPU: Qu proceso elegimos al quedar
libre la CPU.
Planificacin de dispositivos: Conflictos por acceso
simultneo a la E/S.
Gestin de memoria: Decisiones de carga en memoria
entre varios trabajos que estn listos para subirse.
Situaciones de interbloqueo: Entre procesos por los
recursos.
Proteccin.
Escuela Universitaria de Informtica (Segovia). 24
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (9):
Sistemas de tiempo compartido:
Por qu surgen?: Con la multiprogramacin los recursos del
sistema se aprovechan eficientemente, sin embargo, para el
usuario,
No puede interactuar con el trabajo durante su ejecucin.
Depuracin de programas esttica.
Solucin: sistemas multitarea (o inetractivos), ms apropiados
para trabajos de muchas acciones cortas, donde el usuario
introduce una orden y espera, por tanto, interesa un tiempo de
respuesta corto.
Desventaja: Perdemos productividad de la CPU.
Ventajas: Interaccin usuario-sistema e ilusin de que cada
usuario tiene su ordenador particular.
Escuela Universitaria de Informtica (Segovia). 25
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (10):
Mayor complejidad de los sistemas de tiempo
compartido:
Gestin y proteccin de memoria: Mantenimiento
simultneo de varios trabajos en la memoria.
Memoria virtual: Tiempo de respuesta razonable
intercambiando trabajos entre memoria y disco.
Sistema de archivos en lnea: Coleccin de discos,
sistema de gestin de discos.
Planificacin de CPU: Mecanismos de ejecucin
concurrente.
Mecanismos de sincronizacin y comunicacin:
Evitando interbloqueos.
Escuela Universitaria de Informtica (Segovia). 26
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (11):
Ordenadores personales:
Aparicin a finales de los 70 debido a:
Abaratamiento de coste.
Microprocesadores, reduccin de tamao.
Destinados al uso individual y no experto.
Interfaces de usuario amigables: ventanas, iconos,
mens,...
Prescinden de ciertas funciones, como proteccin de la
CPU (sistemas no multiusuario y no multitarea).
Objetivos: Facilidad y comodidad de uso y rapidez de
respuesta.
Escuela Universitaria de Informtica (Segovia). 27
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (12):
Sistemas paralelos multiprocesadores:
Varios procesadores en comunicacin (acoplados), compartiendo
el bus del computador, el reloj, la memoria y los perifricos.
Ventajas:
Pueden ejecutar varias instrucciones simultaneamente (en paralelo).
Aumento del rendimiento (ms trabajos en menos tiempo).
Comparticin de perifricos y fuentes de potencia.
Tolerancia a fallos (degradacin gradual).
Desventaja: Sincronizacin entre procesos.
Tipos de multiprocesamiento:
Simtrico: Cada prodesador ejecuta una copia idntica del sistema.
Asimtrico: A cada procesador se le asigna una tarea especfica.
Escuela Universitaria de Informtica (Segovia). 28
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (13):
Sistemas distribuidos:
Caractersticas:
El cmputo se reparte entre varios procesadores conectados
mediante una red.
Cada procesador tiene su propia memoria local, dbilmente
acoplados, ahora no comparten memoria ni reloj.
Comunicacn entre procesadores a travs de lneas de
comunicacin, buses de alta velocidad o lneas telefnicas.
Procesadores de distintos tamaos y funciones.
Escalable hasta millones de procesadores (internet).
Escuela Universitaria de Informtica (Segovia). 29
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (14):
Sistemas distribuidos (2):
Ventajas:
Recursos compartidos: accesos remotos, comparticin de
archivos, informacin de DB distribuidas,...
Computacin ms rpida: carga de trabajo compartida.
Fiabilidad: tolerancia a fallos por redundancia.
Comunicacin: redes de comunicacin.
Desventajas:
Comunicacin compleja al no compartir memoria.
Redes de comunicacines no fiable.
Heterogeneidad de los nodos.
Escuela Universitaria de Informtica (Segovia). 30
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (15):
Sistemas de tiempo real:
Para ejecucin de tareas que han de completarse en un
plazo prefijado (sistemas de control industrial,
multimedia, cientficos, mdicos, ...)
Pueden ser de dos tipos:
Crticos: Tareas que exigen el cumplimento de plazos de
finalizacin, tienen pocos recursos disponibles los datos se
almacenan en memoria de corto plazo o ROM. Incompatibles
con los sistemas de tiempo compartido. Adecuados para la
industria y la robtica.
No crticos: Ejecucin por prioridades. No cumplimiento
estricto de plazos. Adecuados en multimedia, realidad virtual
y proyectos cientficos avanzados de exploracin submarina y
planetaria.
Escuela Universitaria de Informtica (Segovia). 31
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (16):
Tendencias actuales y futuras en sistemas operativos:
Paralelismo:
Incremento de multiprocesadores.
Extensin de lenguajes paralelos.
Computacin distribuida: Incremento de redes de
ordenadores conectados.
Sistemas tolerantes a fallos.
Interfaces de usuario ms amigables:
Desarrollo de interfaces grficas.
Incorporacin de multimedia a las interfaces.
Reconocimiento del habla.
Inmersin en el entorno: realidad virtual 3D
Escuela Universitaria de Informtica (Segovia). 32
1.4 Evolucin histrica y tipos de sistemas.
1.4.2 Tipos de sistemas (17):
Tendencias actuales y futuras en sistemas operativos:
Sistemas abiertos: estandarizacin de sistemas para
compatibilizar los distintos fabricantes a nivel de:
Comunicaciones de red.
Interfaces de usuario abiertas.
Aplicaciones abiertas (varias plataformas).
Sistemas orientados a objeto: aplicacin de tcnicas de
orientacin a objetos a los sistemas operativos.
Personalidades mltiples: en una misma mquina y un
sistema operativo bsico pueden existir diferentes SO.
Microncleos.

You might also like