Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Puto
Puto
Contenidos Objetivos
Bibliografía básica
[Prie06 A. Prieto, A. Lloris, J.C. Torres, Introducción a la Informática, McGraw-Hill, 2006
]
[Stal05] W. Stallings, Sistemas Operativos, Aspectos Internos y Principios de Diseño (5ª
Edición). Pearson Education, 2005
[Carr07 J. Carretero, F. García, P. de Miguel, F. Pérez, Sistemas Operativos (2ª Edición),
] McGraw-Hill, 2007
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 1
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
Definición de Bit
• Codifica información:
• 1 bit: 0 ó 1
• 2 bits: 00, 01, 10 ó 11
•…
1 0
True False
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 3
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
Bit
Con un bit podemos representar solamente dos valores,
que suelen representarse como 0, 1.
Para representar o codificar más información en un
dispositivo digital, necesitamos una mayor cantidad de
bits. Si usamos dos bits, tendremos cuatro
combinaciones posibles:
1 bit: 0 ó 1
2 bits: 00, 01, 10 ó 11
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejemplo
0 0 - Los dos están "apagados"
0 1 - El primero (de derecha a izquierda) está
"encendido" y el segundo"apagado"
1 0 - El primero (de derecha a izquierda) está
"apagado" y el segundo "encendido"
1 1 - Los dos están "encendidos"
Bit
Cuatro bits forman un nibble, y pueden representar hasta
24 = 16 valores diferentes;
En general:
Con un número n de bits pueden representarse hasta
2n valores diferentes.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 7
Fundamentos del Software
Tema 1. Sistema de Cómputo
Sistemas de numeración
Un sistema de numeración es un conjunto de símbolos y reglas que
permiten representar datos numéricos. Los sistemas de numeración
actuales son sistemas posicionales, que se caracterizan porque un
símbolo tiene distinto valor según la posición que ocupa en la cifra.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 9
Fundamentos del Software
Tema 1. Sistema de Cómputo
500 + 20 + 8 = 528
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición
que ocupe. El valor de cada posición es el de una potencia de base 2, elevada a
un exponente igual a la posición del dígito menos uno.
De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula
así:
1* 23 + 0* 22 + 1* 2n + 1* 20 , es decir:
8 + 0 + 2 + 1 = 11
y para expresar que ambas cifras describen la misma cantidad lo escribimos así:
10112 = 1110
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
7710 = 10011012
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Expresa, en código binario, los números decimales siguientes: 191, 25,
67, 99, 135, 276
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicios
Ejercicio 2:
Averigua cuántos números pueden representarse con 8, 10, 16 y
32 bits y cuál es el número más grande que puede escribirse en
cada caso.
Ejercicio 3:
Dados dos números binarios: 01001000 y 01000100 ¿Cuál de ellos
es el mayor? ¿Podrías compararlos sin necesidad de convertirlos
al sistema decimal?
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejemplo
Por ejemplo, el número octal 2738 tiene un valor
que se calcula así:
2* 83 + 7* 82 + 3* 81 = 2*512 + 7*64 + 3*8 = 149610
2738 = 149610
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Conversión de un número
decimal a octal
La conversión de un número decimal a octal se hace con la misma
técnica que ya hemos utilizado en la conversión a binario, mediante
divisiones sucesivas por 8 y colocando los restos obtenidos en orden
inverso. Por ejemplo, para escribir en octal el número decimal 12210
tendremos que hacer las siguientes divisiones:
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Ejercicio 5:
Convierte los siguientes números decimales en octales:
6310, 51310, 11910
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Ejercicio 6:
Convierte al sistema decimal los siguientes
números octales: 458, 1258, 6258
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Sistema de numeración
hexadecimal
Sistema de numeración hexadecimal
En el sistema hexadecimal los números se representan con
dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.
Se utilizan los caracteres A, B, C, D, E y F representando las
cantidades decimales 10, 11, 12, 13, 14 y 15
respectivamente, porque no hay dígitos mayores que 9 en el
sistema decimal. El valor de cada uno de estos símbolos
depende, como es lógico, de su posición, que se calcula
mediante potencias de base 16.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejemplo
Calculemos, a modo de ejemplo, el valor del número
hexadecimal 1A3F16:
1A3F16 = 671910
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Ejercicio 7:
Expresa en el sistema decimal las siguientes
cifras hexadecimales: 2BC516, 10016, 1FF16
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
De ahí que, tomando los restos en orden inverso, resolvemos el número en hexadecimal:
173510 = 6C716
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Convierte al sistema hexadecimal los siguientes
números decimales: 351910, 102410, 409510
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejemplo
1010010112 = 5138
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio
Ejercicio 9:
Convierte los siguientes números binarios en
octales: 11011012, 1011102, 110110112, 1011010112
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
15 1111 F
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejemplo
Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará
con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por
su equivalente hexadecimal:
1010 = A
2 16
0111 = 7
2 16
0011 = 3
2 16
y, por tanto: 101001110011 = A73
2 16
En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se
deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo:
1011102 = 001011102 = 2E16
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
Tema 1. Sistema de Cómputo
Ejercicio 11:
Convierte a hexadecimales los siguientes números
binarios:
10101001010111010102, 1110000111100002,
10100001110101112
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo 1er Curso de Grado en Ingeniería Informática
Instrucción: conjunto de símbolos insertados en una secuencia estructurada o
específica que el procesador interpreta y ejecuta.
Datos: Símbolos que representan hechos, condiciones, situaciones o valores.
Elementos de información.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 33
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo 1er Curso de Grado en Ingeniería Informática
Lenguaje natural:
Lenguaje de programación de alto nivel:
A= A + M[17]
Ensamblador y lenguaje máquina:
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 34
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 35
Fundamentos del Software
Tema 1. Sistema de Cómputo
Firmware
El firmware es un bloque de instrucciones de programa para propósitos
específicos, grabado en una memoria de tipo no volátil (ROM, EEPROM,
flash, etc), que establece la lógica de más bajo nivel que controla los
circuitos electrónicos de un dispositivo de cualquier tipo. Al estar
integrado en la electrónica del dispositivo es en parte hardware, pero
también es software, ya que proporciona lógica y se dispone en algún tipo
de lenguaje de programación.
Funcionalmente, el firmware es el intermediario (interfaz) entre las
órdenes externas que recibe el dispositivo y su electrónica, ya que es el
encargado de controlar a ésta última para ejecutar correctamente dichas
órdenes externas.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
Firmware
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 37
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 38
Fundamentos del Software
Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.1 Componentes de un Sistema de Cómputo Tema 1. Sistema de Cómputo
Usuario Final
Programador
Programas de Aplicación
Diseñador del SO
Utilidades y Herramientas
Sistema Operativo
Hardware
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 40
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
Arquitectura de un Sistema
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 41
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 42
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 43
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 44
Fundamentos del Software
Tema 1. Sistema de Cómputo
Subsistema de E/S
La E/S permite al computador interactuar con el “mundo exterior”
Dispositivos típicos de E/S (PERIFÉRICOS)
Dispositivos de E/S básica
CPU MEMORIA
teclado, ratón, pantalla
Dispositivos de almacenamiento
discos, disquetes, CD-ROM, cintas, E/S
discos magneto-ópticos, ...
Dispositivos de impresión y escáner
impresoras, plotters, scanners, ... 8085 8085 8085
8085
8085
8085
Dispositivos de comunicación
redes, módems, ...
Dispositivos multimedia
audio, video, ...
…
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
• E/S Programada.
• E/S dirigida de interrupciones.
• Acceso directo de memoria
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 46
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 47
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 48
Fundamentos del Software
Tema 1. Sistema de Cómputo
E/S programada
Problema: El problema de la técnica de la E/S programada es que el procesador
tiene que esperar mucho tiempo hasta que el módulo de E/S
correspondiente esté listo para la recepción o la transmisión de más datos. El
procesador mientras está esperando, debe comprobar repetidamente el
estado del módulo de E/S.
Cómo resultado, el nivel de rendimiento de todo el sistema se degrada
gravemente.
Solución: Mientras se atiende al módulo de E/S, el
procesador pueda continuar con trabajo útil.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 50
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
Interrupciones
inhabilitadas
Parada
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 51
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
Interrupción Salto
Dispositivo CPU
............................
.............
.
Código
del SO Rutina de servicio
Memoria de interrupción i
Principal
............................
..
Código de usuario
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 52
Fundamentos del Software
1.2 Capa Hardware 1er Curso de Grado en Ingeniería Informática
Tratamiento de Interrupciones
Vectorizadas [Stal05] (pp. 23. Fig. 1.10)
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 53
Fundamentos del Software
1.2 Capa Hardware 1er Curso de Grado en Ingeniería Informática
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 54
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
• Definición de excepción: Evento inesperado generado por alguna condición que ocurre
durante la ejecución de una instrucción (ejemplo, desbordamiento aritmético, dirección
inválida, instrucción privilegiada, etc.). Es un evento síncrono.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 55
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 56
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
• Los dispositivos de E/S son recursos que han de estar protegidos (ejemplo, los
archivos, las impresoras, …)
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 57
Fundamentos del Software
1.2 Capa Hardware Tema 1. Sistema de Cómputo
Protección de Memoria
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 58
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
Utilidades y Herramientas
Sistema Operativo
Hardware
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 59
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 60
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 61
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
(cont.)
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 62
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
• Las funciones del SO actúan de la misma forma que el resto del software,
es decir, son programas ejecutados por el procesador.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 63
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
Por lo tanto:
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 64
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 65
Fundamentos del Software
1.3 El Sistema Operativo Tema 1. Sistema de Cómputo
• Comodidad en el uso.
• Eficiencia: Existen más programas que recursos. Hay que repartir los recursos
entre los programas
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 66
Fundamentos del Software
1.4 Utilidades del Sistema Tema 1. Sistema de Cómputo
• Compactación de discos.
• Compresión de datos.
• Gestión de comunicaciones.
• Navegadores de internet.
• Respaldo de seguridad.
• Recuperación de archivos eliminados.
• Antivirus.
• Salvapantallas.
• Interfaz gráfica.
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 67
Fundamentos del Software
1.4 Utilidades del Sistema Tema 1. Sistema de Cómputo
Herramientas Generales
• Editores de texto.
• Compiladores.
• Intérpretes.
• Enlazadores.
• Cargadores/Montadores.
•…
DEPARTAMENTO DE _______________________________________
LENGUAJES Y SISTEMAS INFORMÁTICOS 68