Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes...

31
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edit9on Sistemas operativos Dra. Magali Arellano Vázquez

Transcript of Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes...

Page 1: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edit9on

Sistemas operativos

Dra. Magali Arellano Vázquez

Page 2: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.2 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Método de evaluación

40 % exámenes parciales

20 % examen final 10 % participación en

clase Búsqueda y

presentación de información 20%

Tareas 10%

Semestre de 21 semanas: -2 semanas de vacaciones, 1 festivo en lunes. 36 clases.

Tendremos un blog (http:// isofc.wordpress.com)

Una antología de preguntas y problemas que les servirá de guía para lo exámenes

Tareas serán a mano. Primera tarea: Ver la película “Los piratas

de Sillicon Valley” y “Top secret Rosies”

Page 3: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edit9on

Capitulo 1: Introducción

Page 4: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.4 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Capitulo 1: Introducción

Que puede hacer un sistema operativo Organización de un S.O Arquitectura de un S.O Estructura de un S.O Operaciones de un S.O Administración de procesos Administración de memoria Administración de dispositivos de almacenamiento Casos de estudio (unix, windows, ms-dos y veremos que más)

Page 5: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.5 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Objetivos

Describir la organización básica de un sistema computacional.

Proveer una amplia perspectiva de los principales componentes de los sistemas operativos.

Dar un panorama de los multiples tipos de ambientes computacionales.

Explorar muchos sistemas operativos (privativos y libres)

Page 6: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.6 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

¿Que es un sistema operativo?

Un programa que actúa como intermediario entre el usuario de una computadora y el hardware de la computadora.

Metas de un sistema operativo: Ejecutar programas de usuario y solucionar los problemas del

usuario de forma sencilla. Hacer el sistema computacional conveniente de usar. Utilizar el hardware de la computadora de manera eficiente.

Page 7: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.7 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Estructura de un sistema computacional

Un sistema computacional puede dividirse en cuatro componentes: Hardware – proveer recursos computacionales básicos

CPU, memoria, dispositivos de entrada y salida Sistema operativo

Controla y coordina el uso del HW entre varias aplicaciones y usuarios.

Programas de aplicación – define las maneras en las cuales el sistema de recursos que son usadas para resolver los problemas computacionales de los usuarios. Procesadores de palabras, compiladores, navegadores,

sistemas de bases de datos, juegos de videos. Usuarios

Gente, maquinas, otras computadoras

Page 8: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.8 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Cuatro Componentes de un Sistema Computacional

Page 9: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.9 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

¿Qué hace un sistema operativo?

Depende del punto de vista Los usuarios quieren conveniencia, facilidad de usos

La utilización de recursos no les importa Pero una computadora compartida (como un cluster o mainframe ) debe

mantener a todos los usuarios felices. Los usuarios de sistemas dedicados tales como workstations tienen

recursos dedicados pero frecuentemente comparten recursos de los servers

Las computadoras portatiles son pobres en tanto a recursos, optimizadas por portabilidad y tiempo de bateria.

Algunas computadoreas tienen una pequeña o no tienen interfaz de usuario, como las computadoras embebidas en dispositivos y automoviles.

Page 10: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.10 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Contexto histórico

Primera computadora: La

máquina analítica Charles Babagge (1792-1871) Primera programadora (1832) No tenía sistema operativo

Page 11: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.11 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Primera generación (1945-1955) Howard Aiken (Hardvard)● Mark 1, Grace Hopper

Page 12: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.12 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

John Von Neumann (Princeton)● Merge sort, proyecto Manhattan,

arquitectura J. Presper Eckert y William Mauchley

(Pennsylvania)● Eniac, UNIVAC, “programa

almacenado”, las subrutinas y los lenguajes de programación.

Konrad Zuse (Alemania)● Plankalkül, Z4 Tubos de vacío, plugboards y

relevadores, Tarjetas perforadas

Page 13: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.13 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Plugboard

Page 14: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.14 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Las mujeres de la ENIAC

Page 15: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.15 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

En muchas de las fotografías que se conservan de la primera computadora aparecen mujeres.

Construída por encargo del ejército de EEUU en plena segunda guerra mundial, para calcular tablas de trayectoria balística de nuevas armas de fuego.

Durante más de cuarenta años, se pensó que las mujeres que aparecían en las fotos del ENIAC eran eso. “Mujeres Heladera”.

Contratadas por el gobierno de los EEUU para pensar y escribir los programas de cálculo de trayectoria balística que debía realizar ENIAC.

Fueron seis mujeres. Sus nombres: Betty Snyder Holberton, Betty Jean Jennings Bartik, Ruth Lichterman Teitelbaum, Kathleen McNulty Mauchly Antonelli, Frances Bilas Spence y Marlyn Wescoff Meltzer. Todas ellas eran matemáticas.

Ellas estaban allí para construir el software. Su tarea consistió no solo en “inventar” los programas, sino, cuando ya lo tenían resuelto, entrar a la sala donde estaba ENIAC, y proceder a la programación propiamente dicha.

Es decir, a conectar y desconectar los cables que llegaban a las 6000 clavijas, de la misma manera que se hacía en las centrales telefónicas de entonces.

“… un trabajo que requiere esfuerzo físico, creatividad mental, espíritu innovador y un altísimo grado de paciencia…”

Page 16: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.16 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Ciclo con relevadores y tarjetas perforadas

Page 17: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.17 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Segunda generación (1955-1965)

Se fabrica el 305 RAMAC de IBM, el primer ordenador con disco duro.

Se inventó el circuito integrado que permitió reducir el tamaño de las computadoras.

Se generaliza el uso del transistor, IBM, que caracteriza esta etapa.

Procesamiento por lotes (cintas magnéticas)

Mainframes FORTRAN Ecuaciones diferenciales parciales

Page 18: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.18 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Tercera generación (1962-1980) IBM S360 fue de los primeros ordenadores en

usar circuitos integrados, que caracteriza esta época.

Nace un sistema operativo que posibilita la ejecución multitarea, Multics.

Elgelbart presenta el ratón. Unix Ken Thompson y Dennis Ritchie, trabajando

en el DEC PDP-7. La multiprogramación (cargar varios trabajos

en memoria y compartir el uso de la CPU) Sistemas de tiempo compartido, el SO asigna

espacios de tiempo conocidos como quantum para cada proceso y una vez vencidos los quantum asignados, le quita el procesador y lo transfiere a otro trabajo.

Tarea: Influencia de Multics en Unix

Investigar aportaciones de Elgebart

Page 19: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.19 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

La memoria virtual, es usar la memoria secundaria o externa (de forma transparente a los usuarios) como una expansión de la memoria principal, los trabajos se dividen en unidades lógicas que solo se cargan cuando se necesitan lo que permite trabajar con más tareas “a la vez”

Concepto de concurrencia

Page 20: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.20 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Cuarta generación (1980-presente)

Bill Gates y Paul fundan Microsoft. INTEL lanza al mercado el

microprocesador 8080. Wozniak y Jobs fundan Apple. Surge la primera versión del sistema

LINUX y se masifica el uso de dispositivos móviles.

Computadoras personales (LSI- large scale integration-)

Mayores requerimientos graficos, memoria y velocidad

Page 21: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.21 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Linea del tiempo de Linux

Page 22: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.22 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Software wars

Page 23: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.23 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Definición de sistema operativo

SO es un asignador de recursos Administrador de recursos Decide entre las solicitudes conflictivas para la el uso equitativo y

eficiente de recursos.

SO es un programa de control Controla la ejecución de programas para prevenir errores y el uso

inapropiado de la computadora.

Page 24: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.24 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Definición de sistema operativo (Cont.)

No hay una definición universalmente aceptada.

“Cualquier cosa que un vendedor envía cuando usted pide un sistema operativo”

“El único programa que se ejecuta todo el tiempo en la computadora” es el kernel. Lo demás es un programa de sistema o un programa de aplicación.

Page 25: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.25 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Arranque de una computadora

El programa de arranque se carga al encender o reiniciar el sistema

Se alamacena en ROM o EPROM, generalmente conocido como firmware*

Inicializa todos los aspectos del sistema

Carga el kernel del sistema operativo y comienza la ejecución.

*Es un bloque de instrucciones de máquina, establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Está fuertemente integrado con la electrónica del dispositivo siendo el software que tiene directa interacción con el hardware: es el encargado de controlarlo para ejecutar correctamente las instrucciones externas.

Page 26: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.26 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Organización de un sistema computacional

Operación Uno o más CPUs, contraladores de dispositivos se conectan a

través de buses comunes, de esta manera se da acceso a la memoria compartida.

La ejecución concurrente de CPUs y dispositivos que compiten por ciclos de memoria.

Page 27: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.27 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Operación

Dispositivos I/O y el CPU pueden ejecutarse concurrentemente.

Cada controlador de dispositivo está a cargo de un determinado tipo de dispositivo

Cada controlador de dispositivo tiene un buffer local

CPU mueve los datos desde/a la memoria principal a/ desde los buffers locales

I/O está desde el dispositivo hasta el buffer local del controlador

El controlador del dispositivo informa al CPU que el ha terminado su operación por medio de una interrupción

Page 28: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.28 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Funciones comunes de las interrupciones

La interrupción transfiere el control a la rutina de servicio de interrupción en general, a través del vector de interrupción, que contiene las direcciones de todas las rutinas de servicio

La arquitectura interrupción debe guardar la dirección de la instrucción interrumpida.

Una trampa o excepción es una interrupción generada por software causada ya sea por un error o una solicitud de un usuario.

An operating system is interrupt driven

Page 29: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.29 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Manejo de interrupciones

El sistema operativo conserva el estado de la CPU por registros de almacenamiento y el contador de programa

Determina qué tipo de interrupción se ha producido: polling vectored interrupt system

Segmentos separados de código determinan qué medidas se deben tomar para cada tipo de interrupción

Page 30: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.30 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition

Timeline

Page 31: Sistemas operativos · 2016. 1. 19. · Dar un panorama de los multiples tipos de ambientes computacionales. Explorar muchos sistemas operativos (privativos y libres) Operating System

1.31 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition