Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edit9on
Sistemas operativos
Dra. Magali Arellano Vázquez
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”
Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edit9on
Capitulo 1: Introducción
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)
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)
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.
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
1.8 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Cuatro Componentes de un Sistema Computacional
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.
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
1.11 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Primera generación (1945-1955) Howard Aiken (Hardvard)● Mark 1, Grace Hopper
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
1.13 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Plugboard
1.14 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Las mujeres de la ENIAC
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…”
1.16 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Ciclo con relevadores y tarjetas perforadas
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
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
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
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
1.21 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Linea del tiempo de Linux
1.22 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Software wars
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.
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.
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.
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.
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
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
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
1.30 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Timeline
1.31 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition