OCSO

59
Profesorado de Informàtica - OCSO (Organización de Computadores y Sistemas Operativos) Prof. Juan Pablo Sales [email protected] OCSO

Transcript of OCSO

Page 1: OCSO

Profesorado de Informàtica - OCSO

(Organización de Computadores y Sistemas Operativos)

Prof. Juan Pablo Sales

[email protected]

OCSO

Page 2: OCSO

Profesorado de Informàtica - OCSO

METODOLOGÍA

Teorico con casos de ejemplo prácticos.

Sistemas Operativos de ejemplo: Unix, Linux y Windows.

Carga horaria fuera de clase – 6 horas semanales.

Previa: Organización del computador.

Evaluación: 2 pruebas escritas y un trabajo obligatorio.

Exoneración: promedio igual o superior a 9 y sin previaturas.

Si no se exonera se deberá rendir examen.

Page 3: OCSO

Profesorado de Informàtica - OCSO

Temario

Concepto de Sistema Operativo.

Caso de Ejemplo – Unix SVR4

Procesos y Recursos.

Concurrencia.

Gestión de Memoria.

Gestión de Almacenamiento Secundario.

Virtualización.

Seguridad Informatica.

Page 4: OCSO

Profesorado de Informàtica - OCSO

BIBLIOGRAFÍA

Conceptos de Sistemas operativos, Silberchatz, Galvin.

Ed. John Wiley & Sons.

Sistemas Operativos modernos, Andrew S. Tanenbaum.

Ed.Prentice Hall.

Programación Concurrente: Principios y Práctica, Andrews, Elliott.

Ed. Addison-Wesley

Page 5: OCSO

Profesorado de Informàtica - OCSO

Conceptos de Sistemas Operativos.

Page 6: OCSO

Profesorado de Informàtica - OCSO

Sistemas Operativos

Aislan al usuario de la complejidad del Hardware.

Administran los recursos de Hardware.

Proveen un ambiente de trabajo al usuario (linea de comandos o GUI).

Primer software en ser cargado al iniciar el sistema.

Page 7: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

La evolución de los S.O acompaña a la del Hardware.

Dispositivos electrónicos/electromecanicos para resolver problemas de algebra de Boole (Claude Shannon 1937). Aplicación en circuitos de centrales telefónicas.

Primeras computadoras durante la 2da Guerra Mundial (Z3, Colossus).

Funcionalidad definida en el cableado.

Ingreso de datos con interruptores/lamparas.

Page 8: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Maquina de Von Neumann. Primer modelo teórico de computadora

programable.

Consta de ALU, Memoria y E/S.

Las instrucciones se almacenan en la memoria.

Base de todas las computadoras actuales.

Page 9: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Maquina de Von Neuman.

ALUMemoria

Entrada / Salida

Instrucciones

Datos

Page 10: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Zuse Z3 – Alemania 1941

Computador electromecanico ( relees).

Programable / programa almacenado en cinta externa.

Aritmetica de punto flotante, implementada en binario.

No permitia instrucciones de salto condicional.

Calculos de areodinamica, diseño de aviones y misiles.

Destruida en un bombardeo, reconstruida en 1963.

Despues de la Guerra, Konrad Zuse fundo Zuse AG y continuó fabricando computadoras.

Page 11: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Colossus Mark1 y Mark2

Desarrollada en Inglaterra durante la 2da Guerra Mundial para descifrar los codigos alemanes y japoneses.

Comparaba el codigo enemigo con una secuencia aleatoria y buscaba coincidencias.

Programable en forma limitada.

Digital.

Electronica (Valvulas de vacio).

Secreto militar

Page 12: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Primera Computadora Electronica: ENIAC (1949).

Tecnología de Valvulas de Vacio. Enorme consumo de energia.

Libera mucho calor

Lenta.

Las valvulas se queman.

Voluminosa.

Sin S.O.

Todo se debia hacer “manualmente”.

Sistema decimal.

Page 13: OCSO

Profesorado de Informàtica - OCSO

ENIAC

Electronic Numerical Integrator And Computer

Construida en la Universidad de Pennsylvania por John Presper Eckert y John William Mauchly,

5000 sumas y 300 multiplicaciones por segundo.

17.468 válvulas electrónicas7.200 diodos de cristal, 1.500 relés, 70.000 resistencias, 10.000 condensadores y 5 millones de soldaduras.

27 Toneladas. 2,4 m x 0,9 m x 30 m.

La ENIAC elevaba la temperatura del local a 50 °C.

Para efectuar las diferentes operaciones era preciso cambiar, conectar y reconectar los cables.

Este trabajo podía demorar varios días dependiendo del cálculo a realizar.

Page 14: OCSO

Profesorado de Informàtica - OCSO

ENIAC

Page 15: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

1era Generación (años 50). Tecnología de Valvulas.

Ingreso de datos mediante tableros de conmutación o tarjetas perforadas.

Sin S.O. ni lenguajes de alto nivel. Se programa en código de maquina directamente sobre el HW.

Equipos limitados a universidades.

Uso principalmente cientifico.

Page 16: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica.

Tarjetas Perforadas.

Page 17: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Valvulas de Vacio

Page 18: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Transistores y Diodos de Estado Solido. Construidos de silicio

La misma funcionalidad de las valvulas de vacio. Más baratos. Menor consumo eléctrico. Menor disipación de calor. Más rápidos. “Irrompibles”.

Page 19: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

2da Generación (años 60) Uso de Transistores.

Sistemas por lotes. Se ingresan los programas en un equipo pequeño, que los graba en una cinta,

formando lotes.

Se coloca la cinta en un equipo más potente y se ejecutan todos los programas. Se graba la salida en otra cinta.

Se lee la cinta de salida en el equipo pequeño.

Sistema Operativo muy rudimentario para leer la cinta y ejecutar los programas.

Surgen fabricantes orientados a usos comerciales en empresas de gran porte.

Page 20: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Sistema por lotes

Page 21: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Circuitos integrados de pequeña escala. Posibilidad de integrar varios transistores en una

placa de silicio.

Mayor velocidad.

Menor costo.

Menor consumo.

Page 22: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

3ra Generación (años 70). Circuitos Integrados en Pequeña Escala.

Sistema operativo de tiempo compartido. Varios usuarios utilizan el equipo al mismo tiempo. Cada usuario tiene la visión de ser el único usuario en el

sistema. Introducción de terminales y teclados. Sistemas comerciales para empresas de mediano porte. Sistemas operativos más elaborados. Surge el S.O. Unix.

Page 23: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica.

PDP 11

Page 24: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Unix. Primer S.O. escrito en un lenguaje de alto nivel (C).

Portable.

Multiusuario y Multitarea.

Desarrollado en AT&T y distribuido gratuitamente con el código fuente (en C).

Adopción en universidades (p. ej Universidad de California en Berkeley).

Utilizado por empresas comerciales (IBM, HP, Microsoft).

Page 25: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Circuitos integrados en Gran Escala Permite integrar miles y millones de transistores en

una sola placa de silicio.

Fabricación en masa.

Baja de precios.

Surgen diseños más eficientes (pipelines, memoria cache)

Page 26: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

4ta Generación (años 80) Circuitos integrados en gran escala.

Equipos personales.

Sistemas Operativos para equipos personales.

Surgen DOS y Windows.

Surgen los primeros Servidores de Red.

Page 27: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

DOS. Disk Operating System.

Desarrollado por Microsoft.

Utilizado en la linea IBM PC / arquitectura Intel 8088, 80286, 80386.

Windows 3.1 / 95 / 98 son una interface gráfica por encima de DOS.

Monousuario y monotarea.

Page 28: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Windows 1994 Windows NT. Sistema operativo de servidor,

desarrollado por Microsoft desde cero.

Sigue con Windows 2000, XP, Vista y Windows 7.

Multiusuario y multitarea

Sin relación con DOS y/o Windows 3.1/95/98.

Incorpora Internet Information Server (servidor Web).

Page 29: OCSO

Profesorado de Informàtica - OCSO

Evolución Historica

Generación actual. Internet.

Sistemas operativos en red.

Arquitectura Cliente/Servidor.

Surge Linux. Auge del Codigo Abierto

Virtualización.

Virus y seguridad en red.

Dispositivos (celulares, MP3, tarjetas).

Page 30: OCSO

Profesorado de Informàtica - OCSO

Sistema Operativo

Interfaz Humano – Computadora.

