RESUMEN DEL LIBRO (parte 2 cap 1 )
1.3.2 Representación de valores numéricos
El almacenamiento de información como caracteres codificados es ineficiente cuando la información se registra como numérica pura. Sin embargo, si utilizamos notación binaria para almacenar enteros, el rango puede ir de 0 a 65.535 para números de 16 bits. Por consiguiente, la notación binaria es la más utilizada para el almacenamiento de datos numéricos codificados. El método práctico realizado por la computadora es que una vez definidos los datos numéricos de un programa, una rutina de la biblioteca del compilador del lenguaje de programación se encarga de transformar la cadena de caracteres que representa el número en su notación binaria.representación de enteros
La memoria ocupada por los tipos enteros depende del sistema, pero normalmente son dos, bytes .
1000 1110 0101 1011
Normalmente, se utiliza un bit para el signo. Los enteros sin signo al no tener signo pueden contener valores positivos más grandes. Normalmente, si un entero no se especifica «con/sin signo» se suele asignar con signo por defecto u omisión
representación de reales
Los números reales son aquellos que contienen una parte decimal como 2,6 y 3,14152. Los reales se representan
en notación científica o en coma flotante; por esta razón en los lenguajes de programación, como C++, se conocen
como números en coma flotante.
1.3.3 Representación De Imágenes
las imágenes se adquieren mediante periféricos especializados tales como escáneres, cámaras digitales de vídeo,
cámaras fotográficas, etc. Una imagen, al igual que otros tipos de información, se representa por patrones de bits,
generados por el periférico correspondiente. Existen dos métodos básicos para representar imágenes: mapas de bits
y mapas de vectores.0
1.3.4 Representación De Sonidos
El método más genérico de codificación de la información de audio para almacenamiento y manipulación en
computadora es mostrar la amplitud de la onda de sonido en intervalos regulares y registrar las series de valores obtenidos La señal de sonido se capta mediante micrófonos o dispositivos similares y produce una señal analógica que
puede tomar cualquier valor dentro de un intervalo continuo determinado.
1.4 Codificación de la Información.
Esto significa que esta información se construye a partir
de unidades contables llamadas dígitos.Una computadora no entiende palabras, números, dibujos ni notas musicales, ni incluso letras del alfabeto. De
hecho, sólo entienden información que ha sido descompuesta en bits. Un bit, o dígito binario, es la unidad más pequeña de información que una computadora puede procesar. Un bit puede tomar uno de dos valores: 0 y 1.
Por esta
razón las instrucciones de la máquina y los datos se representan en códigos binarios al contrario de lo que sucede en
la vida cotidiana en donde se utiliza el código o sistema decimal.
1.4.1. Sistemas de numeración
El sistema de numeración más utilizado en el mundo es el sistema decimal que tiene un conjunto de diez dígitos (0
al 9) y con la base de numeración 10. Así, cualquier número decimal se representa como una expresión aritmética
de potencias de base 10; por ejemplo, 1.492, en base 10, se representa por la cantidad:
1492 = 1.103 + 4.102 + 9.101 + 2.100 = 1.1000 + 4.100 + 9.10 + 2.1
1.5 Dispositivos de Almacenamiento Secundario
El almacenamiento secundario es no volátil y mantiene los datos y programas, incluso cuando se apaga la computadora. Las tecnologías de almacenamiento secundario más importantes son discos magnéticos, discos ópticos y cintas magnéticas. El dispositivo de almacenamiento secundario más común es la unidad de disco o disquetera, que sirve para alojar los discos. En ella se almacenan y recuperan datos y programas de un disco, transfiriendo los datos entre la memoria secundaria y la memoria principal.Esta información contenida en la memoria secundaria se conserva en unidades de almacenamiento denominadas archivos que pueden ser tan grandes como se desee. Se puede almacenar desde un programa, hasta un capítulo de un libro, un inventario de un almacén o un listado de clientes o cualquier otra unidad de información como música, archivos MP3, DivX, un correo electrónico, etc. Los resultados de los programas se pueden guardar como archivos de datos y los programas que se escriben se guardan como archivos de programas, ambos en la memoria auxiliar.
1.5.1. Discos Magnéticos.
Los discos son dispositivos formados por componentes electromagnéticos que permiten un acceso rápido a bloques físicos de datos. Los discos magnéticos se clasifican en disquetes , ya prácticamente en desuso, y discos duros . Los discos duros también llamados discos fijos se caracterizan por su gran capacidad de almacenamiento y porque normalmente se encuentran empotrados en la unidad física de la computadora. Las computadoras grandes utilizan múltiples discos duros ya que ellos requieren gran capacidad de almacenamiento que se mide en Gigabytes o en Terabytes.
Es posible ampliar el tamaño de los discos duros de una computadora, bien cambiándolos físicamente por otros de capacidad mayor o bien añadiendo otros a los existentes. Hoy día se comercializan numerosos discos duros transportables que se conectan fácilmente mediante los controladores USB que se verán posteriormente y que se comercializan con tamaños de centenares de MB hasta 1 y 2 TB.
Es posible ampliar el tamaño de los discos duros de una computadora, bien cambiándolos físicamente por otros de capacidad mayor o bien añadiendo otros a los existentes. Hoy día se comercializan numerosos discos duros transportables que se conectan fácilmente mediante los controladores USB que se verán posteriormente y que se comercializan con tamaños de centenares de MB hasta 1 y 2 TB.
1.5.2. Discos ópticos: CD-ROM y DVD
Los discos ópticos difieren de los tradicionales discos duros o discos magnéticos en que los primeros utilizan un haz
de láser para grabar la información. Son dispositivos de almacenamiento que utilizan la misma tecnología que los
dispositivos compactos de audio para almacenar información digital.
El CD-ROM (el cederrón)13 (Compact Disk-Read Only Memory,
Disco compacto - Memoria de solo lectura)
Estos discos son el medio ideal para almacenar información de forma masiva que no necesita ser actualizada con
frecuencia (dibujos, fotografías, enciclopedias...). La llegada de estos discos al mercado hizo posible el desarrollo de
la multimedia, es decir, la capacidad de integrar medios de todo tipo (texto, sonido e imágenes). Permiten almacenar
650 o 700 Megabytes de información. En la actualidad son muy económicos, alrededor de medio euro (medio dólar).
Estos discos son de sólo lectura, por lo que sólo se pueden grabar una vez. Estos discos conocidos como CD-R o
CD+R son cada día más populares y han sustituido a los disquetes de 3,5"
DVD (Digital Versatile Disc): Videodisco digital (DVD-+RW, DVD
de alta capacidad de almacenamiento: HD DVD y Blu-ray)
Este disco óptico nació en 1995, gracias a un acuerdo entre los grandes fabricantes de electrónica de consumo, estudios de cine y de música (Toshiba, Philips, Hitachi, JVC, etc.). Son dispositivos de alta capacidad de almacenamiento, interactivos y con total compatibilidad con los medios existentes. Tiene además una gran ventaja: su formato
sirve tanto para las computadoras como para los dispositivos de electrónica de consumo. El DVD es capaz de almacenar hasta 26 CD con una calidad muy alta y con una capacidad que varía, desde los 4,7 GB del tipo de una cara y
una capa hasta los 17 GB del de dos caras y dos capas, o lo que es igual, el equivalente a la capacidad de 7 a 26 CD
convencionales. Estas cifras significan que se pueden almacenar en uno de estos discos una película completa en
diferentes idiomas e incluso subtítulos.
1.5.3. Discos y memorias Flash USB
Los chips de memoria flash, similares a los chips de RAM, son unos chips con una tecnología especial, flash, en los que se puede escribir y borrar rápida y repetidamente, pero al contrario que las memorias RAM, las memorias flash no son volátiles y se puede mantener su contenido sin alimentación eléctrica.
Hoy día, finales de 2007, es relativamente fácil encontrar tarjetas de memorias flash o lápices USB de 1 GB a 8 GB por precios muy asequibles y la tendencia es aumentar la cantidad de memoria que almacena y reducción del precio.
Asimismo los discos duros externos con conexiones mediante USB se comercializan con tamaños de memoria de cientos de GB hasta Terabytes .
Este disco o memoria se puede conectar a cualquier PC de escritorio o portátil que disponga de una conexión USB . Se comercializa por muchos fabricantes16 y se han convertido en el medio más económico y práctico para llevar archivos de cualquier tipo e incluso hasta programas como copias de seguridad.
Hoy día, finales de 2007, es relativamente fácil encontrar tarjetas de memorias flash o lápices USB de 1 GB a 8 GB por precios muy asequibles y la tendencia es aumentar la cantidad de memoria que almacena y reducción del precio.
Asimismo los discos duros externos con conexiones mediante USB se comercializan con tamaños de memoria de cientos de GB hasta Terabytes .
Este disco o memoria se puede conectar a cualquier PC de escritorio o portátil que disponga de una conexión USB . Se comercializa por muchos fabricantes16 y se han convertido en el medio más económico y práctico para llevar archivos de cualquier tipo e incluso hasta programas como copias de seguridad.
Los dispositivos de entrada y de salida permiten la comunicación entre las personas y la UCP. Entre otras cosas un ratón se utiliza para apuntar, moverse por la pantalla y elegir una lista de opciones visualizadas en la pantalla. El dispositivo fue bautizado como ratón porque se conecta a la computadora por un largo cable y el conjunto se asemeja a un ratón. El puntero en la pantalla se conoce como cursor o sprite.
Moviéndose con el ratón de modo que el cursor apunte a una región específica de la pantalla y haciendo clic en el botón del ratón, se puede señalar a la computadora para que realice la orden indicada en la opción del menú.
Moviéndose con el ratón de modo que el cursor apunte a una región específica de la pantalla y haciendo clic en el botón del ratón, se puede señalar a la computadora para que realice la orden indicada en la opción del menú.
Un dispositivo de salida es cualquier dispositivo que permite a una computadora pasar información al usuario. El dispositivo de salida por excelencia es la pantalla de presentación, también llamada monitor o terminal. Otro dispositivo de salida muy usual es la impresora para producir salidas impresas en papel. Al teclado y la pantalla integrados se les suele conocer también como terminal o VDT .
El monitor, conocido también como CRT funciona igual que un aparato de televisión. El monitor está controlado por un dispositivo de salida denominado tarjeta gráfica. Las tarjetas gráficas envían los datos para ser visualizados en el monitor con un formato que el monitor puede manipular. Las características más importantes del monitor y la tarjeta gráfica son la velocidad de refresco, la resolución y el número de colores soportados.
La velocidad de refresco es la velocidad a la cual la tarjeta gráfica actualiza la imagen en la pantalla. La resolución es el número de puntos por pulgada que se pueden visualizar a lo largo de la pantalla. La tarjeta gráfica almacena la información en la pantalla para cada píxel en su propia memoria. La tarjeta gráfica debe almacenar la información del color para visualizar cada píxel en la pantalla.
Las interacciones con un teclado, la pantalla o la impresora tienen lugar en el idioma español, el inglés o cualquier otro como el catalán. Eso significa que en la jerga informática cuando se pulsa la letra C en un teclado se produce que una letra C vaya a la pantalla del monitor, o a una impresora y allí se visualice o se imprima como una letra C. Cada dispositivo tiene su propio conjunto de códigos pero los códigos construidos para un dispositivo no son necesariamente los mismos códigos construidos para otros dispositivos. Algunos caracteres, especialmente caracteres tales como tabulaciones, avances de línea o de página y retornos de carro son manipulados de modo diferente por dispositivos diferentes e incluso por piezas diferentes de sistemas software que corren sobre el mismo dispositivo.
El monitor, conocido también como CRT funciona igual que un aparato de televisión. El monitor está controlado por un dispositivo de salida denominado tarjeta gráfica. Las tarjetas gráficas envían los datos para ser visualizados en el monitor con un formato que el monitor puede manipular. Las características más importantes del monitor y la tarjeta gráfica son la velocidad de refresco, la resolución y el número de colores soportados.
La velocidad de refresco es la velocidad a la cual la tarjeta gráfica actualiza la imagen en la pantalla. La resolución es el número de puntos por pulgada que se pueden visualizar a lo largo de la pantalla. La tarjeta gráfica almacena la información en la pantalla para cada píxel en su propia memoria. La tarjeta gráfica debe almacenar la información del color para visualizar cada píxel en la pantalla.
Las interacciones con un teclado, la pantalla o la impresora tienen lugar en el idioma español, el inglés o cualquier otro como el catalán. Eso significa que en la jerga informática cuando se pulsa la letra C en un teclado se produce que una letra C vaya a la pantalla del monitor, o a una impresora y allí se visualice o se imprima como una letra C. Cada dispositivo tiene su propio conjunto de códigos pero los códigos construidos para un dispositivo no son necesariamente los mismos códigos construidos para otros dispositivos. Algunos caracteres, especialmente caracteres tales como tabulaciones, avances de línea o de página y retornos de carro son manipulados de modo diferente por dispositivos diferentes e incluso por piezas diferentes de sistemas software que corren sobre el mismo dispositivo.
Nuevos dispositivos de E/S móviles
Los sistemas de transmisión de datos que envían señales a través del aire o del espacio sin ninguna atadura física se han vuelto una alternativa fiable a los canales cableados tradicionales tales como el cable de cobre, cable coaxial o de fibra óptica. Hoy en programación se utilizan como dispositivos de E/S, teléfonos inteligentes , asistentes digitales personales, PDA y redes de datos móviles.
Los nuevos modelos de teléfonos digitales pueden manejar correo voz, correo electrónico y faxes, almacenan direcciones, acceden a redes privadas corporativas y a información de Internet. Pueden incorporar17 telecomunicaciones inalámbricas y software de organización del trabajo de oficina o para ayuda al estudio.
Los nuevos modelos de teléfonos digitales pueden manejar correo voz, correo electrónico y faxes, almacenan direcciones, acceden a redes privadas corporativas y a información de Internet. Pueden incorporar17 telecomunicaciones inalámbricas y software de organización del trabajo de oficina o para ayuda al estudio.
1.6. CONECTORES DE DISPOSITIVOS DE E/S
Los dispositivos de E/S no se pueden conectar directamente a la UCP y la memoria, dada su diferente naturaleza. Los dispositivos de E/S son dispositivos electromecánicos, magnéticos u ópticos que además funcionan a diferentes velocidades, la UCP y la memoria son dispositivos electrónicos. Por otra parte los dispositivos de E/S operan a una velocidad mucho más lenta que la UCP/memoria. Los controladores de hardware más utilizados presentan al exterior conectores donde se enchufan o conectan los diferentes dispositivos.
Los sistemas operativos modernos como Windows XP reconocen automáticamente los dispositivos de E/S tan pronto se conectan a la computadora.
Los sistemas operativos modernos como Windows XP reconocen automáticamente los dispositivos de E/S tan pronto se conectan a la computadora.
1.6.1. Puertos serie y paralelo
El PC está equipado con puertos serie y paralelo. El puerto serie (como mínimo suele tener dos) es un conector macho de la parte trasera o lateral del PC con 9 o 25 clavijas, aunque sólo suelen utilizarse 3 o 4 para la transmisión en
serie.
1.6.2. USB
USB son las siglas de Universal Serial Bus y corresponden a un bus estándar de E/S que desarrollaron originalmente varias empresas, entre ellas Compaq, Digital, IBM, Intel, Microsoft, NEC y Northern Telecom19.
El objetivo del USB conseguido es reunir las diferentes conexiones del teclado, el ratón, el escáner, el joystick, la cámara digital, impresora, disco duro, etc., en un bus compartido conectado a través de un tipo de conector común.
Otra gran ventaja es también su compatibilidad con computadoras Macintosh. USB 2.0 es compatible con los conectores 1.1 y no siempre sucede igual al revés. Otra gran ventaja es que ya se fabrican distribuidores que permiten conectar numerosos dispositivos USB a un único bus USB.
1.6.3. Bus IEEE Firewire – 1394
El bus IEEE 1394 (firewire) es una nueva interfaz SCSI (un bus antiguo pero avanzado utilizado para discos duros,
unidades de CD-ROM, escáneres y unidades de cinta). Es un bus serie de alta velocidad con una velocidad de transferencia máxima de 400 Mbps patentado por Apple.
Las computadoras Apple y Sony
suelen venir con puertos firewire, y ya comienza a ser usual que los PC incluyan al menos un puerto firewire. Las
actuales videocámaras digitales y otros dispositivos de audio e imagen suelen incorporar conectores firewire.
1.7. REDES, WEB Y WEB 2.0
Hoy día las computadoras autónomas prácticamente no se utilizan y están siendo reemplazadas hasta en los hogares y en las pequeñas empresas, por redes de computadoras. Una red es un conjunto de computadoras conectadas entre sí para compartir recursos. Al contrario que una gran computadora que es una única computadora compartida por muchos usuarios, una red consta de muchas computadoras que comparten recursos.
Se pueden conectar a una red de datos o enviar correo electrónico a través de las redes corporativas Intranet/Extranet o la propia red Internet. También es posible enviar y recibir mensajes de fax.
Se pueden conectar a una red de datos o enviar correo electrónico a través de las redes corporativas Intranet/Extranet o la propia red Internet. También es posible enviar y recibir mensajes de fax.
El uso de múltiples computadoras enlazadas por una red de comunicaciones para distribuir el proceso se denomina proceso distribuido en contraste con el proceso centralizado en el cual todo el proceso se realiza por una computadora central. La red WAN más conocida y popular en la actualidad es la red Internet que está soportada por la World Wide Web.
Una de las posibilidades más interesantes de las computadoras es la comunicación entre ellas cuando se encuentran en sitios separados físicamente y se encuentran enlazadas por vía telefónica. Estas computadoras se conectan en redes LAN y WAN , aunque hoy día las redes más implantadas son las redes que se conectan con tecnología Internet y por tanto conexión a la Red Internet.
1.7.1. Redes P2P, igual-a-igual (peer-to-peer, P2P)
Otra forma de sistema distribuido es la computación P2P 20 (peer-to-peer) que es un sistema que enlaza las computadoras vía Internet o redes privadas de modo que pueden compartir tareas de proceso. El modelo P2P se diferencia
del modelo de red cliente/servidor en que la potencia de proceso reside sólo en las computadoras individuales de
modo que trabajan juntos colaborando entre sí, pero sin un servidor o cualquier otra computadora que los controle.
1.7.2. Aplicaciones de las redes de comunicaciones
Esta actividad es posible a través del uso de redes, con cables físicos , junto con transmisiones electrónicas, sin cables mediante teléfonos móviles o celulares, redes inalámbricas o tecnologías Bluetooth. Existen muchos tipos de redes. Una red global, tal como Internet, que se expande a distancias mucho mayores y conecta centenares o millares de máquinas que, a su vez, se unen a redes más pequeñas a través de computadoras pasarela . Estas redes se suelen conocer normalmente como redes Intranet y en realidad son redes corporativas o institucionales que utilizan tecnología Internet y que por consiguiente pueden enlazarse con otras redes de compañías socias, clientes, amigas, etc., y todo tipo de posibles clientes personales e institucionales sin necesidad de que estos a su vez formen una red.
Otro uso típico de redes es la comunicación.
Otro uso típico de redes es la comunicación.
1.7.3. Módem
El módem es un dispositivo periférico que permite intercambiar información entre computadoras a través de una línea
telefónica. El módem es un acrónimo de Modulador-Demodulador, y es un dispositivo que transforma las señales
digitales de la computadora en señales eléctricas analógicas telefónicas y viceversa, con lo que es posible transmitir
y recibir información a través de la línea telefónica.
El módem convierte una señal analógica en señal digital, y viceversa.
Los modems permiten además de las conexiones entre computadoras, envío y recepción de faxes, acceso a Internet, etc.
Una de las características importantes de un módem es su velocidad; cifras usuales son 56 kilobaudios
(1 baudio es 1 bit por segundo, bps; 1Kbps son 1.000 baudios).
1.7.4. Internet y la World Wide Web
Internet, conocida también como la Red de Redes, se basa en la tecnología Cliente/Servidor. Las plataformas cliente incluyen PC y otras computadoras pero también un amplio conjunto de dispositivos electrónicos de mano tales como PDA, teléfonos móviles, consolas de juegos, etc., que acceden a Internet de modo inalámbrico a través de señales radio. La Web es un sistema de estándares aceptados universalmente para almacenamiento, recuperación, formateado y visualización de información, utilizando una arquitectura cliente/servidor. Se puede utilizar la Web para enviar, visualizar, recuperar y buscar información o crear una página Web.
La World Wide Web está constituida por millones de documentos enlazados entre sí, denominados páginas Web. Una página Web, normalmente, está construida por texto, imágenes, audio y vídeo, al estilo de la página de un libro. Una colección de páginas relacionadas, almacenadas en la misma computadora, se denomina sitio Web . Un sitio Web está organizado alrededor de una página inicial que sirve como página de entrada y punto de enlace a otras páginas del sitio.
En el párrafo siguiente se describe cómo se construye una página Web. Cada página Web tiene una dirección única, conocida como URL . El navegador Web está programado de acuerdo al estándar citado. Los documentos HTML, cuando, ya se han situado en Internet, se conocen como páginas Web y el conjunto de páginas Web pertenecientes a una misma entidad se conoce como sitio Web .
En los últimos años ha aparecido un nuevo lenguaje de marcación para formatos, heredero de HTML, y que se está convirtiendo en estándar universal, es el lenguaje XML.
En el párrafo siguiente se describe cómo se construye una página Web. Cada página Web tiene una dirección única, conocida como URL . El navegador Web está programado de acuerdo al estándar citado. Los documentos HTML, cuando, ya se han situado en Internet, se conocen como páginas Web y el conjunto de páginas Web pertenecientes a una misma entidad se conoce como sitio Web .
En los últimos años ha aparecido un nuevo lenguaje de marcación para formatos, heredero de HTML, y que se está convirtiendo en estándar universal, es el lenguaje XML.
1.8. EL SOFTWARE (LOS PROGRAMAS)
El software de una computadora es un conjunto de instrucciones de programa detalladas que controlan y coordinan los componentes hardware de una computadora y controlan las operaciones de un sistema informático. El auge de las computadoras el siglo pasado y en el actual siglo xxi, se debe esencialmente al desa rrollo de sucesivas generaciones de software potentes y cada vez más amistosas .
Existen dos tipos importantes de software: software del sistema y software de aplicaciones. Cada tipo realiza una función diferente.
El software del sistema es un conjunto generalizado de programas que gestiona los recursos de la computadora, tal como el procesador central, enlaces de comunicaciones y dispositivos periféricos. Los programadores que escriben software de aplicaciones se llaman programadores de aplicaciones.
Los dos tipos de software están relacionados entre sí, de modo que los usuarios y los programadores pueden hacer así un uso eficiente de la computadora. En la Figura 1.12 se muestra una vista organizacional de una computadora donde se ven los diferentes tipos de software a modo de capas de la computadora desde su interior hasta su exterior .
Existen dos tipos importantes de software: software del sistema y software de aplicaciones. Cada tipo realiza una función diferente.
El software del sistema es un conjunto generalizado de programas que gestiona los recursos de la computadora, tal como el procesador central, enlaces de comunicaciones y dispositivos periféricos. Los programadores que escriben software de aplicaciones se llaman programadores de aplicaciones.
Los dos tipos de software están relacionados entre sí, de modo que los usuarios y los programadores pueden hacer así un uso eficiente de la computadora. En la Figura 1.12 se muestra una vista organizacional de una computadora donde se ven los diferentes tipos de software a modo de capas de la computadora desde su interior hasta su exterior .
1.8.1. Software del sistema
El software del sistema coordina las diferentes partes de un sistema de computadora y conecta e interactúa entre el
software de aplicación y el hardware de la computadora. Otro tipo de software del sistema que gestiona, controla las
actividades de la computadora y realiza tareas de proceso comunes, se denomina utility o utilidades (en algunas
partes de Latinoamérica, utilerías). El software del sistema que gestiona y controla las actividades de la computadora se denomina sistema operativo. Otro software del sistema son los programas traductores o de traducción de
lenguajes de computadora que convierten los lenguajes de programación, entendibles por los programadores, en lenguaje máquina que entienden las computadoras.
1.8.2. Software de aplicación
El software de aplicación tiene como función principal asistir y ayudar a un usuario de una computadora para ejecutar tareas específicas. Los programas de aplicación se pueden desarrollar con diferentes lenguajes y herramientas de software. Los usuarios, normalmente, compran el software de aplicaciones en discos CD o DVD o los descargan de la Red Internet y han de instalar el software copiando los programas correspondientes de los discos en el disco duro de la computadora. Cuando compre estos programas asegúrese de que son compatibles con su computadora y con su sistema operativo.
Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario/máquina. Unos programas especiales llamados traductores convierten las instrucciones escritas en lenguajes de programación en instrucciones escritas en lenguajes máquina que ésta pueda entender. Los programas de utilidad22 facilitan el uso de la computadora. Los programas que realizan tareas concretas, nóminas, contabilidad, análisis estadístico, etc., es decir, los programas que podrá escribir en C, se denominan programas de aplicación.
A lo largo del libro se verán pequeños programas de aplicación que muestran los principios de una buena programación de computadora. Se debe diferenciar entre el acto de crear un programa y la acción de la computadora cuando ejecuta las instrucciones del programa. La creación de un programa se hace inicialmente en papel y a continuación se introduce en la computadora y se convierte en lenguaje entendible por la computadora.
Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario/máquina. Unos programas especiales llamados traductores convierten las instrucciones escritas en lenguajes de programación en instrucciones escritas en lenguajes máquina que ésta pueda entender. Los programas de utilidad22 facilitan el uso de la computadora. Los programas que realizan tareas concretas, nóminas, contabilidad, análisis estadístico, etc., es decir, los programas que podrá escribir en C, se denominan programas de aplicación.
A lo largo del libro se verán pequeños programas de aplicación que muestran los principios de una buena programación de computadora. Se debe diferenciar entre el acto de crear un programa y la acción de la computadora cuando ejecuta las instrucciones del programa. La creación de un programa se hace inicialmente en papel y a continuación se introduce en la computadora y se convierte en lenguaje entendible por la computadora.
1.8.3. Sistema operativo
Un sistema operativo SO es tal vez la parte más importante del software del sistema y es el software que controla y gestiona los recursos de la computadora. En la práctica el sistema operativo es la colección de programas de computadora que controla la interacción del usuario y el hardware de la computadora. El sistema operativo asigna recursos, planifica el uso de recursos y tareas de la computadora, y monitoriza las actividades del sistema informático. Estos recursos incluyen memoria, dispositivos de E/S , y la UCP.
1.8.3.1. Multiprogramación/Multitarea
a multiprogramación permite a múltiples programas compartir recursos de un sistema de computadora en cualquier
momento a través del uso concurrente una UCP. Sólo un programa utiliza realmente la UCP en cualquier momento
dado, sin embargo las necesidades de entrada/salida pueden ser atendidas en el mismo momento. Dos o más programas están activos al mismo tiempo, pero no utilizan los recursos de la computadora simultáneamente.
Con multiprogramación, un grupo de programas se ejecutan alternativamente y se alternan en el uso del procesador. Cuando se
utiliza un sistema operativo de un único usuario, la multiprogramación toma el nombre de multitarea.
1.8.3.2. Tiempo compartido (múltiples usuarios, time sharing)
Un sistema operativo multiusuario es un sistema operativo que tiene la capacidad de permitir que muchos usuarios
compartan simultáneamente los recursos de proceso de la computadora. Centenas o millares de usuarios se pueden
conectar a la computadora que asigna un tiempo de computador a cada usuario, de modo que a medida que se libera
la tarea de un usuario, se realiza la tarea del siguiente, y así sucesivamente. Dada la alta velocidad de transferencia
de las operaciones, la sensación es de que todos los usuarios están conectados simultáneamente a la UCP con cada
usuario recibiendo únicamente un tiempo de máquina.
1.8.3.3. Multiproceso
Un sistema operativo trabaja en multiproceso cuando puede enlazar dos o más UCP para trabajar en paralelo en un
único sistema de computadora. El sistema operativo puede asignar múltiples UCP para ejecutar diferentes instrucciones
del mismo programa o de programas diferentes simultáneamente, dividiendo el trabajo entre las diferentes UCP
1.9. LENGUAJES DE PROGRAMACIÓN
Un programa se escribe en un lenguaje de programación y las operaciones que conducen a expresar un algoritmo en forma de programa se llaman programación. Así pues, los lenguajes utilizados para escribir programas de computadoras son los lenguajes de programación y programadores son los escritores y diseñadores de programas. El proceso de traducir un algoritmo en pseudocódigo a un lenguaje de programación se denomina codificación, y el algoritmo escrito en un lenguaje de programación se denomina código fuente.
• Instrucciones de entrada/salida. Instrucciones de transferencia de información entre dispositivos periféricos y
la memoria central, tales como "leer de..." o bien "escribir en...".
• Instrucciones de cálculo. Instrucciones para que la computadora pueda realizar operaciones aritméticas.
• Instrucciones de control. Instrucciones que modifican la secuencia de la ejecución del programa.
Además de estas instrucciones y dependiendo del procesador y del lenguaje de programación existirán otras que
conformarán el conjunto de instrucciones y junto con las reglas de sintaxis permitirán escribir los programas de las
computadoras. Los principales tipos de lenguajes de programación son:
• Lenguajes máquina.
• Lenguajes de bajo nivel (ensambladores).
• Lenguajes de alto nivel
1.9.1. Traductores de lenguaje: el proceso de traducción de un programa
El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un lenguaje máquina comprensible por la computadora, se realiza mediante programas llamados “traductores”. Los traductores de lenguaje son
programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los
traductores se dividen en compiladores e intérpretes.
1.9.2. La compilación y sus fases
La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido
de la compilación ha sido traducido normalmente a código máquina.
El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador suele tener los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (por ejemplo, un
disco).
2. Introducir el programa fuente en memoria.
En la década de los cuarenta cuando nacían las primeras computadoras digitales el lenguaje que se utilizaba para
programar era el lenguaje máquina que traducía directamente el código máquina (código binario) comprensible para
las computadoras. Las instrucciones en lenguaje máquina dependían de cada computadora y debido a la dificultad de
su escritura, los investigadores de la época simplificaron el proceso de programación desarrollando sistemas de notación en los cuales las instrucciones se representaban en formatos nemónicos (nemotécnicos) en vez de en formatos
numéricos que eran más difíciles de recordar.
Por ejemplo, mientras la instrucción
Mover el contenido del registro 4 al registro 8
se podía expresar en lenguaje máquina como
4048 o bien 0010 0000 0010 1000
en código nemotécnico podía aparecer como
MOV R5, R6
En la década de los cincuenta y sesenta comenzaron a desarrollarse lenguajes de programación de tercera generación que diferían de las generaciones anteriores en que sus instrucciones o primitivas eran de alto nivel e independientes de la máquina. Estos lenguajes se llamaron lenguajes de alto nivel. Los lenguajes de programación de alto nivel se componen de un conjunto de instrucciones o primitivas más fáciles de escribir y recordar su función que los lenguajes máquina y ensamblador. También surgió una alternativa a los traductores compiladores como medio de implementación de lenguajes de tercera generación que se denominaron intérpretes23.
Es decir, en vez de producir una copia de un programa en lenguaje máquina que se ejecuta más tarde , un intérprete ejecuta realmente un programa desde su formato de alto nivel, instrucción a instrucción. Sin embargo, en el aprendizaje de programación se suele comenzar también con el uso de los lenguajes algorítmicos, similares a los lenguajes naturales, mediante instrucciones escritas en pseudocódigo que son palabras o abreviaturas de palabras escritas en inglés, español, portugués, etc. Posteriormente se realiza la conversión al lenguaje de alto nivel que se vaya a utilizar realmente en la computadora, tal como C, C++ o Java.
Es decir, en vez de producir una copia de un programa en lenguaje máquina que se ejecuta más tarde , un intérprete ejecuta realmente un programa desde su formato de alto nivel, instrucción a instrucción. Sin embargo, en el aprendizaje de programación se suele comenzar también con el uso de los lenguajes algorítmicos, similares a los lenguajes naturales, mediante instrucciones escritas en pseudocódigo que son palabras o abreviaturas de palabras escritas en inglés, español, portugués, etc. Posteriormente se realiza la conversión al lenguaje de alto nivel que se vaya a utilizar realmente en la computadora, tal como C, C++ o Java.
1.9.4. Paradigmas de programación
En realidad un paradigma de programación representa fundamentalmente enfoques diferentes para la construcción de soluciones a problemas y por consiguiente afectan al proceso completo de desarrollo de software.
1.10. BREVE HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN
a historia de la computación ha estado asociada indisolublemente a la aparición y a la historia de lenguajes de programación de computadoras26. La Biblia de los lenguajes ha sido una constante en el desarrollo de la industria del
software y en los avances científicos y tecnológicos.
Desde el año 1642 en que Blaise Pascal, inventó La Pascalina,
una máquina que ayudaba a contar mediante unos dispositivos de ruedas, se han sucedido numerosos inventos que
han ido evolucionando, a medida que se programaban mediante códigos de máquina, lenguajes ensambladores, hasta llegar a los lenguajes de programación de alto nivel en los que ya no se dependía del hardware de la máquina sino
de la capacidad de abstracción del programador y de la sintaxis, semántica y potencia del lenguaje.
En la década de los cincuenta, IBM diseñó el primer lenguaje de programación comercial de alto nivel y concebido para resolver problemas científicos y de ingeniería (FORTRAN, 1954).
Todavía hoy, muchos científicos e ingenieros siguen utilizando FORTRAN en sus versiones más recientes FORTRAN 77 y FORTRAN 90. En 1959, la
doctora y almirante, Grace Hopper, lideró el equipo que desarrolló COBOL, el lenguaje por excelencia del mundo
de la gestión y de los negocios hasta hace muy poco tiempo; aunque todavía el mercado sigue demandando programadores de COBOL ya que numerosas aplicaciones comerciales siguen corriendo en este lenguaje.
Programación de la Web
Si después o en paralelo de su proceso de aprendizaje en fundamentos y metodología de la programación desea practicar no sólo con un lenguaje tradicional como Pascal, C, C++, Java o C#, sino introducirse en lenguajes de programación para la Web, enumeramos a continuación los más empleados en este campo.
Los programadores pueden utilizar una amplia variedad de lenguajes de programación, incluyendo C y C++ para
escribir aplicaciones Web. Sin embargo, algunas herramientas de programación son, particularmente, útiles para desarrollar aplicaciones Web.
• HTML, técnicamente es un lenguaje de descripción de páginas más que un lenguaje de programación. Es el
elemento clave para la programación en la Web.
• JavaScript, es un lenguaje interpretado de guionado (scripting) que facilita a los diseñadores de páginas Web
añadir guiones a páginas Web y modos para enlazar esas páginas.
• VBScript, la respuesta de Microsoft a JavaScript basada en VisualBasic.
• Java, lenguaje de programación, por excelencia, de la Web.
• ActiveX, lenguaje de Microsoft para simular a algunas de las características de Java.
• C#, el verdadero competidor de Java y creado por Microsoft.
• Perl, lenguaje interpretado de guionado (scripting) idóneo para escritura de texto.
• XML, lenguaje de marcación que resuelve todas las limitaciones de HTML y ha sido el creador de una nueva
forma de programar la Web. Es el otro gran lenguaje de la Web.
• AJAX, es el futuro de la Web. Es una mezcla de JavaScript y XML. Es la espina dorsal de la nueva generación
Web 2.0