Clase 1 Int A SO
Clase 1 Int A SO
Clase 1 Int A SO
Módulo 1
Repaso de arquitectura de computadoras
- Introducción a los sistemas operativos
- Aspectos claves de diseño e implementación
1
Repaso de Arquitectura de Computadoras
Procesador
• Registros internos para direcciones y datos
• Unidades de ejecución
• Arquitectura de 8, 16, 32 y 64bits
• Arquitecturas Risc y Cisc
Procesadores auxiliares
• Aritmetica de punto flotante
• Video
• Sonido
2
Repaso de Arquitectura de Computadoras
Buses
• Proporciona comunicación entre componentes
• Existen buses de datos, de direcciones y control.
• La velocidad y tamaño del bus no necesariamente es
igual a la del CPU/Memoria
• Existe una relación entre el tamaño del bus de
direcciones y la capacidad máxima de RAM
4
Repaso de Arquitectura de Computadoras
Memoria Cache
• Mantienen la información accesada mas
frecuentemente
• Mejoran tiempo de respuesta
• Hit Rate indica que tan seguido encontramos los
datos.
• Latencia indica cuánto se dura en ir a buscar la
información en memoria.
• Existen caches de múltiples niveles que mejoran aún
más el rendimiento
5
Repaso de Arquitectura de Computadoras
Principio de Proximidad
• Los programas tienen a accesar datos que están
contiguos en memoria.
• Por ejemplo, es usual que el campo ¨nombre¨ sea
accesado al mismo tiempo que el campo ¨cédula¨
• Es un principio basado en probabilidad: cuando se
accesa un dato, es altamente probable que se vayan a
accesar datos que están contiguos.
• Aplica tanto para código ejecutable como para
datos.
6
Introducción a los Sistemas Operativos
7
Introducción a los Sistemas Operativos
8
Introducción a los Sistemas Operativos
9
Introducción a los Sistemas Operativos
10
Introducción a los Sistemas Operativos
11
Introducción a los Sistemas Operativos
Objetivos
12
Introducción a los Sistemas Operativos
13
Introducción a los Sistemas Operativos
14
Introducción a los Sistemas Operativos
Administración: Recursos:
- Planeación - CPUs
- Control - Unidades de memoria
- Selección de prioridades - Dispositivos I/O
- Seguridad
15
Introducción a los Sistemas Operativos
iii.Facilidad de evolución
• Actualizaciones de hardware.
• Nuevas versiones de controladores de dispositivos.
• Servicios adicionales.
• Detección y resolución de fallas.
• Actualizaciones del Kernel
16
Introducción a los Sistemas Operativos
Cumplen los sistemas operativos actuales esos objetivos?
• Facilidad de uso?
• Eficiencia en la administración de tareas?
• Facilidad para evolución?
17
Aspectos claves de diseño e implementación
El núcleo de Windows 7 tiene 2.085.772 líneas (en 1981, MS-DOS 1.0 tenía 4.000)
El núcleo de Linux supera los 15 millones de líneas (en 1994, Linux 1.0 tenía 176.250)
El núcleo de Mac OS X (xnu) ronda el millón de líneas de código
El núcleo de QNX tiene alrededor de 100.000 líneas de código
20
Aspectos claves de diseño e implementación
Desarrollos en los Sistemas Operativos Modernos
21
Aspectos claves de diseño e implementación
Desarrollos en los Sistemas Operativos Modernos
Procesamiento Simétrico
• Arquitectura de múltiples procesadores
• Procesadores comparten recursos (memoria, E/S, etc)
• Todos los procesadores pueden realizar las mismas
funciones
• El sistema operativo debe soportar el concepto de
múltiples procesadores y ayudar a administrarlos
• Transparente al usuario
22
Aspectos claves de diseño e implementación
Desarrollos en los Sistemas Operativos Modernos
23
Aspectos claves de diseño e implementación
Desarrollos en los Sistemas Operativos Modernos
24
Sistemas Operativos: Definiciones e Historia
Definición ://
Sistema Operativo
25
Sistemas Operativos: Definiciones e Historia
Kernel ://
Definición
26
Sistemas Operativos: Definiciones e Historia
Kernel ://
27
Sistemas Operativos: Definiciones e Historia
Kernel ://
Espacios
Espacio de Usuario
App1 App2 App3
syscalls
Sistema Operativo
Hardware
Espacio de Kernel
28
Sistemas Operativos: Definiciones e Historia
Kernel ://
Organización Interna
Kernels Monolíticos
Microkernels
30
Sistemas Operativos: Definiciones e Historia
Kernel ://
Organización interna:
31
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 40
34
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Multiprogramación
Tiempo compartido
Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la
multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo
ejecutándose el sistema operativo lo detiene para que se ejecute otro aplicación. Con esto se
consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de
los usuarios no se sienten demasiado ralentizados por el hecho de que los recursos sean
compartidos y aparentemente se ejecutan de manera concurrente.
35
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy
breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no
respeta las restricciones de tiempo en las que las operaciones deben entregar su
resultado se dice que ha fallado .
Multiprocesador
36
Sistemas Operativos: Definiciones e Historia
Historia ://
Años 60
Desarrollos Importantes
-COBOL
-BASIC
-Mouse
-LOGO 1960 – DEC PDP1
-Unix
- MINIX: Escrito por Tannenbaum como respuesta para un sistema minimalista que
pudiera usar en su curso de SO de pregrado.
Fernando Corbató Ken Thompson y Dennis Ritchie Andrew Tannenbaum Linus Torvalds
38