Story Transcript
Fundamentos de Informática
Tema 1: Arquitectura de ordenadores, hardware y software
2010-11
Índice 1. Informática 2. Modelo de von Neumann 3. Sistemas operativos
2
1. Informática INFORMación automÁTICA Procesamiento automático de la información
Entrada de información (datos) Procesado de la información (lógico o aritmético) Salida de información (resultado)
Sin supervisión humana. Ejecución de un programa de instrucciones.
3
Ejemplo de sistemas informáticos PCs Superordenadores Smartphones Electrodomésticos Terminales Consolas Robots … 4
5
2. Modelo von Neumann 2.1 Historia 2.2 El modelo de Von Neumann 2.3 Sistema binario 2.4 Memoria principal 2.5 Procesador 2.6 Buses de comunicación 2.7 Dispositivos de entrada/salida 6
2.1 Historia:
El ENIAC, Los Álamos y la bomba H
7
Calculos balísticos, von Neumann y el EDVAC
8
2.2 El modelo de von Neumann CPU (Procesador)
Controladoras Entrada/Salida
Memoria principal
Datos Programa
Buses de datos
9
Modelo de von Neumann en un PC
10
2.3 Sistema binario
Unidades de información 1b = 1 bit 1B = 1 byte
unidad de información {0,1} conjunto de 8 bits
Almacenamiento Nombre
Sist. Internacional
Sist. Clásico
Ejemplos
Kilobyte (KB)
1000 bytes
1024 = 210 bytes 1 página de texto
Megabyte(MB)
10002 bytes
220 bytes
4 libros 1 fotografía pequeña
Gigabyte(GB)
10003 bytes
230 bytes
4.000 libros 300 fotografías 250 canciones en mp3
Terabyte (TB)
10004 bytes
240 bytes
4 millones de libros 1.613 CDs, 233 DVDs 40 Blu-ray discs 11 Datos en Google cada 5s
1 icono
2.4 La memoria principal Almacenamiento de la
información en circuitos integrados, fuera de la CPU.
Gran velocidad de acceso y
escritura, pero coste elevado.
Almacena el programa y los datos en uso.
RAM: No permite la grabación
permanente de datos. Es volátil, es decir, si se corta la corriente, se pierden los datos.
ROM: Permanente, viene
grabada de fábrica. No se puede reescribir.
12
2.5 El procesador (CPU) Es el componente que procesa los datos de entrada siguiendo las instrucciones de un programa.
Se compone de: una unidad de control que
busca y descifra cada instrucción, una unidad aritmético-lógica que ejecuta las operaciones sobre los datos
unos registros que almacenan datos internos.
13
2.6 Buses de comunicación Un bus es un sistema de transmisión de datos entre 2 o más sistemas o unidades.
Tradicionalmente, se refería únicamente a conjuntos de cables o pistas de un circuito impreso que transmitían en paralelo, pero ahora se ha generalizado a cualquier sistema digital de transmisión de datos.
En un PC, la CPU se comunica con la memoria principal y
otras componentes mediantes buses integrados en la placa madre.
Otros buses comunes:
USB PCI AGP (especifico para gráficos) ATA-n (especifico para discos)
14
2.7 Dispositivos de E/S Los disposi(vos de entrada/salida (periféricos),
permiten una interacción entre la máquina y otros sistemas (incluido el usuario) mediante la entrada o salida de datos.
Cada periférico está compuesto por tres componentes:
1. El propio disposi&vo. 2. Un circuito electrónico que traduce la información del bus al disposi(vo, denominado controladora. 3. Un programa que permite interactuar con el periférico, llamado driver.
15
2.7 Dispositivos de E/S La memoria secundaria Es más barata que la memoria principal y permite almacenar los datos de manera permanente, pero con acceso más lento. Disco duro, CD-ROM, Flash, Blu-Ray...
Jerarquía de memoria: Almacenar los datos en la
memoria más rápida disponible basandose en la frecuencia de uso. Más usada à Acceso más rápido 16
2.7 Dispositivos de E/S Interacción entre procesador, memorias y dispositivos de E/S PROCESADOR REGISTROS
UC
ALU
BUS
MEMORIA PRINCIPAL
DISCO DURO
PANTALLA
CONTROLADORA
CONTROLADORA
CONTROLADORA
CONTROLADORA
LECTOR CD-ROM
TECLADO
17
3. Software y Sistema Operativo 3.1 Introducción al software 3.2 Clasificación del software 3.3 Sistema operativo 3.3.1 3.3.2 3.3.3 3.3.4
Arranque Gestión de procesos Interfaz de usuario Sistema de ficheros
3.4 Software de aplicación 18
3.1 Introducción al software La propiedad más importante de un ordenador es la de ser programable.
Una programación directa del hardware por parte de los usuarios crearía grandes dificultades.
Por lo tanto es necesario proveer al usuario de un mecanismo para:
abstraer la organización física de la máquina usar de manera similar máquinas con hardware diferente tener un lenguaje simple de interacción con la máquina tener un lenguaje simple de alto nivel para programar la máquina tener un conjunto de programas para ejecutar diferentes tareas
19
3.2 El software: clasificación Software de sistema: permite usar los recursos hardware del ordenador, ejecutar operaciones básicas e interactuar con el software de aplicación. Ejemplos: driver, interfaz gráfico, formateador de discos…
Software de aplicación: programas para la ejecución de tareas específicas.
Ejemplos: procesador de textos, cliente de correo electrónico, videojuegos…
20
Tipos de software de sistema Sistema operativo (S.O.) Ejemplos: Windows, Unix, Linux, Mac OS…
Drivers Herramientas del sistema Incrementan las funcionalidades del S.O. Ejemplos: formateo discos, copia ficheros de discos a CD, limpieza discos, programas de compresión de ficheros...
21
usuario Software de aplicación
(navegadores, reproductores de vídeo, editores de fotografías…)
Software de sistema
Driver
Sistema Operativo
Herramientas del sistema
Hardware (orderador y periféricos)
22
3.3 Sistema operativo Conjunto de programas que interactúan para:
Administrar eficientemente los recursos de la máquina, intentando explotar al máximo todos los componentes del hardware. Crear un ambiente virtual (ejemplo: un interfaz gráfico) para facilitar la interacción persona-máquina.
Tareas del sistema operativo: Arranque del ordenador y creación del ambiente virtual. Administración del procesador y los procesos en ejecución. Administración de la memoria principal y secundaria. Administración de los recursos de E/S. Proporcionar una serie de órdenes para la interacción con el usuario.
23
3.3.1 Arranque del ordenador El sistema operativo (S.O.) se ejecuta en el momento de encender el ordenador.
La puesta en marcha del S.O. se efectúa a través de un programa llamado bootstrap que la máquina ejecuta cuando se enciende.
En esta fase, una parte del S.O. (un conjunto de programas y un conjunto de datos) se carga en la memoria principal, es decir, se copia de la memoria secundaria (disco duro) a la memoria principal (RAM).
24
Bootstrap: paso 1 Memoria principal ROM
Programa de bootstrap
Memoria secundaria (disco duro)
RAM S.O.
25
Bootstrap: paso 2 Memoria principal ROM
Programa de bootstrap
RAM
Sistema Operativo
Memoria secundaria (disco duro)
S.O.
26
3.3.2 Gestión de procesos Normalmente, la CPU es el componente más usado en un ordenador.
Cuando la CPU está ocupada con un programa, el resto de programas tienen que esperar [1].
Cada programa en ejecución se llama proceso o tarea.
Es tarea del S.O. administrar la CPU correctamente y en manera eficiente entre todos los procesos.
[1] Nota: Las CPUs modernas tienen varios “cores” o “núcleos”. Cada “core” es un procesador independiente y permite ejecutar varios programas a la vez.
27
Mono/Multi-tarea S.O. monotarea (monotasking) En el sistema hay solo un proceso activo Es posible ejecutar un solo programa a la vez Ejecución secuencial de programas
S.O. multitarea (multitasking) Ejecución concurrente de varios programas El S.O. debe decidir en qué momento se ejecuta cada proceso, cuanto tiempo tiene derecho a usar el procesador…
28
Mono/Multi-tarea En general, dado un proceso P En algún momento estará activo, es decir, la CPU lo ejecutará Habrá largos periodos en que P esté parado. Por ejemplo, en la
espera de E/S o de adquirir un recurso que en ese momento no esté disponible.
Las operaciones de la CPU, de los periféricos y de los usuarios funcionan a escalas temporales muy diferentes (desde nanosegundos a segundos).
La ejecución secuencial de procesos provoca una escasa utilización de la CPU.
29
Ejemplo: ejecución secuencial de P1 y P2 ejecución
espera
procesos P1
P2
procesador activo
inactivo
• La utilización del procesador es muy baja • La mayoría del tiempo está inactivo 30
Ejemplo: ejecución concurrente de P1 y P2 Cada vez que P1 esté bloqueado en la espera de E/S, se ejecutará P2 ejecución
espera
P1 P2 procesador inactivo
activo
Reducción de tiempos de inactividad 31
Multi-usuario/multi-puesto S.O. multi-usuario Capaz de distinguir entre distintos usuarios. Protege los datos/programas de un usuario de los accesos de otros usuarios. Puede limitar el uso de recursos en función del usuario.
S.O. multi-puesto Permite trabajar con el ordenador desde
varios terminales conectados a él, es decir, varios usuarios trabajando con el mismo ordenador simultáneamente (ej: un servidor de internet).
32
3.3.3. Interfaz de usuario Facilita el manejo del sistema operativo por parte del usuario
Permite la comunicación con el sistema
operativo mediante órdenes sencillas, para tareas como por ejemplo, copiar un fichero, arrancar un programa, ver el contenido de un directorio, etc.
Puede ser de dos tipos: interfaz orientada a texto o basada en órdenes interfaz gráfica de usuario (GUI) 33