Está en la página 1de 19

FUNDAMENTOS DEL SOFTWARE

El fantasma de la máquina

2-11-2013
INDICE
COMIDA COMO IDEA.......................................................................................................................................................5
EL LENGUAJE DE LAS COMPUTADORAS...........................................................................................................................5
DOCUMENTACIÓN...........................................................................................................................................................7
ACTUALIZACIÓN...............................................................................................................................................................7
COMPATIBILIDAD.............................................................................................................................................................7
LICENCIA.......................................................................................................................................................................... 8
COMUNICACIÓN CON LOS PERIFÉRICOS........................................................................................................................10
MONITORIZACIÓN DE LOS RECURSOS, CONTABILIZACIÓN Y SEGURIDAD......................................................................11
COORDINACIÓN DE LAS COMUNICACIONES DE UNA RED.............................................................................................11
PROGRAMAS DE UTILIDAD Y CONTROLADORES DE DISPOSITIVO..................................................................................11
¿DÓNDE VIVE EL SISTEMA OPERATIVO?........................................................................................................................12
LA INTERFAZ DE USUARIO: LA CONEXIÓN HOMBRE-MÁQUINA.....................................................................................12
ADMINISTRACIÓN DE FICHEROS: ¿DÓNDE ESTÁN MIS COSAS?.....................................................................................14
INTRODUCCIÓN

El lenguaje de las computadoras es un tema fundamental en la informática

moderna. En este contexto, los sistemas operativos y los lenguajes de

programación desempeñan un papel esencial en la interacción entre las personas

y las máquinas. Los lenguajes de programación de alto nivel han simplificado la

escritura de software, permitiendo a los programadores comunicarse con las

computadoras de una manera más comprensible. Los sistemas operativos, por otro

lado, actúan como el intermediario que facilita la ejecución de programas y la

gestión de recursos de hardware.

A lo largo de este texto, se exploran temas cruciales como la

evolución de los lenguajes de programación, la distribución de software,

la importancia de la documentación y la seguridad en la programación.

También se destacan los sistemas operativos multiusuario como UNIX y

Linux, que se utilizan en una variedad de entornos, desde servidores

hasta dispositivos móviles.

En última instancia, comprender el lenguaje de las computadoras y

cómo los sistemas operativos interactúan con el hardware y el software

es esencial para aprovechar al máximo la tecnología informática en

nuestra vida cotidiana y en el mundo empresarial.


RESUMEN

Comienza destacando el uso generalizado de lenguajes de programación de

alto nivel, como C++, C#, Java y Visual Basic, que facilitan la

programación al permitir a los programadores utilizar una terminología

más comprensible en lugar de instrucciones en lenguaje de máquina. Para

que las computadoras comprendan estos lenguajes, se utilizan programas

traductores, como los compiladores.

Señala que los lenguajes de programación han evolucionado, simplificando

el proceso de codificación y ocultando muchas tareas técnicas al

programador, lo que reduce los errores y hace que la programación sea

más accesible.

Aunque muchas tareas ahora se realizan a través de aplicaciones fáciles

de usar, la programación sigue siendo esencial para resolver problemas

que no se pueden abordar con software convencional. La programación

suele ser realizada por desarrolladores de software profesionales,

quienes crean aplicaciones para el uso del público en general.

También aborda temas como documentación, actualización, compatibilidad y

licencias en el contexto del software. Destaca que la programación es

costosa debido a su complejidad.

Además, menciona aspectos relacionados con la distribución de software,

incluyendo la venta en tiendas, catálogos de venta por correo y sitios

web, así como la disponibilidad de software de dominio público y

shareware.

Explora el uso de aplicaciones y cómo las aplicaciones populares

permiten a las personas realizar tareas que serían difíciles de lograr

con herramientas convencionales. Se mencionan las suites de software


integradas y cómo facilitan las tareas al ofrecer aplicaciones diseñadas

para trabajar juntas.

Luego, se describen aspectos clave de los sistemas operativos, como la

comunicación con periféricos, la coordinación de trabajos concurrentes,

la administración de la memoria, la monitorización de recursos y la

seguridad. También se aborda la importancia de los controladores de

dispositivo y los programas de utilidad.

El texto concluye con una discusión sobre sistemas operativos de

