Title: Overview of basics
1Plataformas Operativas
2Plataforma Operativa
- El software y hardware que está debajo de un
sistema. - Ejemplo
- Intel 486 con MSDOS
- Pentium IV con Linux
- SUN Sparc con Solaris
- Java VM
3Plataforma Operativa
- Puede incluirse la arquitectura de
comunucaciones. - Ethernet
- TCP/IP
- IPX
4Plataforma Operativa
- La plataforma define un estándar alrededor del
cual se puede desarrollar un sistema - Instrucciones máquina
- Servicios del sistema operativo
- Servicios provistos por la arquitectura de
comunicaciones
5Plataforma Operativa
- Elementos de las plataformas operativas a
estudiar en este curso - Arquitectura de las Computadoras
- Organización de las Computadoras
- Características del Hardware
- Sistema Operativo
- Lo que concierne a arquitectura de comunicaciones
se complementa con otros cursos de la carrera
6Arquitectura y Organización
- Arquitectura son aquellos atributos visibles al
programador - Conjunto de instrucciones, número de bits usados
para representar datos, mecanismos de E/S,
técnicas de direccionamiento - ej. Hay alguna instrucción de multiplicación?
7Arquitectura y Organización
- Organización es como están implementadas las
partes del sistema - Señales de contriol, interfaces, tecnología de la
memoria - Ej. Hay una unidad de hardware para multiplicar
o se hace con sumas repetidas?
8Arquitectura y Organización
- Toda la familia Intel x86 tienen la misma
arquitectura básica - La familia IBM sistema /370 tienen la misma
arquitectura básica - Esto provee compatibilidad de código
- Al manos con sus anteriores
- La organización difiere entre versiones diferentes
9Sistema operativo
- Un programa que controla la ejecución de los
programas de aplicación - Una interfaz entre el usuario y el hardware
- Oculta los detalles del hardware
10Estructura y función
- Estructura
- es la forma en como se relacionan los componentes
unos con otros - Función
- es la operación individual de los componentes
como parte de la estructura
11Función
- Las funciones de la computadora son
- Procesamiento de datos
- Almacenamiento de datos
- Movimiento de datos
- Control
12Visión funcional
- Visión funcional de la computadora
13Operaciones
- Movimiento de datos
- ej. Teclado a video
14Operaciones
- Almacenamiento
- ej. De internet a disco
15Operaciones
- Procesando del/al almacenamiento
- ej. Actualizando un banco de datos
16Operaciones
- Procesamiento de almacenamiento a E/S
- ej. Imprimiendo un banco de datos
17Estructura Nivel superior
18Estructura - El CPU
19Estructura La unidad de control
20Evolución de la electrónica
- Bulbos
- Dinosaurios
- Transistores
- Circuitos Integrados
- Microchip
21IBM PC - 1981
- IBM-Intel-Microsoft joint venture
- Comercialmente primera computadora personal usada
para negocios - 8088 Microchip - 29,000 transistores
- Procesador de 4.77 Mhz
- 256 K RAM (Random Access Memory)
- Una o dos unidades de disco flexible
22Apple Computers
- Fundada en 1977
- Apple II lanzada en 1977
- Usada en escuelas
- Macintosh
- Lanzada en 1984, CPU Motorola 68000
- Primera computadora comercial con GUI y
dispositivo apuntador (mouse)
23Progreso de las computadoras
241990s Pentiums y Power Macs
- 1990s aparecen las computadoras en todos los
nichos - Casi todos los escritorios, casas, etc.
- Más rápidas, más baratas
- Windows 95
- Primer GUI decente para la PC
251990s Pentiums y Power Macs
- Compatibilidad entre PCs y Macs
- Dispositivos, transferencia de archivos
- Los precios se desploman
- USD2000 a USD500 PC económica
- USD6000 a USD1500 PC equipada
26El siglo 21
- Incrementos en velocidad, almacenamiento y
memoria - Más fácil la conectividad, ya un requisito y más
velocidad en internet - Uso cotidiano de CD-R, CD-RW, DVD-R, DVD-RW
- Audio con calidad CD y vídeo con calidad DVD
27El siglo 21
- Proliferación de nuevos sistemas operativos y
aplicaciones - Las PCs tienen aplicaciones que antes se tenían
en dispositivos muy costosos - Edición de audio y vídeo
- PDAs
- Celulares/PDA
- REDES INALÁMBRICAS!!!
28Evolucion de Dr. Us Computer
29Qué sigue?
- Use su imaginación para pensar que nos espera
- Qué podemos esperar en 2 años?
- Qué podemos esperar en 20 años?
30Sistema operativo
- Un programa que controla la ejecución de los
programas de aplicación - Una interfaz entre el usuario y el hardware
- Oculta los detalles del hardware
31Capas de un sistema de computación actual
32Servicios provistos por el sistema operativo
- Creación de programas
- Editores y depuradores
- Ejecución de programas
- Acceso a dispositivos de E/S
- Controlar acceso a archivos
- Acceso del sistema
33Servicios provistos por el sistema operativo
- Detección y respuesta a errores
- Errores de hardware internos y externos
- Error de memoria
- Falla en dispositivo
- Errores de software
- Desbordamiento aritmético
- Acceso a direcciones de memoria no permitidas
- Cuando el SO no puede satisfacer la solicitud de
una aplicación - Intento de acceder una localidad de memoria no
permitida
34Servicios provistos por el sistema operativo
- Contabilidad
- Recoger estadísticas
- Monitorear rendimiento
- Usada para anticipar expansiones futuras
- Usada para cobrar a los usuarios
35Sistema operativo
- Es actualmente un programa
- Dirige el procesador en el uso de los recursos
del sistema - Dirige al procesador cuando ejecuta otros
programas - Para que el procesador pueda hacer estas cosas,
debe cesar la ejecución del programa del SO y
ejecutar otros programas - El SO cede el control al CPU para hacer un
trabajo útil
36Evolución del sistema operativo
- Actualizaciones del hardware y nuevos tipos de
hardware - Nuevos servicios
- Arreglo de errores
37Necesidades del SO en un ambiente multitarea
- Protección de memoria
- No permite que el área de memoria de un proceso
sea alterada por otro proceso - Timer
- Previene que una tarea monopolize el sistema
- Ocurre una interrupción cuando el tiempo termina
38Necesidades del SO en un ambiente multitarea
- Instrucciones privilegiadas
- Ejecutadas solo por el sistema operativo
- Ocurre una interrupción si un programa de usuario
intenta esas instrucciones - Interrupciones
- Proveen flexibilidad controlando los programas de
usuario
39Multiprogramación o multitarea
40Ejemplo
TRABAJO1 TRABAJO2 TRABAJO3 Tipo de
trabajo Cálculo intensivo E/S intensiva E/S
intensiva Duración 5 min. 15 min. 10 min. Memoria
requerida 50K 100 K 80 K Necesita
disco? No No Si Necesita terminal? No Si No Nece
sita impresorar? No No Si
41Efectos de la multiprogramación
Uniprogramación Multiprogramación Uso del
procesador 17 33 Uso de la memoria 30 67 Uso
del disco 33 67 Uso de la impresora 33 67 Tiem
po transcurrido 30 min. 15 min. Tasa de
productividad 6 trabajos/hr 12 trabajos/hr Tiempo
promedio de respuesta 18 min. 10 min.
42Tiempo compartido
- Usando multiprogramación para manejar varias
tareas interactivas - El tiempo del procesador es compartido por varios
usuarios - Varios usuarios accesan simultáneamente el
sistema a través de terminales
43Proceso
- Un término algo más general que el de trabajo
- Consiste de un programa ejecutable, datos
asociados, y contexto de ejecución
44Dificultades con el diseño del software del
sistema
- Sincronización incorrecta
- Asegurarse que un proceso que espera un
dispositivo de E/S recibe la señal - Fallas de exclusión mutua
- Funcionamiento no determinista del programa
- Los programas deben solo depender de la entrada,
no de las actividades de otros programas en un
sistema compartido - Interbloqueos
45Manejo de la memoria
- Aislamiento del proceso
- un proceso no interfiera con los datos y memoria
de ningún otro - Asignación y gestión automática de memoria
- Soporte para la programación modular
- Protección y control de acceso
- Algunas veces es conveniente la posibilidad de
que un proceso pueda compartir memoria - Almacenamiento a largo plazo
46Memoria virtual
- Permite a los programadores direccionar la
memoria desde un punto de vista lógico - Mientras un programa está corriendo porciones de
datos y código, el resto se mantiene en bloques
del disco
47Sistema de archivos
- Implanta almacenamiento a largo plazo
- La información se almacena en objetos llamados
archivos
48Categorías de seguridad y protección
- Control de acceso
- Regulación del acceso del usuario al sistema
completo - Control de flujo de información
- Regula el flujo de datos dentro del sistema y su
distribución a los usuarios - Certificación
- Demostración de que el acceso y control de flujo
se llevan a cabo de acuerdo a ciertas
especificaciones
49Planificación y manejo de recursos
- Equidad
- Dar acceso igual a todos los procesos
- Sensibilidades diferenciales
- Discriminar entre las diferentes clases de
trabajo con diferentes requisitos de servicio - Si un proceso espera un dispositivo de E/S, el SO
puede planificarlo lo antes posible para liberar
el dispositivo y tenerlo disponible - Eficiencia
- Maximizar la productividad, minimizar el tiempo
de respuesta, alojar más usuarios como sea posible
50Estructura del sistema
- Una visión el sistema como series de niveles
(Layers) - Cada nivel lleva a cabo un determinado
subconjunto de funciones requeridas por el SO - Cada nivel se basa en el siguiente nivel inferior
para llevar a cabo funciones más primitivas - Esto descompone un problema en un número de más
subproblemas manejables
51Características de los SO modernos
- Arquitectura microkernel
- Asigna solo unas cuantas funciones escenciales al
kernel - Espacio de direcciones
- Comunicación entre procesos (IPC)
- Planificación básica
52Características de los SO modernos
- Multi-hilos
- Un proceso se divide en hilos que pueden correr
simultáneamente - Hilo
- Unidad de trabajo que se puede expedir para
ejecución - Se ejecuta secuencialmente y es interrumpible
- Un proceso es una colección de uno o más hilos
53Características de los SO modernos
- Multiproceso simétrico
- Hay varios procesadores
- Esos procesadores comparten la misma memoria
principal y facilidades de E/S - Todos los procesadores pueden ejecutar las mismas
funciones
54Características de los SO modernos
- Sistemas operativos distribuidos
- Proveen la ilusión de una sola memoria principal
- Usados por un sistema de archivos distribuídos
55Características de los SO modernos
- Diseño orientado a objetos
- Usados para agregar extensiones modulares a un
pequeño kernel - Permite a los programadores configurar un SO sin
corromper la integridad del sistema