Plataforma para Aplicaciones.

Administra el HW.

Protege el HW.

Niveles sucesivos de abstraccion.

Page 31: OCSO

Profesorado de Informàtica - OCSO

Ejemplo

Operación de un disco duro o un diskette.

Page 32: OCSO

Profesorado de Informàtica - OCSO

Ejemplo

Operación de un disco duro o un diskette.

CPU

Memoria

Controlador de DiscoBus del Sistema

Page 33: OCSO

Profesorado de Informàtica - OCSO

Ejemplo Comandos para controlar el diskette

Grabar un byte

Leer un byte

Mover la cabeza a un sector.

Grabar un dato

Dato

Ubicacion del dato en el diskette

Tipo de permisos

Tipo de FS

Codigos de error y status.

Page 34: OCSO

Profesorado de Informàtica - OCSO

Ejemplo

Sin S.O., grabar un dato requiere conocimientos avanzados del funcionaminento del Controlador de Diskette (diferente para cada marca/modelo)

El S.O. se encarga de la grabación mediante comandos intuitivos, simples y homogeneos. El usuario feliz se encarga de su trabajo.

Page 35: OCSO

Profesorado de Informàtica - OCSO

Sistema de computación:

Componentes Hardware. SO. Programas de aplicación. Usuarios.

Aproximadamente un 90 % de los problemas de un sistema de computacion se encuentran entre la silla y el teclado.

Page 36: OCSO

Profesorado de Informàtica - OCSO

Encendido de un computador

BIOS – Basic Input Output System.

Autodiagnostico (Power On Self Test – POST) EL Computador identifica su memoria, discos, teclado, vídeo y

cualquier otro dispositivo.

Localiza el gestor de arranque en el primer sector del disco de booteo.

El gestor de arranque redirige el al computador para el S.O. de booteo. Importante en caso de dual boot.

Una vez cargado el S.O., se puede empezar a utilizar el computador.

Page 37: OCSO

Profesorado de Informàtica - OCSO

Funciones de los sistemas operativos.

Control de procesos y programas.

Interprete de comandos.

Manejo de Memoria.

Manejo de dispositivos de E/S y sus drivers.

Control del almacenamiento (creacion de archivos y directorios, sistemas de archivos , etc).

Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.

Proteccion del espacio de de los usuarios.

Contabilidad de los recursos.

Page 38: OCSO

Profesorado de Informàtica - OCSO

Lecturas Adicionales

Historia de Unix y Linux. http://www.bozemanlug.org/talks/

linux_history.html

Page 39: OCSO

Profesorado de Informàtica - OCSO

Clasificaciónes

Por tareas Monotarea. Se realiza una sola tarea a la vez.

Multitarea. Se realizan varias tareas a la vez. Estrictamente hablando, en un instante dado, cada CPU

realiza una sola tarea. Cada proceso se ejecuta hasta alcanzar un limite de

tiempo o quedar bloqueado. Entonces la CPU empieza a ejecutar otro proceso.

El usuario percibe los procesos como simultaneos.

Page 40: OCSO

Profesorado de Informàtica - OCSO

Multitarea

Scheduling de Procesos

Cada procesador ejecuta un solo proceso a la vez.

Quantum o Time Slice: intervalo de tiempo máximo para ejecutar un proceso.

Al finalizar su Time Slice o al quedar bloqueado en espera de algún acontecimiento externo, el proceso es desplazado de la CPU y otro proceso entra en su lugar.

Hay diferentes algoritmos para determinar cual es el proximo proceso (depende del S.O).

Mecanismos de protección de la memoria de cada proceso.

Page 41: OCSO

Profesorado de Informàtica - OCSO

Multiproceso

En equipos de más de una CPU.

Mulitproceso Simétrico: Cada CPU puede ejecutar cualquier proceso.

Multiproceso Asimetrico: Una CPU ejecuta el S.O. y las otras los procesos

de usuario.

Page 42: OCSO

Profesorado de Informàtica - OCSO

Tipos de S.O por HW

S.O. de Mainframe.

S.O. de Servidor.

S.O. de Multiproceso.

S.O. de Tiempo Real.

S.O. de equipo Personal.

S.O. Embutido.

S.O. de Tarjeta.

Page 43: OCSO

Profesorado de Informàtica - OCSO

