Está en la página 1de 48

TEORA DE SISTEMAS OPERATIVOS

Gabriel Astudillo Muoz

QU ES UN SISTEMA OPERATIVO

QU ES UN SISTEMA OPERATIVO

Un sistema operativo es un programa que maneja el hardware de un computador. Los componentes del Hardware proveen los recursos computacionales. Los programas y aplicaciones denen cmo esos recursos sern utilizados para resolver los problemas computaciones del los usuarios Puede ser descrito desde dos puntos de vista: usuario y sistema
Programas y Aplicaciones

Kernel (Sistema Operativo)

Hardware

LO QUE VE EL USUARIO

Lo que pide un usuario es simple:


Qu sea fcil de utilizar. Que tenga un alto desempeo. Que nunca falle.

El SO DEBE maximizar la utilizacin de los recursos. Deben poseer tcnicas de tolerancia a fallos.

PUNTO DE VISTA COMPUTADOR

El SO es el software que est ms cerca del hardware. El SO debe actuar como un administrador de recursos.

Sistema Operativo

HW

Hardware

Debe decidir qu asignar a los programas y usuarios que operan en el sistema.

Computador

tiene

Recursos Limitados Son Requeridos para Solucionar Problemas Software

OBJETIVOS DE UN SO

OBJETIVOS DE UN SO
Conveniencia Eciencia Escalable

Facilitar el uso del hardware

Utilizar los recursos en forma coherente y organizada

Permitir cualquier desarrollo posterior sin afectar sus servicios

SERVICIOS DE UN SO
Ejecucin Acceso Acceso Acceso

de programas

a dispositivos a archivos al sistema de errores

Deteccin

EVOLUCIN DE LOS SISTEMAS OPERATIVOS

SISTEMAS BATCH
1

slo trabajo a la vez. o nula interaccin con el usuario

Poca Eran

tiles con programas con tiempo de ejecucin largos y que no eran interactivos.

SISTEMAS BATCH
Programa

Monitor

Manejador de dispositivos Cargador Secuenciador de trabajos Intrprete de tarjetas o cintas rea de programas de usuarios

Monitor estaba almacenado en Memoria


Carga

Tarjetas

Memoria
Ejecucin

Resultados

SISTEMAS MULTIPROGRAMADOS.

AKA: MultiTarea o MultiTasking HITO Histrico:


Se empiezan a masicar los discos de almacenamiento y Memorias de Acceso Directo Los trabajos (programas) se pueden almacenar para ser ocupados posteriormente.

Caracterstica intrnseca de los programas

No ocupan CPU e I/O al mismo tiempo.


IDEA: Mientras un programa en ejecucin espera por I/ O, otro programa puede ser escogido para ser ejecutado en el procesador. Nace la planicacin de procesos, de memoria, de CPU. Necesita de Interrupciones o DMA

SISTEMAS DE TIEMPO COMPARTIDO.

Son sistemas multiprogramados y multiusuario


Tienen bajo tiempo de respuesta Hay que mantener la equidad en el uso de la CPU y la memoria:

Hay nuevas tcnicas de administracin.

Existe el control de concurrencia para memoria, dispositivos de I/O, archivos, etc.

Es la evolucin natural de los sistemas MultiProgramados. El tamao de los programas en memoria supera el tamao de la memoria RAM.

Concepto de Memoria Virtual

SISTEMAS DE TIEMPO REAL.


Evolucin natural de los sistemas de tiempo compartido. Garantizan la respuesta en intervalos de tiempo jo y pequeos. Ahora todos los SO deben cumplir con los requisitos de tiempo real.

SISTEMAS PARALELOS

Sistemas multi-procesador, con memoria y reloj comn. Funcin principal:

Aumento de velocidad de tareas computacionalmente caras: simulaciones, predicciones meteorolgicas, etc.


CPU 2 CACHE MMU CPU j CACHE MMU

CPU 1 CACHE MMU

Multiprocesador

DATOS, DIRECCIONES

CPU 1

CPU 2 CACHE

CPU j

MultiCore

MMU

DATOS, DIRECCIONES

SISTEMAS DISTRIBUIDOS
Sistemas Funcin

multi-computador, sin memoria ni reloj comn. recursos de HW o SW.

principal:

compartir Permitan

aumentar la conabilidad y disponibilidad de un sistema computacional.

ESTRUCTURA SISTEMA COMPUTACIONAL

MODELO TRADICIONAL
CPU Memoria Disco Duro Teclado Monitor USB

Controladores de HW

MODELO REAL

ENTRADA/SALIDA (I/O)
Hay

muchos dispositivos conectados el BUS de la CPU de transferencia (ejemplo) :


Device Driver Controlador de Disco

Esquema

CPU
Mtodos

de transferencia

Device

Sincrnica Asincrnica

Driver informa a la CPU cuando naliza la transferencia a travs de una interrupcin.

I/O: MTODOS DE TRANSFERENCIA


Sincrnico
Requesting Process waiting Device Driver Device Driver

Asincrnico
Requesting Process

Interrupt Handler

Interrupt Handler

Device Controller

Device Controller

Hardware Data Transfer time time

Hardware Data Transfer

I/O: INTERRUPCIONES
Suceso Cambia

externo al procesador. el ujo normal de ejecucin del programa.


Memoria Principal
Gestor general de interrupciones ...

Asincrnico
interrupcin "j" INT

Pc

Rutina de servicio de la interrupcin j ... Cdigo de la aplicacin

Cdigo del SO

I/O: INTERRUPCIONES
Suceso Cambia

externo al procesador.