sobremesa, incluyendo ejemplos como Windows y Mac OS. También se

mencionan sistemas operativos multiusuario como UNIX y Linux, así como

la importancia de la plataforma en la que se ejecutan las aplicaciones.

En resumen, ofrece una visión general de la programación, los sistemas

operativos y el software en la informática moderna, destacando su

evolución y su papel en la interacción entre los usuarios y las

computadoras.
COMIDA COMO IDEA

El jefe informático de nuestra imaginaria cocina, actúa como la

CPU, esperando las peticiones de los usuarios/clientes. Cuando alguien

suministra un comando de entrada el jefe informático responde siguiendo

las instrucciones de la receta correspondiente. Como ya habrá

supuesto, la receta es el software. Contiene las instrucciones

necesarias para que el hardware produzca la salida solicitada por el

usuario.

En caso de que las instrucciones no sean claras, o si el software

tiene errores, o bugs, la salida puede no ser la que el usuario

desea. El paso 1 dice que las patatas deben cortarse en rodajas

finas, pero si no se especifica nada más, el jefe informático podría

cortarlas sin haberlas pelado antes. Por tanto, el jefe informático

debería saber está condición. No se olvide que nuestro cocinero, como

cualquier buena computadora, sólo sigue las instrucciones que se le dan.

EL LENGUAJE DE LAS COMPUTADORAS

Hoy en día, la mayoría de programadores emplean lenguajes de

programación como C++, C#, Java o Visual Basic. Estos

lenguajes, llamados lenguajes de alto nivel, posibilitan que los

científicos, ingenieros y público en general resuelvan sus problemas

mediante una terminología familiar, en lugar de usar enigmáticas

instrucciones máquina. Para que una computadora entienda un programa

escrito en uno de estos lenguajes, es preciso convertirlo al idioma de

las máquinas, es decir, a unos y ceros. El programa traductor más común

es el compilador, cuya misión es convertir un programa completo escrito

en un lenguaje de alto nivel antes de que se ejecute por primera vez.


El programa compilado puede ejecutarse una y otra vez, y sólo

deberá recompilarse en el caso de que se modifique alguna

instrucción. Los lenguajes de programación han evolucionado con paso

firme durante las dos últimas décadas. Cada nueva generación de

lenguajes facilita el proceso de codificación, asumiendo y ocultando al

programador muchas de las tareas propias de la máquina. Como

resultado, la programación es más sencilla y menos propensa a los

errores.

A medida que los traductores se vuelven más sofisticados, los

programadores pueden comunicarse con la computadora en un lenguaje más

próximo a los lenguajes naturales. Aun con la ayuda de estos

lenguajes, la programación es una tarea que precisa de una gran

inversión de tiempo y de intensidad de pensamiento. Por suerte, muchos

de los procesos que dos décadas atrás precisaban de programación, ahora

son llevados a cabo por hojas de cálculo, programas gráficos y por otra

serie de aplicaciones fáciles de usar. Los lenguajes de programación se

emplean para resolver los problemas que no pueden solucionarse gracias

al software convencional aunque, virtualmente, todos los trabajos de los

usuarios podrían hacerse sin necesidad de programación.

La programación hoy en día la suelen realizar los desarrolladores

de software profesional, los cuales emplean lenguajes de programación

para crear y refinar las aplicaciones que el resto de los mortales

empleamos. Las aplicaciones de software permiten a los usuarios

controlar sus computadoras sin pensar del mismo modo que los

programadores.
DOCUMENTACIÓN

Cualquier paquete de software debe incluir documentación impresa

con las instrucciones a seguir para su instalación en el disco duro de

la computadora. Muchas compañías de software han sustituido estos

documentos impresos por tutoriales, materiales de referencia y ficheros

de ayuda que aparecen en la pantalla a petición del usuario. Muchos

programas son tan fáciles de usar que pueden ponerse en marcha sin

necesidad de leer la documentación.

ACTUALIZACIÓN

La mayoría de empresas de software trabajan en la mejora de sus

productos, eliminando fallos y añadiendo nuevas características. Como

resultado de ello, es frecuente que aparezcan nuevas versiones de los

programas más populares cada uno o dos años. Para distinguir cada una de

estas versiones, los nombres de los programas suelen ir seguidos por el