S.O. de Mainframe.

Usos Comerciales

Gran capacidad de E/S.

Gran cantidad de procesos concurrentes. Batch

Tiempo Compartido

Transacciones.

Ej: IBM OS/390

Page 44: OCSO

Profesorado de Informàtica - OCSO

S.O. de Servidor.

Brinda servicios a multiples usuarios.

Alta Disponibilidad Cluster

Redundancia de Discos (RAID).

Ej: Windows 2000, Unix, Linux.

Page 45: OCSO

Profesorado de Informàtica - OCSO

S.O. de Servidor

Page 46: OCSO

Profesorado de Informàtica - OCSO

S.O. de Multiproceso.

Equipos con gran cantidad de CPUs.

Procesamiento Paralelo.

Uso en calculos cientificos.

Clusters de Alta Performance.

Ejemplos:

Cray XT5 Super Computadora / RH Linux Enterprise (22.000 procesadores)

Beowulf Cluster – Alta Performance formado por computadoras comunes interconectadas.

Page 47: OCSO

Profesorado de Informàtica - OCSO

Beowulf Cluster

Page 48: OCSO

Profesorado de Informàtica - OCSO

Beowulf Cluster

Page 49: OCSO

Profesorado de Informàtica - OCSO

S.O. de Tiempo Real.

Uso en procesos industriales donde la sincronización es crítica.

Mayor control sobre los procesos.

Ejemplos: QNX

RTLinux

Page 50: OCSO

Profesorado de Informàtica - OCSO

S.O. de Computadoras Personales.

Buena interface de usuario.

HW economico.

Usos variados (oficina, diseño gráfico, etc)

Ej: Mac OS, Windows XP, Linux.

Page 51: OCSO

Profesorado de Informàtica - OCSO

S.O. Embutido (Embeded).

Sistemas para dispositivos.Control Remoto.

Palm. MP3 Players.

Celulares.Limitados en CPU. Ejemplos: Android (Google, para sus celulares, basado en Linux)Symbian (para celulares. Nokia)

Page 52: OCSO

Profesorado de Informàtica - OCSO

S.O. de Tarjeta.

Utilizados en tarjetas inteligentes.

Muy limitados en CPU y memoria.

Page 53: OCSO

Profesorado de Informàtica - OCSO

Arquitecturas del Kernel

MicroKernel

Kernel Monolitico.

Kernel hibrido.

Page 54: OCSO

Profesorado de Informàtica - OCSO

Kernel Monolitico.

Un solo programa que reune las funciones básicas del S.O. (manejo de memoria y de procesos) junto con protocolos de red, file systems, drivers de dispositivos, etc.

Ejemplos: Unix

Linux

Page 55: OCSO

Profesorado de Informàtica - OCSO

MicroKernel. Respuesta a la complejidad de los kerneles

monoliticos.

Kernel que provee los mecanismos básicos: Manejo de memoria. Manejo de procesos e hilos. InterProcess Comunication (IPC)

Unico software que corre en modo privilegiado de CPU.

Los servicios del S.O. (device drivers, protocolos de red, file systems) se ejecutan en espacio de usuario.

Eventuales fallas en un servicio no afectan al kernel.

Page 56: OCSO

Profesorado de Informàtica - OCSO

MicroKernels

Principio de minimalismo de Liedtke Un elemento es aceptable dentro del kernel

solamente si al moverlo afuera del kernel se pierde funcionalidad.

Page 57: OCSO

Profesorado de Informàtica - OCSO

Microkernels

IPC Mecanismo para que los procesos se

comuniquen entre ellos, generalmente por medio de mensajes.

Permite trabajar en modalidad cliente/servidor.

Comunicacion sincronica (se envia el mensaje y se espera la respuesta).

Page 58: OCSO

Profesorado de Informàtica - OCSO

Microkernels

Ejemplos Minix

L4

QNX

Mach

En la practica, son menos eficientes que los kernels monoliticos.

Page 59: OCSO

Profesorado de Informàtica - OCSO

Kernel Hibrido

Tiene arquitectura de Microkernel pues los elementos no imprescindibles del Kernel (file system, protocolos de red) se ejecutan como servidores.

Se ejecuta todo en modo privilegiado.

Ejemplo: Windows NT/2000/XP/Vista.