Download Tema 1: Arquitectura de ordenadores, hardware y
Document related concepts
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