número de versión, como 7.0 en Photoshop 7.0. Sin embargo, no todo el

software sigue este convenio lógico.

COMPATIBILIDAD

El comprador de cualquier software debe preocuparse de los temas de

compatibilidad. Aunque no de forma general, también existen los

estándares universales de software en el mundo informático, pero un

programa escrito para un tipo de computadora puede que no funcione en

otro. Los paquetes de software contienen etiquetas con mensajes como

«Precisa Windows 9x, Me o XP con 128 MB de RAM».


LICENCIA

Cuando se adquiere cualquier paquete de software, usted realmente

no está comprando ese software sino una licencia para usar el

programa, generalmente en una sola máquina. Aunque las licencias de

usuario final varían de una compañía a otra, la mayoría incluyen

limitaciones en cuanto a los derechos de copia de los discos, la

instalación del software en los discos duros y la transferencia de

información entre usuarios. Muchas compañías ofrecen licencias

corporativas, las cuales permiten utilizar el software a toda una

empresa, un colegio o a instituciones gubernamentales. Existen incluso

empresas que alquilan software a clientes corporativos y a los

gobiernos.

Al ser la programación una tarea tan complicada, el desarrollo de

software es caro.

DISTRIBUCIÓN

El software se distribuye directamente desde el fabricante a las

empresas y otro tipo de instituciones, mientras que el cliente normal lo

adquiere en tiendas especializadas, librerías y tiendas de este

tipo. Muchos programas son vendidos mediante catálogos de venta por

correo y sitios web. Los sitios web, los grupos de usuarios y otro tipo

de fuentes ofrecen con frecuencia software de dominio público y

shareware junto con versiones de demostración de programas

comerciales. A diferencia del software comercial registrado, los


programas de dominio publico, el shareware y las versiones demo pueden

copiarse legalmente y distribuirse libremente.

¿POR QUÉ USAMOS APLICACIONES?

De hecho, el rápido crecimiento de la industria de software ha

producido una gran cantidad de programas que han vendido millones de

copias. Un programa de dibujo convierte la pantalla en una hoja de papel

y una colección de herramientas de dibujo. El software de edición de

vídeo sitúa en pantalla los familiares controles de un vídeo. Pero si

estos programas solamente copiaran a sus equivalentes en la vida

real, la gente no se habría decidido a utilizarlos.

Los programas más populares permiten que las personas realicen

cosas que no pueden llevarse a cabo de una manera sencilla o, en todo

caso, con herramientas convencionales. Un artista que use un programa de

gráficos puede fácilmente cambiar el color del pelo de una imagen y

volver atrás si el resultado no es el adecuado. Y las posibilidades

abiertas gracias al software de edición de vídeo van más allá de nuestra

imaginación.

APLICACIONES INTEGRADAS Y SUITES.

Aunque la mayoría de los paquetes de software están especializados

en una aplicación particular, como un procesador de textos o la edición

fotográfica, los paquetes de software integrado de bajo precio incluyen

varias aplicaciones diseñadas para trabajar juntas. Aplican un aspecto y

comportamiento similar a todas sus aplicaciones para que el usuario no

tenga que aprenderse distintos comandos y técnicas para realizar

diferentes tareas.
Entre los programas principales de Microsoft Office podemos citar

Microsoft Word, Excel, PowerPoint, Access y Outlook. El precio de una

suite como Microsoft Office es generalmente inferior al que tendrían

todos los programas por separado, pero mucho mayor que el de un paquete

integrado como Microsoft Works.

COMUNICACIÓN CON LOS PERIFÉRICOS

El sistema operativo de una computadora incluye programas que se

comunican de forma transparente con estos periféricos.

COORDINACIÓN DE LOS TRABAJOS CONCURRENTES

La computadora se beneficia del tiempo de inactividad de un proceso

para trabajar con otro programa. Cualquier computadora de tiempo

compartido utiliza el procesamiento concurrente cuando varios usuarios

están conectados al sistema. La máquina se mueve rápidamente de un

terminal a otro, comprobando la entrada y procesando los datos de cada

usuario por turno. Si un PC tiene capacidades multitarea, el usuario

puede lanzar un comando que inicie un proceso y seguir trabajando con

otras aplicaciones mientras la computadora ejecuta dicho comando.