Salva el contenido de los registros que usa el proceso actual Llama a la rutina adecuada para tratar al dispositivo

el ujo normal de ejecucin del programa.


Memoria Principal
...

Asincrnico
interrupcin "j" INT

Gestor general de interrupciones

Pc

Rutina de servicio de la interrupcin j ... Cdigo de la aplicacin

Cdigo del SO

Restaura los registros salvados

I/O: TRANSFERENCIAS ASINCRNICAS


Hay

un pequeo problema con lo anterior ...

CPU

Cada 10[s]
DATOS

A la memoria

2[s] 8[s]
Otras tareas

I/O: TRANSFERENCIAS ASINCRNICAS


Hay

un pequeo problema con lo anterior ...

CPU

Cada 6[s]
DATOS

A la memoria

2[s] 4[s]
Otras tareas

I/O: TRANSFERENCIAS ASINCRNICAS


Hay

un pequeo problema con lo anterior ...

CPU

Cada 2[s]
DATOS
I/O Asincrnico
A la memoria

slo sirve para transferencias lentas pasa con Video, Red, Disco?
Solucin: DMA

2[s]
Otras tareas?

Qu

I/O: DMA
La

solucin.

CPU

Almacenan en Memoria Otras tareas

Cada 2[s]
DATOS DMA

Los datos pasan directamente a memoria principal. Va interrupcin, el HW avisa a la CPU cuando naliza.

ALMACENAMIENTO
Memoria

Principal DEBEN estar en memoria principal para ser

Programas

ejecutados

En

ambientes multiprogramados esto es un problema. memoria es voltil.

Adems, esta

Memoria Principal (RAM) Programas Data

ALMACENAMIENTO
Memoria Estado

Secundaria Slido

Magnticos Discos Cintas pticos CD, DVD, B-R

SO EN LA HISTORIA

PRE-HISTORIA
Babbage

(siglo 19), sin grandes resultados Boole. del pensamiento, de

1854: Libro Leyes

1936: Turing

propone una mquina para los problemas de encriptacin de la IIWW

ETAPA 1!: 1939-1960


Resumen Primeras

mquinas: tubos y plugboards.

Grandes, frgiles, lentas. A

mediados del perodo nacen los sistemas operativos.

ETAPA 1!: 1939-1960

Nacen los primeros transistores en Bell Labs


Computadores ms conables Se separan roles: diseadores, programadores, administradores. IBM 1401: Primer computador transistorizado

ETAPA 1!: 1939-1960


Al

nal del perodo

Una

tarea a la vez (usuario en la consola) por lotes.

Procesamiento

ETAPA 2: 1965-1980
Multiprogramacin: Ms SO

de un programa en memoria.

puede estar siempre en memoria. Debe administrar la interaccin de los trabajos.


Memoria
Trabajo n

...

Particiones
Trabajo 1

Sistema Operativo

ETAPA 2: 1965-1980
Multitarea: Control Primer Nace Bajan

por interrupciones de tiempo.

sistema multitarea: CTSS (MIT, 1962)

Multics, que engendra a Unix. costos de terminales y memoria. los shells


Interfaz Usuario-SO Intrprete de comandos Lenguaje de programacin

Nacen

ETAPA 3: 1980- 1990


Computacin Un

Personal

usuario por mquina. PC similares a sistemas batch.

Primeros

Los computadores se tornan fciles de utilizar (GUIs) Modelo Cliente-Servidor se propaga. Se empiezan a masicar las redes de datos.

ETAPA 3: 1980- 1990


Computacin Personal

Computacin Empresarial

ETAPA 4: 1990- ....


Sistemas Muchos Muchas

distribuidos y paralelos

procesadores por mquina. mquinas actuando como una sla. del desempeo y la conabilidad.

Aumento Uso

intensivo de redes de datos. centrado en el usuario (usabilidad)

Diseo

LA MAYOR PARTE DEL CURSO SE TRATARN TEMAS RELACIONADOS CON SISTEMAS MULTITAREA COMO MNIMO.

SO MULTITAREA
Debe

evitar:

Hay

ciertas tcnicas en HW: dual de operacin. de Memoria. de la CPU.

Interferencias

entre los procesos de usuario. procesos y el SO.

Modo

Proteccin Proteccin

Entre

Denicin: Instrucciones privilegiadas: Pueden daar a otros procesos: I/O, reloj, desactivar interrupciones, manipular MMU, solicitar memoria, etc

Protegerlas

PROTEGIENDO INSTRUC. PRIV. MODO DUAL DE OPERACIN


Las

CPU actuales tienen dos modos de funcionamiento (como mnimo):


Modo Modo

usuario. Kernel.

Si se intenta ejecutar una instruccin privilegiada, se produce una excepcin. (Similar a un interrupcin, pero se resuelve en modo usuario)

Se puede ejecutar cualquier

instruccin privilegiada. El SO se ejecuta siempre en este modo

PROTEGIENDO INSTRUC. PRIV. LLAMADAS A SISTEMA (SYSCALL)


Cmo un proceso de usuario realizar una operacin privilegiada?

Las llamadas a sistema es LA forma de acceder a los servicios de un SO

Se implementan mediante traps (interrupciones por software)

PROTEGIENDO INSTRUC. PRIV. LLAMADAS A SISTEMA (SYSCALL)

ESTRUCTURA DE UN S.O.

ESTRUCTURA DE UN SO
Procesos Sys. Prog Intefaz. Sys Call hacia el kernel Adm. Proc Adm Mem. Adm Arch..

Cdigo dependiente de la Arquitectura y Drivers.

CPU

RAM

DISCOS