1.- ¿Qué es un bit? Es la unidad más pequeña de datos que emplea una computadora. Se puede utilizar para representar dos estados de la información, tales como SI o NO, 1 o 0. 2.- ¿Qué es un byte? Es la combinación de ocho bits o cadena de ceros y unos que conforman un octeto denominado byte, el cual se usa para formar cada carácter alfanumérico, es decir, una letra, numero o signo que emplea una computadora. El tamaño del byte depende del código que estemos empleando. 3.- ¿Qué es un código? Se le llama código a la sustitución de una palabra o frase por otra palabra, número o símbolo para el propósito de ocultar una palabra o frase original. En la computación el código es un sistema de símbolos y reglas utilizadas para representar instrucciones a una computadora o a un programa de una computadora. 4.- ¿Qué es un algoritmo? Secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema. 5.- ¿Qué es un programa? Algoritmo traducido a un lenguaje de programación, de modo que un ordenador es capaz de ejecutarlo. Secuencia de instrucciones máquina. 6.- ¿Qué es un proceso? Un proceso es una instancia de un programa en ejecución en un ordenador. Se inicia cuando el programa se ejecuta. 7.- ¿Qué es una instrucción y en qué consiste? Es un segmento de código que contiene pasos que el procesador interpretara y ejecutara, los cuales son necesarios para realizar una tarea. 8.- Maquina de Turing 9.- Modelo de Von Newman 10.- ¿Qué es una arquitectura?
Aguila Padilla Luis Antonio
Arquitectura en un entorno informático abarca las unidades de hardware usadas para implementar instrucciones dentro de una computadora como pueden ser circuitos electrónicos, visualizadores, medios de almacenamiento magnéticos y ópticos, equipos electromecánicos y dispositivos de comunicación. Es el conjunto de recursos operativos disponibles por un programador a nivel de lenguaje máquina. En un procesador la arquitectura se le denomina al diseño e interconexión de cada uno de los bloques contenidos en el procesador.
11.- Estructura del procesador a) ¿Qué es la ALU? Es la parte de un equipo que lleva a cabo las operaciones aritméticas y lógicas. En algunos procesadores la ALU se divide en dos unidades, una aritmética (AU) y una lógica (LU). La ALU tiene entrada directa y de salida al controlador del procesador, la memoria principal y los dispositivos de entrada/salida. b) ¿Qué es la unidad de control? Son circuitos que realizan las operaciones de un ordenador, por medio de él se pueden analizar los datos de entrada y controlar los dispositivos de salida para poder responder a las instrucciones recibidas de un programa. La unidad de control tiene como función principal la recepción de la información de entrada la cual es convertida en señales de control, que serán re direccionadas hacia el procesador central para que este utilice el hardware disponible para la realización de dichas tareas. c) ¿Qué es un registro? Es la cantidad de información que un procesador puede trabajar a la vez y como se mueve dentro del chip. El tamaño del registro puede comúnmente ser de 16, 32 o de 64 bits de ancho, que permiten instrucciones menores o iguales al tamaño del registro pero jamás mayores a este. d) ¿Qué es el tamaño de palabra? Unidad principal de información, y se integra por un número determinado de bits, este número puede usarse para describir una computadora, “tamaño de palabra”, por ejemplo una computadora de 16 bits es aquella en que las instrucciones y datos se almacenan en la memoria en unidades de 16 bits y son procesadas por la U también en unidades de 16 bits, al mismo tiempo el tamaño de palabra indica el
Aguila Padilla Luis Antonio
tamaño del canal de datos que a través del cual se comunican la U y la memoria o entre la U y los dispositivos E/S. 12.- Tipos de arquitectura del procesador La arquitectura de un procesador se refiere a los atributos que tienen un impacto directo en la ejecución lógica de un programa. a) ¿Cuáles son? (Al menos las más importantes) CISC (Complex Instruction Set Computing): Este tipo de arquitectura tiene como objetivo principal el completar una tarea en el menor número de líneas de montaje como sea posible, esto se logra mediante la construcción de hardware procesador que es capaz de entender y ejecutar una serie de operaciones para dicha tarea un procesador CISC viene preparado con una instrucción especifica como ejemplo tendremos una denominada “MULT”, cuando se ejecuta esta instrucción carga los dos valores en registros separados, multiplica los operandos en la unidad de ejecución y luego almacena el producto en el registro correspondiente, es decir, realiza la tarea de multiplicar dos números en una sola instrucción. RISC (Reduced Instruciont Set Computer): Estos procesadores sólo utilizan instrucciones sencillas que pueden ser ejecutadas dentro de un ciclo de reloj, siguiendo con el ejemplo de “Mult”, dentro de esta arquitectura se podría dividir en tres comandos “Load” que mueve los datos desde el banco de memoria hasta un registro, “PROD” que encuentra el producto de dos operandos situados dentro de los registros y “STORE” que mueve los datos de un registro de los bancos de memoria. 13.- Indaga cual es la estructura y especificaciones del procesador de tu computadora. Intel Core i5-3337U: Es un procesador ULV basado en la arquitectura lvy Bridge (microprocesadores de 22 nanómetros y transistores Tri-Gate), los dos nucleos pueden soportar hasta cuatro threads en paralelo haciendo un mejor uso del U, cada nucleo ofrece una velocidad base de 1.8 GHz (2.5 GHz para 2 y 2.7 GHz para 1 nucleo activo). Memoria caché
14.- ¿Cuántos tipos de memoria hay? Aguila Padilla Luis Antonio
RAM (Random Access Memory): es un área de retención temporal tanto para datos como para instrucciones. Los datos almacenados en RAM se pierden cuando la computadora se apaga. Es de aleatorio. DRAM (Dinamic RAM): Compuesta por transistores y capacitores donde el cambio de estado del capacitor indica una nueva escritura en la celda de memoria. Al necesitar un cambio de estado en el capacitor se debe refrescar la memoria para mantener una carga mientras no se escriban nuevos datos. Dicho cambio de memoria requiere tiempo por lo tanto hace que la memoria sea lenta. SDRAM (Synchronous Dynamic RAM): Este tipo de memoria ram esta sincronizada al reloj para que los datos puedan ser enviados al U con cada pulso de reloj, esto aumenta el número de instrucciones que el procesador puede ejecutar dentro de un tiempo determinado. ROM (Read Only Memory): Este tipo de memoria se programa con datos fijos. Los datos de instrucciones en la ROM son permanentes o no volátiles, lo que significa que no se pierden cuando se apaga la computadora, es por este motivo que información necesaria para el arranque de una computadora se guarda en la ROM y no en la RAM. 15.- Tipos de de Memoria 16.- ¿Qué es la memoria principal? Es el dispositivo encargado de almacenar de forma temporal las instrucciones y los datos que empleara la U del ordenador en la ejecución de algún proceso. Por ella pasan todas las operaciones de entrada/salida así como los resultados parciales o finales del proceso. a) Estructura de la memoria principal Tiene como estructura una colección de celdas capaces de almacenar información binaria. Cada celda tiene asignada una posición respecto de un origen, cuyo valor numérico constituye la dirección de la misma (no es un dato almacenado en ella). Todas las celdas están conectadas entre si al igual que se conectan con los registros de dirección y de datos que mantienen almacenada la información durante todo el proceso de lectura y escritura, esto garantiza la estabilidad y la seguridad de las operaciones. 17.- Ciclo de Fetch a) En que consiste: En este ciclo se busca la instrucción que se tiene que ejecutar y se interpreta para saber qué se tiene que ejecutar, además incrementa (contador de programa) para que apunte a la siguiente instrucción de.
Aguila Padilla Luis Antonio
b) Fases del ciclo de Fetch: 1. El contador de programa () contiene la dirección de la próxima instrucción a ejecutar 2. El procesador captura la instrucción de memoria. 3. La instrucción se carga en el registro de instrucciones (RI) 4. El se incrementa (salvo en las instrucciones de salto, que el será el valor de la dirección de salto). 5. Se interpreta la instrucción y se generan las señales de control. 18.- Direccionamiento a memoria a) ¿Qué es y cómo se lleva a cabo? 19.- Fases del proceso de Boot Boot o booting se le denomina a cualquier proceso en el que un sistema simple activa a otro más complejo (Arrancar un sistema a partir de una parte más pequeña del mismo.) 1. ¿Qué ocurre desde que se enciende hasta que se inicia la sesión? Se realizan 4 fases del princesa de boot, las cuales son: 1.- Hardware 2.- BootLoader 3.- Kernel 4.- Init 2. Descripción a detalle de las fases del proceso de boot. Fase 1 Hardware: En esta fase se inicia el sistema otorgándole a la BIOS el control de si mismo, siendo la BIOS un pequeño programa que se encuentra grabado en una memoria en la placa base guardando la configuración de nuestro sistema. En Linux existe un proyecto denominado LinuxBios que es un proyecto Open Source que tiene como objetivo sustituir la BIOS normal con una BIOS que contendrá una pequeña inicialización de hardware y un kernel de Linux comprimido, esto tendrá como beneficios principales el evitar la publicidad del proceso (BIOS y Kernel), minimizar el tiempo de arranque, liberarse del código propietario y desconocido de la BIOS, evitar la necesidad de BootLoaders. Al inicio de esta primera fase se ejecuta una instrucción llamada POST cuyas tareas son: 1. Verificar la integridad de la BIOS. 2. Determina por qué se ejecuta el POST (arranque en frío, Softreset, error, stand-by, hibernación, etc.)
Aguila Padilla Luis Antonio
3. Busca, dimensiona y verifica la memoria del sistema (RAM y ROM) 4. Busca, inicializa y cataloga los buses y dispositivos del sistema. 5. Proporciona la interfaz de para configurar parámetros del sistema (Velocidad de U, orden de arranque, “tunning” del sistema, etc.). 6. Identifica, organiza y selecciona los dispositivos de arranque disponibles. 7. Comienza el proceso de arranque del sistema, llamando al bootloader. Fase 2 BootLoader: Esta fase tiene como objetivo el cargar parte del Kernel del sistema operativo ubicado en memoria y ejecutarlo, una vez que se cargó, el BootLoader toma el control y se encarga de cargar el resto del sistema operativo. Ubicaciones: Disquete: El primer sector de un disquete está reservado como sector de arranque (boot). o Disco Duro: Puede ubicarse en el primer sector de cada una de las particiones del disco A parte el primer sector del disco existe un sector de arranque global (Master BootRecord o MBR). Este es el lugar más común para instalarlo. Fase 3 Kernel: En esta fase comienza la ejecución del kernel, descomprimiéndose así mismo, una vez que se descomprimió se inicializa y comienza el chequeo y puesta en marcha de los dispositivos inventariados. o Detecta la U y su velocidad o Inicializa el Display para mostrar información por pantalla o Comprueba el bus PCI e identifica y crea una tabla con los periféricos conectados (muestra por pantalla los mismos y su estado) o Inicializa el sistema de gestión de memoria virtual, incluyendo el swapper o Inicializa todos los periféricos compilados dentro del kernel(no como módulos), normalmente sólo se configuran así los periféricos necesarios para esta fase del arranque, el resto se configuran como módulos o Monta el sistema de ficheros root(“/”) o A partir de aquí llama al proceso init que se ejecuta con uid0 y será el padre de todos los demás procesos Fase 4 Init: En esta etapa tenemos el kernel cargado, contamos con una gestión de la memoria, una parte de nuestro hardware esta inicializado y tenemos un sistema de ficheros root. El proceso init lee o
Aguila Padilla Luis Antonio
del fichero /etc/inittab la configuración a utilizar. Se ejecuta el comando /etc/rc.sysinit el cual realiza una inicialización básica del sistema. En función del runlevel ejecuta los comandos establecidos
20. -¿Qué ocurre para que un se “comunique” con la computadora? Para que un se comunique con la computadora se hace uso de alguno de los estilos de interacción -maquina. o
o
o
Interfaz por línea de ordenes: Consiste en dar instrucciones directamente a la computadora, mediante palabras enteras, abreviaturas, caracteres y teclas de función. (Ejemplo: los comandos de la shell). Menus de navegación: Conjunto de opciones visualizadas en pantalla que se pueden seleccionar y de este modo activar la acción que tiene asociada. Lenguaje natural: Con este tipo de manipulación se busca la creación de una interfaz hombre-maquina basada en el procesamiento del lenguaje que permite al comunicarse con la computadora en su forma habitual de expresarse: el lenguaje hablado, esto se realiza tomando en cuenta los componentes de dicho lenguaje. Morfológico: La palabra bien escrita. Sintáctico: El orden correcto de la oración. Semántico: El significado de la oración. Pragmático: La dependencia del contexto.
21. -¿Qué ocurre dentro de nuestra computadora cuando damos click o cuando presionamos una tecla? a. Condiciones que se deben de cumplir antes de dar un click y después de dar un click (o presionar alguna tecla) 22. -¿Qué es un archivo? Explicar a detalle También puede denominarse fichero, es una unidad de datos o información almacenada en algún medio para posteriormente ser utilizada por aplicaciones de la computadora, podemos diferenciar un archivo de otro ya que contiene un nombre propio y una extensión para poder ser identificado 23. -¿Qué es un lenguaje de programación? Aguila Padilla Luis Antonio
Es un lenguaje* especial que los programadores utilizan para desarrollar aplicaciones, scripts u otro conjunto de instrucciones ejecutables por una computadora. *lenguaje: Capacidad propia del ser humano para expresar pensamientos y sentimientos por medio de la palabra. a. ¿Cuántos tipos de lenguajes de programación existen? Existen dos tipos de lenguajes claramente diferenciados: Lenguajes de bajo nivel: Son lenguajes totalmente dependientes de la máquina, es decir, que el programa que se realiza con este tipo de lenguajes no se puede migrar o utilizar en otras máquinas, por esta razón al estar prácticamente diseñados a medida del hardware aprovechan al máximo las características del mismo. Dentro de este grupo encontramos: o Lenguaje maquina: Este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0´s y 1´s para formar las órdenes entendibles por el hardware de la máquina. Es rápido y bastante difícil de manejar. o Lenguaje ensamblador: Es derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamados “mnemotécnicos”. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina, con códigos fuente más cortos y cuyos programas creados ocupaban menos memoria. Lenguajes de alto nivel: Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de Estructuras Dinámicas de Datos, los cuales son estructuras que pueden cambiar de tamaño durante la ejecución del programa, nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Son lenguajes independientes de la arquitectura del ordenador por lo que en principio un programa escritor en este tipo de lenguajes se pueden migrar de una maquina a otra sin ningún tipo de problema. 24. -¿Qué es un Compilador?
Aguila Padilla Luis Antonio
Es un programa informático, que se encarga de traducir el código fuente de una aplicación que este en desarrollo, es decir, convierte un programa hecho en lenguaje de programación de alto nivel a un lenguaje de máquina, con el fin de que sea más entendible y mucho más fácil de procesar ene el quipo en el que se está ejecutando. 25. -Proceso de compilación Compilación: es la traducción a lenguaje máquina de un programa, con el fin de poder ser ejecutado directamente por un ordenador. Explicar las fases del proceso a detalle. 1.- Programa fuente: programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programación), el cual necesita ser traducido a código máquina para poder ser ejecutado. 2.- Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina al mismo tiempo que comprueba que las llamadas a las funciones de la librería se realizan correctamente. 3.- Programa objeto: Es el programa fuente traducido (por el compilador) a código máquina. (Aún no es directamente ejecutable). 4.- Programa ejecutable: Traducción completa a código máquina, realizada por el enlazador del programa fuente y que ya es directamente ejecutable. 5.- Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías usadas en el programa y realizar el proceso de montaje que producirá un programa ejecutable. Librerías: una colección de código ya programado y traducido a código máquina, listo para utilizar en un programa y que facilita la labor del programador. a. 26. -Diferencia entre un compilador y un intérprete 1. Interprete: Es un programa que lee línea a línea un programa escrito en lenguaje fuente y lo va traduciendo a un código intermedio para ser ejecutado. Compilador: Es un programa que lee totalmente un programa escrito en un lenguaje fuente y lo traduce a un programa equivalente a lenguaje máquina
Aguila Padilla Luis Antonio
2. Interprete: Traduce el programa cuando lo lee, convirtiendo el código del programa en acciones. Compilador: Un programa que ha sido compilado puede correr por si solo pues en el proceso de compilación fue transformado en lenguaje máquina. 3. Interprete: Tiene como ventaja que dado cualquier programa, este puede ser interpretado en cualquier sistema operativo. Compilador: El archivo generado por el compilador solo funciona en la plataforma en que fue creado. 4. Interprete: No genera un ejecutable por lo tanto existe un intérprete para cada plataforma. Compilador: El archivo compilado puede ser distribuido fácilmente conociéndola plataforma (genera un ejecutable). 5. Interprete: La ejecución es más lenta, ya que para cada línea del programa es necesario realizar la traducción. Compilador: Un archivo compilado es de 10 a 20 veces más rápido que un archivo interpretado. 27. -Escribe un código pequeño en cualquier lenguaje de programación y compílalo a mano, de acuerdo a las fases de compilaciones explicadas con anterioridad
28. -¿Qué es un SO? Es el conjunto de programas que sirven como interfaz entre el y la computadora, sirve como un agente de intercambio de información entre la computadora y el , además de istrar los recursos de la misma. 29. --¿Qué es un proceso?
Aguila Padilla Luis Antonio
Es una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual y una asociación a recursos del sistema. 30. -¿Qué tiene que ocurrir para que un programa se convierta en proceso? Tiene que ser ejecutado ya que por si solo el programa no es más que un conjunto de instrucciones y el proceso es la capacidad de ejecutar dichas instrucciones.
TAREAS DE LA CLASE DEL 13 DE AGOSTO 31.- Forma general de un polinomio Termino: Es una expresión algebraica que envuelve las operaciones aritméticas de multiplicación y división. Polinomio: Es la suma de términos en los que los exponentes de sus variables son enteros no negativos. Forma general: a0 + a1x + a2x2 + a3x3 + .... + an-1xn-1 + anxn 32.- Teorema fundamental de la aritmética 33.- Enteros relativos Son aquellos números que son utilizados para expresar una situación o estado (temperatura, tiempo, altitud), variaciones (perder-ganar, subir-bajar). Estos números pueden ser mayores que 0, menores que 0 o 0. Los que son mayores que cero se llaman POSITIVOS, los mejores que cero se llaman NEGATIVOS. En resumen los números enteros relativos son usados para representar expresiones en términos numéricos, como pueden ser: antes, después; menos que, más que; por debajo de, por encima de; a la izquierda de, a la derecha de; deudas, ganancias.
34.- Algoritmo de Euclides Para calcular el máximo común divisor entre dos números enteros positivos a y b dividimos el más grande, digamos a, entre el más pequeño, digamos b.
Aguila Padilla Luis Antonio
Esta división nos proporcionará un cociente c1, y un resto r1. Si r1=0, entonces mcd(a,b)=b. Sino es cero dividimos el divisor, c1, entre el resto r1, obteniendo otro coeficiente c2, y otro resto r2. Si r2=0 entonces mcd(a,b)=r1. Si no es cierto volvemos a dividir divisor entre resto y así sucesivamente. Esto es: el máximo común divisor entre a y b es el último resto distinto de cero que obtengamos con el procedimiento anterior.
35.- Máximo común divisor EL MCD es el mayor número que divide a dos o más números. 36.- Mínimo común múltiplo Es el menor de todos los múltiplos comunes a varios números, excluido el cero. 37.-funcion inyectiva Una función es inyectiva si a cada valor del conjunto “X” (dominio) le corresponde un valor distino del conjunto “Y” (imagen) de “f”, es decir a cada elemento del conjunto “Y” le corresponde un solo valor de “X” tal que, en el conjunto “X” no puede haber dos o más elementos que tengan la misma imagen.
38.-funcion biyectiva 39.-funcion suprayectiva 40.-producto punto y producto cruz Punto: es la multiplicación entre dos vectores que da como resultado un escalar.
Aguila Padilla Luis Antonio
o
Para vectores expresados en coordenadas cartesianas el producto se realiza multiplicando cada coordenada por la misma en el otro vector, luego se suman los resultados.
o
Para vectores expresados en forma polar se calcula multiplicando los dos módulos por el coseno del ángulo que separa a los vectores.
Cruz: El producto cruz entre dos vectores es el plano generado por los dos vectores definidos, esta expresión se representa por la siguiente formula: a × b = ab sin θ (Es el resultado de multiplicar las magnitudes de cada vector y por el seno del ángulo que forman ambos vectores). 41.-grupo algebraico 42.-lineal independiente 43.-algebra combinatoria 44.-solucion de ecuaciones lineales 45.-algebra de bol 46.-problemas exponenciales TAREAS DE LA CLASE DEL 18 DE AGOSTO 47.-arquitectura del tu procesador con todos los componentes de este 48.-como se organiza y se estructura la mamoria principal (detallar) 49.-big endian 50.-little endian
Aguila Padilla Luis Antonio
51.-arquitecturas mas comunes 52.-codigos mas comunes 53.-como entiende un comando la maquina o que ocurre (ejemplo : dir, ls, etc) 54.-proceso de boot 55.-porque se llama booting 56.-que ocurre para que un programa pase a ejecucion 57.-ciclo de fetch explicando detalladamente como funciona
Information theory Claude shanon 1938 Entropía: mide la cantidad de trabajo útil en un sistema
Pi (I=1 SUM N DEL LOG BASE 2 ((1/PI))) Calcular la cantidad mínima de información para representar
Aguila Padilla Luis Antonio