ADMINISTRACIÓN DE LA MEMORIA

Cuando varios trabajos se están procesando de manera

concurrente, el sistema operativo debe controlar el modo en el que se

está usando la memoria de la computadora y asegurarse de que ningún

trabajo invade el espacio de otro. Gracias al sistema operativo, este

fragmento del disco se ve como si fuera la propia memoria de la

máquina, aunque el tiempo de acceso es considerablemente más lento que


en el caso de la memoria propiamente dicha.

MONITORIZACIÓN DE LOS RECURSOS, CONTABILIZACIÓN Y SEGURIDAD

Cada usuario suele estar identificado con un nombre y una

contraseña, lo que permite al sistema monitorizar y contabilizar estos

consumo de forma individual. Incluso en entornos en los que la

facturación no es un problema, el sistema operativo debe monitorizar los

recursos para asegurar la privacidad y seguridad de los datos de cada

usuario.

COORDINACIÓN DE LAS COMUNICACIONES DE UNA RED

Pero los más modernos ya están diseñados para servir como puentes a

las redes, desde la oficina a Internet, por lo que el proceso de

networking es un rasgo fundamental de cualquiera de estos sistemas

operativos. Estas funciones de comunicación de red se describen con más

detalle en sucesivos capítulos.

PROGRAMAS DE UTILIDAD Y CONTROLADORES DE DISPOSITIVO

Incluso los mejores sistemas operativos dejan algunas de sus tareas

en manos de otros programas o en el usuario. Los programas de utilidad

sirven como herramientas de mantenimiento del sistema y reparan todo

aquello que el propio sistema operativo no es capaz de hacer por sí

mismo. El sistema operativo es capaz de invocar directamente a muchos

programas de utilidad, por lo que aparecen ante el usuario como parte de

él. Una vez que uno de estos controladores está instalado, funciona como

un intermediario a la sombra que se pone en funcionamiento siempre que

un usuario solicita imprimir un documento en dicha impresora.


Algunos programas de utilidad están incluidos en el sistema

operativo.

¿DÓNDE VIVE EL SISTEMA OPERATIVO?

Algunas computadoras (incluyendo las de juegos, las de bolsillo y

las de propósito específico) tienen sus sistemas operativos almacenados

permanentemente en ROM (Memoria de sólo-lectura, Read-Only Memory), de

modo que están operativas desde el mismo momento en que se encienden.

Pero la inmensa mayoría de máquinas, incluyendo los modernos PC, sólo

incluyen en ROM una pequeña parte del sistema operativo. La mayor parte

del tiempo, el sistema operativo trabaja a la sombra sin que el usuario

se dé cuenta de ello. Por ejemplo, durante el proceso de carga, el

sistema operativo toma el control de la pantalla esperando a que usted

le diga qué tiene que hacer a través del ratón, el teclado o cualquier

otro dispositivo de entrada. Si desea abrir una aplicación de

gráficos, el sistema operativo localiza el programa, lo copia desde el

disco a la memoria y lo pone en la pantalla para aceptar los comandos

necesarios para formar un bonito dibujo.

Interactuar con el sistema operativo, al igual que ocurre con

cualquier otra aplicación, puede ser tarea sencilla o muy complicada.

LA INTERFAZ DE USUARIO: LA CONEXIÓN HOMBRE-MÁQUINA

En la actualidad, los usuarios emplean la mayoría de su tiempo en

el trabajo con aplicaciones ya programadas, como los procesadores de

texto, que simulan y aumentan las posibilidades de herramientas

reales. A medida que el software evoluciona, también lo hace la interfaz

de usuario.
SISTEMAS OPERATIVOS DE SOBREMESA

El primer sistema operativo para el PC, creado para el Apple II, el

IBM PC original y otras máquinas, no se parecía en nada a los que puede

encontrar en la actualidad. Para conseguir que el hardware lograse

solventar este desafío, el sistema operativo para PC dominante en

aquella época, el MS-DOS, estaba diseñado con una interfaz basada en

caracteres en lugar de en gráficos. MS-DOS, también llamado a veces sólo

DOS, se convirtió en el sistema operativo estándar para las computadoras

IBM compatibles. A diferencia de Windows, MS-DOS usaba una interfaz de

línea de comando en la que el usuario escribía los comandos y la

computadora respondía.

El Apple Macintosh, presentado en 1984, fue la primera computadora

de bajo coste cuyo sistema operativo fue diseñado teniendo en mente un

monitor gráfico. En lugar de leer los comandos escritos y los nombres de

fichero desde una línea de comando, el sistema operativo Macintosh

determina lo que el usuario quiere hacer monitorizando los movimientos

del ratón. Gracias a este dispositivo, el usuario apunta a iconos que

representan aplicaciones, documentos, carpetas y discos. El usuario

selecciona los comandos desde menús desplegables situados en la parte

superior de la pantalla.

Los cuadros de diálogo permiten al usuario especificar preferencias

simplemente rellenando datos en una serie de espacios en la

pantalla, marcando o desmarcando casillas o pulsando botones. La Windows

shell se encontraba entre el usuario y el sistema


operativo, convirtiendo los movimientos del ratón y las entradas del

usuario en comandos que pudieran ser reconocidos por MS-DOS.

ADMINISTRACIÓN DE FICHEROS: ¿DÓNDE ESTÁN MIS COSAS?

Un sistema operativo actúa como una capa intermedia entre el

usuario y los datos contenidos en la computadora. Windows y el Mac OS

emplean una interfaz de usuario que representa los datos de la

computadora como ficheros almacenados en carpetas que se encuentran en

un escritorio virtual. Al igual que ocurre con un escritorio real, estos

archivos pueden estar esparcidos por todo el sistema, haciendo difícil

su administración. Una solución a este problema es organizar los

ficheros de datos de un modo lógico.

Para ello, tanto Windows como Mac soportan el concepto de carpetas

de sistema con nombres autoexplicativos. Estas carpetas son específicas

de cada usuario, por lo que si varios de ellos acceden al mismo PC

tendrán sus datos perfectamente localizados. Los sistemas operativos

actuales incluyen herramientas de búsqueda que pueden ayudar a encontrar

ficheros almacenados en cualquier parte, En Windows, es posible buscar

por nombre de fichero, aunque también puede hacerse por palabras o

frases contenidas en los mismos. En Mac OS X, se puede localizar

información almacenada en su disco duro mediante la herramienta

integrada Buscar, que es similar a la de Windows.

En los últimos años, Apple ha enfatizado el papel de Macintosh como

medio digital con aplicaciones como iTunes, iMovie e iPhoto. Algunas de

estas listas las genera directamente el usuario. Apple iTunes también

soporta listas de reproducción inteligentes, las cuales pueden

rellenarse automáticamente con canciones basadas en criterios de bases


de datos. La siguiente versión de Windows incluirá características de

bases de datos en el sistema de ficheros que permitirá localizar de

forma fácil información almacenada en cualquier parte de su PC.

Al igual que las listas inteligentes del Apple iTunes, esta

característica ayudará a los usuarios a localizar sus datos de un modo

rápido y fácil, manteniéndolos protegidos del sistema subyacente. Y

según nos vayamos desplazando hacia entornos de computación

distribuidos, en donde los datos pueden encontrarse en diferentes

sistemas como una red o Internet, estas tecnologías serán cada vez más

valiosas.

SISTEMAS OPERATIVOS MULTIUSUARIO: UNIX Y LINUX

Debido a su histórica unión con los entornos de investigación y

académicos y las instituciones gubernamentales, Internet está lleno de

computadoras con el sistema operativo UNIX. UNIX ha sido durante mucho

tiempo el sistema operativo preferido para las workstations y los

mainframes de los centros académicos y de investigación, y desde hace

algunos años, está empezando a introducirse en muchas empresas. A pesar

de la competencia de Microsoft, UNIX sigue siendo el sistema operativo

multiusuario más expandido en los sistemas de hoy en día y está

disponible para computadoras personales, estaciones de

trabajo, servidores, mainframes y supercomputadoras. En su núcleo, y en

todas su versiones, UNIX es un sistema operativo de línea de comando

basado en texto.

Para la mayoría de tareas, el aspecto de la interfaz de UNIX es el

de un sistema operativo monousuario, incluso cuando muchos de ellos


tienen una sesión iniciada. Algunas empresas como Apple, Sun e IBM

distribuyen variantes del sistema operativo y shells con interfaces

gráficas.

PLATAFORMAS HARDWARE Y SOFTWARE

En la mayoría de dispositivos electrónicos, el sistema operativo

trabaja de forma invisible y anónima. Pero algunos de estos sistemas

operativos, especialmente los incluidos en los PC, son reconocidos por

su nombre y su reputación. Éste es el producto estrella de Microsoft y

fue presentado en 2001. De Windows XP se comercializan varias

versiones, entre las que se incluyen Windows XP Home Edition, Windows XP

Professional, Windows XP Tablet PC Edition y Windows XP Media Center

Edition.

Todos estos productos tienen como núcleo el mismo código de sistema

operativo. Windows XP es una versión más reciente y mejorada de Windows

2000 Professional, la cual sólo iba destinada a usuarios de

empresas. Pero tanto Windows XP como Windows 2000 son, técnicamente

hablando, los sucesores de Windows NT, no de Windows 9x/DOS. Windows

Server 2003.

En esencia, es el equivalente para servidores de Windows XP y el

sucesor de la familia de productos Windows 2000. Esta versión de Windows

funciona en todo tipo de equipo, desde pequeños servidores Web hasta la

máquina más sofisticada del planeta. Este producto compite directamente

con muchas versiones de servidor de UNIX y LINUX. Microsoft Windows

Millennium Edition/Windows 9x.


Éste es el sistema operativo de Microsoft anterior a la aparición

de XP Home Edition y que supuso la desaparición de las versiones de

Windows basadas en DOS. Microsoft Windows CE. Esta versión

reducida, diseña principalmente para dispositivos conectados e

incrustados y para computadoras de bolsillo y teléfonos móviles, compite

directamente con el sistema operativo de la Palm. Este sistema

operativo, desarrollado originalmente para la Palm Pilot, se incluye en

la actualidad en muchos dispositivos de bolsillo fabricados por una gran

variedad de fabricantes como Palm, Handspring y Sony.

Presentado en 2001, OS X es la última versión del sistema operativo

para el Mac. Muestra una estilizada y animada interfaz de usuario que

rompe por completo con el aspecto de las anteriores versiones del

sistema operativo. Bajo este amigable exterior, OS X tiene un corazón

UNIX, el potente sistema operativo conocido por su seguridad y

estabilidad. Éste es el último de una larga lista de sistemas operativos

Macintosh que se inició con el sistema Mac original en 1984.

Linux, Sun Solaris y otras variantes UNIX. Siempre es posible

encontrar una versión de UNIX o Linux en PC, Mac, estaciones de

trabajo, supercomputadoras, mainframes y otros muchos dispositivos. Ya

que Linux no ofrece tantas aplicaciones como Windows, algunas personas

utilizan PC con sistema de carga dual, los cuales pueden utilizar

Windows y Linux simplemente con volver a arrancar la máquina. En sí

mismos, los sistemas operativos no resultan muy útiles a la gente.

Con frecuencia, la gente emplea el término plataforma para

describir la combinación de hardware y software de sistema operativo


sobre el que se construye una aplicación. Las aplicaciones de plataforma

cruzada, como Microsoft Office y Adobe Photoshop, son programas que

están disponibles en versiones similares para múltiples

plataformas. Aunque los Mac controlan un conjunto importante de mercados

como el del diseño gráfico, la publicidad, la música, el vídeo y la

tecnología multimedia, aún está por detrás de Windows en otras facetas

como la informática doméstica y la corporativa. Para operar en el mundo

de Windows, los usuarios Mac pueden adquirir programas que recrean una

máquina Windows simulada.

Dichos programas convierten todas las instrucciones relacionadas

con Windows a algo que tanto el Mac como su CPU puedan

entender. Microsoft ha respondido a esta tendencia con. NET, una

estrategia que disuelve la línea entre la Web, los sistemas operativos

de Microsoft y las aplicaciones. NET de Microsoft es una respuesta a la

popularidad de Java, un lenguaje de programación desarrollado por Sun

Microsystems para ser utilizado en redes multiplataforma.

Los programas escritos en Java pueden funcionar en computadoras

provistas de Windows, Macintosh, UNIX y otros sistemas operativos a

través de una máquina virtual Java instalada en dichas computadoras.

Referencias.

(Beekman, 2005)

También podría gustarte